完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在开发过程中,使用本地调试非常重要,但是使用OTA引导加载,有很多依赖性使得难以禁用。
是否有合理的方法来划分项目,以便您可以从调试切换到释放模式,并在过程中自动启用引导加载程序? 以上来自于百度翻译 以下为原文 While developing, it's pretty important to have native debugging, yet with OTA bootloading, there are lots of dependencies which make it difficult to just disable. Is there a reasonable way to partition the project so that you can switch from debug to release mode and automatically enable the bootloader in the process? |
|
相关推荐
6个回答
|
|
twtetrwerw 发表于 2018-9-4 14:24 我的理解是bootloadable调试时不可用,但是那不是我问。我有太多的工作要做,没有社会福利署在开发应用程序,所以我想暂时禁用功能。当我做了其他的项目,你可以禁用USB bootloadable,引导程序组件并重新编译得到同时开发调试功能,然后使它释放。 但对于OTA bootloader不工作,因为有引导程序组件之间的依赖关系的合理成分,众多,共享栈,链接脚本,如果你禁用只是引导程序,你得到的: 地址:pft.m0117:错误:组件已被设置为在非bootloadable设计导入共享代码。 看来整个项目将不得不重新分开而不是切换开关。我试图把BTLE和Bootloader在页面中的设计和禁用页面,但是有很多其他的错误。我想保持BTLE的项目,只是禁用功能。我可能生活在禁用BTLE一起因为它不是这个项目的一个重要特征。但是我需要能够合并回它在轻松无束容易出错的切割和粘贴在TopDesign发布。 我希望有一个更简单的方法,这就是我问的原因。如果没有,请考虑这是一个特性请求。 以上来自于百度翻译 以下为原文 I understand debug is not available when bootloadable, but that is not what I asked. I have for too much work to do to live without SWD while developing the app, so I want to temporarily disable bootloading. When I did other projects with USB bootloadable, you could just disable the bootloader component and recompile to get debug functionality while developing, then enable it for release. But for an OTA Bootloader this does not work because there are numerous dependencies between the bootloader component, the BLE component, shared stack, link scripts, etc. If you disable just the bootloader, you get: ADD: pft.M0117: error: Components have been set to import shared code in a non-bootloadable design. So it seems like the whole project would have to be recreated separately instead of just toggling a switch. I tried putting the Btle and bootloader on a page in the design and disabling the page, but got many other errors. Ideally I'd like to keep BTLE in the project, and just disable bootloading. I could probably live with disabling BTLE all together because it is not an essential feature of this project. But I need to be able to merge it back in easily without a bunch of error prone cut and pastes in TopDesign each release. I am hoping there is an easier way, that is why I asked. If there isn't please consider this a feature request. |
|
|
|
Ernest1 发表于 2018-9-4 14:40 你好,迈克, 用于调试的OTA bootloadable项目,请使用附加到目标(调试& gt;附加到正在运行的目标)。然而,用户将无法从主开始执行C.用户可以添加以下代码来刻意控制固件流程片。 包括“StdBoo.h” 易失性BooDebug标志=true; int() { … 囊状的; 同时(调试标志); … } 之后,用户可以附加到正在运行的目标代码将被封锁时(1)。改变debugflag值0在监视窗口使您可以调试与调试模式。请告诉我这是否有帮助。 最好的问候, 吉娜玛丽 以上来自于百度翻译 以下为原文 Hello Mike, For debugging the OTA bootloadable project, please make use of attach to the target (Debug > Attach to Running Target). However, user will not be able to start the execution from start of main.c. User can add following piece of code to deliberately control the firmware flow. #include "stdbool.h" volatile bool DebugFlag = true; int main() { .... CyGlobalIntEnable; while(DebugFlag); .... } Later user can Attach to Running Target and code will be blocked at while(1). Change the value of DebugFlag to 0 in Watch Window so that you can debug similar to Debug mode. Please let me know whether this helps. Best Regards, Geona Mary |
|
|
|
zhushanyu262 发表于 2018-9-4 14:49 我尝试了一些类似的方法,但是它并不是非常有用,尤其是如果你有一个严重的错误。我的引用仍然存在,什么是最简单的方法来在项目中留下引导加载程序,但是它被禁用了? 以上来自于百度翻译 以下为原文 I tried something similar, but it's really not very useful, especially if you have a hard fault. My quotation still stands, what is the easiest way to leave the bootloader inside the project, but disabled? |
|
|
|
Ernest1 发表于 2018-9-4 15:02 你好,迈克, 为了调试OTA项目,请使用这些方法中的任何一种; (一)如果SWD接口启用,附加到目标(调试& gt;附加到正在运行的目标)。 如果SWD接口不可用于调试, (2)使用GPIO切换 (3)使用串行通信接口或协议如UART通过通信接口发送消息。 请注意,不建议禁用调试OTA bootloadable项目基本类似(UART,I2C,USB bootloader等)。 最好的问候, 吉娜玛丽 以上来自于百度翻译 以下为原文 Hello Mike, For debugging OTA projects, please makes use of any of these approaches; (1) If the SWD interface is enabled, attach to the target (Debug > Attach to Running Target). If the SWD interface is not available for debugging, (2) Use GPIO toggles (3) Use any serial communication interface or protocol such as UART to send messages through communication interface. Please note that, it is not recommended to disable and debug OTA bootloadable projects similar to basic bootloaders (UART,I2C,USB etc.,). Best Regards, Geona Mary |
|
|
|
zhushanyu262 发表于 2018-9-4 15:13 -(令人失望的是,这是平台的一个主要缺点)。正如我所提到的,将是真正的调试水平低等问题无用。 我们将结束没有OTA加入它在项目结束后不理想做主要的发展。我希望柏看近,好像工具至少应该能够禁用OTA引导无需一个全新的项目。 以上来自于百度翻译 以下为原文 :-( Disappointing, this is a major drawback of the platform. As I mentioned, attaching is really useless to debug low level issues. We will end up doing main development without OTA then adding it at the end of project then which is not ideal. I hope cypress will look at this closer, it seems like the tools should at least be able to disable the OTA bootloader without needing a whole new project. |
|
|
|
Ernest1 发表于 2018-9-4 15:21 你好, 在USB设备中,Bootloader是ROM代码的一部分,它在应用程序执行时不与应用程序代码共享任何代码/函数依赖关系,而在PSoC BLE设备中,OTA Bootloader不是ROM代码的一部分,它与应用程序共享代码/功能。 由于这种依赖性,如果禁用BooDoad特性,就不可能调试独立应用程序。即使由于代码依赖性,我们也不能用BooDeulabl组件禁用应用程序。 引导和bootloadable(应用)是两个不同的项目,而不是一个单一的项目和他们之间切换的软件上电复位周期/项目周期/外部复位,因此没有SWD调试是可能的。 因此,在当前的PSoC BLE(128 KB / 256 KB)OTA的Bootloader程序,SWD调试是不可能的。 你可以调试你的应用程序没有OTA和以后可以添加OTA功能或使用UART调试日志。 -吉安 以上来自于百度翻译 以下为原文 Hello, In USB devices the Bootloader is a part of ROM code and it does not share any code/functions dependencies with the application code while application is executing whereas in PSoC BLE devices OTA Bootloader is not a part of ROM code and it shares the codes/functions with Application. Because of this dependency, it is not possible to debug the stand alone application if we disable the bootloading feature. Even we would not be able to program the application with Bootloadable component disable because of code dependency. The Bootloader and Bootloadable (Application ) are two different projects and not a single project and they switch between by software Reset on Power CyCle/Program Cycle/ External Reset and hence no SWD debugging is possible. So, in current PSoC BLE ( 128 KB /256 KB ) OTA bootloader applications, SWD debugging is not possible. You could debug your application without OTA and later can add the OTA functionality or use UART Debug logs. -Gyan |
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2103 浏览 1 评论
1849 浏览 1 评论
3667 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1784 浏览 6 评论
1534 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
566浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
420浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
435浏览 2评论
381浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
913浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 17:25 , Processed in 1.069211 second(s), Total 88, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号