主题中讨论的其他器件:TMDSCNCD28379D、 C2000WARE
您好!
我目前正在使用 TMDSCNCD28379D 和 USB 电缆对我的芯片进行编程。
但是、在关闭/打开电源后、我想运行闪存中的程序。
因为如果我将开关更改为在闪存上启动、我就无法再使用 xds100v2仿真器了?
如何继续?
此致
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.
您好!
我目前正在使用 TMDSCNCD28379D 和 USB 电缆对我的芯片进行编程。
但是、在关闭/打开电源后、我想运行闪存中的程序。
因为如果我将开关更改为在闪存上启动、我就无法再使用 xds100v2仿真器了?
如何继续?
此致
您好!
当开关 A SW1处于关闭状态时、xds100v2仿真逻辑未连接到 MCU。 因此、您无法使用 xds100v2仿真器。
https://www.ti.com/lit/ug/sprui76a/sprui76a.pdf
您现在是如何对代码进行编程的? 它是否通过 xds100v2仿真器使用 JTAG?
为什么从闪存引导后需要连接到 xds100v2仿真器?
此致
Siddharth
您好 Siddharth、
我已经按照你的顺序执行了操作、但它不起作用。
需要验证的所有要点是什么?
硬件:
A:SW1:位置1:打开至编程,在重新启动前关闭,位置2:关闭
SW1:模式3 (GPIO-72 & 84=1):获取模式(默认为闪存)
软件(Code Composer):
要验证或设置的点是什么?
编程后切换电源时、闪存上的引导不起作用。
感谢你的帮助。
此致、
您好!
使用 USB 编程的程序入口点的地址是什么?
您可以在使用 CCS 和 xds1000v2仿真器进行编程后连接到器件、并验证程序是否已正确编程?
您可以参阅 TRM 中的"引导状态信息"部分以检查 http://www.ti.com/lit/ug/spruhm8i/spruhm8i.pdf 引导状态
此致
Siddharth
您好!
在项目属性中、未指定入口点、因此我尝试使用 code_start、 但没有任何变化。
第一个问题是、是否有一个指南解释了 CCS 8的所有选项(例如、所有项目属性)、以及要使用哪些选项?
您可以在使用 CCS 和 xds1000v2仿真器进行编程后连接到器件、并验证程序是否已正确编程?
我不知道我是否理解;我可以使用 USB 电缆对器件进行编程并进行调试。
如果我拔下 USB 线缆、程序正在运行、因为它被写入闪存中。
但是、如果我先关闭电源、然后再打开、即使我更改了 A:S1开关位置(进入"获取模式"(默认为"闪存")、程序也不会运行。
我的问题很简单:为了让程序在电源关闭后独立运行,我必须在 CCS 或程序中更改哪些参数?
此致、
您好,
对于 CCS,您可以参阅 CCS 中“帮助”菜单下的“入门”指南。
您能描述一下如何使用 USB 对代码进行编程吗? 编程时是否使用 CCS 和 xds1000v2仿真器连接到器件?
您可以在使用 CCS 和 xds1000v2仿真器进行编程后连接到器件、并在存储器窗口中检查您编写的代码是否可见。
您还可以参考 C2000Ware 中包含的 f2837xd 的"example_projects_Quickstart_Guide.pdf"、了解如何从闪存导入和运行示例。
此致
Siddharth
您好!
如何进行编程? 它非常简单、我使用 USB 电缆连接目标、然后运行->调试、再运行->恢复
我的程序中有一个 LED 闪烁、因此我知道它在运行。
我正在内存浏览器中验证闪存的编程是否良好。
编程后,我断开目标(运行->断开目标),然后重新连接 (运行->连接目标);我需要单击“恢复”启动程序,因为我有此窗口,LED 不闪烁。
启动目标(Resume)后、它正在工作。 在存储器浏览器中、对闪存进行编程。
但是、如果我关闭电源、然后打开电源并尝试重新连接到器件、即使我启动目标(恢复)、它也不起作用。
闪存中的一些数据在存储器浏览器中发生了变化。我似乎无法重新启动程序。
我的问题是:
-我要在 Code Composer 中修改哪些设置才能在闪存上引导?
-为什么在关闭电源后无法重新连接到目标?
-您是否有一个在闪存上引导的非常简单的程序?
-只能使用微型 USB 电缆吗?
此致、
您好!
我建议您尝试 C2000Ware 中包含的"led_ex1_blinky" CCS 项目。 此项目有两个构建配置"CPU1_RAM"和"CPU1_Flash"。
将"CPU1_Flash"配置设置为"Active"并编译工程。请参阅随附的快照。
您可以加载当前生成的二进制文件。 代码应从闪存运行。
-我要在 Code Composer 中修改哪些设置才能在闪存上引导? ->请确保在您完成编程后将代码写入闪存。
-为什么在关闭电源后无法重新连接到目标? ->如果您更改开关位置,仿真逻辑未连接,因此您将无法通过 CCS 进行连接。
-您是否有一个在闪存上引导的非常简单的程序? ->尝试闪存配置中的"led_ex1_blinky"示例
-只能使用微型 USB 电缆吗? -> USB 电缆用于使用 xds100v2仿真器连接到目标。
此致
Siddharth
您好 Siddharth、
我已经尝试过该示例、在关闭电源后、电源仍然在闪烁。
A:SW 开关的位置没有任何变化、为什么?
我是否需要在项目中包含 driverlib.lib?
为输出模块指定"代码启动"的程序入口点?
我是否需要包含"${COM_TI_C2000WARE_SOFTWARE_PACKAGE_libraries}"? 这是什么?
非常感谢您的支持。
此致
您好!
如果在关闭和打开电源后 LED 闪烁、则表示代码正在从闪存运行。
A:SW1开关的位置用于启用 JTAG/UART 通信。
SW1 (引导模式开关)默认的引导模式是从闪存引导。
应包含 driverlib.lib、因为它为所有外设提供 API、并提供对几乎所有功能的访问。 在此示例中,GPIO API 包含在 driverlib.lib 中
为输出模块指定"代码启动"的程序入口点? ->是的、这已经在项目中进行了配置。
我是否需要包含"${COM_TI_C2000WARE_SOFTWARE_PACKAGE_libraries}"? 这是什么? ->这是一个系统环境变量。 您不必更改/更新它。
此致
Siddharth
您好!
我真的不理解;我已经将程序的指令减少到与 LED_闪烁 程序相同,但它仍然不起作用。
我不使用 driverlib.lib、但我认为我不需要它。
// //包含的文件 // #include "F28x_Project.h" #include "Init_GPIO.h" // 函数原型 // #pragma CODE_SECTION (InitFlash、".TI.ramfunc"); // Main // void main (void) { InitSysCtrl(); init_gpio();//初始化 GPIO //清除所有中断并初始化 PIE 矢量表 Dint; //将 PIE 控制寄存器初始化为默认状态。 //默认状态是禁用所有 PIE 中断并清除标志。 //此函数位于 F2837xD_PIECTRL.c 文件中。 InitPieCtrl(); //禁用 CPU 中断并清除所有 CPU 中断标志: IER = 0x0000; IFR = 0x0000; //使用指向 shell 中断服务例程(ISR)的指针初始化 PIE 矢量表。 InitPieVectTable(); while (1) { GpioDataRegs.GPBTOGGLE.bit.GPIO34 = 1; // Toogle LED DELAY_US (50000); } }
我认为项目属性是可以的。 我真的不知道为什么它不起作用。
此致
您好!
是的、 "led_ex1_blinky"有效。
问题在我的软件上。 我已删除我的所有.c 和.h 文件以具有"清理项目"。 重新启动后、指示灯闪烁。
然后我逐个添加.c 文件。
我发现一些.c 文件有问题:如果我将它们添加到项目中,则在电源关闭后无法重新启动。
问题是什么? 内存问题? 还有事吗? 我有点困惑、因为我真的不知道问题来自哪里。
我可以构建我的项目、运行它、但它不会重新启动。
此致、