完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好。虽然看起来很奇怪,但是我从来没有使用过引导加载程序,但是现在它被请求了。目前唯一的目标单片机是PIC18F26K22编写引导加载程序非常简单。然而,可能会出现一个问题:我打算使用“bootloader in first block”方法,因此中断向量实际上是转到偏移的中断向量。但是,应用程序代码中还保存了正在读取和修改等闪存中的常量。因此,如果我偏移了所有的代码,我还应该添加偏移到所有对常量的调用?我还可以在单独的时间对常量进行编程,所以我确定它们位于代码所期望的位置,但是必须有更好的解决方案。我错过了什么?编辑:我还可以做的另一件事情是强制编译器在应用程序中保持第一个内存块空闲(当然除了重置/中断向量),并编写引导加载程序,以便它跳过在该区域中的操作
|
|
相关推荐
3个回答
|
|
进一步详细说明:许多常量被放置在特定的地址上,并且它们被设备和外部工具访问(用于重新编程),我可以做类似的事情,并在某个地方进行定义,然后在链接器中使用代码偏移参数,所以在理论上,地址将通过编译器,然后以相同的数量递增,导致常数处于所需的位置,但对我来说并不太优雅。他不在乎,也不移动主向量和中断向量。还有另一个话题提出了同样的问题,并且不确定这个问题是否已经解决,或者无论如何,如果我写了主要的asin理论,它应该在重置向量上写一个goto 0x400。这不是事例。与中断例程相同。它应该在中断向量中写一个GOTO到中断例程。同样,情况并非如此。对于中断,我只能编写两个例程,调用实际中断例程的中断例程。但是,我必须用主函数来做同样的事情。再说一遍,不要太高雅。
|
|
|
|
你使用XC8吗?代码偏移移动程序的开头。绝对的AST高于此不抵消。这将是你期望的地方。你的引导加载器必须把代码放在HoxFox说的地方。PIC18代码是不可重新定位的。
|
|
|
|
呵呵!这么简单。
|
|
|
|
只有小组成员才能发言,加入小组>>
5228 浏览 9 评论
2026 浏览 8 评论
1950 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3199 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2253 浏览 5 评论
770浏览 1评论
658浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
585浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
668浏览 0评论
570浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 16:17 , Processed in 2.857314 second(s), Total 83, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号