Keil编程MSPM0G3507(CMSIS-DAP,ST-Link,J-Link,XDS110,UniFlash)

首先回答一下,为何用Keil呢,除了应用熟悉、资料齐全以外,还有就是支持CMSIS-DAP、ST-Link,而CCS是不支持的,要知道这种仿真器可是便宜好用量又足,其中WCH-Link还不到10元,已测试可用。此外,J-Link、XDS-110更是不在话下,而用UniFlash下载的话,更是连仿真器都不需要了。

现在网上能找到多个教程,说得也比较清楚,这里只针对本人自己的情况,说明一下过程。本人电脑前后装过CCS多个版本,mspm0_sdk也是多个版本,sysconfig也是,Keil就更不用说了,安装位置更是乱七八糟,以至于运行桌面快捷方式,根本就不是自己想用的那个版本。为了更明确更清晰一些,干脆直接到文件资源管理器里去找需要运行的程序。以下是应用程序具体位置:

1)Keil 5.41,具体位置D:\Keil_v541MDK5.41(含科学使用文件)资源-CSDN文库

2)mspm0_sdk 2_04_00_06,具体位置E:\CCS\mspm0_sdk_2_04_00_06MSPM0-SDK Software development kit (SDK) | TI.com

3)sysconfig 1.23.1,具体位置E:\CCS\sysconfig_1.23.1SYSCONFIG IDE、配置、编译器或调试器 | 德州仪器 TI.com.cn

4)WCH-Link(USB-A带外壳,9元),J-Link,XDS110(LP-MSPM0G3507),UniFlash(ISP下载器软件),ST-Link

首先安装DFP,要确保安装在(对于本人来说)D:\Keil_v541\Packs目录下,文件下载网址如下:Arm Keil | Texas Instruments MSPM0G3507

实际上,就算没有安装在对应位置也没关系,找到TexasInstruments目录,将其全部copy到D:\Keil_v541\Packs下即可。打开D:\Keil_v541下的TOOLS.INI,确保这一条正确(再次说明,适合个人情况)RTEPATH="D:\Keil_v541\Packs"。这里需要注意的是,TI官方提供了所谓的low_power_mode_patch补丁的.pdsc文件,在E:\CCS\mspm0_sdk_2_04_00_06\tools\keil\low_power_mode_patch目录下,可以直接copy覆盖到D:\Keil_v541\Packs\TexasInstruments\MSPM0G1X0X_G3X0X_DFP\1.3.1下。

其次设置Keil的SDK菜单,Tools->Customize Tools Menu ->Import,打开E:\CCS\mspm0_sdk_2_04_00_06\tools\keil下面的MSPM0_SDK_syscfg_menu_import.cfg,如图:

进行编译\下载\测试,打开点灯工程,目录为E:\CCS\mspm0_sdk_2_04_00_06\examples\nortos\LP_MSPM0G3507\driverlib\gpio_toggle_output\keil,编译好后下载,确保仿真器可用。下载后要手动按一下开发板上的RST或者NRST键,这样程序才能正常运行起来。下面是一个CMSIS-DAP(WCH-Link)界面:

对于LP-MSPM0G3507板载的XDS110来说,Debug也是选择“CMSIS-DAP”,如下图:

如有必要,需要安装驱动DPInst64.exe,在E:\CCS\ccs\ccs_base\emulation\windows目录下,驱动安装好的明显标志就是成功增加了两个带“XDS110”字样的COM口。

进一步测试,J-Link需设为SW模式方可使用:

ST-Link则需要一点点技巧,虽然立创开发板(lckfb)上天猛星和地猛星教程里特意强调ST-Link不可用,但实际上是可以用的。

实际使用ST-Link时会出现以下PDSC错误:PDSC:Sequence Execution failed:

解决方法也非常简单,去掉Pack里面的Enable即可:

代码修改,在Keil的工程里点开gpio_toggle_output.syscfg,随后打开Tools->Sysconfig v1.23.1-MSPM0 SDK v2_04_00_06

按图,增加“GPIO_GRP_0”,并把“PIN_0”配置为“0”,即PA0脚。

保存好后,退回到Keil主界面,出来以下界面,点击“Yes To All”即可。

修改gpio_toggle_output.c,增加一条:

DL_GPIO_togglePins(GPIO_GRP_0_PORT,GPIO_GRP_0_PIN_0_PIN);

重新编译、下载,会发现LP-MSPM0G3507板上的红色led也同时闪烁起来了。对于M0G3507黑钢版开发板来说,其led对应的引脚是PA14,作出相应修改即可。

UniFlash下载,不需要任何仿真器,软件下载网址:https://www.ti.com.cn/tool/cn/UNIFLASH?keyMatch=UNIFLASH&tisearch=universal_search&usecase=software#downloads

安装后运行UniFlash,如图输入“3507”:

找到“MSPM0G3507(BOOTLOADER)”,因为只有这一个支持串口(Serial),“Start”后,出现以下界面,选择生成的.hex文件准备烧录:

修改Quick Settings的“COM Port”为正确的COM口。每个人的情况都有所不同,我的是COM3。板子上电后同时按住开发板上的“BSL”和“RST”5秒后释放“RST”,在3秒内点击UniFlash的“Load Image”。10~20秒钟后释放掉“BSL”按键,按一下“RST”会执行程序。虽然有下面的错误提示“Error! Image Loading failed:Try manual Bootloader Invocation...”,但实际上程序是下进去了。

总结:Keil编程更加熟悉,支持的仿真器非常广泛,具体在使用Sysconfig前要先打开工程的.syscfg文件。

### 使用 Keil 开发环境对 MSPM0G3507 编程 #### 创建新项目 为了创建一个新的 Keil 工程用于 MSPM0G3507 的开发,需启动 Keil μVision 并选择 `Project` -> `New Project...`. 输入项目的名称并指定保存路径。 #### 配置目标设备 在弹出的选择器件对话框中输入 “MSPM0G3507”,从列表中选中该型号单片机作为目标芯片[^2]。确认后进入下一步配置界面,默认情况下会询问是否要添加标准 C 库文件到当前工程,通常建议勾选以便于后续代码编写。 #### 设置编译选项 通过 `Project` 菜单项下的 `Options for Target 'Target 1'` 可访问更多设置项。这里可以调整优化级别、堆栈大小等参数;对于特定外设的支持也可以在此处定义预处理器宏来开启或关闭相应功能模块。 #### 添加源码文件 利用左侧资源管理器窗口拖拽方式或是右键点击组名选择 `Add Existing Files to Group` 来导入预先准备好的 .c 或者汇编语言写的.s 文件。如果需要初始化硬件,则应考虑加入由厂商提供的驱动库或者 HAL 层接口函数集合。 #### 修改系统配置脚本 导航至 SDK 安装目录 `<MSPM0_SDK_INSTALL_DIR>/tools/keil/`, 找到名为 `syscfg.bat` 的批处理文件进行编辑而不是直接运行它。此操作允许开发者自定义一些底层行为而无需深入修改固件本身. #### 构建与调试 完成上述准备工作之后就可以尝试构建整个工程项目了 (`Build`) 。如果有任何错误提示,请仔细检查语法以及连接关系直至成功生成 HEX 输出文件。接着借助仿真工具链下载程序到实际板子上测试效果(`Debug`) ,期间还可以运用断点跟踪变量变化趋势辅助定位潜在缺陷位置。 ```cpp // 示例:简单的 LED 控制循环 #include "msp.h" int main(void){ WDT_A->CTL = WDT_A_CTL_PW | WDT_A_CTL_HOLD; // 停止看门狗定时器 P1->DIR |= BIT0; // 将P1.0 设定为输出方向 while (1) { P1->OUT ^= BIT0; // 切换LED状态 __delay_cycles(50000); // 短暂延时 } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SDAU2005

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值