You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We been using your stlink project in order to program STM32F4XX chips.
Recently we have upgraded the chip on our system to STM32F427VG and one curious thing started to happen. I don't now if this is a bug or something i'm doing wrong.
We are using st-util tool to be able to program the chip thru gdb. Since we changed chip, doing a load on gdb, I get the following error:
flash_add_block: unaligned block
I tried to reverse engineer the source code in order to understand why, and it doesn't make sense. This error happens when:
Addr in this case is 0x8020000 and flash page is 128k
length is about 80k which is less than 128k, so this devision doesn't give a zero remaining and it fails.
In order to continue using this tool I had removed the second condition and everything works as expect.
What I can't understand is why, because with the last chip it worked (STM32F405) and the memory layout was exactly the same.
Since I'm not sure if this is a bug or an unpredicted case, I have decided to report my experience.
Thanks for this awesome project.
The text was updated successfully, but these errors were encountered:
I'm having the same issue, I don't think it has anything to do with the MCU ( it's an STM32F429 anyway), I think it assumes that length is a multiple of the current sector size (PAGE_SIZE), for some reason, so if your ld script starts on some sector which is not, it fails.
Hi,
We been using your stlink project in order to program STM32F4XX chips.
Recently we have upgraded the chip on our system to STM32F427VG and one curious thing started to happen. I don't now if this is a bug or something i'm doing wrong.
We are using st-util tool to be able to program the chip thru gdb. Since we changed chip, doing a load on gdb, I get the following error:
flash_add_block: unaligned block
I tried to reverse engineer the source code in order to understand why, and it doesn't make sense. This error happens when:
addr % FLASH_PAGE != 0 || length % FLASH_PAGE != 0
Addr in this case is 0x8020000 and flash page is 128k
length is about 80k which is less than 128k, so this devision doesn't give a zero remaining and it fails.
In order to continue using this tool I had removed the second condition and everything works as expect.
What I can't understand is why, because with the last chip it worked (STM32F405) and the memory layout was exactly the same.
Since I'm not sure if this is a bug or an unpredicted case, I have decided to report my experience.
Thanks for this awesome project.
The text was updated successfully, but these errors were encountered: