建树莓派3b/3b+ rt-thread的多核开发环境

1.本文目的

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

2.准备条件

    1.raspberry-pi 3b/3b+均可,本文使用的是3b+版本

    2.usb转ttl串口模块,本文使用的是ch340

    3. ubuntu系统的电脑, 本文使用的是ubuntu18.04

  准备好上述资源后,就可以开始raspberry-pi的rt-thread多核之旅了

3. rt-thread源码编译

   1.以下链接获取rt-thread源码

    git clone [email protected]:RT-Thread/rt-thread.git

   2.下载工具链,这里使用的是

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

    网上有很多资源地址可以下载.

   3. 编译源码

    1),解压工具链,gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2,

     

   2)RT-Thread源码包中,BSP 包下有三个目录

     

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

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

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

    ⽬前我们通过 raspi3-32 来进⾏相关的演⽰。

     3) 编译

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

      EXEC_PATH   = r'/home/czl/WorkSpace/melis/shumeipai/tools/gcc-arm-none-eabi-5_4-2016q3/bin'

 

 进入到rt-thread/bsp/raspberry-pi/raspi3-32

  执行scons

建树莓派3b/3b+ rt-thread的多核开发环境_第1张图片

等待片刻,编译结束后,kernel7.img即是最终的内核文件

  建树莓派3b/3b+ rt-thread的多核开发环境_第2张图片

清除编译过程,请执行

 scons --clean

4.raspberry-pi 3b+ 启动SD卡的制作

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

  首先准备一张SD卡,然后格式化,这⾥推荐⼀个格式化⼯具gparted。利⽤这个⼯具将SD卡删除分区,变成未分配的即可建树莓派3b/3b+ rt-thread的多核开发环境_第3张图片

点击对钩, 对所做的操作进行执行保存即可完成

然后从树莓派官⽹上下载树莓派3b+的镜像,解压后烧录到sd卡上

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

5.去掉Linux内核

   打开制作好的官⽅的⽂件,可以看到有⼏个kernel,这⼏个最好都删掉   建树莓派3b/3b+ rt-thread的多核开发环境_第4张图片

然后把刚才编译的kernel7.img复制到这⾥

6.⽬前版本是使⽤raspi3的 GPIO 14, GPIO 15来作路⼝输出,连线情况如下图所⽰

3b/3b+均是如此,下图应该是3b的,但也适用于3b+

建树莓派3b/3b+ rt-thread的多核开发环境_第5张图片

按上⾯的⽅法做好SD卡后,插⼊树莓派3B,通电可以在串⼝上看到如下所⽰的输出信息:

建树莓派3b/3b+ rt-thread的多核开发环境_第6张图片

7:通过YMODEM下载rtt内核

  xmodem, ymodem,zmodem是一个非常高效的文件传输协议,可以在无网络的情况下,使用SecureCRT或者MiniCOM软件输入loady命令进行串口传输内核和文件系统,u-boot支持ymodem协议进行数据传输

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

8.树莓派uboot的制作

   https://ftp.denx.de/pub/u-boot/

下载u-boot源码

    wget -c https://ftp.denx.de/pub/u-boot/u-boot-2020.01.tar.bz2

 依次执行

 export ARCH=arm

 export CROSS_COMPILE=arm-linux-gnueabi-

 make rpi_2_defconfig

 make

建树莓派3b/3b+ rt-thread的多核开发环境_第7张图片

编译结束后,得到u-boot.bin 

9:u-boot启动流程设置

  1)拷贝u-boot.bin到 sd卡 boot目录下

  2)编辑config.txt

建树莓派3b/3b+ rt-thread的多核开发环境_第8张图片

10. 通过ymodem下载程序并启动

  后将sd卡放在树莓派上,上电即可看到树莓派正常的启动了建树莓派3b/3b+ rt-thread的多核开发环境_第9张图片

 

接着输入

loady 0x00008000 115200

启动ymodem接收历程

字符'C'是ymodem协议的一部分

然后在minicom输⼊Ctrl+A

建树莓派3b/3b+ rt-thread的多核开发环境_第10张图片

然后选择S,发送文件,选择ymodem

建树莓派3b/3b+ rt-thread的多核开发环境_第11张图片

输入内核路径 

建树莓派3b/3b+ rt-thread的多核开发环境_第12张图片

建树莓派3b/3b+ rt-thread的多核开发环境_第13张图片

建树莓派3b/3b+ rt-thread的多核开发环境_第14张图片

 

传输结束后,

执行

go 0x8000

即可看到内核输出运行

建树莓派3b/3b+ rt-thread的多核开发环境_第15张图片

你可能感兴趣的:(建树莓派3b/3b+ rt-thread的多核开发环境)