完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我尝试创建一个引导加载器应用程序,它实际上不是一个加载器,而是一个引导决策过程,它决定了工作应用程序使用哪组程序内存。工作应用程序将驻留在PFM1或PFM2中。Bootloader将始终驻留在BFM1中。我只想使用BFM2作为信息。BFM2的部分信息将告诉BFM1中的引导加载程序应用程序,最新工作应用程序位于哪个PFM银行。在确定要使用PFSWAP位的正确存储库后,将适当地设置PFSWAP位。到目前为止,我试图使用我创建的和谐1.06引导加载器中的blt_mz.ld文件,但实际上似乎没有正确地定位在地图文件中。在链接器脚本的顶部,我看到这个语句:我认为_ebase_address需要是0xBFC00000(或者可能是0xBFC01000),但是部分由于关于“forinter.vector.”的注释而不确定这一点。此外,可能还有更多的地方需要调整以适应所有内容的适当偏移。此外,我还使用-WL、-script、“./src/blt_mz.ld”来指定构建过程中的链接器脚本。这是我见过的最复杂的链接器脚本(ARM没有那么复杂)。非常感谢您在本领域的指导。我已经引用了“MPLAB汇编程序、链接器和PIC32用户指南实用工具”作为参考。
|
|
相关推荐
7个回答
|
|
BFC000和9FC000在FLASH 1FC000中转换为相同的物理地址。不同之处在于,9FC00000被缓存,而BFC00000未被缓存。因为L1缓存没有在启动时立即初始化,所以必须开始未被缓存。然后,启动代码建立缓存,然后我们可以跳转到缓存地址并从那里运行。链接器脚本被这样布局的部分原因在于,较大的引导加载程序(以太网、USB主机)可以同时使用闪存,而不必使用-O和microAptiv代码。因此,您可以将链接器脚本更改为仅使用BFM1,但是由于DEVCFG寄存器的放置,将限制为略小于64K(最多1FC0FF00)。最后的16K在BFM1。
|
|
|
|
啊!好啊。我的错。9个人在扔我。我在想,它还是试图在PFM中填充,而不是BFM之类的东西。我期待看到0xbfc000地区,因为它是不可缓存类型。是的,它是一个完整的链接脚本。这是想法,保持我的引导加载应用非常小,低于64K在这种情况下。有趣的是,我在应用程序中做得很少,但是和声支持似乎相当大。我仍然在64K左右,现在大约40%,我相信,但它不应该增长更多。我确实担心BFM1和BFM2一起使用,但我必须等待,看看这一切如何发挥。将整个引导加载应用程序装入BFM1会很好,但可能不是必要的。只要我的BFM2信息在BFM2的指定地址保持完整,我就好了。正常工作的应用程序也将在固件更新期间访问BFM2信息。我会留心那个地区被吃掉了。谢谢你让我看到了这个地址。我应该看到的。我想森林是适合树木生长的。
|
|
|
|
嗨,jkel.,我正在尝试通过和声为pic32mz2048ech100构建引导加载程序,我已经通过和声生成了代码,当我转储我的应用程序十六进制文件时,它也在工作,但在重新启动应用程序没有运行之后,它正在等待引导加载程序,请帮助我,我附上我的链接器脚本请通过。
BoTuxLink脚本(TXT)(71.85 KB)下载190次 |
|
|
|
嗨,BHARTYYALA,我还没有通过在硬件上运行BooD和应用程序。将在本周尝试。你是如何用引导程序和应用程序一起创建你的单十六进制文件的?我使用MPLAB X中的loadables方法。而且,我只使用引导加载程序的链接器脚本,所以它把它放在引导部分中。应用程序在程序闪存中一直存在。不确定这是否正确,但当我发现时,会注意到这个线索。
|
|
|
|
Bharathyalla,我很难得到一个应用程序链接器脚本项目的好链接。那么你做了什么让你的链接。我的独立应用程序不会通过脚本链接到更多的启动代码。当你说“转储了我的应用程序十六进制文件”时,你是什么意思?你的项目要建立和链接吗?
|
|
|
|
嗨,jkel.,我使用Harmony 1.07生成代码,因为我选择了应用程序选项的引导加载程序,并且生成了链接器脚本中的代码。
|
|
|
|
可以。我真的希望不要被迫更新到1.07,但听起来好像我别无选择。我来试一试,看看会发生什么。
|
|
|
|
只有小组成员才能发言,加入小组>>
5160 浏览 9 评论
1998 浏览 8 评论
1927 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3170 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2225 浏览 5 评论
727浏览 1评论
612浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
501浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
626浏览 0评论
524浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 05:08 , Processed in 1.405015 second(s), Total 88, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号