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.

[参考译文] CC3235MODASF:从 LaunchPad 迁移到嵌入式处理器失败

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1102958/cc3235modasf-migrating-from-launchpad-to-embedded-processor-failing

器件型号:CC3235MODASF
主题中讨论的其他器件:CC3235MODSFSEGGERUNIFLASHSysConfigCC3235SFLAUNCHXL-CC3235SFLAUNCHCC3235MOD

我试图对一名前员工设置但从未记录过的程序进行逆向工程。  在此过程中、我只能得到一个.hex 文件、该文件似乎使用稍稍修改的 AT Command 应用程序版本对 CC3235进行编程。  借助此.hex 文件、我们的主处理器能够访问 CC3235、读取横幅并发出 at+命令。  

我们的产品中嵌入了一个 CC3235MODSF。  可通过 Segger J-Link JTAG 盒通过 SPI 连接器对 CC3235进行编程访问。

我已经知道可以编译 AT 命令应用程序并将其安装在 LaunchPad CC3235MODSF 卡上、看起来工作正常。  然后、我使用 UNIFLASH 将该代码转储到.hex 文件中、然后使用 J-link 卡在我们的硬件上对 CC3235进行编程。  所有程序和验证、但当主卡中的软件启动 CC3235时、它绝不会转出横幅。

我知道硬件的工作原理是、当使用 J-link SPI 编程器对旧的十六进制文件进行编程时、旧的.hex 文件工作正常。  我必须假设从 LaunchPad 转到我未找到的.hex 文件时缺少一些步骤。  或者、与 Launchpad 相比、我需要在 CC3235上更改默认值以访问我们的硬件。

下面是一些问题。

是否有需要在 UNIFLASH 中设置的 CC3235 UART 的波特率设置?

我注意到 Code Composer 上有一些用于 common.syscfg 的 UART 设置。  它似乎表示 TXPin 为55、RXPin 为57。 这些引脚在数据表中看起来是接地引脚。 我在这里缺少什么吗?  我的原理图表明我们正在将处理器连接到 CC3235Mod 引脚46 (TX)和47 (RX)。  

欢迎提出任何想法或建议。

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

    您好、Wayne、

    器件的 UART 配置如下所示:  

    当您刷写器件时、它必须处于引导加载程序模式。 在引导加载程序模式的 ROM 中、UART 配置默认为这些设置、无法更改。  

    关于 SysConfig 的问题、SysConfig 工具将默认为单个引脚多路复用(将引脚55和57指定为 UART TX/RX)。 该器件支持引脚复用引脚46和47到 UART TX 和 RX、但在刷写之前必须在 SysConfig 中或配置文件中指定这些引脚。  

    最棒的

    Ryan

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

    我能够成功刷写器件并读回 EEPROM、因此这不是问题。  我想知道的是应用程序启动的时间、设置 UART 波特率的时间。  SysConfig 中有 UART 的配置设置、但这些设置似乎不包括波特率。  在哪里可以设置 CC3235 UART 波特率。 我们当前的 CC3235应用程序似乎在以115200与我们的主机 CPU (NXP Arm M4器件)通信。  新 CC3235应用中的哪些内容需要更改才能以该速度进行通信?

    是否有关于从 LaunchPad 转换到嵌入式 CC3235的文档的指针?  此外、我没有找到有关3235 SysConfig 的任何详细信息。  是否有任何建议阅读?

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

    您好、Wayne、

    我建议查看 NWP 编程人员指南中的2.4.2.1、此 E2E 主题中链接: https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/704632/cc3220sf-launchxl-swru455e-network-processor-programr-s-guide-404-not-found

    这提供了一个示例、说明如何在器件上动态更改 UART 的波特率。 SysConfig 上没有适用于特定器件(如3235)的大量现有文档、但我们正在努力解决该问题。  

    最棒的

    Ryan

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

    好的、UART_TERM.c 默认为115200波特、这正是我们所期望的。  从 LaunchPad (工作正常)到定制板时、我们还需要做哪些其他更改。  我重申、硬件已经证明可以正常工作、而不是新的软件应用程序。

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

    您好、Wayne、

    感谢您的澄清——我想发生的是您在原理图中指定的引脚与项目 SysConfig 文件中指定的引脚不一致——这意味着该项目尚未更新为使用引脚46/47而不是55/57。

    使用 at_commands 示例项目、我正在尝试进行修改、 以便允许 UART 连接到用于 TX/RX 的引脚46/47。 如果您能够成功指定这些引脚、请告诉我。

    否则、我将很快使用我的状态更新该线程。

    最棒的

    Ryan

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

    我相信、我现在拥有适合正确 UART 的引脚、但仍然没有乐趣。  


    但这与 ti_drivers_config.c 中的内容不匹配  但这可能是因为我使用的是3235modSF。  这是我从 launchpad 转到嵌入式产品时所做的更改之一。  

    查看原理图、可以看到他们也使用了引脚46和47。 我探测这些引脚并查看3V3、接下来的步骤之一是焊接在接头中、以将这些信号暴露在 FTDI 上、并查看是否确实有任何字符飞出我的 DVM 和示波器可能错过了这些字符。

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

    您好、Wayne、  

    我在我这边也看到了同样的行为-即使在 SysConfig 工具 GUI 中更改 TX 和 RX 引脚、它们也不会在 ti_drivers_config.c 中更新  

    如果您能够、请告诉我您可以通过物理探测器件上的这些引脚找到什么。 同时、我将与内部其他团队成员联系、了解 SysConfig 中的问题。  

    最棒的

    Ryan

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

    引脚46未显示任何内容。  显示3V3很困难。  甚至不像波特率问题那样出现垃圾。

    我尝试配置 UART1、以查看引脚48和49上是否有任何变化。  但十六进制文件大小相同。  我假设 ti_drivers_config.c 中的附加结构会增大大小。  我还希望 UART1引脚从 HiZ 变为3V3。  

    我想知道我的配置是否实际上是将它写入我正在闪存上编程的.hex 文件中。  您将什么用作从 CCS 编译到闪存的过程?   

    BTW、感谢您的所有帮助。

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

    您的快速问题 Wayne -您是否在 SysConfig GUI 中使用了'UART'或'UART2'实例:

    如果不是、我建议使用 UART2实例。 它们使用相同的外设和引脚、但 UART2具有 API 文档中介绍的更新驱动程序。

    最棒的

    Ryan

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

    好主意、我会尝试一下。  谢谢。

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

    尝试过、但遇到异常的未定义错误:

    Makefile:177:目标'AT_commands_CC3235SF_LAUNCHXL_tirtos_ccs.out'的配方失败
     符号                                                                                        
     ------   --------                                                                           
     UART_CONFIG C:/ti/simplelink_cc32xx_sdk_4_10_00_07/source/ti/drivers/lib/drivers_cc32xx.aem4
     UART_COUNT C:/ti/simplelink_cc32xx_sdk_4_10_00_07/source/ti/drivers/lib/drivers_cc32xx.aem4
     
    错误#10234-D:未解析的符号仍然存在
    错误#10010:链接期间遇到错误;未构建"AT_commands_CC3235SF_LAUNCHXL_tirtos_ccs.out"
    gmaked[1]:***[AT_commands_CC3235SF_LAUNCHXL_tirtos_ccs.out]错误1.
    gmake:***[全部]错误2.

    4_10_00_07是否可能不支持 UART2?  我还必须将 UART 的名称从 CONFIG_UART2_0更改为 CONFIG_UART_0。

    我坚持使用4_10_00_07、因为这是原始封装所写的内容。

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

    您好、Wayne、

    较旧版本可能不支持 UART2。 您是否尝试更新 SDK 版本? 最新版本(6.10.00.05)对 UART2驱动程序进行了小错误修复和更新 、可从此处获取

    最棒的

    Ryan

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

    经过一个周末、我决定我需要证明我下载到 CC3235的应用确实可以正常工作。  

    支持:我正在 WiFi 芯片上编程的应用程序实际上是在运行的。 测试:向 Wifi 芯片应用程序添加代码以提高 GPIO09。 该信号当前未使用、并暴露在我们的卡上。 当我在 LaunchPad 上加载此 mutant wifi 应用时、我确实看到引脚上升。 当我在我们的硬件上运行它时、我不会这样做。 这证明了我对该应用程序未运行的假设。 对吧?

    那么、回到我对该线程的初始问题、我需要采取哪些步骤来准备一个基于 LaunchPad 的应用程序、以便通过 SPI 在定制硬件上运行?  目前、我获取 at_commands_CC3235SF_LAUNCHXL_tirtos_ccs.bin 并使用 Development Mode - Generate Image 页面、Create Image 按钮、然后使用 Save Hex 按钮通过 Image Creator 运行它。  然后、我通过闪存 SPI 接口对 CC3235进行编程。

    我真正不理解的部分是 UniFlash 程序没有用于直接创建 SPI 十六进制文件的选项。  它要求我选择 CC3235SF 串行配置。  是否有其他方法可以创建我缺少的 SPI 十六进制文件?

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

    您好、Wayne、

    对您之前尝试过的调试步骤有很好的想法-感谢您检查此步骤。  

    您可以通过以下方式创建镜像十六进制文件:Uniflash ->镜像创建器->刻录->保存十六进制!  

    但是、我不确定在此过程中需要在何处进行串行配置。  

    只需确保-您使用的是 Image Creator、而不是 Uniflash 直接对器件进行编程、对吧? 这可能会导致问题。

    最棒的

    Ryan

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

    当我启动 Uniflash 时、它尝试检测到我的 LaunchPad (通过 USB)。  如果我想对嵌入式 CC3235进行编程、可能不是我想要的、因此我将其留给人工处理。  然后、我可以"选择器件"或"从现有目标配置文件创建会话"。  

    在这种情况下、在"选择您的器件"下、我可以选择 LAUNCHXL-CC3235SF 或 CC3235SF (引导加载程序)。  我猜第二个选项是正确的选择、因为在这里、我不想使用 LAUNCHXL-CC3235SF:

    但我只获得用于开始或编辑的按钮。  这些将导致选择和加载图像页面:

    似乎需要.sli 文件、但我不知道它来自哪里。  它还希望在 COM1上进行通信、但由于我的嵌入式 CC3235将由 SPI 进行编程、而不是 UART 进行编程、这也是错误的。

    因此、我返回到"New Configuration"页面并加载 LAUNCHXL-CC3235SF。  现在、这会询问我是否要启动 Image Creator、但再次暗示我将访问串行 UART 接口。  


    我设置 MCU img、Service Pack 和 Radio 设置:

    已从 CCS 编译的输出中选择 mcuflashing.bin:

    然后单击"刻录"、"创建图像"和"保存十六进制文件":

    然后我将该十六进制文件刻录到 Wifi 闪存。  但不会出现 at_CMD 应用。

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

    我已经尝试过 sp_4.13.0.2_3.7.0.1_3.1.0.26.bin、但这没有帮助。

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

    您好、Wayne、  

    查看 Uniflash ImageCreator 用户指南后、您可能无法使用 ImageCreator 工具以以下方式对器件进行编程:

    我正在与更多内部团队联系、以收集信息和后续步骤。

    最棒的

    Ryan

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

    但我们所做的不是所列第二个项目符号中列出的?  使用外部现成工具对串行闪存进行编程?

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

    您好、Wayne、  

    您能描述一下将十六进制输出刻录到 WiFi 闪存的过程吗?

    最棒的

    Ryan

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

    我们将闪存 SPI 引脚暴露在 Tag-Connect 连接器上、然后暴露在 Segger J-Link SPI 编程器上。  请注意、此过程(烧录闪存)适用于我们的旧版未记录的 Wifi 软件包。  遗憾的是、执行包裹的人员不再与公司合作。  我的工作是尝试对该过程进行逆向工程。  我继承的所有内容都是 CCS 工程中略微修改的 at_Command 源代码。  在 LaunchPad 中对该源代码进行编程工作正常。  因此、问题必须出在我将 CCS .bin 文件转换为要编程到闪存中的.hex 文件的过程中。  当我对它们进行比较时、文件(旧工作)和新文件(不工作)看起来有点相似、并且长度只有11k 不同。

    是否要将.hex 文件反汇编到 Intel Hex 格式之外?  

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

    您好、Wayne、

    感谢您对本项目的背景和参与,我了解了手头的问题。 对于您用于刷写器件的方法、似乎没有任何明显的问题。  

    也就是说、TI 不支持反汇编 ImageCreator 创建的.hex 文件。

    最棒的

    Ryan

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

    您好、Wayne、  

    对拖延表示歉意。 我将很快对该线程执行 ping 操作、并执行后续步骤。

    最棒的

    Ryan

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

    有更新吗?

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

    您好、Wayne、  

    很抱歉,我们一直在内部努力尝试找到解决此问题的最佳方法。  

    您是否尝试过使用 J-Link 器件对 CC3235的 Launchpad 进行编程? 如果在使用 SPI 对器件进行编程时出现问题、我们可以将问题与 hex 文件的输出格式隔离。  

    我可以尝试的另一件事是对两个十六进制文件进行"超越比较"比较-一个来自应该正常工作的旧服务包以及您的十六进制文件。 可能会有一些头文件或不同的帧导致混乱。

    最棒的

    Ryan

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

    我已尝试使用3235ModSF Launchpad 上的 J14对 J-Link 进行 SPI 编程。  它报告目标系统未通电。  我有点怀疑、因为 J14在 Launchpad 原理图上标记为 DNP、但在装配图中根本没有显示。

    通过 CCS 或 Uniflash 编程时、新版和旧版 AT Command 程序都在 LaunchPad 上运行。  

    我可以向您发送这两个.hex 文件、但不希望以公共方式发送它们。  是否有一个私有文件服务器可以将其发送到某个位置?

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

    您好、Wayne、

    如何连接 SPI 调试器? 我在我的末尾没有看到 J14作为 DNP -您能告诉我您如何连接到器件吗?

    最棒的

    Ryan

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




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

    我正在通过 TC2050-ARM2010将 J-Link Plus 连接TC2050-IDC-NL。  我假设由于插头安装、这就是它应该去的地方。  

    看看 SPI 总线、它没有显示 Vcc。  仅 MOSI、MISO、CLK 和 CS。  

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

    您好、Wayne、  

    您是否知道您要为此项目使用的 LaunchPad 板的修订版? 在我的板上、我看到该部分的名称不同、并在其周围焊接了不同的组件。

    我现在比较十六进制文件的两个版本。

    最棒的

    Ryan

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

    看起来像 LAUNCHCC3235MOD PCB Rev A。 除了后面带有1537243的 QR 码外、没有其他标记或标签。  序列号?

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

    您好、Wayne、  

    现在我和一位产品专家一起查看两个项目.hex 文件的头文件并验证 launchpad 问题-我应该能够由 EOD 对此做出响应。  

    Ryan

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

    您好、Wayne、  

    仔细查看您使用的硬件、您使用的调试器( TC2050-ARM2010)是否支持 SPI 编程? 我看到它有用于 JTAG 和 SWD 的输出、但我看不到它支持 SPI 编程。  

    最棒的

    Ryan

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

    它看起来是有的。  J-Link Plus 手册将引脚显示为:

    然后、TC2050-ARM2010将信号配置为连接到定制板的 C2050-IDC 插头线缆。  这必须起作用、因为我们能够对较旧版本的.hex 文件进行编程。  

    为您提出的问题...  XDS110调试器、它是否执行 SPI?  我无法将其连接到我们的 cc3235、而著名的(错误-1170 @ 0x0)无法访问 DAP。  最可能的情况是未设置显影器模式。  在 Launchpad 上、芯片通过 UART 进行编程。

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

    因此、我返回到了在 CCS 上构建的过程。  尝试将我们的构建过程与 at_commands 示例进行比较。  我注意到的第一件事是、项目属性非常不同。  左侧是构建项目、右侧是 at_commands 示例:

    注意配置和选项卡名称。  我们的版本工程是否可能是使用较旧版本的 CCS 创建的、并且 CCS 不会更新工程信息?

    现在查看目录结构:

    在这里、旧代码使用通用 Eclipse 输出目录 Debug。  在新的 AT_commands 示例中、我们有一个 MCU+Image 输出目录和一个配置文件 image.syscfg。  这是否意味着我从旧代码生成的.hex 文件是一个简单的应用程序映像、但新的 at_commands 示例正在生成大量内容、包括.sli 文件等  我将尝试在我们的旧代码中重新编译.project 和其他文件、看看我是否可以将其导入到新的布局中。

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

    您好、Wayne、

    感谢这些更新-不幸的是、xds110仅用于 JTAG 调试、而不用于 SPI。  

    至于您收到的错误消息--这很可能来自将 CC3235MOD 侧连接到电路板调试器侧的电路板上的跳线--您能否使用用户指南验证您是否已为 JTAG 正确连接跳线?

    重新启动项目构建过程是个好主意——请随时更新,看看我们是否可以解决任何问题。

    最棒的

    Ryan

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

    我在复位时将 SOP 设置为000。 当我阅读文档时:

    功能开发模式。 在此模式下、开发人员可使用4引脚 JTAG。 TDI、TMS、TCK 和 TDO 可用于调试器连接。

    我已从 at_command 示例中重建项目、但还没有成功。  

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

    您好、Wayne、  

    感谢您的更新。 考虑到在尝试从 Launchpad 上的 SPI 进行编程时会出现问题、我担心的是、我们用于刷写器件的方法是根本原因、而不是项目.hex 文件本身-只是一个难题。 今天、我将与更多的团队成员交谈、并将在今天下午提供建议。  

    最棒的

    Ryan

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

    您好、Wayne、

    您是否在尝试通过 SPI 进行编程时将器件保持在复位状态? 如果不这样做、将与连接到器件的2个主器件发生冲突。  

    此外、让我们将问题隔离为一个问题。 您说过您可以通过 CCS/UART 对 Launchpad 进行编程、对吧? 完成此操作后、您是否能够使用外部 SPI 读/写工具来转储串行闪存中编程的内容? 理想情况下、我想比较一下串行闪存中通过 SPI 编程与使用 UART/CCS 编程时的转储情况。

    最棒的

    Ryan

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

    在执行 SPI 写入时、我们将保持 RESET。  实际上、以前的开发人员对所有 J-Link 探头进行了修改、以使其在复位时保持不变、这是出于某种原因。  我们必须拔下电缆才能启动。

    我们无法通过定制板上的 UART 对闪存进行编程。  为此、我们必须在自己的代码中编写一个接口、这是一项相当艰巨的任务。  我一直在想、我可以设置我们的新 XDS110、以便通过辅助端口进行 UART 下载(就像我假设 LaunchPad 那样)。  这在优先次序清单上是低的,因为在生产中这样做很困难。  

    我无法使用 Launchpad 上的 SPI。  J-link SPI 端口在引脚连接器端口上的引脚排列与我们使用的引脚排列不同。 由于似乎没有其他方式访问 LaunchPad SPI、我必须弄清楚 LaunchPad 和 J-Link 之间的某种分类。  由于 LaunchPad 电路的版本似乎不同、我们对我的 LaunchPad 与当前原理图相匹配的信心如何?

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

    您好、Wayne、

    Ryan 目前不在办公室、将在本周晚些时候回来。 我将查看我是否可以在这里提供反馈、但想向您提供有关延迟的最新信息。

    此致、

    Jesse

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

    谢谢。  我们在这一点上遇到了很多困难。  

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

    您好、Wayne、  

    很抱歉不在这里。  

    我的想法是首先通过 UART 通过 CCS 对 Launchpad 进行编程、这是正常情况。 然后、我们可以从器件上的串行闪存读取数据。 之后、您可以尝试再次通过 SPI (我知道这是失败的)对 Launchpad 进行编程、然后在本例中将器件上的串行闪存与 UART 闪存中的串行闪存进行比较。 (如果我需要更清楚地描述这一点、请告诉我)。

    当我们能够使 SPI 编程在我们的器件上工作时、我们可以更有信心使用 SPI 来刷写您的器件。  

    话虽如此、您是否可以在串行闪存编程后读取它?

    对于您的 LaunchPad 版本、我们相信您将能够通过 SPI 进行编程-我们以前能够使用 Cheetah SPI 调试器创建此版本的工作版本。

    最棒的

    Ryan

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

    很抱歉耽误你的时间、我的老板让我打火烧。  为此、我将需要创建一根特殊的钉子连接器电缆来连接到 Launchpad 以执行 SPI 编程。  launchpad 连接器指甲插头具有与定制卡上的引脚不同的引脚排列。  不确定哪一项是正确的。  这可能需要一段时间。

    我们还了解到、由于 GCP (Google Cloud)将在明年停产、我们需要对所有系统进行重新编程。  这将使我们的所有安全认证失效、并需要对 Wifi 进行重新编程。  比赛正在进行。  到目前为止、这只是一场取代知识缺失的竞赛。  

    有什么关于 SPI 编程为何不起作用的想法?  我向您发送了一个负载模块、您是否使其正常工作?  

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

    是否有更多信息?

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

    您好、Wayne、

    Ryan 已调到另一个团队、因此我将继续推进这条线程、并在需要时吸引我团队的其他成员提供支持。

    让我 回顾一下这里的所有细节、因为这里有很多前后的东西。 请告诉我,我对到目前为止讨论过的内容是否有任何理解是不准确的─

    • 您可以根据模块中嵌入的 SFLASH 的直接 SPI 编程、在设计中使用对 CC3235MODASF 进行编程的过程
    • 您可以使用具有 SPI 编程功能的 J-Link 产品作为从 SFLASH 进行写入(也可能是读取)的工具
    • 您有一个原始应用映像(包括 MCU 二进制文件、器件配置以及其他文件、例如证书)、可以使用 J-Link 工具和 SPI 编程过程成功地将其重新编程到您的定制板
    • 当您尝试 从我们的 SDK 构建新示例(at_commands)时、请将其另存为映像、 然后使用相同的过程将其编程到您的板上、您无法确认该过程是否正常、因为从复位状态释放器件后、您无法观察到正常的终端输出
    • 您无法使用 J-Link 和 SPI 编程方法在 LaunchPad 上成功对我们的器件进行编程

    这都是正确的吗?

    我看到您与 Ryan 分享了用于测试电路板编程的两张图片。 我将与他核实他能否与我分享这些信息、以便我再次回顾、看看两者之间是否有明显的区别。

    我看到您也在与 Ryan 讨论应用本身的 UART 配置。 这是否与了解 UART 编程过程或确保 LaunchPad 示例应用所使用的 UART 输出(用于应用终端)与电路板上的 UART 输出引脚相匹配相关?

    对于 UART 编程、该编程由我们的内部 ROM 引导加载程序处理、无需配置您正在构建的应用程序即可进行设置。 有关详细信息、请参阅我们的 CC3235MODx 产品线指南第4节。

    我确实认为最好检查 LaunchPad 用于 UART 终端输出的引脚(以及运行时的引脚46/47)是否与您电路板上用于串行终端的引脚相匹配。 这可以在应用中进行更改,因为我们有几个不同的引脚可以多路复用为 UART 功能,还有几个不同的 UART 外设实例可以连接到 Display 或 UART_Print()模块。

    此致、

    本·M

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

    您好、Wayne、

    您可以尝试附加的二进制文件吗?  这些器件应在您的 LaunchPad 板和定制板上都能正常工作。

    对于 launchpad、您可以使用 uniflash [CC3235SF (bootloader)]对.sli 文件进行编程。  这将通过 UART 传输至 CC3235SF、并自动处理复位逻辑。  应确保您具有 SOP0=0、SOP1=1、SOP2=0 (默认值)。  您需要指定 COM 端口、该端口将是用户 UART。  此过程大约需要45秒。

    对于嵌入式电路板、您可以使用 SEGGER 编程器使用 SPI 将.hex 文件直接编程到串行闪存中。  模块应通电、但在编程.hex 文件时保持复位状态。  另外、请确保在对.hex 文件进行编程之前首先擦除闪存、我建议执行回读验证以确保成功编程。  编程后的第一次引导、应使用 SOP0=0、SOP1=0和 SOP2=0、然后释放 RESET。  然后将创建(并加密)文件系统、您应该等待大约45秒钟、等待 UART 输出端的第一个字符(模块引脚46 [器件引脚55])。   

             ==============================================
                AT Commands Example Ver: 1.1.2
             ==============================================
    
             CHIP: 0x31100019
             MAC:  3.7.0.1
             PHY:  3.1.0.26
             NWP:  4.13.0.2
             ROM:  8738
             HOST: 3.0.1.71
             MAC address: 90:e2:02:28:a6:8d
    
             ==============================================
    
    
    +eventnetapp:ipv4_acquired,10.123.45.1,10.123.45.1,0.0.0.0
    Enter AT Command:
    

    e2e.ti.com/.../at_5F00_commands_5F00_CC3235SF_5F00_LAUNCHXL_5F00_tirtos_5F00_ccs_2D00_customMODboard_2D00_production.7z

    希望这有所帮助、

    ~Roger

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

    很抱歉耽误你的时间...  我使用您提供的十六进制文件对定制板上的芯片进行了编程、但它会产生相同的行为、不会输出报头消息。  提醒一下、我们的旧生产工艺具有有效的负载模块、可以正常工作。  这表明开发工具流程中的某项操作并不正确。

    我验证了芯片、这表示加载的模块与片上的模块相匹配。  但是当我尝试回读时、内存看起来是不同的。  这是由于打开包装过程造成的吗?

    回读屏幕快照:

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

    刚刚了解了如何将整个回读映像捕获为 Intel .hex 文件和转储文件(使用 ASCII 转换)。  请告诉我是否应将这些信息直接发送给您。  

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

    您好、Wayne、

    是的、您看到的差异应该是由于解包过程、设备在该过程中获取映像并将其解压到具有加密功能的实际文件系统中。

    查看转储文件会很有意思、因此您可以直接向我发送消息。

    实际上、编程过程确实如您所说的那样良好。 工具中的图像生成也应该可以、因为它没有改变。

    我想知道我们是否应该尝试使用一个更简单的示例代码来确保引脚复用没有差异、这会导致我们挂起。 您是否有机会将 CC3235连接到板上的 LED、我们可以尝试一个简单的应用、该应用只需将 I/O 设置为输出并定期切换?

    最棒的

    本·M

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

    您好、Wayne、

    另一个简短的问题->您能否通过直接信息与我分享电路板的原理图?

    这样可以更快地再次检查引脚多路复用是否一切正常、或者让我们就可以测试的内容提供其他建议。

    谢谢!

    本·M