完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
在我们的应用中,我们将在USB树上大量的PSoC 3设备,并希望使用USB引导加载程序。
现在,我想知道引导加载程序从第一个和稍后的应用程序开始的过程是如何从USB角度看的。 该设备枚举两次,应用程序使用不同的VANDRID/DEVICID,而不是Bootloader吗? 另外,可以在引导加载程序和应用程序中定义两种配置。 并且让我的应用程序的驱动程序切换配置(或者在引导加载程序主机的末尾执行)。 这将在我看来更干净,避免双重枚举。 我可能需要修改Bootloader主机代码(使用LIPSUB或类似的),因为我的设备不会是我的应用程序的HID类。ICI还可以通过将配置切换回“Bootloader”来触发新的引导加载,并使我的应用程序代码触发配置更改,并在发生这种情况时进入引导加载程序。 问题是,是否可以避免设备重置(在启动应用程序时在引导加载程序结束时)将重置USB组件,使得USB侧可见。 安德烈亚斯 以上来自于百度翻译 以下为原文 In our application we will a high number of PSoC 3 devices on a USB-tree and want to use the USB bootloader. Now I wonder how the process of the bootloader starting first and later the application looks from a USB perspective. Is the device enumerated twice and the application uses a different vendorID/deviceID than the bootloader? Alternatively I could define two configurations both in the bootloader and in the application and let the driver of my application switch the configuration (or do that at the end of the bootloader host). That would be much cleaner in my opinion and avoid the double enumeration. I probably need to modify the bootloader host code (use libu*** or similar), because my device will not be a HID class for my application. I could also allow to trigger a new bootloading by switching the configuration back to "bootloader" and make my appliction code trigger for config changes and entering the bootloader when this happens. The question is, whether I can avoid that the device reset (that is done at the end of the bootloader when starting the application) will reset the USB component such that this is is visible to the USB side. Andreas |
|
相关推荐
2个回答
|
|
引导加载程序工作的基本方式包括在很早的阶段进行检查:
第一、是否存在可以从其下载BooTooDead的设备? 第二是可引导加载的版本不同于当前版本吗? 当两个问题都用“是”回答时,引导加载过程就可以开始。 CyPress的引导加载程序以某种方式组织,以便您可以集成任何用于引导加载过程的通信接口,请看这里的一个例子:HTTP://wwwyCysP.COM/?RID=50230 因此,使用USB进行引导加载将是有效的。你也可以在页面顶部的“关键字搜索”中搜索“Bootloader USB”,并查看所找到的引用。 鲍勃 以上来自于百度翻译 以下为原文 The principle way a bootloader works includes some checks at a very early stage: 1st. Is a device present from which a bootloadable can be downloaded? 2nd Is the bootloadable a different version than the current? When both questions are answered with "yes" the bootload-process can start. Cypress's Bootloaders are organized in a way so that you may integrate any communication interface for the bootloading process, have a look at an example here:http://www.cypress.com/?rID=50230 So using USB for bootloading will work. you may search as well in the "Keyword Search" at the top of this page for "bootloader u***" and go through the references found. Bob |
|
|
|
ADO,
你说的正确,一旦BooTaooDER结束,PSoC将进行重置以启动应用程序代码。从USB主机的角度来看,主机将看到HID引导加载设备的断开,然后它将根据您的应用程序识别出不同的设备。从PC应用程序的角度来看,您需要为两个设备编写应用程序:一个是BooTooDER,另一个是BooToad。如果你问我,我将禁用“等待命令”复选框在Bootloader中,以便在上电和正常情况下,引导加载程序根本不会枚举,主机将看到的第一个设备将是您在应用程序中定义的设备。当您想引导加载时,您可以在应用程序USB设备中实现一个供应商命令,通过调用Bootloadable加载API启动Bootloader操作。AN5637 7- PSoC®3和PSoC 5 USB传输类型具有使用PSoC实现供应商命令的一个很好的例子。一旦发出了厂商命令,PC应用程序就可以开始查找Bootloader HID设备的检测,一旦完成引导加载,它就可以开始寻找应用程序USB设备。 以上来自于百度翻译 以下为原文 Ado, You are correct in saying that once the bootlaoder ends, PSoC will undergo a reset to start application code. When you look at it from USB host perspective, host will see the disconnect of HID bootloader device and then it will recognise a different device as per your application. From the PC application perspective, you will need to write application for two devices: one would be the bootlaoder and the other would be the bootloadable. If you ask me, I will disable the 'wait for command' checkbox in bootloader so that at the power up and in normal conditions, the bootloader will not enumerate at all and the first device that the host will see will be the device as you define in your application. When you want to bootload, you could implement a vendor command in your application USB device to start bootloader operation by calling Bootloadable_Load API. AN56377 - PSoC® 3 and PSoC 5 USB Transfer Types has a good example of implementation of vendor commands with PSoC. Once the vendor command is sent out, PC application can start looking for detection of bootloader HID device and once bootloading is finished, it can start looking for application USB device. |
|
|
|
只有小组成员才能发言,加入小组>>
740个成员聚集在这个小组
加入小组1980 浏览 1 评论
1737 浏览 1 评论
3510 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1668 浏览 6 评论
1448 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
215浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
123浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
325浏览 2评论
271浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
456浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-20 19:40 , Processed in 0.807379 second(s), Total 80, Slave 64 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号