完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我使用MHC V1.09来构建单独的引导加载程序和应用程序项目。每个项目都按预期运行。但是,当我试图组合它们时(通过将引导加载程序作为可加载项目添加到应用程序中),我得到一个运行时异常。我认为这个问题是由于我正在使用的链接器脚本造成的,但是我在跟踪该问题时遇到了困难。我已经阅读了AN1388和MHC Bootloader库文档。我使用的是MZ设备,MHC文档显示USB设备引导加载程序完全符合MZ引导闪存——ELF查看器确认程序占用大约39000字节,MZ引导闪存刚好超过65000字节。Guror工具似乎将引导加载程序放在引导闪存区域中。当我自己运行Bootloader项目时,它是按预期运行的。但是,当使用MHC生成的链接器脚本将引导加载程序项目作为可加载项添加到主应用程序时,程序会遇到运行时异常(代码4,它似乎是加载/获取地址异常)。当我在拆卸清单中跟踪异常地址时,它出现在FreeRTOS functionprvTaskCheckFreeStackSpace()中。但是,当我在没有引导加载程序的情况下运行应用程序(并删除由MHC生成的链接器脚本)时,应用程序就毫无问题地运行了。最后,应用程序链接器脚本不能工作(未从MHC修改):显然,这里遗漏了一些东西,但我似乎无法弄清它是什么。
|
|
相关推荐
2个回答
|
|
如果您可以自己运行应用程序,那么它没有正确的MHC Linker脚本。在BooLoad中生成它,然后将其添加到Apple中,并在链接器设置中选择使用外部脚本。
|
|
|
|
我可以自己运行应用程序,而无需MHC为应用程序生成的链接器脚本(或者通过将MHC链接器区域更改回其“标准”)。我提到这一部分的唯一原因是验证应用程序代码没有任何问题。但是,当我包括由MHC为应用程序生成的链接器脚本时,就会得到一个运行时异常。据我所知,一旦由MHC生成了引导加载程序的链接器脚本或应用程序的链接器脚本,似乎就不需要编辑它们了(因为引导加载程序是协作的)。DE可以完全驻留在引导闪存内。所以我不确定我出了什么问题。
|
|
|
|
只有小组成员才能发言,加入小组>>
5160 浏览 9 评论
1998 浏览 8 评论
1927 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3170 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2225 浏览 5 评论
729浏览 1评论
613浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
503浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
628浏览 0评论
526浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 14:26 , Processed in 1.490264 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号