之前一直不懂怎么使用RT Thread的软件包,感谢网上的大神,看了你们的博客后大概了解一些,在此做下记录。用RT Thread软件包需要RT Thread的系统,但是RT Thread和RT Thread nano不一样,具体区别见 RT Thread官网,注意文件路径请查看图片,写的有些仓促不好意思了各位;

一、RT Thread制作自己的bsp需要准备的工具如下:

1、env配置工具及配置方法看官网:https://www.rt-thread.org/document/site/programming-manual/env/env/

2、RT Thread系统软件包:https://gitee.com/rtthread/rt-thread

二、文档说明:

1、在RT Thread软件包中有如何移植BSP驱动的方法,我这里只记录我是怎么移植成功的可能和教程有点点区别;


三、 BSP 制作方法:

制作stm32f103C8T6开发板的 BSP 为例,讲解如何为一个新的开发板添加 BSP。
BSP 的制作过程分为如下五个步骤:
1. 复制通用模板
2. 使用 CubeMX 工具配置工程
3. 修改 BSP 中的 Kconfig 文件
4. 修改构建工程相关文件

1、复制通用模板:制作新 BSP 的第一步是复制一份同系列的 BSP 模板作为基础,通过对 BSP 模板的修改来获得新 BSP。

2、使用 CubeMX 配置工程:在制作 BSP 的第二步,需要创建一个基于目标芯片的 CubeMX 工程。

3、拷贝初始化函数:

3.1、在 **board.c** 文件中存放了函数 `SystemClock_Config()` ,该函数负责初始化系统时钟。当使用 CubeMX 工具对系统时钟重新配置的时候,需要更新这个函数。
该函数由 CubeMX 工具生成,默认存放在`board/CubeMX_Config/Src/main.c` 文件中。但是该文件并没有被包含到我们的工程中,因此需要将这个函数从 main.c 中拷贝到 board.c 文件中。在整个 BSP 的制作过程中,这个函数是唯一要要拷贝的函数,该函数内容如下所示:

3.2、在 **board.h** 文件中配置了 FLASH 和 RAM 的相关参数,这个文件中需要修改的是 `STM32_FLASH_SIZE` 和 `STM32_SRAM_SIZE` 这两个宏控制的参数。本次制作的 BSP 所用的 STM32F103C8T6 芯片的 flash 大小为 64k,ram 的大小为 20k,因此对该文件作出如下的修改:

4、修改 Kconfig 选项:在本小节中修改 `board/Kconfig` 文件的内容有如下:

5、修改链接脚本:下面以 MDK 使用的链接脚本 link.sct 为例,演示如何修改链接脚本:

6、修改构建脚本:**SConscript** 脚本决定 MDK/IAR 工程的生成以及编译过程中要添加文件。在这一步中需要修改芯片型号以及芯片启动文件的地址,修改内容如下图所示:因为没有STM32F103C8T6的所以未作修改;

7、修改工程模板:修改该文件可以设置工程中使用的芯片型号以及下载方式。

8、重新生成工程:重新生成工程需要使用 env 工具。

右键选择env工具,然后在env界面输入命令menuconfig对工程进行配置,并生成新的rtconfig.h文件。

使用 env 工具输入命令 `scons --target=mdk5` 重新生成工程,如下图所示:

重新生成工程成功,打开工程,并修改MDK配置:

以上移植成功;

源码链接:链接:https://pan.baidu.com/s/1cnTND06a3wabNWwTbY1Ljw 
提取码:kbvv

RT Thread根据开发板制作BSP方法相关推荐

  1. Mysql rk3399_RK3399 友善NanoPC-T4开发板使用sysfs方法控制status LED状态灯-【申嵌视频-RK3399篇】...

    实验1:sysfs 操作方法控制NanoPC-T4开发板上LED灯 (status LED状态灯:GPIO0_B5/LED1_OUT) root@NanoPC-T4: cd /sys/class/le ...

  2. RT-ThreadBearPi 开发笔记 -- 为小熊派开发板制作 RT-Thread BSP 包

    为小熊派开发板制作 RT-Thread BSP 包 前段时间,微联智控工作室向南京厚德物联网有限公司申请了一款物联网开发平台---小熊派物联网开发套件(BearPi-IoT).关于小熊派IoT开发平台 ...

  3. 用安信可ESP32-G开发板制作一个简易路由器

    文章目录 一.前言 二.中继路由器 三.以太网路由器 四.源码及使用方法 联系我们 一.前言 本文介绍用安信可ESP32-G开发板制作一个路由器,有两种玩法; ESP32无线连接路由器后开启热点,周围 ...

  4. 【ESP32S2】使用ESP32S2开发板制作U盘,支持无线访问

    文章目录 前言 一.开发环境 二.硬件介绍 三.下载esp-idf 四.下载esp-iot-solution 五.配置idf 1.执行下载脚本 2.设置环境变量 3.声明外部组件 六.构建例程 七.烧 ...

  5. esp32-C3开发板制作钉钉蓝牙打卡神器

    我之前对嵌入式.开发板的使用没太接触过.这篇文章记录我用esp32开发板制作钉钉打卡神器的过程,如果能对其他人有一点点小帮助那就更好啦. 关于打卡环境(打卡方式).我们实验室门口墙上有一个考勤机,考勤 ...

  6. arduino串口监视器显示nan_使用Arduino开发板制作摩尔斯电码生成器

    摩尔斯电码是一种通信系统,用于在两个不同持续时间的信号中编码任何字符,称为点和虚线.摩尔斯电码由Samuel F.B开发.并进一步用于电报传输秘密信息.它在第二次世界大战时最常用.摩尔斯电码可以通过点 ...

  7. FPGA之道(19)以FPGA为核心的开发板制作

    文章目录 前言 开发板制作 前言 学习FPGA的初期,我们习惯到网上买一款FPGA开发板,这是新手学习FPGA开发的最佳途径,负责任的开发板制作者会提供相应的教程供练习,毕竟能动手操作上板子才是真正玩 ...

  8. Arduino开发板制作

    Arduino UNO 介绍 ,Arduino开发板制作 教程: Arduino制作 Arduino UNO 图 Arduino是什么 Arduino是一款便捷灵活.方便上手的开源电子原型平台.包含硬 ...

  9. STM32G070RBT6迷你开发板制作总结

    STM32G070RBT6迷你开发板制作总结 目录 STM32G070RBT6迷你开发板制作总结 1.组成概述 1.原理图绘制 系统组成 本系统由五部分构成:电源,晶振,复位电路.调试接口,调试芯片电 ...

最新文章

  1. win内置ubuntu安装_win10安装内置ubuntu教程
  2. 解决端口出现err-disabled问题
  3. Configuring the Java Virtual Manager (JVM)
  4. python不可以操作access数据库_Python操作Access数据库基本操作步骤分析
  5. another CRM inbound debug - 另一个CRM中间件的调试记录
  6. python读取数据库数据释放内存_在使用python处理数据时,为什么其内存无法自动释放掉?...
  7. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_18-CMS前端页面查询开发-页面原型-创建页面和定义路由...
  8. 次坐标从0开始_全站仪使用方法及坐标计算,详细讲解!建议收藏!
  9. 远程屏幕共享软件哪个比较好用
  10. Mode Collapse 和 Mode Dropping的定义与不同
  11. 上众筹,智能手环走“全民路线”破局?
  12. Ipad2 使用心得
  13. 墙裂推荐6个优质公众号
  14. “太上,不知有之;其次,亲而誉之;其次,畏之;其次,侮之。”
  15. Java编程之华氏和摄氏的转换
  16. 搜索引擎优化与信息检索有什么关联
  17. 竞赛资讯|A股上市公司季度营收预测
  18. cross_val_score的 scoring参数值解析
  19. 大二芯TS、大三芯TRS及卡侬头音频接口的使用
  20. 自动驾驶汽车测试技术与应用进展

热门文章

  1. 【一点自己的人生经历】记一次考博经历
  2. 2021GDCPC题解(12/12)
  3. Vue + Element UI 中国省市区数据三级联动
  4. 移动端WebApp开发 你需要从这几点学起
  5. 【OpenFace】
  6. 基于STM32的智能点餐系统
  7. 狭长矢量图斑的消除(python)
  8. 一步一步实现STM32-FOTA系列教程之FLASH静态区读写
  9. chrome浏览器版本98,本地设置cookie失败的解决方案
  10. CC2541 内存区域