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.

[参考译文] CC3230SF:如果我仔细控制 SPI 时序、是否可以将 GPIO11-14 用于 CC3235SF 上的外部 SPI 闪存?

Guru**** 2468610 points
Other Parts Discussed in Thread: CC3235SF, CC3230SF, SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1526853/cc3230sf-can-i-use-gpio11-14-for-external-spi-flash-on-cc3235sf-if-i-control-spi-timing-carefully

器件型号:CC3230SF
Thread 中讨论的其他部件:CC3235SFSysconfig

工具/软件:

您好:

我在定制 PCB 中使用 CC3235SF。
在我的设计中、外部 SPI 闪存连接到:
CLK:GPIO11.
mosi : GPIO12
MISO :GPIO13
CS:GPIO14

我知道 CC3235SF 的内部串行闪存也使用这些 GPIO

但是、在我的应用中:

White check mark 我使用 UART 进行刷写和 OTA 更新、而不是 SPI。
 White check mark 我只想使用 GPIO11-14 与外部 SPI 闪存通信  MQTT 发布后 (在短窗口中)。
 White check mark 我计划通过 GPIO 驱动程序手动对 SPI 进行位移→不使用硬件 SPI。

我的问题是:

Point right 如果我在启动后立即释放 GPIO11-14、是否可以在短时间内(启动后,发布后)暂时安全地控制 GPIO11-14?
 Point right ROM 引导加载程序、NWP 或内部文件系统是否存在随时访问这些引脚的风险、从而导致冲突?
 Point right 是否有任何安全的方法来协调此操作、或者我是否应该重新连接到其他 GPIO?

非常感谢!

 

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

    您好、

    您对引脚编号似乎存在误解。

    NWP 闪存连接到以下引脚:  

    • FLASH_SPI_CLK (QFN 的引脚 11)
    • FLASH_SPI_DOUT (QFN 的引脚 12)
    • FLASH_SPI_DIN (QFN 的引脚 13)
    • FLASH_SPI_CS (QFN 的引脚 14)

    这些引脚直接由 NWP 控制、不支持用户控制。  有一种技术方法可以直接从应用程序代码访问 sFlash、但这没有记录行为、因此 TI 不支持。

    GPIO11-14 映射到 QFN 的引脚 2 至 5。 这意味着这些引脚是不同的。

    1 月

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

    您好、Jan、

    感谢有关 NWP 控制的 SPI 线路的澄清。

    只需确认:sl_FsOpen()sl_FsWrite()sl_FsRead()在 CC3230SF 上使用、和 API 时、此文件系统 API 是否默认将数据存储在连接到 NWP 的外部 sFlash 中(即通过引脚 11–14 在 SPI 闪存上)?

    如果是、我们是否正确 无需手动控制或配置这些 SPI 引脚 从应用层提取所有文件 I/O、而是由 NWP 抽象化?

    此外、在确保始终如一地从该外部闪存存储和检索 JSON 传感器数据时、我是否需要了解任何特定的配置或限制?

    再次感谢您的指导。

    此致、
    zunnur

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

    您好、

    是的、使用 SL_文件系统 API、您可以将用户数据写入 sFlash 存储器。 要将内容写入 sFlast、您需要启用 NWP(通过 sl_Start () API)。 无需使用 SPI 为存储器进行其他配置。

    但请注意、sl_ filesystem API 不是为数据记录目的而设计的。 通常写入 sFlash 会很快导致闪存崩溃(内存的写入周期有限)。  尽管它们有一些技巧允许更频繁地写入 sFlash(模拟磨损水平,例如使用大闪存芯片,在开始时创建许多小文件并在它们之间手动循环) 、但建议使用另一个存储进行数据记录。 有关更多详细信息、请参阅串行闪存指南

    1 月

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

    您好、Jan、

    再次感谢您的澄清。

    只是为了跟进—是否有任何方法来存储数据 外部存储器 (不是 NWP 控制的内部 sFlash)?
    如果是、请您指导我:

    1. 什么函数或 API 可用于访问外部存储器(例如外部 SPI 闪存或 SD 卡)、以及

    2. 有任何问题吗 正式文件或示例项目 与该用例相关?

    我的目标是更频繁地记录传感器 JSON 数据、我希望避免磨损内部串行闪存。

    一如既往地感谢您的支持。

    此致、
    Zunnur

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

    尊敬的 Zunnur:

    如果您连接自己的存储器(例如 NOR 闪存、EEPROM、FRAM、SD 卡)、该存储器的管理将由您决定。 在 SDK 示例中、您可以找到 FatFs 的一些用法。 但是、如果这适合您的用例、则取决于您的决定。 也可以使用 LittleFS、LevelX 等其他库 如果您想经常写入许多数据、则需要具有 磨损均衡支持的库或自行管理。  你是程序员,这取决于你。

    1 月

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

    您好、Jan、

    再次感谢对内部 sFlash 限制的解释。

    检查一下、我目前使用的是 SimpleLink SDK 7.10.00.13、我尝试搜索示例工程、展示了如何将 JSON 字符串数据存储到外部 SPI 闪存中、但我没有找到任何具体信息。


    SDK(或其他位置)中是否有任何有效示例演示了如何 使用 SPI 写入/读取外部闪存(非内部 sFlash)  

    如果您能为我指出正确的方向或文档、我们将不胜感激。

    此致、
    Zunnur

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

    尊敬的 Zunnur:

    请参阅 SDK 非 RTOS SDK 示例: \examples\nortos\CC3235SF_LAUNCHXL\drivers\fatsd\和\examples\nortos\CC3235SF_LAUNCHXL\drivers\fatsdraw\  

    附注:我认为您的任务不是“盲目“实施一些示例。  您需要了解 NOR 闪光是如何工作的,如何工作磨损均衡,并考虑到这是如何植入图书馆。  没有这些知识,你可以创建不可靠的产品。

    1 月

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

    您好、Jan、

    感谢前面的澄清。 实际上、我之所以要求举例说明、是因为在当前工程原理图中、SPI 接口路由到特定的引脚:

    • SPI_CLK→引脚 11

    • SPI_DOUT→引脚 12

    • SPI_DIN→引脚 13

    • SPI_CS→引脚 14




        

    来自 MCU 的连接:



    从 NORFlash 连接:

    但是、我在中检查了这些引脚 其中概述了 SysConfig 、它们显示为 固定(不适用) 并且无法被选中或配置、这会阻止我将它们分配给我的CONFIG_SPI_0实例。

    因此、我希望找到一个示例、说明如何在内部初始化/使用这些引脚(可能无需 SysConfig)、或者在引脚像这样固定时是否有特定的权变措施。 我正在使用 MX25R3235FM1IL0 NOR 闪存 、我只是想确保可以正确映射和使用 SPI 总线。

    按照您的建议、我研究了 SDK 路径:

    examples/nortos/CC3235SF_LAUNCHXL/drivers/fatsdraw/

    并找到以下文件(附件中的屏幕截图)。 在这些示例中、我不完全确定它们如何处理闪存通信、或者固定引脚问题是否在 SysConfig 外部管理。

    如果我的电路板有固定的闪存引脚并且我想直接使用它们、希望您能指导如何继续操作。

    此致、
    Zunnur

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

    尊敬的 Zunnur:

    我很抱歉,但我不明白你的评论。

    我之前说过、连接到引脚  FLASH_SPI_(引脚 11 - 14)的 sFlash 专用于 NWP(WiFi 压缩机)的存储。 此存储由 NWP 控制、而不是由您的代码控制。 您无法直接从代码访问此存储。 您只能使用 SL_文件系统 API 来利用此存储。  由于此存储不由您的代码直接控制、因此不允许在 SysConfig 中设置与此 flash_SPI_ 引脚相关的任何内容。

    1 月