首先回答一下,为何用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文件。