前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >高效搭建树莓派3b rt-thread的开发环境

高效搭建树莓派3b rt-thread的开发环境

作者头像
bigmagic
发布2020-03-17 15:00:11
3.1K0
发布2020-03-17 15:00:11
举报
文章被收录于专栏:嵌入式iot嵌入式iot嵌入式iot

前言

由于电子设备的普及,越来越多人拥有树莓派,不管是作为电子极客,还是作为普通普通人,很多人都会玩一下树莓派,可以学习一些c语言,也可以学习嵌入式。下面我来介绍一下如何在树莓派上运行rt-thread rtos。

01

准备条件

本文主要介绍如何快速高效的搭建树莓派rt-thread的开发环境。按照文章的步骤,可以很方便的将rt-thread运行起来。

准备条件:

1.树莓派3b

2.usb转ttl模块(树莓派串口输出)

3.一台装有Ubuntu16.04的电脑

当准备好这些东西后,就可以开启我们的树莓派rt-thread之旅了。

02

源代码编译

源代码仓库在可以从rt-thread的官网上查看

git clone git@github.com:RT-Thread/rt-thread.git

其中bsp包下已经有三个文件

raspi2:针对树莓派2的bsp,目前功能较少

raspi3-32:树莓派3b,基本上比较完善,支持多核

raspi3-64:树莓派3b 64位版本

目前我们通过raspi3-32来进行相关的演示。

03

开发环境搭建

Linux下推荐使用gcc工具 gcc-arm-none-eabi-5_4-2016q3,如果还没有编译工具,下载后,解开文件。

tar vxf gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2

Linux环境下需要修改编译器目录设置,修改bsp/raspi3-32/rtconfig.py中的

EXEC_PATH = r'/opt/gcc-arm-none-eabi-5_4-2016q3/bin'

为编译工具的实际所在目录,这里注意要加上后缀 /bin

进入到rt-thread/bsp/raspi3-32目录中,运行以下命令:

scons

可以看到生成对应的kernel7.img,该文件就是可执行文件。

04

树莓派SD卡的制作

要想编译出来的kernel文件正常的运行在树莓派上,需要制作SD卡镜像。

格式化SD卡

首先准备一张SD卡,然后格式化

这里推荐一个格式化工具gparted。利用这个工具将SD卡格式化成未分配的即可。

此时点击绿色的对勾就可以完全将SD卡格式化了。

烧录树莓派官方镜像

然后从树莓派官网上下载树莓派的镜像,解压后烧录到sd卡上。

sudo dd if=2019-09-26-raspbian-buster-full.img of=/dev/sda bs=4M

当然,官网上下载很慢,所以我将这个镜像也传到了百度网盘上了。

链接: https://pan.baidu.com/s/1IqFiGdZXmLzWgqHTL3B8Vw

提取码: i6wi

去掉Linux镜像

打开制作好的官方的文件,可以看到有几个kernel,这几个最好都删掉。

然后用刚才编译的kernel7.img复制到这里。

准备好串口线

目前版本是使用raspi3的 GPIO 14, GPIO 15来作路口输出,连线情况如下图所示:

串口参数:115200 8N1 ,硬件和软件流控为关。

按上面的方法做好SD卡后,插入树莓派3B,通电可以在串口上看到如下所示的输出信息:

05

通过YMODEM下载RTT

上述步骤中,修改代码后每次都需要重新上电断电。并且每次都需要将电脑上的镜像转移到sd卡上。非常不方便开发调试,为了解决这些问题。可以借助uboot的TFTP和Ymodem将内核镜像转移到树莓派的内存中。

树莓派uboot的制作

编译树莓派的uboot

下载地址https://ftp.denx.de/pub/u-boot/

解压后可以进行相关的操作:

export CROSS_COMPILE=arm-linux-gnueabihf-

export ARCH=arm

make rpi_2_defconfig

输入make后编译uboot。

当然,为了如果不想自己编译,可以用我已经制作好的uboot即可。

链接: https://pan.baidu.com/s/1U3QjIqQDA1lvp236RpRaWA

提取码: 938e

uboot启动设置

将编译好的u-boot.bin放到sd卡中,然后修改树莓派的启动文件

修改config.txt文件

kernel=u-boot.bin

enable_uart=1

通过ymodem下载程序并启动

然后将sd卡放在树莓派上,上电即可看到树莓派正常的启动了。

接着输入loady 0x00008000 115200

然后输入Ctrl+A 然后 s的组合键

选择刚才生成的kernel7.img文件即可

下载完成后输入go 0x8000即可看到正常运行

06

总结

通过以上的步骤,可以完全的将树莓派运行起来。并且通过uboot作为下载工具,完全的省去了每次都要用读卡器转移镜像的烦恼,提高工作效率,让开发变得更加高效简洁。

rt-thread的树莓派引入了多核和64位体系架构,可玩性非常的高,而且基本的外设也已经实现,后续开发更加便捷,对于学习嵌入式与rtos多核操作非常方便。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式IoT 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档