My project involve FATFS and USB MSC. We started this project with STM32L073 MCU. Than, we changed our MCU with STM32L072. After changing MCU, we faced the problem. Now, I can build my code without problem. But, program doesnt reach the main.
Before i send this post, I read some advice about this issue.
Firstly, i checked heap in my startup file. Increasing heap didnt work in my case but, strange thing is that increasing heap doesnt increase ram usage. I doubt about this. As i know, increasing heap usage should increase ram usage.
In disassembly screen, there is a branch line like below. This branch line sources of infinite loop.
0x1FF001EC F7FFFF7A BL.W 0x1FF000E4
0x1FF001F2 2800 CMP r0,#0x00
0x1FF001F4 D0B6 BEQ 0x1FF00164
I need your advices about how can i fix this or which part of project do i check?
More likely to be stack than heap, size set in startup.s
Unchecked the "Run to main()" option and follow code execution. Look at what is happening in SystemInit(), and whether you fail into the HardFault_Handler
Thanks for advice.
I suspected heap according to this http://www.keil.com/support/docs/3614.htm
I unchecked "Run to main()" than follow code execution. Program cant reach SystemInit().
I follow PC. Its value change between 0x1FF00164 and 0x1FF001F4. It is like that CPU controls some thing and doesnt satisfy and branch 0x1FF00164.
About to heap:
I increase heap from startup file. But my ram usage doesn't change. Is it not strange? As i know, heap consumes Ram memory.
Make sure the BOOT0 pin is LOW
Double check the address you're building code for
View all questions in Keil forum