完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
使用PIC32MX170。我有一个安装程序,其中应用程序以9D008000加载,还有一个引导程序从SD卡加载应用程序代码。所有这些都工作得很好。我想做的是给应用程序代码项目添加一些东西,这样在开发的时候(为了速度),我可以在没有引导加载程序的情况下独立运行它。我可以通过创建一个没有特殊链接器文件的第二个构建配置来实现这一点,但是不需要这样做会很好。我所要做的就是从重置向量9FC00000添加一个跳转,跳转到9D009000的新应用程序重置地址,绕过不存在的引导加载程序。我已经设法在那里获得跳转指令,但是它似乎没有实际工作——应用程序代码从来没有运行。AR与PIC32 MX,但不是与低级汇编等。我已经做了相当多的引导加载程序:我做错了什么?我使用以下方法创建跳转指令(我向该过程添加了一个永远不会发生的调用,以强制它被包含——顺便问一下,有没有一种简单的方法来强制包含非调用过程?)这将产生以下代码:这是应用程序代码的链接器脚本:
|
|
相关推荐
13个回答
|
|
|
这样不行。您所拥有的是一些函数,例如依赖于初始化的堆栈指针(未初始化)。还是寻找标准的启动代码模块(通常的名字CRT??还是CSTART???)并修改/复制和修改这一个。
|
|
|
|
|
|
OK在汇编程序中尝试过,但还没有完全实现……似乎反对使用.org将其放在引导向量中,因此向链接器文件添加了一个部分,但是实际上并没有将代码放在那里。我试图从应用程序代码中创建一个对它的虚拟调用,但是仍然没有乐趣。
|
|
|
|
|
|
如果它在重置向量位置反对ORG,则很可能存在第二个定义冲突。找出这个位置并将跳转放在那里是可行的。(可能是一些向量表定义)。但是错误信息应该告诉你。
|
|
|
|
|
|
对于我的PIC32 MX795F512,我在LD文件中使用这个
|
|
|
|
|
|
尝试了一些其他方法,但是就是无法找到如何强制它把汇编程序放在.s文件中正确的address.org上,这抱怨我试图将.org向后移动.s文件中的.org部分被忽略了,但是警告它不在文本/代码或ramfunc._.((address(0x9fc00000))中。在C声明is.ed中,我试着在链接器文件中的.text定义中放入bootlinksec部分,但是没有弄清楚语法。有人吗?
|
|
|
|
|
|
吉姆-尝试你的答案,但我试着把这个添加到内存部分,但没有区别你张贴WioLo.LD文件?
|
|
|
|
|
|
我找到了Jim's.ldfile中遗漏的内容。现在将跳转指令设置为1FC00000,但是应用程序代码仍然没有启动。
|
|
|
|
|
|
1。将x ReSeTyAdDR放在它应该在的地方,即0xBFC000 000。如果您还没有,那么创建KESEK0xBooToMeMm并赋予它适合C启动代码的大小。还要确保它的起始地址是BD00_9000,否则您将收到一个错误,因为最新的编译器抱怨跳转地址超出了范围。如果你使用V1.3X,你可以使用9D9009000来代替。3。只设置复位向量CKSEG1BoToMeMe4。将C启动代码为EngS00BooTyMeM5。当您组合应用程序和引导加载程序时,请确保引导加载程序“接管”整个BFM。记住.reset是重置向量区段名称,.reset.startup是C启动代码区段名称。
|
|
|
|
|
|
ashen是一个很好的参考,也许这可以帮助PIC32MX170不同于PIC32MX795。
|
|
|
|
|
|
正如从ELF浏览器中看到的,只有跳转到代码是在引导加载区。
|
|
|
|
|
|
有可能以前的咨询会把它放在我的MZ剧本里。我希望和睦给了这个选择。我把脚本放回一个关于链接器脚本的和声论坛中。
|
|
|
|
|
|
看起来现在用吉姆的方法工作了,谢谢。我刚刚注意到,当它没有启动时,当前的绘制只有大约5mA,而正常情况下只有大约30。我意识到这意味着它不在PLL上运行,因此配置保险丝设置错误。然后我记得我的项目sti我有两个构建变体,standalone和for_bootloader,而后者(我在处理这个问题时编译它)没有设置任何配置,因为这是引导加载程序的工作!
|
|
|
|
|
|
谢谢,很高兴它有所帮助。我的ld只会混淆一些东西。虽然我想把很久以前在网上找到的jmp代码归功于我。我试图把所有的东西都从引导加载程序区域移出,这样我就可以从应用程序中更新引导加载程序,我需要擦除整个块。我不能擦除。带有配置位的块来改变它们,它设置了一个不匹配的配置异常,并且需要一个电源周期来清除它。编辑:jmphttp://www..hip.com/for./FindPost/623916上的历史
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1124浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1097浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
873浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 07:42 , Processed in 1.013948 second(s), Total 96, Slave 79 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
431