完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
我已经发布到其他几个线程,但它们都有点脱节,所以我想把它放在一个单独的地方。我想用PIC32MZ EF启动器工具包实现一个基于以太网的引导加载程序。我使用的是和声1.08、MPLABX 3.35和XC1.40。我采用了示例引导加载程序示例“basic”(/micro./.ony/v1_08_01/apps/boot loader/basic)——选择udp_pic32mz_ef_sk配置——将IC类型更改为PIC3MZ2048EFM(与EFH相反)——编译并编程到StarterKit上。打开dma_led_pattern示例项目(/micro./.ony/v1_08_01/apps/./.s/dma/dma_led_.)——选择pic32_mz_ef_sk配置——将IC类型更改为PIC322048EFM(与EFH相反)——添加“.”。在演示版中的EC引导加载程序构建(btl_mz.ld)中添加了“链接器文件”,并将其作为链接器文件添加到项目中——将HEAP大小修改为44960字节——编译并创建.hex文件。然后编程板,并成功启动加载。按下“运行应用程序”和应用程序运行,LED闪光灯在演示中如预期。到此为止一切正常。如果我现在通过电源循环重新启动SK,LED1开始微弱发光,设备不会响应引导加载程序应用程序。按下按钮3,把它放在引导装载模式,我可以连接到它。我可以再次擦除/编程/验证,或者强制它运行应用程序。但是,除了使用“run application”按钮,我根本无法让它运行应用程序。有人知道发生了什么或如何调试吗?
以上来自于百度翻译 以下为原文 I have posted to several other threads but its all got a bit disjointed, so i thought id put this in a single place. I am wanting to implement an ethernet based boot loader using a PIC32MZ EF starter kit. I'm using HARMony 1.08, MPLABX 3.35, and XC1.40. I've taken the the sample boot loader example "basic" ( /microchip/harmony/v1_08_01/apps/bootloader/basic ) - selected the udp_pic32mz_ef_sk configuration - changed the IC type to a PIC3MZ2048EFM ( as opposed to a EFH ) - compiled, and programmed onto the StarterKit. - Connected to the StarterKit using the AN1388 application, and got a valid boot loader version. Opened the dma_led_pattern example project (/microchip/harmony/v1_08_01/apps/examples/peripherals/dma/dma_led_pattern ) - selected the pic32_mz_ef_sk configuration - changed the IC type to PIC322048EFM ( as opposed to EFH ) - added a "borrowed" linker file from the EC bootloader build that is in teh demo ( btl_mz.ld ) and added it into the project as a linker file - modified the HEAP size to 44960 bytes -compiled and created the .hex file. Went back to the AN1388 boot loader and opened the hex file i created. then programmed the Board, and successfully boot loaded. Pressed "Run Application" and the application runs and the leds flash as expected in the demo. All good to this point. If i now restart the SK by power cycling, LED1 starts to glow dimly, the devices does not respond to the boot loader app. Pressing button 3, puts it in boot loader mode, and i can connect to it.. I can erase/program/verify again, or force it to run the application.. however, other the using the "run application" button, i can't get it to run the application at all. Does anyone have any idea on whats happening or how to debug this? |
|
相关推荐
18个回答
|
|
|
在Bootloader中有一个确认为1.08的bug。我有一个支持的情况下打开,并会建议何时解决。
以上来自于百度翻译 以下为原文 There is a confirmed bug in harmony 1.08 for the bootloader... I have a support case open and will advise when it is resolved. |
|
|
|
|
|
修复程序将在v2.00以及稍后版本1.09中进行。这与在检查现有程序完成之前初始化多少TCP/IP栈有关。我已经“短路”了过程,这应该可以修复它。试着将附加的文件放入framework/bootloader/src,看看是否有帮助。
以上来自于百度翻译 以下为原文 The fix will be in v2.00, and in v1.09 a little later. It has to do with how much of the TCP/IP stack is initialized before the check for the existing program is complete. I've "short-circuited" the process, and this should fix it. Try putting the attached files into framework/bootloader/src, and see if that helps. Attachment(s) bootloader.zip (9.29 KB) - downloaded 140 times |
|
|
|
|
|
|
|
|
|
|
|
这似乎支持微不足道的DMA LED闪烁示例,但我的“现实世界”应用程序无法运行。我不知道如何调试。应用程序开始运行,(我有一个LED闪烁,通过RTOS驱动),led打开,但从不熄灭。它的崩溃某处…我确实有网页作为MPFS开始在0x9D000 4000…这是个问题吗?
以上来自于百度翻译 以下为原文 This seems to support the trivial DMA led blinking example, but my "real world" applicaiton fails to run. And i've got no idea how to debug it. The app starts to run, ( i have a LED blinking that is driven via the RTOS ), the led comes on, but never goes off. Its crashing somewhere... I do have webpages stored as MPFS starting at 0x9D004000.. Is that an issue? |
|
|
|
|
|
尝试我的链接器文件。它应该在没有引导程序的情况下构建一个运行独立的平台。如果这样,您可以尝试修改引导加载程序来处理它。我不相信这个例子将与一个完整的应用程序一起工作。
以上来自于百度翻译 以下为原文 Try my linker file. It should build an run stand alone without the bootloader. If that works you can try modifying the bootloader example to work with it. I am not convinced the example will work with a full app. |
|
|
|
|
|
|
|
|
|
|
|
在Bootloader中修改了什么使它工作?将链接器文件放入,创建一个正在运行的独立版本。
以上来自于百度翻译 以下为原文 What did you modify in the bootloader to make it work.. Putting your linker file in, did create a running standalone version. |
|
|
|
|
|
跳转到程序的开始。我使用了Bootloader的和声脚本。
以上来自于百度翻译 以下为原文 The jump to the start of the program. I used the harmony script for the bootloader. |
|
|
|
|
|
在您关于链接器文件的帖子中,您说需要修改引导加载程序以跳转到链接器文件中的App at0xbd000010,重置地址是_RESET_ADDR=0xBFC00000;在协调提供的链接器文件(对于引导加载程序)中,它的_RESET_ADDR=0xBFC00000;我在改变什么?
以上来自于百度翻译 以下为原文 in your post with the linker file you said The bootloader will need to be modified to to jump to the App at 0xbd000010 in your linker file, the reset address is _RESET_ADDR = 0xBFC00000; in the harmony provided linker file ( for the bootloader ) its _RESET_ADDR = 0xBFC00000; Im confused, which ones am i changing? |
|
|
|
|
|
当我将重置地址更改为0xBD000 00时,启动引导程序不会启动。
以上来自于百度翻译 以下为原文 when i change the reset address to 0xBD000010, teh bootloader doe'nt start. |
|
|
|
|
|
|
|
|
|
|
|
用我的链接脚本,它不是一个提示。它有一个重置跳跃。这就是为什么作品是独立的。和谐集应该一起工作。
以上来自于百度翻译 以下为原文 With my linker script it is not a hint. It has a reset jump. That is why is works stand alone. The harmony set should work together. |
|
|
|
|
|
对不起,我只是不听从你的话。它不与Bootloader一起工作,如MCP提供的,我不知道需要改变什么。你能指出电话号码吗?
以上来自于百度翻译 以下为原文 Sorry, i just dont' follow what your saying at all. It does'nt work with the bootloader, as supplied with MCP, and i dont' know what needs changing.. could you point to the line number? |
|
|
|
|
|
有人向我建议,奇怪的是,正在发生的是中断被绊倒,引导加载程序使用的模块需要中断,但是应用程序没有处理程序。dma_led应用程序不使用中断(至少不中断处理器),所以它不能验证中断是否被正确地重置了。首先,在跳转到应用程序之前,尝试清除所有的IEC/IFS/IPC寄存器。它将涉及通过RSWT寄存器发出软件重置,然后让引导装载器查看RCON寄存器。如果RCON寄存器认为它是软件重置,立即跳转到应用程序。不幸的是,它并没有帮助POR。我还没有完全弄清楚如何解决这个问题。我对此了解得不够,但是如果我在遵守时间遇到数据冲突错误,我会有更重要的事情发生。
以上来自于百度翻译 以下为原文 This was suggested to me; Odds are what's happening is that the interrupts are getting tripped up, with a module in use by the bootloader wanting an interrupt, but the application doesn't have a handler for it. The dma_led application doesn't use interrupts (at least, not interrupting the processor), so it doesn't validate that the interrupts have been properly reset. A couple of ideas. First, try clearing all of the IEC/IFS/IPC registers before jumping to the application. The second idea is a little more elaborate. It would involve issuing a software reset through the RSWT register, then let the bootloader look at the RCON register. If the RCON register thinks it is a software reset, jump immediately to the application. Unfortunately, it doesn't help a POR. I haven't quite worked through how that could be resolved. I dont' know enough about this, but if i am getting the dataconflict errros at complying time i have somethign more fundemental going on? |
|
|
|
|
|
这是我的关闭,去应用程序。如果不在Bootloader中,它将状态设置为BOOTLOADER_ENTER_.I,则发现库化的Bootloader仅作为示例有用。我把Bootloader的C代码移到AppyTask.这就是它为什么要对0x10偏移的应用程序?我不知道,我假设作者知道编译器放在那里的东西。在这个CPU上,调用而不是跳转是好的,因为应用程序将重新设置堆栈(不像PIC10-18)“用我的链接器脚本,这不是一个提示。它有一个重置跳跃。这就是为什么作品是独立的。和谐集应该一起工作。“不知道今天早上我在电话里输入了什么。但是我发布的链接器脚本已经跳转到应用程序中。这意味着它将与引导加载程序重叠。引导加载程序不会覆盖写本身,因此它在那里是安全的。bootloaderData.currentState=BOOTLOADER_ENTER_.;break;case BOOTLOADER_ENTER_.: //运行主程序PLIB_INT_.ble(INT_ID_0);/*禁用全局中断*/Nop();fptr=(void(*)(void))0xbd000010;//设置复位地址fptr();//并调用它break;
以上来自于百度翻译 以下为原文 This is My shut down and go to App. If not in the Bootloader it sets the state to BOOTLOADER_ENTER_APPLICATION I found the Library-itized Bootloader only useful as an example. I moved Bootloader.c's code into app_task. That call thats it to the app why the 0x10 offset? I do not know, I assume the author knew something about what the compiler puts there. The call rather than a jump is fine on this CPU since the App will re-setup the stack (Unlike a PIC10-18) "With my linker script it is not a hint. It has a reset jump. That is why is works stand alone. The harmony set should work together." Not sure what I typed in the phone thismorning. But my posted Linker script has a jump to the app coded in it. That means it will overlap with the Bootloader. The Bootloader will not over write itself so it is safe there. case BOOTLOADER_COMPLETED: DATASTREAM_Close(); // Start New Program. bootloaderData.currentState = BOOTLOADER_ENTER_APPLICATION; break; case BOOTLOADER_ENTER_APPLICATION: // Run Main Program PLIB_INT_Disable(INT_ID_0); /* Disable Global Interrupts */ Nop(); fptr = (void (*)(void))0xbd000010; // set the reset address fptr(); // and call it break; |
|
|
|
|
|
我还是不明白。它不是暗示意味着什么?对不起,我在这里感觉很笨,我不知道如何使用你的链接器脚本…
以上来自于百度翻译 以下为原文 I still dont' understand.. What does it is not a hint mean? I'm sorry I'm feeling stupid here, i don't have any clue how to use your linker scripts... |
|
|
|
|
|
没有提示是我的手机自动校正。我不记得了。但是,如果没有引导程序,它就可以运行。两者都处于复位向量。应用程序链接器。把它放在应用程序中,而不是引导装载程序。去除和声。它应该独立运行,并且从引导加载程序运行。然后在SimultCyfg.h中将BooDouleSReTeTy地址更改为0xBD900010
以上来自于百度翻译 以下为原文 Not a hint was an auto correct by my phone. I don't remember. But the fact it can run without the bootloader is why you have a monkey conflict if you combine them. Both are at the reset vector. The application linker. Put it in the application , not the bootloader project. Remove the harmony one. It should run stand alone, and from the bootloader. Then in system_config.h change BOOTLOADER_RESET_ADDRESS to 0xbd000010 |
|
|
|
|
|
在引导加载程序的system_config.h中,其当前设置如下。defineBOOTLOADER_RESET_ADDRESS(BOOTLOADER_FLASH_BASE_ADDRESS)是否应该将上述定义更改为defineBOOTLOADER_RESET_ADDRESS 0xbd000010,或者应该更改BOOTLOADADADER_FLASH_BASE_ADDRESS?
以上来自于百度翻译 以下为原文 in system_config.h of the bootloader, its currently set like this. #define BOOTLOADER_RESET_ADDRESS (BOOTLOADER_FLASH_BASE_ADDRESS) should i change the above define to #define BOOTLOADER_RESET_ADDRESS 0xbd000010 or should i alter BOOTLOADER_FLASH_BASE_ADDRESS ? |
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1121浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
872浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 18:53 , Processed in 1.124526 second(s), Total 108, Slave 90 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2711