使用Dockerfile搭建rtthread 瑞萨开发环境

news2024/11/18 22:48:37

文章目录

    • 1. 装docker
    • 2. 拉代码
    • 3. 构建镜像
    • 4. 启动容器
    • 5. vscode打开并编译
    • 6. 程序下载

整体分为6步

  1. 安装docker
  2. 拉取rtthread_瑞萨仓库代码
  3. 使用仓库中的dockerfile构建一个镜像
  4. 使用构建好的镜像启动一个容器
  5. 使用vscode打开并编译代码
  6. 下载程序

1. 装docker

Docker的安装方式可以参考Docker官网。昨天在装linux版的时候跟着官方教程走却安装不了的问题,然后把报错搜索了一下就解决了。

本教程主要使用windows版docker。

2. 拉代码

rtthread对瑞萨的支持包从肯哥的仓库下载

下载完打开如下:

image-20230524134743289

3. 构建镜像

打开.devcontainer文件夹,输入cmd进入命令行

image-20230524134838642

输入构建docker镜像的命令

docker build -f .Dockerfile -t 容器名:版本

本质是根据代码仓库中的Dockerfile文件构建一个ubuntu系统,里面包含各种需要的工具,gcc git什么的,感兴趣的可以打开Dockerfile文件看看

出现如下报错:

image-20230524125029026

解决方法:

打开Docker桌面版的设置,根据下图将"buildkit"改为false

image-20230524124943147

重新执行命令

docker build -f .Dockerfile -t 容器名:版本

等待构建完成

这部分没有截图

构建完成后可以看到rt_resa这个镜像说明构建成功

4. 启动容器

根据镜像启动一个新的容器

image-20230524135826096

5. vscode打开并编译

启动后使用vscode打开这个虚拟环境

vscode需要下载一个docker插件还有这个插件image-20230524135954644

image-20230524140120081

image-20230524140138032

打开刚才设置的路径

image-20230524140243303

将终端切换到对应的板子目录下

image-20230524140412717

使用scons生成一个完整的包

scons --dist

image-20230524130633874

问题:

问题说找不到EXEC_PATH,刚开始以为需要把windows上的路径也放到docker容器中,结果试了一下不行

image-20230524131344848

试一下

image-20230524131555725

不行

最后修改rt_config.py中的EXEC_PATH,把原先的注释掉,改为系统中gcc的路径后成功image-20230524141248307

image-20230524132938155

切换到生成的包目录下

cd dist/project

image-20230524140547001

生成vscode工程

scons --target=vsc -s

image-20230524133036331

万事俱备开始编译

scons

编译问题:

image-20230524133818337

解决方法:

把文件中的O_DIRECTORY全部改成FT_DIRECTORY,与文件系统有关的文件都有这个错误,需要全部改掉

编译成功

image-20230524141851627

6. 程序下载

程序下载使用瑞萨的下载程序

image-20230524150439214

因为之前在创建容器的时候已经将windows本地的代码仓库挂载到容器了,所以在本地就能找到生成的elf文件,具体路径在image-20230524150659706

瑞萨的下载程序的设置如下:

fa14bd7b4e56c08317027b7ce68e923

打开下载工具,找到生成的hex文件使用板载的jlink就可以下载啦

image-20230524150848944

下载成功

image-20230524151146980

查看串口信息:

待补充

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/563077.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue自动更新版本号

在项目中创建buildTime.js //npm run build打包前执行此段代码 let fs require(fs); //返回package的json数据 function getPackageJson() { let data fs.readFileSync(./package.json);//fs读取文件 return JSON.parse(data);//转换为json对象 } let packageData getPackag…

FreeRTOS_中断配置和临界段

目录 1. Cortex-M 中断 1.1 中断简介 1.2 中断管理简介 1.3 优先级分组定义 1.4 优先级设置 1.5 用于中断屏蔽的特殊寄存器 1.5.1 PRIMASK 和 FAULTMASK 寄存器 1.5.2 BASEPRI 寄存器 2. FreeRTOS 中断配置宏 2.1 configPRIO_BITS 2.2 configLIBRARY_LOWEST_INTERRU…

IOC(控制反转)

目录 理解IOC 理解IOC容器 Spring IOC IOC优点 什么是依赖注入DI DI是如何实现的呢? 总结 : IOC实现的基本过程 容器如何放入Bean对象? IOC实现的基本过程 IoC容器在Spring的实现 理解IOC IoC 是 Inversion of Control 的简写,译为“控制反…

容器部署 redis 哨兵集群 【问题笔记】

目录 1.哨兵模式 (sentinel) 启动时报错:Cant resolve instance hostnames 2.哨兵模式下 master 节点崩掉后无法切换从节点为master节点 1.哨兵模式 (sentinel) 启动时报错:Cant resolve instance hostna…

Axure教程—单色折线图(中继器)

本文将教大家如何用AXURE中的中继器制作单色折线图 一、效果介绍 如图: 预览地址:https://d84rfm.axshare.com 下载地址:https://download.csdn.net/download/weixin_43516258/87814278 二、功能介绍 简单填写中继器内容即可动态显示值样…

Call for Papers丨第十一届全国社会媒体处理大会,AI Open设独立专刊投稿渠道

全国社会媒体处理大会(SMP)专注于以社会媒体处理为主题的科学研究,为传播社会媒体处理最新的学术研究与技术成果提供广泛的交流平台,旨在构建社会媒体处理领域的产学研生态圈,成为中国乃至世界社会媒体处理的风向标。 …

2023年了PWA开发模式在国内还有发展空间吗?

随着国内外技术及生态的迅猛发展,应用程序的开发模式也在不断演进。在过去,就我及身边同事的经验而言,会常常需要在不同的平台(如Android、iOS)编写不同的代码,导致开发成本和维护困难的问题。 然而&#…

WBS项目分解的7大基本原则

制定和分解WBS,需要遵循的基本原则: 1、唯一性 每一项工作任务在WBS中是唯一的。 WBS项目分解的7大基本原则 2、负责制 每一项任务都需要明确责任人,一人负责,其他人参与。 3、可测量性 每一项任务都应该是可以量化和测量的&#…

5月份招了个00后测试堪称卷王之王,让人崩溃...

前段时间公司新来了个同事,听说大学是学的广告专业,因为喜欢IT行业就找了个培训班,后来在一家小公司干了三年,现在跳槽来我们公司。来了之后把现有项目的性能优化了一遍,服务器缩减一半,性能反而提升4倍&am…

非流式语音合成和流式语音合成

语音合成技术:https://zhuanlan.zhihu.com/p/113282101 流式语音合成技术揭秘与实践 1、非流式语音合成,一次性输入文字,一次性输出语音,注重语音合成系统的 整体运算速度 ,不适合做语音交互;流式语音合成…

如何在 Linux Mint 21 上安装 VirtualBox 7?

VirtualBox 是一款开源的虚拟化软件,它可以让你在一台计算机上同时运行多个操作系统。本文将详细介绍如何在 Linux Mint 21 上安装 VirtualBox 7。以下是安装过程的详细步骤: 步骤一:下载 VirtualBox 7 首先,你需要下载 VirtualB…

姜春宇:数据治理五大发展趋势

4月27日在2023数据治理新实践峰会上,大数据技术标准推进委员会副主席姜春宇先生以《数据治理发展趋势》为主题为大家分享了数据的价值和最新发展趋势。 以下为姜春宇先生的演讲实录,为了方便阅读,小编做了一些字句修改和文本优化。 大家上午…

如何在 OpenSUSE 上安装 VirtualBox 7?

VirtualBox 是一款开源的虚拟化软件,允许用户在单个计算机上运行多个操作系统。本文将详细介绍如何在 OpenSUSE 上安装 VirtualBox 7。以下是安装过程的步骤: 步骤一:下载 VirtualBox 7 首先,我们需要下载 VirtualBox 7 的安装包…

从火灾演习中认识火灾以及火灾发生时如何确保消防设备的正常运行

安科瑞虞佳豪 火光、浓烟、热浪……5月10日,在宁波高新区光华路119号一座废弃厂房内,一场特殊的“火灾”正在发生! 据悉,宁波市消防部门组织开展了一场真人真火的火灾实验。目的是为了让人们直观感受火灾的危险,进一…

vcruntime140_1.dll丢失怎样修复,推荐4个vcruntime140_1.dll丢失的修复方法

vcruntime140_1.dll文件是Microsoft Visual C Redistributable for Visual Studio 2015运行库的一部分,它是一个用于支持Visual C构建的应用程序的系统文件。这个文件包含了在运行C程序时所需要的函数和类库,主要负责向应用程序提供运行时环境。如果电脑…

布隆过滤器和布谷鸟过滤器

过滤器使用场景: 比如有如下几个需求: 1.原本有10亿个号码,现在又来了10万个号码,要快速准确判断这10万个号码是否在10亿个号码库中?   解决办法一:将10亿个号码存入数据库中,进行数据库查询&…

听说小破站新上一批“高质量”的视频,于是怀揣着“学习”的目的,我用Python将他们全部采集了下来

事情是这样的,昨晚室友悄咪咪的拉着我去他的电脑,说带我欣赏一点高雅的作品,于是这一坐下,便是一晚上… 作为一个乐于分享的博主,本来我是决定直接分享的,但是转念一想,授人以鱼不如授人以渔&am…

如何看待 30 岁学云计算,转行做云计算运维这件事?

作为IT培训行业的从业人员,30岁学云计算转行不算什么的,还有38岁想学云计算的呢!最主要的是个人兴趣和意向,当然这个年龄阶段还会考虑的一点就是目前的收入与家庭支出的问题。不过这位38岁的“大龄”学员学习的主要目的不是说去找…

不是吧,交换机坏了你还只会这么排查?

又见面了,我的网工朋友 上次给你分享了交换机和路由器的对接上网配置案例,还记得吗? 今天这篇,和你聊聊交换机接口故障。 接口故障这件事,对咱们网工来说其实算是家常便饭了。 工作到现在,你复盘一下&a…

卷积、相关、匹配滤波、脉冲压缩以及模糊函数

文章目录 【 1. 卷积 】连续卷积离散卷积 【 2.相关 】自相关互相关 【 3.匹配滤波 】滤波器模型有色噪声 时滤波器的特性白噪声 时滤波器的特性 【 4.脉冲压缩】时域脉冲压缩频域脉冲压缩 【 5.模糊函数 】【 6.四者之间的关系 】相关和卷积之间的关系 【 7.参考文献 】 【 1.…