完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我需要更新CyPress PROC的BLE(OTA)。应用程序本身也是可用的(因此应该共享BLE API代码空间而不是复制它)。我指的是97060。
我假设固定堆栈OTA允许我将引导装载服务放入固定引导程序部分,并且在BootloadLead部分中添加自己的服务,并且它们仍然可以共享大的BLE API调用。但是AN97060说:“确保最终的BooDeject项目示意图不包含BLE组件。如果BooTo加载项目已经包含了一个BLE组件,那么:a.将其移动到BeloOthayFixEdtStKyBooToLoLe01项目。b.将Bootloader服务添加并配置到现有的BLE组件中(参见添加Bootloader服务)。 我读到,正如我所说的,我必须在FixEdtStand区域中定义所有的BLE服务(并且因此不能再添加或更新它们)。 =对固定堆栈OTA是真的吗?我的服务/特性被冻结在固定堆栈区域?只有非BLE代码才能进入应用领域? 我最初是在查看升级的堆栈,但是编译时,似乎有了BLE,堆栈应用程序已经几乎是50%的闪存空间,从而使得它可能会超过50%,并且无论如何也不能被更新(您需要一半的Flash来保存新副本)。堆栈应用程序在更新时。但是升级的堆栈模型允许我在“用户应用”区域中有一个BLE组件,让我相信我可以更新我的BLE服务,而不必更新代码的堆栈部分… =升级是否允许我在StApkApple区域中使用引导加载程序服务和应用程序更新,以及在用户应用程序区域中的所有自定义BLE服务? 如果我可以使用所有现有的BLE API,并且从用户应用程序区域定义自己的服务,我就不会更新堆栈区域。 谢谢你的帮助! 凯文 以上来自于百度翻译 以下为原文 I have the need to update the Cypress PRoC over BLE (OTA). The application itself is also BLE (so should share the BLE API code space rather than duplicating it). I am referencing AN 97060. I assumed that the FixedStack OTA would allow me to put the BootLoader service in the fixed BootLoader part, and my own services in the BootLoadable part and they could still share the large BLE API calls. But AN97060 says "Make sure that the final bootloadable project schematic does not contain the BLE Component. If the bootloadable project already contains a BLE Component, then: a. Move it to BLE_OTA_FixedStack_Bootloader01 project. b. Add and configure the bootloader service into the existing BLE Component (see Adding Bootloader Service). " I read that as saying that I have to define all my BLE services up front in the FixedStack area (and can therefore no longer add to or update them). ==> Is that true for the FixedStack OTA? That my services/characteristics are frozen in the fixed stack area? And only non BLE code goes in the application area? I initially was looking at the UpgradableStack, but when compiling, it appears that with BLE, the stack application is already almost 50% of the flash space thereby making it possible that it will later exceed 50% and not be able to be updated anyway (you need half the flash to hold the new copy of the StackApplication when it is being updated). But the UpgradableStack model does allow me to have a BLE component in the 'UserApplication' area leading me to believe that I can update my BLE services without having to update the Stack portion of the code... ==> Is it true that UpgradableStack solution would allow me to have just the boot loader service and application update in the StackApplication area and all of my custom BLE services in the UserApplication area? I am ok with not updating the Stack area if I can use all existing BLE APIs and define my own services from the User Application area... Thank you for your assistance! Kevin |
|
相关推荐
2个回答
|
|
=对固定堆栈OTA是真的吗?我的服务/特性被冻结在固定堆栈区域?只有非BLE代码才能进入应用领域?
作为固定堆栈OTA Bootloader文档状态: BLE堆栈是Bootloader的一部分,不能通过OTA升级(包括BLE配置文件)。 BLE配置文件将被冻结到图像的“固定”部分。 =升级是否允许我在StApkApple区域中使用引导加载程序服务和应用程序更新,以及在用户应用程序区域中的所有自定义BLE服务? 我认为您的自定义BLE服务需要与BLE堆栈关联/链接,因此需要放在StAcpAp待放区域中。但我可能错了,因为我没有直接使用Bootloader。如果允许将自定义服务从BLE堆栈中分离,则在更新固件时,堆栈将在没有BLE配置文件更改的情况下发生变化,反之亦然,这将导致函数调用并返回到与功能ExpEc不正确关联的位置。TED由于固件映像更新的部分进展。 大多数CyPress芯片有一个“双”内存版本的芯片,将很容易支持全拷贝引导加载程序体系结构。但是,这显然会增加BOM。 埃普拉特 以上来自于百度翻译 以下为原文 ==> Is that true for the FixedStack OTA? That my services/characteristics are frozen in the fixed stack area? And only non BLE code goes in the application area?As the Fixed Stack OTA Bootloader document states: BLE stack is part of the bootloader and cannot be upgraded (including the BLE profiles) via OTA.The BLE profiles will be frozen into the "fixed" part of the image. ==> Is it true that UpgradableStack solution would allow me to have just the boot loader service and application update in the StackApplication area and all of my custom BLE services in the UserApplication area?I would think that your custom BLE services need to be associated/linked with the BLE stack, and thus would need to be put in the StackApplication area. I could be wrong however, as I've not played with the bootloader directly. If you were allowed to split the custom services from the BLE stack, then while updating the firmware, the stack would change without the BLE profiles changing, or vice versa which would lead to function calls and returns to locations that are not longer correctly associated with the function expected due to the partial progress of the firmware image update. Most of the cypress chips have a "double" memory version of the chip that will easily support the full-copy bootloader architecture. But, that will increase BOM obviously. Epratt |
|
|
|
yuhe82 发表于 2018-12-17 16:33 埃普拉特-谢谢你的回复。实际上,我最终进入了可更新的堆栈,现在更好地理解了体系结构。 使用可更新的堆栈,“堆栈”包含BLE堆栈加上包含代码的OTA部分的BLE配置文件。启动程序决定是否启动只知道OTA配置文件的堆栈“应用程序”,或者应用其他配置文件的应用程序。我的一个配置文件实际上可以被写入,以便告诉该部分重新启动到OTA配置文件中进行更新。[OTA示例使用一个按钮,但我的硬件没有那个函数的按钮。] 我猜想现在固定堆栈的行为方式是相同的(对于堆栈中的OTA单独的配置文件和我的应用程序配置文件中的内容)。显然,固定堆栈不能自行更新(因为它是固定的)。因此,固定堆栈可能对我也起作用,但现在我使用可更新的堆栈。 现在我的问题(我将作为一个单独的线程)是,我想与我的应用程序共享堆栈构建日期/时间,以便电话可以知道堆栈和应用程序的构建日期时间,因此知道是否需要更新一些东西。我还没有找到如何用我的应用程序在我的堆栈中共享固定内存… 以上来自于百度翻译 以下为原文 Epratt - thank you for the reply. I actually eventually went to the updatable stack and now understand the architecture better. With the updatable stack, the 'stack' contains the BLE stack plus a BLE profile that contains the OTA part of the code. The launcher determines whether to launch the stack 'application' which only knows the OTA profile, or my application that has other profiles. One of my profiles actually can be written to in order to tell the part to boot back into the OTA profile for updating. [OTA examples use a button but my hardware does not have a button for that function.]. My guess would be now that the fixed stack behaves the same way (separate profile for OTA in the stack vs what is in my app profile). Obviously the fixed stack just can't have itself updated (because it's fixed). So the fixed stack would have likely worked for me as well but now I'm using the updatable stack. My problem now (that I'll post as a separate thread) is that I want to share the stack build date/time with my application so that the phone can know the build date time of both stack and application and therefore know if something needs to be updated. I haven't figured out yet how to share fixed memory in my stack with my application.... |
|
|
|
只有小组成员才能发言,加入小组>>
750个成员聚集在这个小组
加入小组2055 浏览 1 评论
1811 浏览 1 评论
3622 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1747 浏览 6 评论
1499 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
485浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
340浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
402浏览 2评论
345浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
837浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 18:04 , Processed in 0.874137 second(s), Total 80, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号