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.
工具/软件:TI-RTOS
您好!
我想了解微控制器在编程后如何保留应用程序代码
(通过 FTDI 或 JTAG 接口?)
谢谢、
Priya
Priya、
您说什么它被锁定了? 您使用的是基于 ROM 的 UART 引导加载程序还是基于闪存的 UART 引导加载程序?
您可以配置 BOOTCFG 寄存器、以便引导加载程序在指定的 GIO 引脚状态发生变化时下载应用固件。 有关详细信息、请参阅数据表。
寄存器68:引导配置寄存器(BOOTCFG)、偏移量0x1D0
注意:偏移量是相对于0x400F.E000的系统控制基址而言的。
注意:引导配置(BOOTCFG)寄存器要求在提交前进行一个 POR
更改生效。
该寄存器不是直接写入的、而是使用 FMD 寄存器、如"非易失性"中所述
寄存器编程—Flash 存储器驻留寄存器”。 该寄存器的值
确认后、在下电上电之前无法读回新值。 该寄存器提供的值
配置 GPIO 引脚以启用 ROM 引导加载程序、以及一次性写入机制
禁用外部调试器对器件的访问。 复位时、用户有机会引导
内核来执行 ROM 引导加载程序或使用任何 GPIO 信号执行闪存存储器中的应用程序
从端口 A 到端口 H、由该寄存器中的位进行配置。 复位时、以下序列
已执行:
读取 BOOTCFG 寄存器。 如果 EN 位被清零、那么执行 ROM 引导装载程序。
2.在 ROM 引导装载程序中、将指定 GPIO 管脚的状态与指定的进行比较
极性。 如果状态与指定的极性匹配、那么 ROM 被映射到地址0x0000.0000
并且继续执行 ROM 引导加载程序。
如果 EN 位被置位或者状态与指定的极性不匹配、则地址上的数据
读取0x0000.0004、如果这个地址上的数据是0xFFFF.FFFF、那么 ROM 被映射到
地址0x0000.0000并继续执行 ROM 引导加载程序。
4、如果地址0x0000.0004处的数据不是0xFFFF.FFFF、堆栈指针(SP)将被装载
从地址0x0000.0000处的 Flash 存储器加载程序计数器(PC)
地址0x0000.0004。 用户应用程序开始执行。
[引述 USER="Priya Nadathur]*错误地说、FTDI 接口被用来将 Stellaris 代码编程到 TM4C 定制板中。 这是否可能会损坏电路板?[/引述]
您说您已将 Stellaris 代码编程到 TM4C 器件中、对吧? Stellaris 和 TM4C 不兼容。 我不知道您的 Stellaris 代码是什么? 就电路板的物理损坏而言、我希望情况并非如此。 但它是否会使器件砖型、这是可能的、也不能排除。 例如、您的 Stellaris 代码以某种方式混淆了 TM4C 时钟配置、导致频率超出规格。
[引用 USER="Priya Nadathur"] FTDI 引脚在 Stellaris 和 TM4C 之间混合使用。
您能详细说明吗? 您的意思是将 FTDI 引脚混合在一起?
总之、您是否只有一个电路板有问题、而所有其他电路板都正常?
查尔斯
感谢你的答复。 我现在没有前面的原理图、但我认为是 FTDI Rx
和 TX 引脚在 Stellaris 和 TM4C 之间的顺序不同。 Stellaris 的系统时钟为
80MHz 和 TM4C 120MHz。 目前只有一个 TM4C 板可用、但还有更多
已订购。如果此板上的 MCU 出现故障、则可以更换。 如果您还有其他信息、请告诉我
注释。
谢谢、
Priya