Cypress技术论坛
直播中

李旗挺

7年用户 219经验值
私信 关注
[问答]

网络引导加载程序

我正在研究一个通过TCP/IP进行通信的项目,我正在尝试实现固件升级功能。我现在的方法是用一个Bootloader设置一个双应用程序安装,它只作为一个启动程序(没有通信)和一个处理网络通信的应用程序(这已经存在于我的实际应用程序中),这个应用程序还必须处理TH的实际加载。从主机服务器到Flash的固件(这是我现在正在工作的部分)。
有像这样的例子吗?好像我的很多任务都是把所有现有的Bootloader生成的源删除,清理并编译到我的应用程序中(调整通信接口的东西)。我认为我不能把引导加载程序加入到我的项目中,并把它作为一个运行时组件而不是一个实际的引导加载程序来运行,对吗?我基本上实现了数据流(参考:an86526附录C)而建立的TCP / IP通信接口,我走在正确的方向上有一个更简单的方法吗?
                    
                    
以上来自于百度翻译

               
                                                                                      以下为原文
                                            I am working on a project that communicates via TCP/IP and I'm trying to implement a firmware upgrade functionality. My current approach is to have a dual application setup with a bootloader that operates as a launcher only (no communication) and an application that handles the network communication (this already exists for my actual application), this application will also have to handle the actual loading of the firmware from the host server into flash (this is the part I'm working on now).

Are there any examples that work like this? It seems as though a lot of my task involves pulling out all of the existing bootloader generated source, cleaning it up and compiling it into my application (adjusting the communication interface stuff). I don't think I can incorporate the bootloader into my project and have it operate as a runtime component rather than an actual bootloader, is that correct? I'm basically implementing the following data flow (Ref: AN86526 Appendix C) but built on top of the TCP/IP communication interface, am I going in the right direction or is there an easier way?

回帖(5)

孙乙鑫

2018-8-30 15:17:42
你好,帕特里克,
程序支持自定义界面的选项可以添加到任何现有的通信组件的引导支持。为你的网络应用程序的启动和运行,你需要实现功能的支持功能。他们被引导用于设置通信接口和中继包来回与主机。请使用在PSoC Creator组件作者指导和引导PSoC 3/5自定义通信接口支持第10.1.2细节
最好的问候,
吉娜玛丽
                    
                    
以上来自于百度翻译

               
                                                                                      以下为原文
                                            Hello Patrick,
 
Bootloader supports Custom Interface option which allows to add bootloader support to any existing communication component. As you have the network application up and running, you need to implement functions to support bootloading. They are used by the bootloader for setting up the communications interface and relaying packets back and forth with the host. Please make use of the details in Section 10.1.2 of PSoC Creator Component Author Guide and Custom communication interface support for PSoC 3/5 bootloaders
 
Best Regards,
Geona Mary
举报

李旗挺

2018-8-30 15:26:01
引用: zhushanyu262 发表于 2018-8-30 14:06
你好,帕特里克,
程序支持自定义界面的选项可以添加到任何现有的通信组件的引导支持。为你的网络应用程序的启动和运行,你需要实现功能的支持功能。他们被引导用于设置通信接口和中继包来回与主机。请使用在PSoC Creator组件作者指导和引导PSoC 3/5自定义通信接口支持第10.1.2细节
最好的问候,

这意味着充分的沟通需要在引导正确的支持?我要退出主程序,进入程序,重新打开网络连接和安装一个新的套接字服务器以接收固件。这是不可取的行为,我真的不想引导到有支持整个通信协议这是一个很复杂的过程来设置服务器,我将与网络和登记。我宁愿主应用程序支持读取固件在现有开放套接字服务器,与现有的指挥体系已经写入应用简单写它闪光。
                    
                    
以上来自于百度翻译

               
                                                                                      以下为原文
                                            This would mean the full communication would need to be supported in the bootloader correct? And I would have to exit the main program, enter the bootloader, reopen the network connection and setup a new socket to my server in order to receive the firmware. This is not desirable behaviour and I don't really want the bootloader to have to support that entire communication protocol as it's quite an involved process to setup the network and register with server that I will be communicating with. I'd prefer the main application to support reading the firmware over the existing open socket to the server, with the existing command infrastructure that has already been written into the application and simply write it to flash.
举报

孙乙鑫

2018-8-30 15:41:49
引用: sonia87 发表于 2018-8-30 14:14
这意味着充分的沟通需要在引导正确的支持?我要退出主程序,进入程序,重新打开网络连接和安装一个新的套接字服务器以接收固件。这是不可取的行为,我真的不想引导到有支持整个通信协议这是一个很复杂的过程来设置服务器,我将与网络和登记。我宁愿主应用程序支持读取固件在现有开放套接字服务器,与现有的指挥体系已经写入 ...

你好帕特里克,
它是可能的到用户应用程序中添加启动功能(无需创建单独的引导)。这是通过一个引导程序组件注册的定义,一bootloadable组件和通信组件。这种配置称为组合项目。当你有通信协议已经安装在你的项目,你可以添加一个引导程序组件和使用自定义接口而不是退出Bootloader的功能。
因此,目标瞬间将包括发射器,结合项目1个,项目组合2。一个应用程序是由其他项目组合加载到目标的闪存。请让我知道如果它帮助。
诚挚的问候,
geona玛丽
                    
                    
以上来自于百度翻译

               
                                                                                      以下为原文
                                            Hello Patrick,
 
It is possible to add bootloading functionality to a user application (without creating stand alone bootloader). This is defined through incorporation of a Bootloader Component, a Bootloadable Component, and a communication Component. This configuration is called Combination Project. As you have communication protocol already setup in your project, you can add a Bootloader component and use the Custom Interface instead of pulling out the bootloader functions.
 
Thus, target flash will consist of launcher, combination project 1, combination project 2. One application is loaded into target flash by other combination project. Please let me know if it helps.
 
 
Best Regards,
Geona Mary
举报

李旗挺

2018-8-30 15:49:16
引用: zhushanyu262 发表于 2018-8-30 14:30
你好帕特里克,
它是可能的到用户应用程序中添加启动功能(无需创建单独的引导)。这是通过一个引导程序组件注册的定义,一bootloadable组件和通信组件。这种配置称为组合项目。当你有通信协议已经安装在你的项目,你可以添加一个引导程序组件和使用自定义接口而不是退出Bootloader的功能。
因此,目标瞬间将包括发射器,结 ...

这听起来像我想要的,有没有这个例子?
                    
                    
以上来自于百度翻译

               
                                                                                      以下为原文
                                            This sounds like what I want, are there any example projects of this?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分