完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
先生,我使用PIC32 MX775 F256H,我想知道如何在不移植OS的情况下运行两个进程(以太网引导加载器和应用程序)并行。
以上来自于百度翻译 以下为原文 sir, I am using pic32mx775f256h and i want know how to run two process(both Ethernet boot loader & application ) parallel without porting OS. Thankyou |
|
相关推荐
4个回答
|
|
你问你是否可以同时运行它们?一个RTOS通常是你实现这一目标的最佳选择,但是中断将是噩梦。如果从引导加载程序和应用程序中断,则很难处理两个独立的中断向量表。
以上来自于百度翻译 以下为原文 Are you asking if you can run them simultaneously? An RTOS is generally your best bet to accomplish this, but interrupts are going to be the nightmare. If you have interrupts from the bootloader and the application, you're going to have a hard time handling two separate interrupt vector tables. |
|
|
|
通常,应用程序在特定的时间启动引导加载程序,或者引导加载程序在应用程序之前运行,以查看它是否需要对应用程序进行重新编程。因此,固件的两侧是紧密耦合的。这不是你想要的建筑吗?
以上来自于百度翻译 以下为原文 Typically, the application launches the bootloader at a specific time or the bootloader runs before the application to see if it needs to reprogram the application. Thus both sides of the firmware are tightly coupled. Is this not the case with you intended architecture? |
|
|
|
感谢您的回复。我的要求是,我想通过以太网加载新的HEX文件。为了实现这一点,我需要在控制器上运行Bootloader和应用程序。现在我在循环中同时运行以太网栈和应用程序。随着我的应用程序花费更多的时间,以太网通信经常失败。以上解决方案,谢谢。
以上来自于百度翻译 以下为原文 Thanks for the reply. My requirement is i want to load the new hex files through ethernet. to accomplish this i need both bootloader and application running on the controller. And right now i am running both Ethernet stack and application in sequence in the loop. As my application takes more time Ethernet communication is getting failed often. Any solution for the above . Thanks in advance. |
|
|
|
您的应用程序应该在引导加载程序中启动。引导加载程序可以完成包含主应用程序的程序Flash的一部分的CRC或散列。如果计算的CRC与存储在程序Flash中的值匹配,那么引导加载程序应该简单地启动主应用程序。如果Bootloader发现这些值不匹配,那么它应该使用先前存储的图像(最好是Flash中的片外)来对应用程序进行反射。主应用程序可以使用TFTP或类似的东西下载和保存新的应用程序图像。它还可以根据接收到的命令设置一个定时器来安装新的图像。当它准备对应用程序进行重新设置时,将预存储的CRC值设置为应用程序的CRC到所有F,然后进行软件重启以启动引导加载程序再次运行。引导加载程序将发现应用程序的CRC或散列不是所有的F,因此它将安装新的应用程序。
以上来自于百度翻译 以下为原文 Your application should boot in the bootloader. The bootloader can do a CRC or hash of the part of program flash that contains the main application. If the calculated CRC matches the value stored in program flash then the bootloader should simply launch the main application. If the bootloader finds that the values don't match then it should reflash the application using the image previously stored, preferably off-chip in flash. The main application can be tasked with downloading and saving a new application image using TFTP or something similar. It can also set a timer to install the new image based on some command received. When it is ready to reflash the application, set the pre-stored CRC value for the application's CRC to all F's and then do a software reboot to start the bootloader running again. The bootloader will find that the application's CRC or hash isn't all F's so it will then install the new application. |
|
|
|
只有小组成员才能发言,加入小组>>
5306 浏览 9 评论
2070 浏览 8 评论
1973 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3243 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2279 浏览 5 评论
827浏览 1评论
719浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
664浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
716浏览 0评论
616浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-25 09:07 , Processed in 1.507483 second(s), Total 81, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号