完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,
我用CyBur-212019使用一个堆栈引导加载程序。我能够成功地使用UART外部嵌入的主机引导字符串图像。在引导加载过程中,引导加载程序报告错误0x400。从CytLtDr.UtiL.H,0x400是CyrthyelybTrdRy掩码和CyrthyeleRead数据的组合。 我重新生成.CyACD文件并再次启动引导加载。对头文件(CYACD文件中的第一行)进行了验证,但是对于UART发送的字符串行,引导程序没有响应。嵌入式主机无限地等待引导加载程序的响应。关于调试这个有什么建议吗? 编辑: 代码陷入困境 int CybTLDR.TeleDATA(无符号CHAR*INBUF,INT INSIZE,UNCORCHARCHAR*UTBUF,INT OUTSIZE) { INTRR = GY-COMM& & G.DeDeDATA(INBUF,INSIZE); 如果(CyReTyRealEng==Err){ Err=GyCAMM & G. Read DATA(OutBuf,超大); } 如果成功了!= Err) 厄尔尼诺; 返回错误; } GyCAMM & Gt;Read DATA()无限地等待引导加载程序响应。 示波器: 在范围上,BLE UART信号看起来不像方波。它看起来像是一个RC电路充电信号。这意味着UART在重新启动时没有初始化。在这一点上,这可能是因为Bootloader没有踢进去,或者芯片坏了。我怀疑第二个是真的。虽然我可以使用SWD接口来反射Bootloader,但我想调试这个问题,而不需要重新启动Bootloader,了解损坏的原因以及如何克服它。对此有何想法? 谢谢 德黑拉杰 以上来自于百度翻译 以下为原文 Hello, I am using CYBLE-212019 with a single stack bootloader. I was able to successfully bootload a string image using an external embedded host over UART. During bootloading, bootloader reported error 0x4004. From cybtldr_utils.h, 0x4004 is a combination of CYRET_ERR_BTLDR_MASK and CYRET_ERR_DATA. I regenerated .cyacd file and started bootloading again. The headers(first line in .cyacd file) are verified but there is no response from the bootloader for the string line sent over UART. Embedded host is infinitely waiting for the bootloader response. Any suggestions on how to debug this? EDIT: Code is getting stuck in int CyBtldr_TransferData(unsigned char* inBuf, int inSize, unsigned char* outBuf, int outSize) { int err = g_comm->WriteData(inBuf, inSize); if (CYRET_SUCCESS == err){ err = g_comm->ReadData(outBuf, outSize); } if (CYRET_SUCCESS != err) err |= CYRET_ERR_COMM_MASK; return err; } g_comm->ReadData() is infinitely waiting for the bootloader response. OSCILLOSCOPE: On the scope, BLE UART signal doesn't look like a square wave. It looks like a RC circuit charging signal. This means that UART is not initialized upon BLE reboot. At this point, it could be because bootloader didn't kick in or the chip went bad. I doubt the second is true. While I can always reflash bootloader using the SWD interface, I want to debug this issue without re-flashing bootloader and understand the reason for corruption and how to overcome it. Any ideas on how to proceed on this? Thanks Dheeraj |
|
相关推荐
7个回答
|
|
你好,Dheeraj,
你能检查从主机和PSoC发送的UART数据包吗? 谢谢, 希马 以上来自于百度翻译 以下为原文 Hello Dheeraj, Can you check the UART packets being sent from host and PSoC? Thanks, Hima |
|
|
|
你好,希马, 我无法及时回复你对我以前的帖子的回复。我稍后会发布UART日志。 谢谢 德黑拉杰 以上来自于百度翻译 以下为原文 Hello Hima, I couldn't get back in time for your reply on my earlier posts. I'll post the UART log shortly. Thanks Dheeraj |
|
|
|
你好, UART分组信息是二进制的。把它张贴在这里毫无意义。你到底在找什么?Bootloader代码是0x00成功包,然后过一会儿我得到0x400,然后引导加载停止。 在电源周期之后,当我发出OTAU时,CYACD中的报头得到验证。引导加载主机期望返回15字节,但引导加载程序仅用7字节进行重新计算。结果,嵌入式主机无限等待。 谢谢 德黑拉杰 以上来自于百度翻译 以下为原文 Hello, The UART packet information is binary. Posting it here wouldn't make any sense. What exactly are you looking for? The bootloader codes are 0x00 for successful packets and then after a while I get 0x4004 and then the bootloading stops. After power cycle, when I issue an OTAU the header in cyacd gets verified. The bootloading host expects 15 bytes in return but the bootloader reponds with 7 bytes only. As a result, the embedded host waits infinitely. Thanks Dheeraj |
|
|
|
gaozhu123 发表于 2018-12-5 14:17 您可能对通信正确设置了波特率,但是双重检查它们都设置为正确的值可能值得快速查看。 以上来自于百度翻译 以下为原文 You probably have the baud rate set correctly for communications, but double checking they are both set to the correct value might be worth looking at quickly. |
|
|
|
波特率是正确的。选中的。即使波特率不正确,并且如果模块不能正确引导负载,则电源周期和断言引导负载引脚低应保持BooLoad状态下的Cyle。但这种情况不会发生。 以上来自于百度翻译 以下为原文 The baud rate is correct. Checked. Even if the baud rate is not correct, and if the module is unable to bootload correctly, a power cycle and asserting Bootload pin low should keep CYBLE in bootload state. But it's not happening. |
|
|
|
你用什么微控制器作为嵌入式主机?你能解释一下你是如何做到这一点的吗?我非常需要能够从一个ARDIIO上更新我的PSoC。
以上来自于百度翻译 以下为原文 What microcontroller are you using as the embedded host? Would you be able to clarify how you actually got this to work? I desparately need to be able to update my PSOCs over I2C from an arduino |
|
|
|
你好, 我已经看了一会儿了。我的嵌入式主机是粒子P1。根据我所记得的,我重新生成了.CyACD文件,它似乎起作用了。但我不确定我的旧文件出了什么问题。 此外,当我用旧的CYACD文件尝试时,MCU被烧成砖,恢复它的唯一方法是使用PSoC程序员编程。 谢谢 德黑拉杰 以上来自于百度翻译 以下为原文 Hello, It's been a while I have looked into it. My embedded host is Particle P1. From what I remember, I regenerated the .cyacd file again and it seemed to work. But I'm not sure what was wrong with my old file. Also, when I tried it with the old .cyacd file, the MCU got bricked and the only way to recover it was to program it using PSOC programmer. Thanks Dheeraj |
|
|
|
只有小组成员才能发言,加入小组>>
752个成员聚集在这个小组
加入小组2069 浏览 1 评论
1824 浏览 1 评论
3633 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1760 浏览 6 评论
1509 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
507浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
357浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
410浏览 2评论
357浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
854浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 07:17 , Processed in 1.038337 second(s), Total 91, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号