Hi,
Just found the new STM32F3xx CPU support package will generate an incorrect memory map of the chip. When I select STM32F334R8 as the target, the auto generated example "Hello world" code will always cause a hard fault when debugging on hardware but runs fine in simulation. I finally found out it's the STM32F334R8Tx_MemoryMap.xml file doesn't give a correct memory map. It has the content:
while an old project created by an older version of SES has the STM32F334R_MemoryMap.xml has the following content:
The SP register was initialized to 0x20004000 with the new map file, which will cause a hard fault when a push instruction is executed.
Just found the new STM32F3xx CPU support package will generate an incorrect memory map of the chip. When I select STM32F334R8 as the target, the auto generated example "Hello world" code will always cause a hard fault when debugging on hardware but runs fine in simulation. I finally found out it's the STM32F334R8Tx_MemoryMap.xml file doesn't give a correct memory map. It has the content:
while an old project created by an older version of SES has the STM32F334R_MemoryMap.xml has the following content:
Source Code
- <!DOCTYPE Board_Memory_Definition_File>
- <root name="STM32F334R8">
- <MemorySegment name="FLASH1" start="0x08000000" size="0x00010000" access="ReadOnly" />
- <MemorySegment name="CCM_RAM1" start="0x10000000" size="0x00001000" access="Read/Write" />
- <MemorySegment name="RAM1" start="0x20000000" size="0x00003000" access="Read/Write" />
- </root>
The SP register was initialized to 0x20004000 with the new map file, which will cause a hard fault when a push instruction is executed.