根据上一篇完成SDK、SysConfig、KEIL等开发环境的相关配置,本篇我们将从官方SDK中迁移出一个Demo工程。
复制一个空工程
E盘新建一个Demo文件夹,从SDK中复制一个工程到此文件内。例如: C:\ti\mspm0_sdk_1_10_00_05\examples\nortos\LP_MSPM0G3507\driverlib\gpio_toggle_output
打开“README.html”,这里有TI官方对工程的配置和描述,以及下载到开发板后的现象。此工程是三个GPIO口轮流切换,分别点亮RGB三色灯。
设置头文件路径
打开KEIL文件下的Keil工程,单击魔术棒,设置头文件目录。
修改前
修改后
采用绝对路径的方式包含所需的头文件。
设置User Command
设置好头文件,重新编译工程,提示“User Command #1”有错误。
打开魔术棒找到User,找到Before Build中的 Run #1,涉及到/tools/keil文件夹下的syscfg.bat,以及本工程文件下的gpio_toggle_output.syscfg两个配置文件。
cmd.exe /C "$P../../../../../../tools/keil/syscfg.bat '$P' gpio_toggle_output.syscfg"
通过绝对路径的方式修改Run #1,指向SDK安装路径下的syscfg.bat配置文件,具体如下:
cmd.exe /C "C:\ti\mspm0_sdk_1_10_00_05\tools\keil\syscfg.bat '$P' gpio_toggle_output.syscfg"
备份/tools/keil文件夹
重新编译工程,提示“.metadata\product.json”文件不存在。
Invalid argument '-s': File "E:\.metadata\product.json" does not exist
打开工程文件下的gpio_toggle_output.syscfg,没有发现指向该文件的地方。继续打开SDK路径/tools/keil文件夹下的syscfg.bat,发现该文件内指向了“.metadata\product.json”
因为SDK内的所有例程均使用了syscfg.bat,如果我们此时直接修改,那么example文件下的例程均受影响。复制一份作为备份,让我们自己的工程文件指向该备份文件。
修改syscfg.bat文件
修改keil_backup文件下的syscfg.bat文件,依旧采用绝对路径的方式,注意“.metadata”为隐藏文件,需要勾选查看栏中的“隐藏项目”
%SYSCFG_PATH% -o "%PROJ_DIR%.." -s "C:\ti\mspm0_sdk_1_10_00_05\.metadata\product.json" --compiler keil "%PROJ_DIR%..\%SYSCFG_FILE%"
同时把User Command中的路径指向keil_backup文件下的syscfg.bat文件
添加.h/.c文件
继续重新编译工程,提示错误“L6002U”,同时“driverlib.a”有黄色感叹号。
打开C:\ti\mspm0_sdk_1_10_00_05\docs\chinese\tools\keil_ide_guide下的html文件有关于driverlib.a的介绍
可以把driverlib.a文件删除,在keil工程中添加C:\ti\mspm0_sdk_1_10_00_05\source\ti\driverlib路径下的.h和.c文件。
把所有的文件均添加到工程中,后面具体应用时再做裁剪。
重新编译工程无报错,下载到开发板中,RGB LED依次闪烁。
至此,从SDK中迁移一个Demo工程已完成。