rtthread系统 - 普中stm32开发板 - 系统移植

7 篇文章 2 订阅
7 篇文章 0 订阅

移植准备

源码准备

rtthread官网源码下载

软件准备

STM32CubeMX
Keil5
Xshell
Scons
Python

开始移植

把源码解压到一个没有中文路径的文件夹,我就解压到

D:\software\workspace\rt-thread

进入

bsp\stm32

这些bsp都是一些厂商自己的开发板,rtthread官方给这些板子写好了bsp。我用的板子是普中科技STM32F103ZET6的板子,rtthread官方没有写这个板子的bsp,但是官方例程里面有正点原子的板子,也是STM32F103ZET6,为以下这个

stm32f103-atk-warshipv3

那么就根据这个例程为模板,删删改改适配普中科技的板子。
在这我就把无关的bsp删除掉,上一级目录的除了stm32其他芯片厂商的也删掉。
再把例程名字改成

00-stm32f103-prechin

前面00序号方便之后bsp修改的版本迭代,文件夹名字不要有中文,最好也不要有空格。

修改CubeMX工程

打开00-stm32f103-prechin文件夹,再进入board\CubeMX_Config文件夹,打开CubeMX工程,检查CubeMX里面配置了什么资源。
在这里插入图片描述

时钟和定时器采用默认就可以了,因为都是同一款芯片的。检查串口引脚,也是用了uart1(PA9,PA10)和普中的板子一样,也不用修改。如果修改过,就重新生成HAL代码就可以了。

修改keil工程

回到00-stm32f103-prechin目录,打开project.uvprojx工程,编译一下,出现了报错

.\build\keil\Obj\rt-thread.axf: error: L6002U: Could not open file
.\build\keil\obj\msh_cmd.o: No such file or directory

没找到msh_cmd这个文件,打开资源目录。
在这里插入图片描述

确实msh_cmd.c这个文件没找到,到rt-thread根目录搜一下,也都没找到这个文件(可能官方漏了这个文件),那就不管了,把这个文件排除出编译。再编译一下,不报错了。

下载程序

因为我用J-Link下载程序,就要配置对应的J-Link的下载算法和debug。没有J-Link的话,那就另算下载.bin或者.hex了。
在魔法棒中修改debug。
在这里插入图片描述
点击setting,进去。
在这里插入图片描述
点击Add,选中对应的下载算法。
下载程序进板子。接上调试的串口,连接上串口工具(我用的Xshell),复位开发板。
在这里插入图片描述
出现了这个logo,OK啦,基本的移植已经完成。
但是系统运行后,我这个板子上,蜂鸣器一卡一卡的响,我就想到了,可能原本正点原子的例程应该的点灯,刚好那个灯的引脚就是我这板子上蜂鸣器的引脚。回去检查代码,发现正如前面猜测。修改主函数里面,LED引脚为我这板子的LED引脚,再编译下载,灯也开始亮了,移植就这样完成了。

#include <rtthread.h>
#include <rtdevice.h>
#include <board.h>

/* defined the SYS_LED pin: PB5 */
#define SYS_LED		GET_PIN(C, 7)

int main(void)
{
    int count = 1;
    /* set SYS_LED pin mode to output */
    rt_pin_mode(SYS_LED, PIN_MODE_OUTPUT);

    while (count++)
    {
        rt_pin_write(SYS_LED, PIN_HIGH);
        rt_thread_mdelay(500);
        rt_pin_write(SYS_LED, PIN_LOW);
        rt_thread_mdelay(500);
    }

    return RT_EOK;
}

结尾

rtthread学习中,打开主页查看更多笔记

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值