Thread:CC2745R10-Q1、 SysConfig 中讨论的其他器件
工具/软件:
我在 TI 开发板上为 CC2745R10-Q1 创建了引导加载程序代码、结果正常运行。 但是、当我在定制开发板上刷写相同的代码时、它输入到HAL_ASSERT_SPINLOCK。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:
我在 TI 开发板上为 CC2745R10-Q1 创建了引导加载程序代码、结果正常运行。 但是、当我在定制开发板上刷写相同的代码时、它输入到HAL_ASSERT_SPINLOCK。
我们首次在上开展工作 TI CC2745R10-Q1 控制器 需要一些有关闪存和 FreeRTOS 集成的指导。 具体而言、我们需要了解 将数据写入代码闪存的正确方法 固件中的特定地址读取固件。 ??我们应该使用这样的 TI 驱动程序 NVS 或者是否有推荐的低级 API/示例可用于受控 擦除、读取和写入操作 代码闪存? 这对于实现我们的自定义引导加载程序和存储应用程序相关数据非常重要。
此外、在求积分时 FreeRTOS 配合使用 、我们需要澄清 任务栈管理 。 配置的最佳做法有哪些 每个 FreeRTOS 任务的堆栈大小 以及我们如何检测和处理 运行时发生堆栈溢出 ? 中是否有任何特定设置 CCS 或 SysConfig 必须启用它才能进行适当的堆栈监控? 我们希望确保任务执行可靠、并在开发早期发现栈溢出问题。
最后、我们想知道控制器是否支持使用 两个闪存存储体 —例如、运行中的代码 组 0 同时对其执行更新 组 1 。 如果是、建议的最佳做法是什么? 此外、我们还在探索如何配置和使用 数据闪存 用于存储引导标志、诊断信息和回滚状态的 CCS 和 SysConfig。 任何参考、示例或指南都将对我们的未来非常有帮助。
您好、Enagandula、
在代码闪存中运行
是的、建议您使用 NVS 来修改代码闪存中存储的任何数据或操作。 本页提供了有关用于访问和修改代码和存储数据的闪存结构和驱动程序的更多详细信息: 闪存—SimpleLink 低功耗 F3 SDK BLE5-Stack 用户指南 3.04.00 文档。
对于较大的数据、建议应用程序使用 NVS 区域、因为它较大、NVOCMP 自动处理内存管理和清除非活动数据和页面。 OSAL SNV API 对于闪存交互很有用、必须启用 iCall。 如果您选择 SysConfig 文件、则 OSAL_SNV 将已经预定义。 然后、用户可以在闪存存储器中自定义其所需的特定地址来存储其数据。
任务栈管理
有两个函数可帮助配置/监控每个 FreeRTOS 任务的堆栈大小。 使用创建的任务 xTaskCreate() 将自动从 FreeRTOS 堆中分配所需数量的 RAM。 此外、使用还可以使用 xTaskCreatStatic () 用于指定 RAM 分配的函数、但这会在运行时静态分配。
其他支持链接: 任务—SimpleLink 低功耗 F3 SDK BLE5-Stack 用户指南 3.03.04.00 文档和静态与动态内存分配 — FreeRTOS
同步闪存组
是的、控制器支持同时使用两个闪存存储体。 目前、我们没有任何具体实施此功能的示例。
谢谢、
Eshaan