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.

[参考译文] CC3200:cc3220和 python 固件加载程序脚本

Guru**** 2577385 points
Other Parts Discussed in Thread: CC3220SF, UNIFLASH

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/747451/cc3200-cc3220-and-python-firmware-loader-script

器件型号:CC3200
主题中讨论的其他器件:CC3220SFUNIFLASH

大家好!

我在定制 PCB 上有10个 cc3220sf、并使用6个引脚(TX/Rx/sop1/rst/VCC/GND)将固件加载到它们。

我已将 python 2.7安装到我的 Windows 7x64上、我有 ftdi2232。

如何使用 python 脚本+ FTDI 芯片在产品中加载 fimware? 分步执行。

bootldr.py
ImageProgramming.py
setup.py

如何在 UnFlash 中准备*。bin 固件文件?

UPD:
我已启动 imageprogramming.exe 并且没有 lfirmware 加载

Microsoft Windows [版本6.1.7601]
(c)Корпорация Майкрософт(Microsoft Corp.)、2009。 все права защищены μ A。

C:\cc3220\execive>ImageProgramming.exe -p 5 -i wifi.bin
图像编程 v2.0.0----

此实用程序将二进制映像编程到连接到 CC3120/CC322
0器件的串行闪存
仅支持生产器件(即没有预量产器件)
需要使用 Uniflash 实用程序提前准备二进制映像

步骤#1-->连接到目标器件
-- -请重新启动设备---
连接成功
获取存储列表
接收存储列表

步骤#2 -->读取版本信息
阅读版本信息已完成

这是 CC3220SF 设备
步骤3 (仅限 CC3220)-->将 UART 切换到 NWP 内核
步骤#4/8 --> >获取 SRAM/SFLASH 存储信息
步骤#5/9-->从块#0开始对 SRAM/SFLASH 的3个块进行擦除
过程需要几秒钟
将完成

的步骤#6/10-->将映像[0:1051]编程到 SRAM/SFLASH
映像编程完成

的步骤#7--> >从 SRAM 执行引导加载程序补丁
输入获取存储信息
步骤#4/8 -->获取 SRAM/SFLASH 存储信息
步骤#5/9-->从块#33开始对来自 SRAM/SFLASH 的2个块进行擦除
过程需要几秒钟
擦除完成

步骤#6/10 -- >程序映像[135176:141157]至 SRAM/SFLASH
映像编程完成

步骤#11 -->映像编程
接收到错误:错误编号=-10275,扩展错误=3904
编程进度=7%
总编程持续时间=0秒
步骤#12-->重置目标器件

C:\cc3220\exec制品> 

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

    如果您尝试创建生产线编程工具、并打算以生产模式刷写器件、则需要创建 Uniflash 需要刷写器件的 SLI 文件。

    为此、您需要创建一个 Uniflash 项目(确保在项目选项中选择了"生产")、并按照您想要对器件进行编程的方式配置该项目。 然后、您将转到"刻录"、然后单击"创建图像"。

    这个新的.sli 文件是您可以使用 Uniflash CMD 行工具刷写器件的文件。

    此致、
    VR
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是可以的、但我有一项任务、就是将 progammator 器件(使用 FTDI 芯片)和 python 脚本作为该器件的编程器工具。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    若要使用 ImageProgramming.exe 实用程序进行编程、您需要使用由 Uniflash 生成的*。ucf 文件。 不能使用 Uniflash 或 CCS 生成的*。bin 文件。 如果器件处于开发模式、则需要在创建*。ucf 文件期间由 Uniflash 设置正确的 MAC 地址。

    从 readme.txt 中:

    映像编程实用程序是一款基于 Microsoft Windows 的软件工具、用于在 CC3120/CC3220 Simplelink 器件上刷写完整映像。
    映像本身是使用 Uniflash 实用程序创建的。 
    需要选择*。ucf 格式。

    1月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是否意味着所有器件的 MAC 地址都相同? 或者我被误解了吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    否 在开发模式下、映像文件对于每个器件都是唯一的。 映像需要包含特定器件的 MAC 地址。

    嵌入式编程的工作流程只有在生产模式下的器件才有意义。 在生产模式下、映像未与特定 MAC 地址绑定。

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

    我通过 UniFlash 在生产模式下创建了*。ucf 文件、并通过 ImageProgramming.exe 加载固件-正常工作。

    但我需要 Python。 我想开始它、但它没有。 启动 ImageProgramming.py 所需的最小值是多少?

    Microsoft Windows [版本6.1.7601]
    (c)Корпорация Майкрософт(Microsoft Corp.)、2009。 все права защищены μ A。
    
    C:\cC3220\Sources>ImageProgramming.py
    回溯(最近一次调用最后一次):
    文件"C:\cc3220\Sources\ImageProgramming.py"、行36、位于中 
    导入 bootldr
    文件"C:\cc3220\sources\bootldr.py"、第102行
    打印说明
    ^
    SyntaxError:调用'print'时缺少括号。 您是指打印
    (打印)吗?
    
    C:\cc3220\sources> 

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

    您需要将 Python 2.7.x 与 pySerial 配合使用。 对于从.py 到 exe 的"编译"、使用了 py2exe 文件。

    1月
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Microsoft Windows [版本6.1.7601]
    (c)Корпорация Майкрософт(Microsoft Corp.)、2009。 все права защищены μ A。
    
    C:\cC3220\Sources>ImageProgramming.py
    回溯(最近一次调用最后一次):
    文件"C:\cc3220\Sources\ImageProgramming.py"、行36、位于中 
    导入 bootldr
    文件"C:\cc3220\sources\bootldr.py"、第102行
    打印说明
    ^
    SyntaxError:调用'print'时缺少括号。 您是指打印
    (打印)吗?
    
    C:\cc3220\sources> 

    已安装 pyserial

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

    您不能使用 Python 3。

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

    *。exe 可以正常工作、但*。py 不能

     有什么不同?

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

    您应该打印例外的详细信息( docs.python.org/.../errors.html )。

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

    没有例外。 无法连接到免费 COM 端口。

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

    您好!

    否 请参阅 bootldr.py 代码。 在 connect_with _reset ()中出现消息"-"连接过程中出错"是一个例外。

    例外情况除外:
    self._trace_msg (trace_level_error、"--- error during connecting process")
    self.comm.setBreak(False)
    self._printTraceback ()
    sys.exit (exit_code_exception_connect)
    

    1月

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不知道。 它在三台 PC (2个 win7x64和 win7x86)上看不到 COM 端口
    源是否损坏?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我不认为源代码已损坏。 打印异常的详细信息可以为您提供线索。

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

    无异常消息。

    我已安装 PyCharm 并逐步启动此脚本。

    在一个时刻、它只会停止:

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

    您好!

    您对 Python 语言或任何其他 OOP 语言是否有任何经验? 您的问题与 Python 本身的基本原理有关。 为了能够对 Python 代码进行更改、您需要浏览 Python 教程(例如 www.python.org/.../gettingstarted)。 我不确定您的期望是什么。 如果您希望从 Windows 计算机进行嵌入式编程、则可以无限制地使用 ImageProgramming.exe。 如果您希望更改 Python 脚本以添加一些请求的功能、您需要了解 Python、包括如何调试的方法。

    下图是 pySerial 库的源代码。 请在 docs.python.org/.../errors.html 上阅读有关关键字"提交"的更多信息

    1月

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

    我有一点

    我发现了一些错误:

    是的

    self.com_port = com_port
    self.comm = serial.Serial (port=(self.com_port-1)、baudrate=self.baudate、timeout=15、parati=serial.parati_none、stopbits=serial.stopbits_one) 

    现在

    self.com_port =('COM%s'% com_port)
    self.comm = serial.Serial (port=(self.com_port)、baudrate=self.baudrate、timeout=15、parquiity=serial.parquiation_none、stopbits=serial.stopbits_one) 

    现在、我有了

    Microsoft Windows [版本6.1.7601]
    (c)Корпорация Майкрософт(Microsoft Corp.)、2009。 все права защищены μ A。
    
    C:\cc3220\sources >ImageProgramming.py -P5 -i wif3221_product_Programming.ucf
    -v
    Image Programming v2.0.0----
    
    此实用程序将二进制映像编程到连接到 CC3120/CC322
    0器件的串行闪存
    仅支持生产器件(即没有预量产器件)
    需要使用 Uniflash 实用程序提前准备二进制映像
    
    步骤1 -- >连接到
    目标设备端口已打开
    等待并清除 UART Rx 缓冲
    区设置中断信号
    ---连接过程中出错
    ---连接到设备时出错
    
    C:\cc3220\sources> 

    等待计时器不起作用

    我认为*。py 和*。exe 源是不同的

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

    您好!

    来自嵌入式编程包的源代码正常工作。 我现在测试了它。 无需修改。

    我的测试设置:

    • Python 2.7.15.
    • PYSerial-2.7.
    • pywin32-224.win32-py2.7

    和结果:

    C:\ti\cc3220_embadded_programming\sources>"C:\Program Files\Python27\python " ImageProgramming.py -p 5 -i test_Programming.UCF -e
    Image Programming v2.0.0
    -----
    此实用程序将二进制映像编程到连接到 CC3120/CC3220器件
    的串行闪存仅支持生产器件(即没有预量产器件)
    需要使用 Uniflash 实用程序提前准备二进制映像
    
    步骤#1-->连接到目标器件
    --请重新启动器件--
    连接成功
    获取存储列表
    接收存储列表
    
    步骤#2 -->读取版本信息
    阅读版本信息已完成
    
    这是一个 CC3220SF 器件
    步骤3 (仅限 CC3220)-->将 UART 切换到 NWP 内核
    步骤#4/8 -->获取 SRAM/SFLASH 存储信息
    步骤#5/9 --> >擦除来自 SRAM/SFLASH 的3个块从块#0开始
    擦除块的过程需要几秒钟
    擦除完成
    
    步骤#6/10 -->将映像[0:1051]编程到 SRAM/SFLASH
    映像编程完成
    
    步骤#7-->从 SRAM 执行引导加载程序补丁
    ENTER 获取存储信息
    步骤#4/8 -- >获取 SRAM/SFLASH 存储信息
    步骤#5/9-->从块#33开始对 SRAM/SFLASH 中的2个块进行擦除
    过程需要几秒钟
    完成
    
    步骤#6/10-->将映像[135176:141157]编程到 SRAM/SFLASH
    映像编程完成
    
    步骤#11 --> >映像编程
    进度= 2%
    编程进度= 5%
    编程进度= 8%
    编程进度= 11%
    编程进度= 14%
    编程进度= 17%
    编程进度= 20%
    编程进度= 23%
    编程进度= 26%
    编程进度 = 29%
    编程进度= 32%
    编程进度= 35%
    编程进度= 38%
    编程进度= 41%
    编程进度= 44%
    编程进度= 47%
    编程进度= 50%
    编程进度= 53%
    编程进度= 56%
    编程进度 = 59%
    编程进度= 61%
    编程进度= 64%
    编程进度= 67%
    编程进度= 70%
    编程进度= 73%
    编程进度= 76%
    编程进度= 79%
    编程进度= 82%
    编程进度= 85%
    编程进度 = 88%
    编程进度= 91%
    编程进度= 94%
    编程进度= 97%
    编程完成。 开始图像提取。 请稍候...
    还不错!!!!
    总编程持续时间= 33秒
    步骤#12-->重置目标设备
    
    c:\ti\cc3220_embadded_programming\sources >暂停
    按任意键继续。 。 。 

    1月

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

    Python 2.7.15.
    PYSerial-2.7.
    pywin32-224.win32-py2.7



    您是否可以"按原样"为我提供所有*。py 文件、以便通过 WinMerge 检查差异?

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

    您好!

    您似乎已安装最新版本的 pySerial (版本3.4)。 我使用2013年的旧版本2.7进行了测试。 我希望这并不重要、但我没有对此进行过调查。

    我拥有的\Sources 目录的内容(不带测试映像 test_Programming.ucf):

    e2e.ti.com/.../sources.zip

    1月

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

    >> 我预计这并不重要、但我没有对此进行调查。

    我已经安装了 pyserial 2.7、我的脚本可以正常工作。

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

    您好!

    很抱歉、我不明白您要说什么。

    在 CC3x20embeddedimageprogrammingexamp_manifest.html 内嵌入式编程包(2.7.3、0.0.9)内描述了脚本的使用版本。

    1月

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

    您好!

    我没有编写此代码、甚至不是 TI 员工。 回答关于这个论坛的问题只是我的良好意愿,我没有从这个论坛中得到任何好处。 但如果你对我的回答不满意、我没有问题、将来也不会回答你的问题。

    1月

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