完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
这里有一个从我的芯片读取的“盲”日志,接着加载一个十六进制文件并编程该设备:读回是从0x0到0x3fffff。编程是从0x0到0x3f7ff……最后的0x800字节发生了什么?这可能看起来与大多数设计无关,但我试图在更高的地址区域填充Bootloader,并且我需要知道我是否丢失了最后的0x800字节,更重要的是,我需要将它们保存在“主程序”中吗?
以上来自于百度翻译 以下为原文 Here's a log of a 'blind' readback from my chip, followed by loading of a hex file and programming the device: Currently loaded firmware on REAL ICE Firmware Suite Version.....01.51.06 * Firmware type..............PIC32MX Target voltage detected Target device PIC32MX270F256D found. Device ID Revision = A2 2017-11-20 16:12:43 -0500 - Reading... Reading... The following memory area(s) will be read: program memory: start address = 0x0, end address = 0x3ffff boot config memory configuration memory Read complete 2017-11-20 16:12:50 -0500 - Read complete 2017-11-20 16:12:58 -0500 - Loading hex file. Please wait... Loading code from \jewelllt021c$_SHAREProductionBinariesSVN804.hex... 2017-11-20 16:12:59 -0500 - Hex file loaded successfully. 2017-11-20 16:13:01 -0500 - Programming... Device Erased... Programming... The following memory area(s) will be programmed: program memory: start address = 0x0, end address = 0x3f7ff boot config memory configuration memory Programming/Verify complete 2017-11-20 16:13:09 -0500 - Programming complete Pass Count: 56 The readback was from 0x0 to 0x3ffff The programming was from 0x0 to 0x3f7ff ...what happened to the last 0x800 bytes? This may not seem all that relevent to most designs, but I'm trying to stuff a bootloader up in the higher address region, and I need to know if I'm missing that last 0x800 bytes, more importantly, do I need to preserve them from the 'main program'? |
|
相关推荐
5个回答
|
|
看起来标准的IVT位置从大约0x1D03F180到0x1D03F7FF…有没有办法重新定位IVT?我在链接器或项目设置中没有看到这方面的引用,但是PIC32 MX270数据表声称它有一个“用户可配置的中断向量表(IVT)位置”,好像我在内存中最大限度地证明我的引导装载器的计划不会那么好……并且我手动指派了一个FUNC。到0x9D03F800的位置和内存有…不清楚为什么它不是默认写的。
以上来自于百度翻译 以下为原文 Looks like the standard IVT location runs from about 0x1D03F180 to 0x1D03F7FF... Is there a way to relocate the IVT? I don't see any references to this in the linker or the project settings, but the PIC32MX270 datasheet claims that it has a "User-configurable Interrupt Vector Table (IVT) location" Seems like my plan to top-justify my bootloader in memory won't work out so well... ...and I did manually assign a function to the 0x9D03F800 location and there is memory there... unclear as to why it's not written by default. |
|
|
|
在家庭参考文档中找到了一个面包CUBB(http://WW1.Microchip…com……ICEDOC/601088.pdf)……但是我从编译器那里了解到:有人知道我丢失了什么吗?或者更好的是,直接访问寄存器的正确方法是什么?这个神奇的命令并没有出现在XC32手册中。(http://WW1.Microchip .com……ViceDoc /5000 01686J.PDF)
以上来自于百度翻译 以下为原文 Found a bread cumb in the family ref docs (http://ww1.microchip.com/...iceDoc/60001108H.pdf): _CP0_SET_EBASE() ...but I'm getting the run-around from the compiler: c:/svn/pic32mx_bootloader/symbiote/symbiote.x/jewell_symbiote_bl.c:79: undefined reference to `_CP0_SET_EBASE' Does anyone know what include I'm missing? Or better yet, what's the proper way to access the register directly? This magical command doesn't show up in the XC32 handbook. (http://ww1.microchip.com/...viceDoc/50001686J.pdf) |
|
|
|
你见过THISTITPS吗?//Github.com/Jasnk…St/Copy/CP0DEFS.h
以上来自于百度翻译 以下为原文 Have you seen this https://github.com/jasonk...ster/include/cp0defs.h |
|
|
|
没有看到,但我终于得到了Bootloader主App过渡工作。启动代码的主要应用程序似乎调整EBASE寄存器,所以我实际上不必击中手动转移之前。原来我真正的问题是忽略了主应用程序的“ReSeReTyAdDR”从引导部分移到主程序Flash中。谢谢你的帮助。
以上来自于百度翻译 以下为原文 Had not seen that, but I finally got the bootloader to main app transition working. The startup code for the main app seems to adjust the EBASE register, so I don't actually have to hit that manually before the transfer. Turns out the real issue that I had was neglecting to move the main app's "_reset_addr" out of the boot section and into the main program flash. Thanks for the assistance. |
|
|
|
真正的ICE不编程整个页面是空白的部分(0xFF)。因为设备在程序之前被擦除,所以对图像中空白的区域编程是没有意义的。然而,在读取期间,IDE和调试器都不知道这些信息。因此,读取整个范围。
以上来自于百度翻译 以下为原文 The real ICE does not program the part where the entire page is blank (0xFF). Since the device is erased before program, there is no point in programming the area that is blank in your image. However, during read, neither the IDE nor the debugger knows this information. So, the full range is read. |
|
|
|
只有小组成员才能发言,加入小组>>
5166 浏览 9 评论
2000 浏览 8 评论
1929 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3175 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2227 浏览 5 评论
736浏览 1评论
619浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
507浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
633浏览 0评论
530浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 11:35 , Processed in 1.332428 second(s), Total 87, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号