0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux系统下Ubuntu 16.04 LTS 32bit 英文版的RT-Thread开发环境搭建

RTThread物联网操作系统 来源:未知 作者:佚名 2017-10-19 07:27 次阅读

1. 搭建步骤

以下步骤是以Ubuntu 16.04 LTS 32bit 英文版中为例,其他Linux系统类似,但不排除有小细节不同(如包管理软件为yum等)。

ESP32下载需要使用USB串口工具,请确保自己的开板(ESP-DevkitC、NodeMCU-32S)集成有USB串口功能,或者使用USB转串口工具,Linux中串口的描述符默认是/dev/ttyUSB0,如果你使用的串口不是/dev/ttyUSB0,烧写时修改的路径请自行修改。

以下示例中linux用户的名称为ss,请自行替换为自己linux的用户名。此外,工程及编译工具都放在用户根目录下,你可以根据自己实际情况设置到合适位置中。

在熊大如下的git项目版本中已经经过了测试,不排除最新版本有了完善:

commit a8504d523214ee872ae480106e31cd1db138b74f

Author: Bernard Xiong

Date: Fri Aug 25 15:29:362017 +0800

1.1. 下载交叉编译工具

cd ~

wgethttps://dl.espressif.com/dl/xtensa-esp32-elf-linux32-1.22.0-61-gab8375a-5.2.0.tar.gz

1.2. 解压缩交叉编译工具

tar -x*** xtensa-esp32-elf-linux32-1.22.0-61-gab8375a-5.2.0.tar.gz

1.3. 安装必要的软件

sudo apt-get install git wget make libncurses-devflex bison gperf python python-serial scons

1.4. 获取代码

cd ~

git clonehttps://github.com/BernardXiong/rtthread-esp-idf

cd rtthread-esp-idf

git submodule init

git submodule update

cd esp-idf-port/esp-idf

git submodule init

git submodule update

git apply ../0001-cpu_start-patch.patch

git apply ../0002-add-esp_task.h.patch

git apply ../0003-add-memset-to-0.patch

1.5. 修改工程中交叉编译工具的路径

修改~/rtthread-esp-idf/rtconfig.py中exec_path的路径为:

EXEC_PATH =r'/home/ss/xtensa-esp32-elf/bin'

  • 注路径中的ss为linux当前用户的用户名

1.6. 编译

首先修改个Makefile中的一个小错误,python那行命令路径需要修改:

pythonesp-idf-port/esp-idf/components/esptool_py/esptool/esptool.py --chip esp32elf2image --flash_mode "dio" --flash_freq "40m"--flash_size "4MB" -ortthread.bin rtthread-esp32.elf

然后进入项目根目录进行编译

cd ~/rtthread-esp-idf

make all

1.7. 下载

1) 由于Linux下普通用户无权限直接操作/dev/ttyUSB0,首先给当前用户加入相应的权限,以便后边烧写时不需要使用sudo权限:

sudo usermod -aG dialout ss

  • 注:ss为linux当前用户的用户名

设置完成后注销重新登录一下当前用户即可,之后不再需要执行该命令。

2) 修改~/rtthread-esp-idf/burn_flash.bat中串口的名字(/dev/ttyUSB0)为如下:

python esp-idf-port/esp-idf/components/esptool_py/esptool/esptool.py--chip esp32 --port /dev/ttyUSB0 --baud 115200 --before"default_reset" --after "hard_reset" write_flash -z--flash_mode "dio" --flash_freq "40m" --flash_size detect0x1000 bootloader.bin 0x10000 rtthread.bin 0x8000 partitions_singleapp.bin

3) 给burn_flash.bat设置好执行权限:

chmod a+xburn_flash.bat

4) 将开发板与电脑连接好(如果是虚拟机,需要将设置连入虚拟机),同时如果开发板不支持一键烧写功能,一般需要通过按键使其进入烧写模式(同时按下IO0和reset,然后先松开reset,再松开IO0);

5) 执行一下命令等待烧写完成:

cd ~/rtthread-esp-idf

./burn_flash.bat

(波特率:115200)

2. 其他说明

2.1. Linux64bit、Windows及macos的交叉编译工具

具体见https://github.com/BernardXiong/rtthread-esp-idf,里边有其他系统交叉编译工具的下载路径。

注:windows下需要先安装MSYS2等GNU-compatible环境软件。

2.2. 目录及文件说明

下图为rttthread-esp-idf的目录结构:

其中:

  • application目录为rtt应用程序的代码,其中main.c中的app_main()为应用程序入口函数。你可以在这里修改、编码,来熟悉和调试rtt程序。

  • build目录为编译中间文件使用的目录,编译中的.o .d等都在这个目录内。

  • componets目录为rtt组件代码保存的目录,自己编写的组件可以放在这里。

  • doc为该项目一些使用、功能的介绍文档。

  • drivers目录为rtt用于移植驱动的相关代码保存的目录,已有的包括uart、gpio、i2c、psram等。

  • esp-idf-port目录为esp-idf移植修改的代码目录,由于rtt on esp32是基于esp官方的esp-idf移植的,esp-idf的代码及移植补丁等在这个目录中。同时用于下载、打包镜像等python工具包也在该目录下。如果你需要更深入地使用ESP32(比如使用自定的分区结构、使用FlashEncryption等功能),可能需要在这个目录配置修改。

  • rt-thread为rtt核心的内核及相关组件、驱动等代码保存的目录,如果你需要深入了解或调试rtt核心的功能,可以在本目录中寻找、修改、调试。

  • 镜像文件或其辅助文件:

-bootloader.bin:esp32的Second stagebootloader

-partitions_singleapp.bin:esp32的分区表数据,目前rtt默认的是非ota的镜像。

-rttthread-esp32.bin:rtt on esp32的目标代码。

-esp32.common.ld、esp32_out.ld、rtthread-esp32.elf、rtthread-esp32.map:编译镜像的中间文件及脚本工具。

  • rtconfig.h、rtconfig_project:rtt的配置头文件。

  • sdkconfig.h:esp-idf的配置文件

  • rtconfig.py、rtconfig.pyc:rtt编译的python脚本。

  • burn_flash.bat:镜像烧写脚本。

  • Kconfig、Makefile、mkbin.bat、SConscript、SConstruct:项目编译的各种脚本。

  • README.md:项目简介。

- End -


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206733
  • Ubuntu
    +关注

    关注

    5

    文章

    533

    浏览量

    28825
  • rt_thread
    +关注

    关注

    2

    文章

    13

    浏览量

    14620

原文标题:Linux系统下ESP32开发板搭建RT-Thread开发环境

文章出处:【微信号:RTThread,微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RT-Thread记录(一、版本开发环境及配合CubeMX)

    RT-Thread 学习记录的第一篇文章,RT-Thread记录(一、RT-Thread 版本、RT-Thread Studio开发
    的头像 发表于 06-20 00:28 4480次阅读
    <b class='flag-5'>RT-Thread</b>记录(一、版本<b class='flag-5'>开发</b><b class='flag-5'>环境</b>及配合CubeMX)

    怎样去搭建一种基于RT-Thread实时操作系统的STM32开发环境

    怎样去搭建一种基于RT-Thread实时操作系统的STM32开发环境?怎样去搭建一种IWDT独立
    发表于 07-27 07:19

    rt-thread开发环境

    首先介绍开发环境:硬件:STM32F107VC金牛开发板。 rt-thread版本:2.0.0
    发表于 08-06 08:05

    如何搭建嵌入式Linux开发环境

    Ubuntu16.04.2 LTS嵌入式Linux开发环境搭建-(3)配置
    发表于 12-16 08:31

    如何搭建AB32VG1 RT-Thread开发环境

    如何搭建AB32VG1 RT-Thread开发环境
    发表于 02-16 06:08

    搭建RT-Thread最小系统的过程

    了这款MCU的BSP了搭建RT-Thread最小系统,用于后期的学习与研究。搭建过程更新RT-Thread,使用git工程重新构建,移除不需
    发表于 03-21 14:17

    如何实现一种基于Ubuntu Linux环境通过USB方式烧录rt-smart内核的设计呢

    提示设置IP,开发板要与Ubuntu处于同一网络)另外小记一:通过 USB 方式烧录 rt-smart 内核(基于 Windows 环境
    发表于 06-27 11:42

    Ubuntu平台开发RT-Thread文档中步骤搭建QEMU环境

    NimBLE 可在 QEMU 环境搭配蓝牙 Control 芯片运行,目前在 Ubuntu 18.04 运行成功。QEMU 环境
    发表于 07-27 11:19

    RT-Thread Linux CI 环境使用教程

    RT-Thread Linux CI 环境一个嵌入式实时操作系统 RT-Thread 进行持续集成的容器化
    发表于 08-17 15:00

    基于RT-Thread操作系统的Env开发环境搭建

    Env是什么Env 是 RT-Thread 推出的开发辅助工具,针对基于 RT-Thread 操作系统的项目工程,提供编译构建环境、图形化
    发表于 09-30 10:38

    基于 RT-Thread Studio的CPK-RA6M4 开发环境搭建

    系列 MCU 上让 RT-Thread 运行起来。开发环境搭建将分为以下几个部分:RA 开发环境
    发表于 01-10 14:41

    RT-Thread开发,如何有效学习RT-Thread的五个步骤

    RT-Thread推出RT-Thread Inside战略开放RT-Thread开发平台授权合作,与硬件十万个为什么合作首次推出第一款RT-
    的头像 发表于 09-25 09:55 3.4w次阅读
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>开发</b>,如何有效学习<b class='flag-5'>RT-Thread</b>的五个步骤

    嵌入式Linux开发环境搭建-(3)配置Ubuntu16.04.2 LTS 系统

    配置Ubuntu16.04.2 LTS在使用ubuntu16.04进行嵌入式Linux开发前,需要对ub
    发表于 11-02 10:51 9次下载
    嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>开发</b><b class='flag-5'>环境</b><b class='flag-5'>搭建</b>-(3)配置<b class='flag-5'>Ubuntu</b>16.04.2 <b class='flag-5'>LTS</b> <b class='flag-5'>系统</b>

    AB32VG1 RT-Thread 开发环境搭建

    是:RISC-V,RISC是精简指令集计算机,V的意思应该是【第五版】RT-Thread Studio 目前已经支持 AB32VG1开发板,所以,搭建一个RT-Thread
    发表于 12-20 19:09 22次下载
    AB32VG1 <b class='flag-5'>RT-Thread</b> <b class='flag-5'>开发</b><b class='flag-5'>环境</b><b class='flag-5'>搭建</b>

    RT-Thread全球技术大会:RT-Thread Smart更好的兼容Linux生态

    RT-Thread全球技术大会:RT-Thread Smart更好的兼容Linux生态             审核编辑:彭静
    的头像 发表于 05-27 14:31 1470次阅读
    <b class='flag-5'>RT-Thread</b>全球技术大会:<b class='flag-5'>RT-Thread</b> Smart更好的兼容<b class='flag-5'>Linux</b>生态