完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,我有网络引导加载和运行,应用程序工作得很好。但现在我有两个非常简单的问题。(可能很明显,但我可能只是过度思考)1。在需要通过Bootloader上传的应用程序中,Link脚本的状态是:内存{kSeG1Y-BototyMe:Ont= 0x9D900M,长度=0x480 KSt00SudithMeX(Rx):Orthase= 0x9D900M+0x480,长度=0x100000 -0x480/*所有C文件将位于这里*/KSG00Bootmi-Me:原点=0x9d00,长度=0x0& lt;nip & gt;}我正在尝试理解“长度=0x480”i来宾,这是为了重新映射一些需要在这里而不是在BooMeM中的东西,但是为什么是0x480,它的1152字节???????2。我用Flash来模拟EEPROM,我把它放在闪存的末尾。我知道我需要照顾Flash页面的边界。在PIC32 1024EHF中,Flash页面大小为16 KB(4K IW),因此,16KB=0x4000。在这种情况下,我将指定为我的程序存储器的长度:KSG00SudioMym(Rx):Orth= 0x9dMAM+0x480,长度=0x100000 -0x480-0x40MealDealEpPosithMeM(Rx):Orthase= 0x9D0FC000,长度=0x4000 /*仿真EEPROM */这是正确的吗?也许我只是想得太久了…但是如果有人能让我知道的话我会很高兴的。
|
|
相关推荐
2个回答
|
|
KSGE1BUOTHYMEM通常位于0xBFC000,因为这是MIPS CPU在上电或复位时开始执行的地方。它是0x480字节,因为调试异常向量(用于外部调试器,如RealICE或PICKit)位于0xBFC00480。这在硬件中也是固定的。模拟的EEPROM区域看起来不错,但您希望从“emulated_EEPROM_mem(rx)”中删除“(rx)”部分。这告诉链接器可以将可读的和可执行的数据放在该区域中,因为您将保留这些数据供您自己使用,所以不需要这些数据。
|
|
|
|
您需要查看内存命令并查看如何为每个内存区域定义输入和输出段。在股票PIC32链接器脚本中,如何使用kseg1_boot_mem:.reset是reset..reset.startup是C运行时启动模块。bev_handler是引导异常处理程序,它必须位于BFC0_0380的固定位置。AP异常处理程序必须位于BFC0Y0380,从BFC0000中分配0x480是有意义的。如果您正在为应用程序配置链接器脚本,则只需要0x18+0x1f4。引导引导异常处理程序是无效的,因为引导闪存被提供给引导加载程序。换句话说,如果您的应用程序遇到过引导异常,它将在引导加载程序代码中命中引导异常处理程序,并且无论如何可能的追索是软重置。
|
|
|
|
只有小组成员才能发言,加入小组>>
5237 浏览 9 评论
2027 浏览 8 评论
1950 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3202 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2253 浏览 5 评论
772浏览 1评论
662浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
590浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
672浏览 0评论
572浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 18:07 , Processed in 2.524105 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号