在K210芯片上移植RT-Thread

本次移植的开发板为KD233(基于K210芯片),开发环境为Ubuntu

一、交叉编译工具链

安装工具链
链接:https://github.com/ilg-archived/riscv-none-gcc/releases

下载gnu-mcu-eclipse-riscv-none-gcc-8.2.0-2.2-20190521-0004-centos64.tgz
这里不要使用kendryte官方的toolchain,无法完成,原因还没搞清楚。
下载后将工具解压

$ sudo mv gnu-mcu-eclipse-riscv-none-gcc-8.2.0-2.2-20190521-0004-centos64.tgz /opt
$ cd /opt
$ sudo tar -zxvf gnu-mcu-eclipse-riscv-none-gcc-8.2.0-2.2-20190521-0004-centos64.tgz

​ 打开~/.bashrc文件,在文件末尾添加如下一行,将 /opt/kendryte-toolchain/bin 目录添加到PATH环境变量,并更新生效

export PATH=$PATH:/opt/gnu-mcu-eclipse/riscv-none-gcc/8.2.0-2.2-20190521-0004/bin
$ source ~/.bashrc 

二、下载RT-Thread源码

链接:https://www.rt-thread.org/page/download.html
选择自己喜欢的方式下载。

三、scons编译配置

首先配置scons编译时用的工具链路径。在下载好的rtt源码下找到k210的bsp,路径如下:\rt-thread\bsp\k210,打开文件夹中的rtconfig.py

# toolchains options
ARCH        ='risc-v'
CPU         ='k210'
CROSS_TOOL  ='gcc'

if os.getenv('RTT_ROOT'):
    RTT_ROOT = os.getenv('RTT_ROOT')
else:
    RTT_ROOT = r'../..'

if os.getenv('RTT_CC'):
    CROSS_TOOL = os.getenv('RTT_CC')

if  CROSS_TOOL == 'gcc':
    PLATFORM    = 'gcc'
    EXEC_PATH   = r'/opt/gnu-mcu-eclipse/riscv-none-gcc/8.2.0-2.2-20190521-0004/bin'
else:
    print('Please make sure your toolchains is GNU GCC!')
    exit(0)

#if os.getenv('RTT_EXEC_PATH'):
#    EXEC_PATH = os.getenv('RTT_EXEC_PATH')

需要修改2个地方:一是EXEC_PATH,改为第一步中工具链的路径;二是最后两行代码用#注释掉,防止与env中默认指向内部的arm-gcc工具链的路径冲突。

四、打开VSCode

在RTT源码下/rt-thread/bsp/k210路径打开终端,开启配置界面

$ scons --menuconfig

使用该命令后会安装及初始化 Env 工具,并在 home 目录下面生成 “.env” 文件夹,此文件夹为隐藏文件夹,切换到 home 目录,使用 la 命令可查看所有目录和文件。

$ la ~/.env
env.sh  local_pkgs  packages  tools

运行 env.sh 配置环境变量

$ source ~/.env/env.sh

使用 pkgs --update 命令下载软件包到 BSP 目录下的 packages 文件夹里

$ pkgs --update

然后输入命令code .(不要漏掉后面的空格和点),召唤VSCode

$ code .

点击TERMINAL。现在VSCode中的终端就变成了env工具,可以直接在这个终端中进行env的一些操作。这里我们要先输入指令,scons --target=vsc -s,如下图
在这里插入图片描述这条指令能将在env中配置产生的头文件的搜索路径添加到vs code中,每次使用完env中的menuconfig功能后都要记得使用这个指令更新一下配置,否则可能会出现找不到头文件的错误。

五、编译和下载

在vs code的终端中输入“scons”并按回车,等待一会儿要是没有error,显示scons: done building targets.就成功完成编译了,工程文件夹中就会多出一个bin文件
在这里插入图片描述下载kflash.py,链接:https://github.com/kendryte/kflash.py
解压kflash.py-master.zip到任意文件夹(你喜欢哪里就解压到哪里),电脑连接KD233并上电。
在解压后的kflash.py-master文件夹下打开终端,下载bin文件(路径根据你的源码所在路径输入)

$ sudo python3 kflash.py -t /media/zhaojs0622/Data/rt-thread/bsp/k210/rtthread.bin

等待烧录完成后,熟悉的RTT界面就出现了。
在这里插入图片描述

参考文章:
1、在sipeed maix go上用上rt-thread以及vs code
https://blog.csdn.net/qq_40688292/article/details/103927710
2、在 Ubuntu 平台开发 RT-Thread
https://www.rt-thread.org/document/site/application-note/setup/qemu/ubuntu/an0005-qemu-ubuntu/
3、K210命令行开发环境搭建指南
https://forum.kendryte.com/topic/216/k210-q-a/2

发布了1 篇原创文章 · 获赞 2 · 访问量 59

猜你喜欢

转载自blog.csdn.net/m0_37570531/article/details/105280876
今日推荐