完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在学IAP升级。
我写的app程序是用HAL库写的,设置了IROM的起始地址及大小,在程序开始后也设置了中断向量表偏移地址。 用我同事写好的boot程序(标准库写的,可以跳转到标准库写的app程序),结果发现跳转不到app程序。 我又下载了个硬石的例程里的HAL库写的boot程序,修改了app跳转的地址,结果发现,能用。 比较了下这两个程序里关于app跳转的这部分,差不多的。那么,问题出在哪里? 是不是不能混着用?我在qq群里问了下,有的朋友回复说这样用过,能行。 另在hal库里设置中断向量表,到底应该在哪个位置?看原子的标准库教程,是在main函数一开始就设。 而看hal库的官方例程,是在HAL_Init()和SystemClock_Config()之后,有个注释说需要加,但已经在system_STM32f1xx.c里改了。
官方的例程和硬石的例程,都是在System_Init()里修改中断向量表的,这应该是在进入main()函数前完成的。 而官方例程里留有设置中断向量表的注释,是在main()函数里,HAL_Init()和SystemClock_Config()之后。 我按以上两种方法设了,分别试了下,结果还不一样... 在System_Init()里修改中断向量表的,或一进入main()函数就修改。则标准库编写的boot程序跳转不到hal库编写的app程序。 如果在HAL_Init()和SystemClock_Config()之后设置中断向量表,好像进入了app程序,但有些不对,我是用定时器定时来反转Led灯的,结果led灯亮灭的频率不稳定。 |
|
相关推荐
1个回答
|
|
从你的描述来看,问题可能出现在以下几个方面:
1. **不同库的兼容性问题**:HAL库和标准库在某些方面可能存在不兼容的情况,这可能导致跳转失败。尽管有些朋友表示他们成功地混合使用了这两种库,但这并不意味着在所有情况下都能成功。建议尽量使用同一种库来避免潜在的兼容性问题。 2. **中断向量表设置位置**:在HAL库中设置中断向量表的位置可能与标准库不同。通常,在HAL库中,中断向量表的设置应该在程序的开始部分,即在`main()`函数之前。这样可以确保在程序启动时,中断向量表已经被正确设置。 3. **IROM起始地址和大小设置**:确保你为IROM设置了正确的起始地址和大小。如果这些参数设置不正确,可能导致跳转失败。 4. **跳转地址**:检查你设置的跳转地址是否正确。确保跳转地址指向了app程序的入口点,即`main()`函数的地址。 5. **编译器和链接器设置**:检查你的编译器和链接器设置,确保它们正确地处理了IAP升级和中断向量表的设置。 为了解决这个问题,你可以尝试以下步骤: 1. **使用相同的库**:尽量使用相同的库(HAL库或标准库)来编写boot和app程序,以避免兼容性问题。 2. **检查中断向量表设置**:确保在HAL库中正确设置了中断向量表,并将其放置在程序的开始部分。 3. **检查IROM设置**:确保IROM的起始地址和大小设置正确。 4. **检查跳转地址**:确保跳转地址正确指向app程序的入口点。 5. **检查编译器和链接器设置**:确保编译器和链接器设置正确,以便正确处理IAP升级和中断向量表的设置。 6. **调试和测试**:使用调试工具逐步执行程序,观察跳转过程中的寄存器和内存状态,以便找到可能的问题所在。 通过以上步骤,你应该能够找到问题所在并解决跳转失败的问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1771 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1619 浏览 1 评论
1070 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
724 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1673 浏览 2 评论
1936浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
729浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
569浏览 3评论
594浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
552浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 22:38 , Processed in 0.820837 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号