完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
参考网上的程序试了下
__root const long reintvec[] @".intvec"= { 0x82008080,0x82009004,0x82009008,0x8200900c, //当应用程序地址不是0x9000时则要相应改掉除第一个0x82008080以外的数值 0x82009010,0x82009014,0x82009018,0x8200901c, 0x82009020,0x82009024,0x82009028,0x8200902c, 0x82009030,0x82009034,0x82009038,0x8200903c, 0x82009040,0x82009044,0x82009048,0x8200904c, 0x82009050,0x82009054,0x82009058,0x8200905c, 0x82009060,0x82009064,0x82009068,0x8200906c, 0x82009070,0x82009074,0x82009078,0x8200907c, }; IAR报错: Error[Lp004]: actual size (0x100) exceeds maximum size (0x80) for block "INTVEC" 但尝试将icf文件中: define block INTVEC with size = 0x80 { ro section .intvec }; 修改为 define block INTVEC with size = 0x0100 { ro section .intvec }; 不报错 但网上说 2.在BOOT程序里最重要的是中断向量表重定向,icf文件就不用设置了(BOOT里不能开中断) 感觉不用修改icf文件 求助有谁能解释一下?到底应该怎么做? |
|
相关推荐
1个回答
|
|
您的问题似乎是关于STM8S103中断向量重定义的问题。在STM8S103微控制器中,中断向量表是用于存储中断服务例程(ISR)地址的内存区域。默认情况下,中断向量表位于程序存储器的起始地址(0x8000)。然而,有时您可能需要将应用程序的起始地址更改为非0x9000的地址,这时就需要对中断向量表进行重定义。
根据您提供的代码片段,您已经尝试使用__root关键字和@".intvec"属性来重定义中断向量表。这里是您的代码的解释: ```c __root const long reintvec[] @".intvec"={ 0x82008080, // 第一个中断向量,通常是复位向量 0x82009004, // 第二个中断向量 0x82009008, // 第三个中断向量 0x8200900c, // 第四个中断向量 // ... 其他中断向量 0x82009054 // 最后一个中断向量 }; ``` 在这个例子中,您已经将中断向量表的地址更改为0x8200。这意味着,当微控制器执行复位操作时,它将从0x82008080地址开始查找中断服务例程。请注意,您需要确保所有中断向量地址都是正确的,并且它们指向了正确的中断服务例程。 如果您在重定义中断向量表时遇到问题,请确保以下几点: 1. 确保您的编译器支持__root关键字和@".intvec"属性。这些特性可能因编译器而异。 2. 确保您的中断服务例程地址与中断向量表中的地址相匹配。如果地址不匹配,中断服务例程可能无法正确执行。 3. 确保您的应用程序的起始地址与中断向量表的地址相匹配。如果应用程序的起始地址与中断向量表的地址不一致,可能会导致程序运行错误。 4. 在您的代码中,可能需要添加一些配置代码,以确保微控制器在复位时从正确的地址开始执行。这可能包括设置堆栈指针、初始化寄存器等。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1537 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1490 浏览 1 评论
909 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
653 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1537 浏览 2 评论
1843浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
593浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
496浏览 3评论
494浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
475浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-5 01:49 , Processed in 0.757936 second(s), Total 82, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号