完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我想做一个Pootloader存根为PIC16F1946 CPU。代码是引导程序的偏移量0x400。所以我需要跳0x000和0x00,我假设我可以做一个单独的C或ASM项目,使一个可加载或使用六边形。有一种更简单的方法。基于0的一个工作,但是引导加载的0x400有一个和奇怪的bug。这将使调试变得更容易。
|
|
相关推荐
8个回答
|
|
0x004中的代码必须清除PCLAST才能运行GOTO!
|
|
|
|
推荐:
|
|
|
|
DANNO与复位向量相同吗?asm psect.try,.,class=CODE,delta=2GOTO NEW_RESET_VECTORendasm这些不会受到链接器中的代码偏移的影响?谢谢你
|
|
|
|
也许我不清楚你想做什么。我解释了一个“存根引导加载程序”,以坐在引导装载器所在的地方,只重置复位和中断向量。然后,应用程序将偏移0x400,为最终的引导加载程序留出空间。这样准确吗?
|
|
|
|
重置向量可能指向引导装载器内的某个地方。然后,如果需要,引导程序将调用应用程序。因此,您不必直接在引导加载程序中重置向量。
|
|
|
|
是的,这正是我想要的。这意味着我不需要一个版本的引导装载程序,另一个版本用于调试。问题是我能把它作为一个单独的项目来构建吗?
|
|
|
|
我知道的唯一方法是把它作为两个单独的项目来做。主项目需要被偏移,因此重置和中断向量被向上推。我发现,最好的做法是创建项目的三个版本:独立调试,偏移将在路上引导加载,并将引导加载程序与偏移项目合并。t.Bootloader用户指南(DS40001779B)的第5章详细介绍了如何在MPLAB X中设置三种配置。用户指南可以在www.micro..com/bootloader上找到,遵循8位链接,然后单击页面底部的文档选项卡。如果您有任何qu,我将在这里。说明。
|
|
|
|
当我与C18一起工作时,我做了你正在尝试的事情,并在原生重置和中断向量中添加了跳转到重新定位的向量。我没有用XC8尝试过,并且使用MPLABX中的可加载特性来加载引导加载程序HEX。我想,如果您还没有可用的引导加载程序,那么只需要添加十六进制作为可加载的、具有GOTO的小型C或ASM程序。
|
|
|
|
只有小组成员才能发言,加入小组>>
5250 浏览 9 评论
2037 浏览 8 评论
1958 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3218 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2266 浏览 5 评论
788浏览 1评论
680浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
609浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
685浏览 0评论
582浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 19:27 , Processed in 1.615521 second(s), Total 90, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号