一.创建新工程
找到"driverlib\empty"空白工程,CTRL+C然后CTRL+V复制副本
重命名为G3507_RTT
打开KEIL工程
双击empty.syscfg,然后打开SYSCONFIG
我的不知道为啥没有48pin选项,如果你也一样,可以跟着我做,如果你的正常就不需要再更改芯片型号
更改芯片型号
保存,编译
编译没有错误
二.添加rtthread到工程
如何安装rtthread 3.1.5 keil pack请参考
使用 MDK 移植 (rt-thread.org)https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-nano/nano-port-keil/an0039-nano-port-keil
将内核加入工程
这时候编译会报错 #error "TODO 1: OS Tick Configuration.,这是rtt主动加的一个报错,提示你需要实现相应功能才能正常使用rtt
这也正好是我们下一步要做的事。
三.修改rtt代码
修改说明参考:
使用 MDK 移植 (rt-thread.org)https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-nano/nano-port-keil/an0039-nano-port-keil有兴趣看看,我们就直接开始了
rt_hw_board_init里添加代码
/*** This function will initial your board.*/
void rt_hw_board_init(void)
{SYSCFG_DL_init(); //在使用任何板级支持包的API之前,执行所需的任何初始化工作。DL_SYSTICK_config(CPUCLK_FREQ/RT_TICK_PER_SECOND);//时钟配置#ifdef RT_USING_COMPONENTS_INITrt_components_board_init();
#endif#if defined(RT_USING_USER_MAIN) && defined(RT_USING_HEAP)rt_system_heap_init(rt_heap_begin_get(), rt_heap_end_get());
#endif
}
会报红,因为头文件还没加
添加头文件,头文件要添加绝对路径,很奇怪
这是我的头文件绝对地址,你要填自己的。
这时候编译就不会报错。
添加终端服务函数:
void rt_os_tick_callback(void)
{rt_interrupt_enter();rt_tick_increase();rt_interrupt_leave();
}void SysTick_Handler()
{rt_os_tick_callback();
}/*** This function will initial your board.*/
void rt_hw_board_init(void)
{SYSCFG_DL_init(); //在使用任何板级支持包的API之前,执行所需的任何初始化工作。DL_SYSTICK_config(CPUCLK_FREQ/RT_TICK_PER_SECOND);//时钟配置#ifdef RT_USING_COMPONENTS_INITrt_components_board_init();
#endif#if defined(RT_USING_USER_MAIN) && defined(RT_USING_HEAP)rt_system_heap_init(rt_heap_begin_get(), rt_heap_end_get());
#endif
}
四.使用LED闪烁验证移植是否成功
这时候其实就已经移植完成了,但是我们看不出来,那就开个小灯试一下吧,跟着我做
打开SYSCONFIG
GPIO配置详解请参考,写的很详细
3. 点亮第一个灯 | 立创开发板技术文档中心 (lckfb.com)https://wiki.lckfb.com/zh-hans/dmx/beginner/led.html
保存。
修改mian函数
#include "ti_msp_dl_config.h"
#include "rtthread.h"int main(void)
{SYSCFG_DL_init();while (1){DL_GPIO_clearPins(LED1_PORT,LED1_PIN_14_PIN);//输出低电平rt_thread_mdelay(1000);DL_GPIO_setPins(LED1_PORT,LED1_PIN_14_PIN); //输出高电平rt_thread_mdelay(1000);}
}
程序下载到单片机后现象
更改延时为500ms现象:
程序运行正常
本篇教程到此结束,如果对你有帮助请点赞收藏