本帖最后由 userchen 于 2010-3-18 11:24 编辑
最近在搞STM32 的IAP。发现一个很奇怪的问题。
在程序A里面,跳转到程序B执行。
A存放在0x08000000,B存放在0x0800e000.
起初,B使用的内存大概6K,其中堆栈使用了4K。此时如果从程序A跳到程序B,B出现死机。但是如果用仿真器直接运行B是可以运行的。
实在不知道什么问题,后来B的堆栈改小,设为1K,这是就正常了。能从程序A跳转到程序B,并且B也能正常运行。
请问这是什么原因?程序B的运行为什么后它的内存大小的影响呢?
片子是STM32F103R8T6.
望高手解答!! 谢谢了。 |