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.

[参考译文] CC3220SF:使用引导加载程序识别 cc/产品的类型

Guru**** 2539500 points
Other Parts Discussed in Thread: CC3235MODSF, CC3200MOD, CC3235MODASF, CC3200, CC3220S, CC3235S, UNIFLASH, CC3220MOD

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/804381/cc3220sf-identify-type-of-cc-product-with-bootloader

器件型号:CC3220SF
主题中讨论的其他器件:CC3235MODSFCC3200MODCC3235MODASFCC3200CC3220SCC3235SUNIFLASHCC3220MOD

您好!

我们目前正在将一些器件从 CC3200MOD 和 CC3220MODASF 迁移到 CC3235MODSF。 我希望我们的编程工具检测它连接到的器件。

是否可以使用引导加载程序检测连接到哪个芯片?

 

我看到引导加载程序版本似乎可以区分它们、但它是否可以更改?


第一行是切换到应用程序之前、第二行是切换到应用程序之后。

CC3200MOD
(bootloader=(0、4、1、2)、NWP =(0、 0、0、0)、mac=(0、0、 0、0)、phy=(0、0、0、 0)、chip_type=(16、0、0、0))
(bootloader=(0、4、0、2)、NWP =(0、 0、0、0)、mac=(0、0、 0、0)、phy=(0、0、0、 0)、chip_type=(16、0、0、0))

CC3235MODSF
(bootloader=(1、0、0、4)、NWP =(0、 0、0、0)、mac=(0、0、 0、0)、phy=(0、0、0、 0)、chip_type=(25、49、0、0))
(bootloader=(5、0、0、4)、NWP =(0、 0、0、0)、mac=(0、0、 0、0)、phy=(0、0、0、 0)、chip_type=(25、49、0、0))

CC3220MODASF
(bootloader=(0、1、0、3)、NWP =(0、 0、0、0)、mac=(0、0、 0、0)、phy=(0、0、0、 0)、chip_type=(25、49、0、0))
(bootloader=(1、1、0、3)、NWP =(0、 0、0、0)、mac=(0、0、 0、0)、phy=(0、0、0、 0)、chip_type=(25、49、0、0))

我们将有两款具有 CC3235MODASF 的产品,有一种方法可以区分使用引导加载程序的产品?

谢谢、

C é dric

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

    您好、Cedric、

    请查看我们的嵌入式编程指南。 具体而言、"目标检测"部分(获取版本信息命令)。 在与引导加载程序通信时、您可以可靠地使用此功能来区分 IC 版本。

    对于这些模块、您可以识别模块使用的 IC 类型。 但是、没有特殊 ID 来区分模块类型。 例如、CC3220MODSF 和 CC3220MODASF 看起来是相同的。

    编辑:忘记链接指南。 您可以访问: http://www.ti.com/lit/swpa230

    此致、

    本·M

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

    感谢您的反馈。

    是否有办法识别芯片的生成? (cc3200 vs cc3220 vs CC3235)。 我在您提供的文档中没有找到它。
    例如、我可以使用引导加载程序版本吗? 我没有找到4个字节含义的任何说明(例如、对于 cc3235:1、0、0、4)

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

    相同的 Get 版本信息命令将适用于 CC3200器件。 对于 CC3200、CC3220和 CC3235、响应中的"芯片类型"应该不同。 否则、您可以依靠 NWP 版本来区分。 NWP 版本应始终以2.x 作为 CC3200的开头、3.x 作为 CC3220器件的开头、4.x 作为 CC3235的开头。

    我希望器件之间的引导加载程序版本不同、但我无法提供字节含义的说明、我不建议将其用于检测器件类型。

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

    您好 Ben、

    问题是、读取这些值时、我看不到不同的芯片类型和 NWP 版本。

    查看我得到的结果:

    第一行是切换到应用程序之前、第二行是切换到应用程序之后。 

    CC3200MOD
    (bootloader=(0、4、1、2)、NWP =(0、 0、0、0)、mac=(0、0、 0、0)、phy=(0、0、0、 0)、chip_type=(16、0、0、0))
    (bootloader=(0、4、0、2)、NWP =(0、 0、0、0)、mac=(0、0、 0、0)、phy=(0、0、0、 0)、chip_type=(16、0、0、0))

    CC3235MODSF
    (bootloader=(1、0、0、4)、NWP =(0、 0、0、0)、mac=(0、0、 0、0)、phy=(0、0、0、 0)、chip_type=(25、49、0、0))
    (bootloader=(5、0、0、4)、NWP =(0、 0、0、0)、mac=(0、0、 0、0)、phy=(0、0、0、 0)、chip_type=(25、49、0、0))

    CC3220MODASF
    (bootloader=(0、1、0、3)、NWP =(0、 0、0、0)、mac=(0、0、 0、0)、phy=(0、0、0、 0)、chip_type=(25、49、0、0))
    (bootloader=(1、1、0、3)、NWP =(0、 0、0、0)、mac=(0、0、 0、0)、phy=(0、0、0、 0)、chip_type=(25、49、0、0))

     是否有除0x2F"Get Version Info"之外的特殊命令?

    很抱歉我迟到的回复(因为假期;))

    此致、

    C é dric

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

    您好、Cedric、

    很抱歉我的结尾出现延误 我一直在办公室外处理其他一些紧急事项。 我希望下周初能回到这一阶段。

    此致、

    本·M

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

    您好、Cedric、


    您能否仔细检查您的连接以及获取版本命令的结果? CC3235S/SF 器件的芯片 ID 应为0x31、0x10、0x00、0x18/0x19。 CC3220S/SF 器件的芯片 ID 应为0x30、0x00、0x00、0x18/0x19。

    我刚刚使用 sl_DeviceGet ()调用和 Version 选项检查了这一点。  

    不确定为什么引导加载程序命令会返回与该 API 调用不同的值。 如果它确实返回了一些不同的内容、那么我想引导加载程序版本(在切换到应用程序之前)足以实现差异化。

    或者、这可能是另一种选择。 两个器件使用相同的主机驱动程序、因此您可以使用一个仅启动器件并调用该函数读回芯片 ID 以检测类型的简化映像。

    最棒的
    本·M

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

    您好 Ben、

    感谢您的反馈!

    我也尝试过 sl_DeviceGet、它们确实不同、但使用引导加载程序读取时不同。

    sl_deviceGet () 引导加载程序
    CC3220MODASF 0x31 0x00 0x00 0x19 0x19 0x31 0x00 0x00
    CC3235MODSF 0x31 0x10 0x00 0x19 0x19 0x31 0x00 0x00

    要使用引导加载程序进行读取、请发送操作码0x2F、并按照嵌入式编程中的说明读取响应数据:

    长度 
    校验和
    引导加载程序= tuple (data[0:4])
    NWP = tuple (DATA[4:8])
    MAC = tuple (data[8:12])
    PHY = Tupple (DATA[12:16])
    chip_type = tuple (data[16:20])

    我可以用电路板上的其他方法来区分这两个芯片,但只需问芯片就更简单了;)

    您能否与引导加载程序团队核实是否存在错误?

    此致、

    C é dric

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

    C é dric、您好!

    我已经复制了您使用 CC3220mod 和 CC3235mod Launchpad 看到的内容、其中两个器件的芯片 ID 均报告为0x19、0x31。 Uniflash 等工具似乎使用引导加载程序版本来区分 CC32xx 系列中的不同器件、 因此、我们的工具使用引导加载程序版本将 CC3220与 CC3235区分开来、这很可能也是您的生产线代码需要使用的内容。

    我仍在调查 CC3220和 CC3235之间芯片 ID 为何相同、一旦我有更多相关信息、我会告诉您。

    此致、

    Michael

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

    您好、Michael、

    我很高兴您能复制它。  

    同时、我将使用引导加载程序版本。 谢谢!

    此致、

    C é dric