完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用STM32CUBEMX建的工程,BOOT和APP都是用了FREERTOS,然后跳转到APP是正常的,但是死在MX_FREERTOS_Init(); 求指点啊,之前做过CAN的IAP,运行正常,现在弄串口结果不行了。。。 我在MX_FREERTOS_Init();里面加了串口打印,函数下面也加了,发现里面需要打印的数据都是输出正常的,但是到函数下面就不行了。 MX_FREERTOS_Init();//这个函数体里面的最后加了一句串口打印,打印是正常的。。 其中BOOT跳转前把中断也都关了 APP相比没做IAP之前,就增加了2项:(没做IAP之前程序运行正常) 1)MAIN开头的中断向量偏移
2)option for target里把IROM1的起始地址改为了0x8080000,start改为了0x40000 而BOOT跳转函数如下: void iap_load_app(uint32_t appxaddr)// 调用时参数为0x08080000
} |
|
相关推荐
1个回答
|
|
从您的描述来看,问题可能出在MX_FREERTOS_Init()函数中,或者在osKernelStart()之后。以下是一些建议来帮助您解决问题:
1. 确保MX_FREERTOS_Init()函数中的所有配置都是正确的,包括任务优先级、堆栈大小等。 2. 检查MX_FREERTOS_Init()函数中的串口初始化代码是否正确。确保串口配置正确,波特率、数据位、停止位等参数与您的硬件相匹配。 3. 在MX_FREERTOS_Init()函数中添加调试信息,例如在关键步骤添加串口打印,以确定问题发生的具体位置。 4. 检查osKernelStart()函数调用是否正确。确保在调用osKernelStart()之前,所有必要的初始化工作已经完成。 5. 检查您的中断配置。确保在跳转到APP后,中断配置正确,并且没有遗漏任何必要的中断处理函数。 6. 尝试使用不同的串口打印函数,例如使用HAL库的HAL_UART_Transmit()函数,以排除串口打印函数本身的问题。 7. 如果问题仍然存在,您可以尝试使用一个简单的FreeRTOS示例项目,逐步添加您的代码,以确定问题的具体原因。 8. 检查您的硬件连接,确保串口TX和RX引脚连接正确,没有短路或接触不良的问题。 希望这些建议能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便我们为您提供更具体的帮助。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1187 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1122 浏览 2 评论
2223 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1311 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1735 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 09:57 , Processed in 0.410018 second(s), Total 41, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号