本文主要讲解k210在ubuntu23.04操作系统中的环境搭建
1.获取工具链
github下载工具链
截止到目前最新版本是:Kendryte GNU Toolchain v8.2.0-20190409[Pre-release]。
编译好的镜像有ubuntu版本和windows版本,本章我们主要讲解的是ubuntu系统的开发环境。
Version
- Binutils 2.31.51
- GDB 8.2
- GCC 8.2.0
- Compiled with --enable-threads=posix --enable-libatomic
Build
如果想自己从源代码编译适合自己的平台的工具链,参考下列链接说明:
https://github.com/kendryte/kendryte-gnu-toolchain
2.安装工具链
2.1 安装 build-essential 以获取 make 工具
$ sudo apt install build-essential
2.2 安装cmake
$ sudo apt install cmake
2.3 解压工具链
$ sudo mv kendryte-toolchain-ubuntu-amd64-8.2.0-20190409.tar.bz2 /opt
$ cd /opt
$ sudo tar -jxvf kendryte-toolchain-ubuntu-amd64-8.2.0-20190409.tar.bz2
2.4 将工具链添加到环境变量
打开 ~/.bashrc ,在末尾添加如下语句,将 /opt/kendryte-toolchain/bin 添加到环境变量 PATH
export PATH=$PATH:/opt/kendryte-toolchain/bin
然后使该修改生效
$ source ~/.bashrc
3.下载 kendryte-stabdalone-sdk
$ cd ~/
$ git clone https://github.com/kendryte/kendryte-standalone-sdk.git
4.编译
- 将源文件目录,例如 hello_world ,放在 kendryte-standalone-sdk/src 下
- 进入 kendryte-standalone-sdk 目录,新建 build 目录并进入
- 运行cmake
# 创建build文件夹并进入
~/kendryte-standalone-sdk$ mkdir buid && cd build
# 设置 cmake 编译环境
~/kendryte-standalone-sdk/build$ cmake .. -DPROJ=hello_world -DTOOLCHAIN=/opt/kendryte-toolchain/bin
# make 编译
~/kendryte-standalone-sdk/build$ make
编译成功后在build目录下得到2个文件 hello_world 和 hello_world.bin
- 如果使用jlink运行或调试程序,使用 hello_world(elf文件)
- 如果想烧录到FLASH,使用hello_world.bin文件
5.程序下载
ubuntu下使用:kflash
- 安装python虚拟环境
# 在sdk文件夹中创建python虚拟环境文件夹 .env
~/kendryte-standalone-sdk$ python3 -m venv .env
# 激活虚拟环境 .env
~/kendryte-standalone-sdk$ source .env/bin/activate
# 在虚拟环境 .env 环境下安装 kflash
(.env) user@pc:~/kendryte-standalone-sdk$ pip3 install kflash
# 自动安装 kflash,以及依赖 pyserial,pyelftools
2.在ubuntu下下载hello_world.bin
# 进入 k210 sdk目录
cd ~/kendryte-standalone-sdk/
# 激活环境
~/kendryte-standalone-sdk$ source .env/bin/activate
# 下载 hello_world.bin文件,-p 指定串口端口,我虚拟机串口映射过来是ttyUSB0
(.env) user@pc:~/kendryte-standalone-sdk$ kflash /build/hello_world.bin -p /dev/ttyUSB0
# -b 115200 可以指定波特率,目前我测试只有 115200能成功,默认波特率也是 115200bps
(.env) user@pc:~/kendryte-standalone-sdk$ kflash /build/hello_world.bin -p /dev/ttyUSB0 -b 115200
3.在windows下使用:kflash
直接使用 kflash_gui_v1.8.1_windows 上位机(带界面程序)下载hello_world.bin
步骤省略…
相关参考如下:
https://github.com/kendryte/kflash.py