一、引言

Ti的MSPM0芯片,想必每一个电赛人都有了解或者是使用过,不管是Sysconfig+Keil的开发模式,还是Ti官方推出的仿VSCode的CCS客户端开发,都有其局限性存在。既然如此,为什么不使用完全的的VS Code或者新时代的IDE:CLion 开发呢?本文讲述了以CLion配置mspm0开发环境的基本步骤。

二、准备事项

1、MSPM0SDK,最好安装在一个方便找到的地址

2、SysConfig工具

3、CLion或VS Code 此处以CLion为主介绍

4、可以正常使用的Keil

三、步骤

1、先做好前期工作:

首先先按照网上的教程将SysConfig和MSPM0SDK的关系处理好,以及集成至Keil之中,教程可参考嘉立创的天猛星教程,链接如下:嘉立创天猛星Keil开发环境搭建

环境搭建完成后,确保你搭建的环境可以正常使用,可以先点个灯试试~

完成上述步骤后,请在SDK的安装目录中,根据以下文件夹路径找到syscfg.bat

tools\keil\syscfg.bat

选择用记事本打开后,在24行处:

:: Search for the root of the SDK by going up one directory
:: However, if we don't find it after 20 times then give up

set SDK_ROOT=%PROJ_DIR%
set iter=0
:sdk_search_loop
if exist "%SDK_ROOT%\.metadata\product.json" (
    goto sdk_search_exit
) else if %iter% geq 20 (
	@echo "Couldn't find .metadata\product.json"
) else (
	set /a iter=%iter%+1
	set SDK_ROOT=%SDK_ROOT%..\
	goto sdk_search_loop
)
:sdk_search_exit

添加一段代码,变成这样:

:: Search for the root of the SDK by going up one directory
:: However, if we don't find it after 20 times then give up

::New
if exist "C:\Software\TI\mspm0_sdk_2_05_01_00\.metadata\product.json" (
    set SDK_ROOT=C:\Software\TI\mspm0_sdk_2_05_01_00
    goto sdk_search_exit
)
::New

set SDK_ROOT=%PROJ_DIR%
set iter=0
:sdk_search_loop
if exist "%SDK_ROOT%\.metadata\product.json" (
    goto sdk_search_exit
) else if %iter% geq 20 (
	@echo "Couldn't find .metadata\product.json"
) else (
	set /a iter=%iter%+1
	set SDK_ROOT=%SDK_ROOT%..\
	goto sdk_search_loop
)
:sdk_search_exit

其中

::New
if exist "C:\Software\TI\mspm0_sdk_2_05_01_00\.metadata\product.json" (
    set SDK_ROOT=C:\Software\TI\mspm0_sdk_2_05_01_00
    goto sdk_search_exit
)
::New

exist后面的路径改为你的sdk的相关路径,.metadata后面的不要更改。

2、CLion安装及配置

CLion的安装请自行搜寻,反正现在CLion已对个人用户免费,此处重点提及CLion的工具链配置。

众所周知,Keil的好处有很多,其二就是它自带的Arm Compiler 6(Arm Clang)和调试功能。Arm Clang相比于常见的GNU GCC FOR ARM,编译速度和质量高的不是一点半点,因此我推荐大伙都可以转型到Arm Clang进行使用。但是问题摆在这里,Arm Clang是要收费的,对于个人开发者而言十分昂贵,那怎么办呢?你猜猜为什么让你下Keil?(憋笑.jpg)

CLion是一个以CMake为核心的IDE,因此只要是个编译器,我们配置好工具链和CMakeLists就可以正常调用,Arm Clang也不例外。在CLion “设置->构建、执行、部署->工具链”中,点击“+”号新建一个选项,选择MinGW类型,然后填入以下参数:
工具链配置
其中需要修改的只有两个地方,即C编译器和C++编译器,需要修改成你的Keil的安装地址。比如,我的Keil安装地址为:

C:\Software\Keilv5

你只需要修改上述图片中的前面的安装地址即可,而无需修改后面的ARM\ARMCLANG…之后的内容,修改完成后,CLion会自动检查编译器,如果检查失败请认真研究一下是不是路径错了还是Keil没有破解。

配置完成后,现在你理论上已经可以从CLion中调用Arm Clang编译器来进行编译了。但是先别急,还需要一些东西。

3、CMakeLists.txt的编写和Shell脚本

不想看这部分的可以直接抄作业:
MSPM0-CLion模板工程
仓库中,先将下载的模板工程.zip随便解压到一个你喜欢的文件夹,然后进去将CMakeList.txt,cmd脚本和Shell脚本都放进去。Belike:
在这里插入图片描述
完成上述步骤后,在文件夹空白区域右键,选择"在CLion中作为项目打开"。正常来说,打开之后CLion会问你是否信任项目,无脑“是”就行了。
打开之后,会进入CMake配置界面,按照下面这张图配置即可:
在这里插入图片描述
需要修改的地方只有下面的构建目录,将

keil/Objects

填入其中即可。

接下来开始修改CMakeList.txt

打开CMakeList,找到17-20行

# Keil 安装路径
set(KEIL_PATH "C:/Software/Keilv5" CACHE PATH "Keil MDK 安装路径")
#SDK安装路径
set(SDK_PATH "C:/Software/TI/mspm0_sdk_2_05_01_00" CACHE PATH "SDK安装路径")

将上述两个路径修改成你自己的相关路径。

接着找到41行

set(SIZE_TOOL "${ARMCLANG_PATH}/calcelf.exe")

将这行代码注释掉

接着到102-130行

# ========================================================
# 6. 项目资源配置
# ========================================================
# 头文件路径
include_directories(
        ./
        ${SDK_PATH}/source/third_party/CMSIS/Core/Include
        ${SDK_PATH}/source/
)

# 宏定义
add_definitions(
        -D${MCU_DEFINE}
)

# 源文件收集
file(GLOB_RECURSE SOURCES
        "empty.c"
        "ti_msp_dl_config.c"
        "keil/startup_mspm0g350x_uvision.s"
)

# 排除不需要的源文件
file(GLOB REMOVE_SOURCES
        "./gcc/*.*"
        "./iar/*.*"
        "./ticlang/*.*"
)
list(REMOVE_ITEM SOURCES ${REMOVE_SOURCES})

当你需要添加头文件/源文件时,请在上述代码中添加你的引用文件夹、源文件(如果有多个源文件可以使用 folder/*.c 来查找folder下的所有C文件(folder的folder里面的C文件也会被添加进去))

最后来到173-174行

#        COMMAND ${CMAKE_OBJCOPY} --info totals "${AXF_FILE}"
        COMMAND ${SIZE_TOOL} -d0 -m ${MAP_FILE} -s ${SECTIONS_SCRIPT_PATH} -f progbar

COMMAND ${CMAKE_OBJCOPY} --info totals "${AXF_FILE}这一行取消注释

COMMAND ${SIZE_TOOL} -d0 -m ${MAP_FILE} -s ${SECTIONS_SCRIPT_PATH} -f progbar这一行注释掉。

完成了上述的操作后,点击右上角的绿色小锤子图标,不出意外的应该可以正常编译了。

接着来配置Shell脚本内容,鼠标点击一下顶部状态栏中间的东西,然后点击编辑配置:
在这里插入图片描述
点击”+“号添加新配置,往下拉找到"Shell Script"
在这里插入图片描述
打开根目录里的Shell脚本内容.txt,将其中的参数如图填入:
在这里插入图片描述
在这里插入图片描述
在脚本文本中右边有个展开的符号,展开后需要修改的东西有:1、你的SysConfig安装地址;2、你的SDK安装地址;3、最后一行的地址换成你的项目文件夹地址。
修改完成后点击”应用“和”确定“保存。此时点击顶部的绿色小三角箭头,即可打开SysConfig界面:
在这里插入图片描述

4、配置CMD命令

在这里插入图片描述
可以先点击切换到蓝色的那个选项,也可以直接点击编辑配置:
在这里插入图片描述
在”“执行前”选项中,点击“+”号,“运行外部工具”
在这里插入图片描述
添加一个外部工具,参数如下:
在这里插入图片描述
在这里插入图片描述
相关命令在cmd命令.txt中
需要修改的只有第三行,C:\Software\TI\mspm0_sdk_2_05_01_00\examples\nortos\LP_MSPM0G3507\driverlib\empty
将其改为你的项目根目录,比如我这里就是:C:\WorkingDir\TI\CSDN
修改完成后保存退出,回到
在这里插入图片描述
选中“外部工具/CMD”,然后点击第四个在这里插入图片描述将外部工具放到构建的上面。

自此,所有步骤配置完毕。点击应用并运行试试,不出意外的话应该可以正常使用了。

四、使用体验

配置完成后的样子:
在这里插入图片描述
点击切换到SysConfig,然后点击绿色小三角可以打开SysConfig界面
在这里插入图片描述
配置完成后保存,回到CLion切换回蓝色的构建目标,然后点击绿色小三角可读取配置并编译,编译完成后可能会出现如下提示:
在这里插入图片描述
那个红色的提示不用管他,重点看终端的提示即可。

程序下载

OpenOCD似乎已支持MSPM0的下载,但是既然我们都用keil了,所以肯定要玩点邪门的,还记得之前让你把构建文件夹路径修改至keil/Objects中吗?当Clion构建完成后,可以打开keil,使用keil下载(不用keil编译,直接配置好下载器后使用keil完成下载操作。理论上可以直接使用命令行进行keil的下载调用,但是我没整明白。)

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐