当前位置: 首页 > news >正文

【笔记】MSPM0G3507移植RT-Thread——MSPM0G3507与RT_Thread(二)

一.创建新工程

找到"driverlib\empty"空白工程,CTRL+C然后CTRL+V复制副本

重命名为G3507_RTT

打开KEIL工程

双击empty.syscfg,然后打开SYSCONFIG

我的不知道为啥没有48pin选项,如果你也一样,可以跟着我做,如果你的正常就不需要再更改芯片型号

更改芯片型号

保存,编译

编译没有错误

二.添加rtthread到工程

如何安装rtthread 3.1.5 keil pack请参考

使用 MDK 移植 (rt-thread.org)icon-default.png?t=N7T8https://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)icon-default.png?t=N7T8https://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)icon-default.png?t=N7T8https://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现象:

程序运行正常

本篇教程到此结束,如果对你有帮助请点赞收藏

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 图书借阅会员员工管理小程序开发
  • Spring事务管理和事务传播机制详解
  • 项目成功的关键:10款需求文档管理工具
  • Android进阶之路 - res、raw、assets 资源解析、区别对比
  • 生态系统NPP及碳源、碳汇模拟(土地利用变化、未来气候变化、空间动态模拟)
  • 【瑞芯微RV1126(板端摄像头图像数据采集)】②使用v4l2视频设备驱动框架采集图像数据,按键拍照并显示
  • 《Hadoop大数据技术与实践》+ 数仓版本
  • 使用免费图书馆条形码扫描仪快速扫描书籍
  • HarmonyOS应用开发者高级认证(一)
  • AI学习记录 - 自注意力机制中掩码的注意事项
  • 在亚马逊云科技上安全、合规地创建AI大模型训练基础设施并开发AI应用服务
  • 传输层安全性 ——TLS(Transport Layer Security)简介
  • Web Image scr图片从后端API获取基本实现
  • 【源码+论文】基于SpringBoot的网上订餐系统
  • ThinkPHP5漏洞分析之文件包含
  • [译] 怎样写一个基础的编译器
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • ES6--对象的扩展
  • Golang-长连接-状态推送
  • Javascript编码规范
  • React-redux的原理以及使用
  • Redis 懒删除(lazy free)简史
  • Vue.js-Day01
  • webgl (原生)基础入门指南【一】
  • 回顾 Swift 多平台移植进度 #2
  • 基于web的全景—— Pannellum小试
  • 力扣(LeetCode)21
  • 免费小说阅读小程序
  • 爬虫模拟登陆 SegmentFault
  • 前嗅ForeSpider采集配置界面介绍
  • 使用Gradle第一次构建Java程序
  • 微信小程序开发问题汇总
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • Python 之网络式编程
  • ​渐进式Web应用PWA的未来
  • # wps必须要登录激活才能使用吗?
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • %check_box% in rails :coditions={:has_many , :through}
  • (1)(1.13) SiK无线电高级配置(五)
  • (pojstep1.1.2)2654(直叙式模拟)
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (三十)Flask之wtforms库【剖析源码上篇】
  • (十)c52学习之旅-定时器实验
  • (四)事件系统
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .NET Framework 服务实现监控可观测性最佳实践
  • .NET 快速重构概要1