在我的项目中使用的芯片是STM32F103R8T6(Flash:64kB,RAM:20kB) 引导加载程序Flash地址:0x08000000 应用程序闪存地址:0x08004000 用于启动和应用的相同RAM:0x20000000(IRAM1)
- 分别引导加载程序和应用程序(带有或不带有FreeRTOS)都可以正常工作。
引导加载程序和应用程序(无需FreeRTOS)可以完美运行。 但是,如果我在应用程序中使用freeRTOS并完成两项任务(显示和通讯): 跳转引导程序->应用程序 应用程序正在运行->初始化所有外围设备(GPIO,Display,Eth,GSM,SPI等) 创建Task1->没有任何错误 创建Task2->没有任何错误 在启动调度器,即调用函数vTaskStartScheduler();出现问题了,经过调试,是卡在了prvStartFirstTask()里面的svc 0这个语句上,汇编停在了0x0800014A E7FE B 0x0800014A

于是我把configTOTAL_HEAP_SIZE调小后还是一样的问题,不知道是哪里出现了问题
|