Thread 中讨论的其他器件: CC2650
工具/软件:TI-RTOS
大家好、
我有用于 开发项目的 CC2650MODA 模块和带 CC2650F128RGZ IC 的 CC2650 LaunchPad。
我需要使用内部闪存来存储校准和广播数据。 我对本手册(通过此链接 www.ti.com/.../swru393 )进行了补充,并阅读了 uint8 osal_SNV_read (osalSnvId_t id、osalSnvlen_t len、void *pBuf)和 uint8 osal_SNV_write (osalSnvId_t id、osalSnvlen_t len、void * 3.10.3 pBuf)这两个函数,在* void 3.10.3段中提到。 但是、根据手册、我无法理解如何使用它们:
1.第一个参数 osalSnvId_t id 是什么? 它必须具有哪些数据? 该数据是闪存中的地址吗? 如果是、为什么将其指定为8位值? -页面上既不能全局也不能局部的值。 如果该参数不是存储器中的地址、它还能是什么?
2.在此例中,此参数(osalSnvId_t id)作为值0x80给出,为什么此值不能为示例0x00?
3.这些不正确地写入数据。 如果我存储数据、它将不正确地重新读取。 更重要 的是、当我尝试通过闪存编程器对这些数据进行 Loock 时、它是碎片化的、这意味着数据的一部分存储在所用碎片的开头、而部分存储在中间。
4.当我尝试在程序运行期间(校准后)保存数据时、函数"osal_SNV_write"会显示错误0x02:INVALIDPARAMETER、而不是0x0A:nV_OPER_FAILED、如手册中所述。
该误差 INVALIDPRAMETER 是什么意思? osalSnvId_t id 的给出方式为0x80、如示例所示。
感谢您的关注
此致
Boris Fridman