STM32F10xxC Boot 程序跳到 APP 程序CSTACK栈溢出

fcxmxt 2017-03-31 08:26:02
Boot 内存分配:
0x08000000 --- 0x080001FF Boot中断向量表
0x08000200 --- 0x08007FFF Boot程序

APP 内存分配:
0x08008000 --- 0x080081FF APP中断向量表
0x08008200 --- 0x0803FFFF APP程序

现状:
单独把Boot 程序或者单独把APP程序下载到STM32F10xxC片内FLASH里都可以正常运行,没有报CSTACK溢出警告,但是通过BOOT程序,把APP程序烧写到指定片内FLASH处,会报CSTACK溢出警告。警告发生在BOOT程序跳到APP程序的时候,跳到APP程序也可以正常运行,但是当我创建两个任务后,调用OSStart()后,程序会跑到HardFault_Handler中断函数中,我觉得造成这个问题的主要原因是因为CSTACK栈溢出,但是没有找到具体原因。

JumpAddress = *(volatile INT32U*) (ApplicationAddress + 4);
Jump_To_Application = (pFunction) JumpAddress;

//初始化用户程序的堆栈指针
__set_MSP(*(volatile INT32U*) ApplicationAddress);

Jump_To_Application();

...全文
284 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

21,595

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧