主题中讨论的其他器件: CC1350、 UNIFLASH
作为 一个自己不小心对 TM4C1294NCPDT 进行了误编程的人、我可以看到这对我们的一些客户来说是一个问题。
是否有某种硬件引脚解决方案可以阻止闪存编程、但仍允许 USB/JTAG 操作? 我已经开始查看数据表、但目前还没有找到任何东西。
我想、如果有人知道软件解决方案、它也会很有用。
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.
作为 一个自己不小心对 TM4C1294NCPDT 进行了误编程的人、我可以看到这对我们的一些客户来说是一个问题。
是否有某种硬件引脚解决方案可以阻止闪存编程、但仍允许 USB/JTAG 操作? 我已经开始查看数据表、但目前还没有找到任何东西。
我想、如果有人知道软件解决方案、它也会很有用。
[引用用户="Robert Jones8"]...TM4C1294NCPDT 意外错误编程 的用户... 可以看到它是一个问题... 一些客户。[/报价]
我们必须询问-是否有"有效"(以及仔细思考/考虑)原因-为(部分)客户提供(潜在)"对您所在国家的"密钥(即 JTAG/SWD 访问)?" 这是关键/关键-是不是?
只要"连接到 JTAG/SWD "、就有可能(故意或偶然)"干扰现有代码发生"。
因此-"第一步"不是限制这种访问吗?
存在一个(过去)小型程序(JTAG-GPIO.c)或类似程序(通过单个(非 JTAG) GPIO 的"切换或电平"启用/禁用 JTAG/SWD 功能)。 (可能会添加额外的保护措施) 如果将此代码放置在(其中)要执行的第一个代码中-并且"默认值"为"将 JTAG/SWD 引脚切换为 GPIO"、则您可以"合理"地"保护此类意外/意外的"不需要的 MCU 程序更改"。
现在这里-承诺的代码文件:
请注意、这是一个非常简单的程序- iirc "switch bouncing"未被管理-您(当然)不必使用此代码中引用的 OLED 显示屏。
该代码确实成功地为您(和其他人)提供了选择性地"栅极"到达 JTAG/SWD 管脚的信号的"影响"的方法、这样必须(有意)选择"JTAG/SWD 模式"。 (这可能是也可能不是此程序的"默认"、但很容易更改/撤销。 我的公司使用这种更新版本-默认为 SWD 模式(在我们开发的过程中)-并在开发完成时切换到"非 SWD 模式"。
[引用 user="Robert Jones8"]问题是诸如 xdsdfu 和 uniflash 之类的工具 似乎没有对它们编程到闪存的二进制文件进行任何完整性检查。
这种健全性检查可能是不可能的。 下载包含任意序列的二进制文件当然并不容易。
[引用 user="Robert Jones8"]例如,如果有一个引脚,您可以将跳线连接到该引脚以防止闪存写入,我们可以避免一些潜在的用户错误。
通过跳线路由 JTAG 时钟? 您可能会通过双极开关对其进行布线、如果它处于启用 JTAG 的位置、则会拒绝运行代码、因此它们不会意外地将其留在程序位置。
Robert