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.

[参考译文] LAUNCHXL-CC1352P:使用 CC1352P 在传感器接口上具有的超低泄漏4KB SRAM

Guru**** 2389240 points
Other Parts Discussed in Thread: CC1352P
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1293876/launchxl-cc1352p-using-the-ultra-low-leakage-4kb-sram-that-the-cc1352p-has-on-the-sensor-interface

器件型号:LAUNCHXL-CC1352P
主题中讨论的其他器件:CC1352P

正如标题所说、我想使用或访问我的项目上的4KB SRAM。

在 CC1352P 数据表中、其内容为:

"传感器控制器引擎提供了一个4KB 超低泄漏 SRAM、该 SRAM 通常
用于存储传感器控制器程序、数据和配置参数。 此外、若要访问 RAM 的其他方式、
系统 CPU。 系统复位后、传感器控制器 RAM 不会被清零->内存9.4。

那么、在软件复位时 SRAM 似乎不会擦除、我是正确的吗?  

我需要使用能够将数据保留在软复位状态的 RAM、我不想使用 NVS 闪存、因为它是会经常更改的数据。

但我在 dev.ti.com 中没有找到有关如何使用该4KB SRAM 的任何信息、如何使用它?

我在 CCS 上使用5.20 SDK。

谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此邮箱 :dev.ti.com/.../aux-as-ram.html

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我想 在 RAM 的那个部分中将一个 time_t 全局变量声明为每秒读取和写入一次。 为此、我需要执行这些步骤?:

    -在" 命令文件预处理"中添加链接器符号"AUX_AS_RAM=1"。

    -将链接中列出的所有代码添加到 cc26xx_app.cmd、#define s、MEMORY {}中的代码和 SECTIONS{}中的代码。

    -现在我在我的代码中添加这个?:

    //我的全局变量 time_t 存储在4KB SRAM 传感器接口部分
    #pragma DATA_SECTION ("357"my_SECTION" Timet_Special) 
    time_t Timet_Special 457;

     

    但它还提示我需要将此代码添加到 cc26xx_app.cmd 中:

    #ifdef AUX_AS_RAM
    reforms_into_auxram
    {
    simple_peripheral.obj (MY_SECTION)
    }> AUX_RAM
    #endif /* AUX_AS_RAM */ 


    但我已经在前面添加了"AUX_AS_RAM"部分、那么它会是这样的吗?:
    #ifdef AUX_AS_RAM
    reforms_into_auxram
    {
    simple_peripheral.obj (.data)
    devinfoservice.obj (.data)
    simple_gt_profile.obj (.data)
    iCall.obj (.data)
    board.obj (.bss) 
    simple_peripheral.obj (my_section)//添加了此
    }> AUX_RAM #endif/* AUX_AS_RAM */ 


    Im 不是 C 语言代码专家、因此我需要更多有关该问题的指导。

    提前感谢您的答复。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Alejandro:

    如果您有兴趣了解有关.cmd 文件的更多信息、可在此处找到更多信息: https://software-dl.ti.com/ccs/esd/documents/sdto_cgt_Linker-Command-File-Primer.html

    您的代码片段看上去一切正常。 您是否遇到任何链接器错误?

    谢谢、

    M·H

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的答复、我只回答了最后几个问题:

     -当我自动将连接器和 AUX RAM 的代码片段添加到我的项目中时,我的处理器会更慢,或者有其他问题,或者当我在 AUX RAM 中使用我声明的全局变量时?

    -我新的"特殊"全局变量会更慢地写入或读取,因为 AUX RAM 比正常的 SRAM 慢吗? 当我将新数据写入该全局变量时、它会被编码为"分块"还是"解块"? 如果是解锁、我是否要添加某种"等到准备就绪"循环或类似的循环、以避开未来的问题?  

    谢谢、大家好。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Alejandro:

    1.您的处理器不会因为 AUX RAM 中有数据而减慢速度。  

    2.是的,正如您所说,读取和写入 AUX RAM 比使用 SRAM 慢。 您可以测量这个、我认为差异不会很大。  

    我不明白阻塞或解除阻塞意味着什么、但如果您仅将 AUX RAM 用作 RAM、则无需特定代码来读写此数据。

    谢谢、

    M·H

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我所说的"阻塞或解除阻塞"、与 TI RTOS 中的 API 代码方式类似、就像某些 API 函数停止或"阻断"代码执行过程、直到 API 完成其预期功能时。 或其他"非阻止"的 API、并在该 API  稍后完成其功能时继续移动代码。

     

    我想这就是我需要知道的,谢谢你的回应。