完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
所附的工作空间是可升级的堆栈可引导加载到CyBLY-224110 EVM,并添加了一些新功能,这些功能在PWM页面上可引导加载的BLE项目之外运行良好。
但是,当与BooToeLoad合并时,它在CyByl PraseSeVScript()中出现了硬故障,当然,由于调用堆栈不可见,所以在故障中没有任何线索。可以禁用和启用PWM页面,以显示组件和支持代码之后的问题。当发生故障时,XPSR=0x810000 03 似乎功能是无关的。我不明白为什么当这个代码被添加时,BLE现在失败了。我如何进一步隔离? BooDeababl Bug 12.3兆字节 以上来自于百度翻译 以下为原文 The attached workspace is the Upgradable Stack Bootloadable ported to the CYBLE-224110 EVM with some new functionality added that runs fine outside a bootloadable BLE project on the PWM page. But when merged with bootloadable, it hard faults in CyBle_ProcessEvents(), and of course there are no clues in the fault since the call stack is not visible. The PWM page can be disabled and enabled to show the issue follows the components and supporting code. When faulted, xpsr=0x81000003 It seems like the functionality is unrelated. I don't see why the BLE is now failing when this code is added. How can I isolate further?
|
|
相关推荐
6个回答
|
|
“硬故障”的例外就是当你尝试
不存在的或非执行内存执行代码 访问不存在的内存 还有一些,见(摘自“皮质M0设备通用用户指南”) 2.4故障处理 故障是异常的子集,参见第2-19页的异常模型。所有的故障导致 如果在NMI中出现HardFault异常,则会导致锁定。 HardFault handler。故障: SVC指令的执行等于或高于优先级 执行BKPT指令而不附加调试器 •系统生成的加载或存储总线错误 •执行从XN内存地址的指令 •执行一条指令从定位系统为它生成一个总线 过错 •系统上生成一个矢量取总线错误 •执行一个未定义的指令 当不在Thumb状态由于T字位是•执行指令 以前清零 •试图加载或存储到未分配的地址。 所以我想这是你的内存分配错误或与BL的地址。 鲍勃 以上来自于百度翻译 以下为原文 A "Hard Fault" exception is called when you try to Execute code from non-existent or non-exec memory Accessing non-existent memory There are some more, see (excerpt from "Cortex M0 Devices Generic User Guide) 2.4 Fault handling Faults are a subset of exceptions, see Exception model on page 2-19. All faults result in the HardFault exception being taken or cause lockup if they occur in the NMI or HardFault handler. The faults are: • execution of an SVC instruction at a priority equal or higher than SVCall • execution of a BKPT instruction without a debugger attached • a system-generated bus error on a load or store • execution of an instruction from an XN memory address • execution of an instruction from a location for which the system generates a bus fault • a system-generated bus error on a vector fetch • execution of an Undefined instruction • execution of an instruction when not in Thumb-State as a result of the T-bit being previously cleared to 0 • an attempted load or store to an unaligned address. So I suppose something is wrong with your memory allocation or wth the bootloader's addresses. Bob |
|
|
|
你好,
不要把设备调试bootloader的功能在项目调试模式。引导和bootloadable项目之间的转换是由软件复位,调试器将断开复位。 同时,该bootloadable组件管理应用程序的图像的位置相对于引导图像的闪光区,因此禁用bootloadable组件和调试将导致硬盘故障。 请使用串口调试日志调试OTA项目。 -吉安 以上来自于百度翻译 以下为原文 Hello, Don't put the device in debug mode while debugging a project with Bootloader functionality. The switching between bootloader and Bootloadable project happens followed by a software reset and the debugger will disconnected on reset. Also, the Bootloadable component manages the placement of the application image in the FLASH Area with respect to Bootloader image and hence on disabling the Bootloadable component and debugging will result in Hard fault. Please use UART debug logs for debugging the OTA projects. -Gyan |
|
|
|
我读过这篇文章,这是一个很长的列表,这就是为什么我需要使用调试器。由于故障来自CyByl PraseSeVScript(),所以没有源代码,所以我问下一步该做什么,BLE的设置是从示例开始的,所以它应该工作得很好。
我很痛苦地意识到了OTA调试限制,但是要调试,我在启动后附加,我被告知是很好的。我也没有禁用启动组件或代码共享,只有PWM。所以我不知道你的建议适用于这个问题。 以上来自于百度翻译 以下为原文 bob.marlowe I read that and it's a pretty long list which is why I need to use the debugger. Since the fault is coming from CyBle_ProcessEvents() there is no source code, so I am asking what to do next The setup for the BLE is from the example, so it should work fine. gyan I'm painfully aware of the OTA debug limitation, but to debug in, I attached after start ,which I'm being told is fine. I also did not disable the bootloader component or the code sharing, only the PWM. So I don't see how your advice applies to this problem. |
|
|
|
Ernest1 发表于 2018-8-30 20:24 你好,MikeMitchell, 请让我们知道,重现问题的步骤? 希望你把发射器- >;堆栈>;应用项目PSoC BLE设备适当的依赖你知道开关之间发生的所有的项目设备程序循环/周期/复位/和Bootloader应用之间手动开关。 请让我们知道步骤,从而验证问题的原因。 -吉安 以上来自于百度翻译 以下为原文 Hello MikeMitchell , Could you please let us know the steps to reproduce the issue? Hope you have Flashed the Launcher -> Stack -> Application Project to the PSoC BLE device with appropriate dependencies and you know how the switching happens between all of the projects on device program Cycle/ Power Cycle/ Reset/ On manual switch between the Application and Bootloader. Please let us know the steps so that we can verify the cause of problem. -Gyan |
|
|
|
YHYDZ 发表于 2018-8-30 20:36 吉安, 对不起,缓慢的回复,当我提到我在原来的岗位上“PWM页面可以禁用和启用显示问题如下部件和配套代码。”所以你应该能够创建易于使用042开发板224110模块安装。应用程序运行正常的bootloadable与PWM页禁用,但是如果你启用它,cyble_process_events将硬故障,我不明白为什么。 从那时起,我一直怀疑中断的问题,但我却用另一种方法,我都被中断systimers代替,我得到倍。现在真的唯一没有中断的systimer除非是PWM中断自己的问题。这一尝试是附加的。你不能在这一个禁用页面,但它等待着红色LED点亮直到按下S2,这样你可以将调试器早期主要C.然后通过看看它的硬故障,总是在cyble_processevents()。 我真的很需要帮助,我真的没有可视性的稳定子系统了解什么是错的。我只是用实例代码应该是简单的修改。 BooDeababeDebug .Babel01.Zip 12.7兆字节 以上来自于百度翻译 以下为原文 gyan, Sorry for the slow reply, as I mentioned in my original post "The PWM page can be disabled and enabled to show the issue follows the components and supporting code. " So you should be able to recreate easily using 042 Dev board with 224110 module installed. The Bootloadable app runs fine with the PWM page disabled, but if you enable it, CyBLE_Process_Events will hard fault, and I cannot figure out why. Since then, I had suspected interrupt issues, but I have actually tried another way where my interrupts were all removed and systimers used instead, and I get the sameresult. So now really the only thing new is PWM without interrupts unless the systimer interrupts themselves are the problem. That attempt is attached. You can't disable the page in this one, but it waits with red LED lit until you press S2 so that you can attach the debugger early in main.c. Then step through and see where it hard faults, always on CYBLE_ProcessEvents(). I'd really appreciate some help, I really have no visibility into the BLE subsystem to understand what is wrong. I'm just using the example code with what should be easy modifications.
|
|
|
|
Ernest1 发表于 2018-8-30 20:48 你好,迈克, 因为你使用的是系统的低功耗模式和一块也没有PWM模式SysTick定时器(使用IMO的时钟源)可以/将不起作用。 要么不使用Low Power代码,要么使用WDT定时器。 Low Power代码禁用,项目(附件)工作正常。 -吉安 BooDeababdEdg.Gyn.CyWrk.CaseVo01.Zip 5.3兆字节 以上来自于百度翻译 以下为原文 Hello Mike, Since you are using system Low Power Modes and in DeepSleep mode neither PWM block nor systick timer ( uses IMO for clock source) are available/will not function. Either do not use Low Power code or use WDT timer. With Low Power code disabled , the project ( attached here ) is working fine. -Gyan |
|
|
|
只有小组成员才能发言,加入小组>>
752个成员聚集在这个小组
加入小组2071 浏览 1 评论
1827 浏览 1 评论
3639 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1761 浏览 6 评论
1513 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
511浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
361浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
410浏览 2评论
357浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
858浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 08:41 , Processed in 1.011153 second(s), Total 88, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号