diff --git a/development-tools/_sidebar.md b/development-tools/_sidebar.md index c70680b377e890927bf6bbe91ec97f7b712940f2..988a1e2f57b0719121970efb701b09dbd8c19352 100644 --- a/development-tools/_sidebar.md +++ b/development-tools/_sidebar.md @@ -30,3 +30,5 @@ - [Scons 构建工具](/development-tools/scons/scons.md) - Kconfig 介绍 - [Kconfig 语法](/development-tools/kconfig/kconfig.md) +- linux下开发 介绍 + - [linux 开发介绍](/development-tools/linux/linux.md) diff --git a/development-tools/linux/figures/pkgs_error.png b/development-tools/linux/figures/pkgs_error.png new file mode 100644 index 0000000000000000000000000000000000000000..8e3755b232eb63b624dd17369e329b8dbc07ee28 Binary files /dev/null and b/development-tools/linux/figures/pkgs_error.png differ diff --git a/development-tools/linux/figures/rt-thread_configuration.png b/development-tools/linux/figures/rt-thread_configuration.png new file mode 100644 index 0000000000000000000000000000000000000000..935c85a77ec03876f5b35df6b1115e6def0402c2 Binary files /dev/null and b/development-tools/linux/figures/rt-thread_configuration.png differ diff --git a/development-tools/linux/figures/rtconfig.py_new.png b/development-tools/linux/figures/rtconfig.py_new.png new file mode 100644 index 0000000000000000000000000000000000000000..046b679ca1edaa2e622f67ce3a942674b49f98ef Binary files /dev/null and b/development-tools/linux/figures/rtconfig.py_new.png differ diff --git a/development-tools/linux/figures/rtconfig.py_old.png b/development-tools/linux/figures/rtconfig.py_old.png new file mode 100644 index 0000000000000000000000000000000000000000..243015dd4878ed9c15ff963a96f1ea1e3f638c50 Binary files /dev/null and b/development-tools/linux/figures/rtconfig.py_old.png differ diff --git a/development-tools/linux/figures/rtconfig_new.png b/development-tools/linux/figures/rtconfig_new.png new file mode 100644 index 0000000000000000000000000000000000000000..046b679ca1edaa2e622f67ce3a942674b49f98ef Binary files /dev/null and b/development-tools/linux/figures/rtconfig_new.png differ diff --git a/development-tools/linux/figures/rtconfig_old.png b/development-tools/linux/figures/rtconfig_old.png new file mode 100644 index 0000000000000000000000000000000000000000..243015dd4878ed9c15ff963a96f1ea1e3f638c50 Binary files /dev/null and b/development-tools/linux/figures/rtconfig_old.png differ diff --git a/development-tools/linux/figures/scons.png b/development-tools/linux/figures/scons.png new file mode 100644 index 0000000000000000000000000000000000000000..4c589daf7caa546f56e53e0db425334371f80ddb Binary files /dev/null and b/development-tools/linux/figures/scons.png differ diff --git a/development-tools/linux/linux.md b/development-tools/linux/linux.md new file mode 100644 index 0000000000000000000000000000000000000000..1eba261760a421816b9d54f62087e1adcf25f075 --- /dev/null +++ b/development-tools/linux/linux.md @@ -0,0 +1,119 @@ +# Linux下搭建 RT-Thread 开发环境 + +## 前言 + +相信许多人做单片机开发选择windows是因为方便,易操作,使用keil等IDE,但是做Linux的嵌入式开发,如果用Windows安装交叉编译器编译太耗时,所以许多人同时选择使用Linux下开发,那Linux下如何开发RT-Thread呢?下面我将大致说一下环境的基础搭建。 + +## 开发前环境准备 + +### 相关安装 + +大家都知道Windows下安装软件下载.exe执行安装,Linux下有rpm包安装方式,deb包安装方式,tar.gz源代码包安装方式,tar.bz2源代码包安装方式,apt方式安装方式(安装deb包),此处我们使用apt方式简单快捷。 + +**注意:** + +**apt-get是是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。** + +**apt-get命令一般需要[root权限](http://baike.baidu.com/view/3967294.htm)执行,所以一般跟着sudo命令例sudo apt-get xxxx** + +安装git + +```shell +sudo apt install git +``` + +安装编译器 + +```shell +sudo apt install gcc-arm-none-eabi + +sudo apt install binutils-arm-none-eabi +``` + +安装 scons + +```shell +sudo apt install scons +``` + +安装 ncurses 库 + +```shell +sudo apt install libncurses5-dev +``` + +克隆 RT-Thread 源码 + +```shell +git clone https://github.com/RT-Thread/rt-thread.git +``` + +### 配置使用编译器 + +下载源码后进入你开发版目录修改rtconfig.py 文件中的 `EXEC_PATH`来配置编译器 + +![rtconfig_old](figures/rtconfig_old.png) + +修改为 + +![rtconfig_new](figures/rtconfig_new.png) + +至此准备工作结束。 + +## 工程配置 + +接下来在使用开发版的根目录下启动终端,输入如下命令来启动配置界面。 + +```shell +scons --menuconfig +``` + +![rt-thread_configuration](figures/rt-thread_configuration.png) + +是不是熟悉的画面回来了? + +**注意:** + +**Linux下的配置工具和uboot等配置工具操作一样,返回需按两下ESC** + +如果第一次使用该命令将会安装及初始化env工具,在home目录下面生成“.env”文件夹,此文件夹为隐藏文件夹, + +env.sh 文件是用于配置环境变量的脚本,执行如下命令使环境变量生效。 + +```shell +source ~/.env/env.sh +``` + +如果您已经选择了在线软件包,就可以使用如下命令将软件包下载到 BSP 目录下的 packages 目录。 + +```shell +pkgs --update +``` + +如果是第一次安装会失败,如下 + +![pkgs_error](figures/pkgs_error.png) + +这是因为我们没有安装Python-第三方库requests + +```shell +sudo apt-get install python-requests +``` + +之后再运行 + +```shell +pkgs --update +``` + +## 编译工程 + +执行 + +```shell +scons +``` + +![scons](figures/scons.png) + +## 编译成功