基于Docker环境开发、调试嵌入式软件(Embedded Software develop/Debug using Docker)

本文使用一个具体的简单的Demo介绍此系列文章的Dev、Debug环境的使用方法,Dev、Debug环境都使用Docker技术提供OS层的环境隔离。以避免在搭建嵌入式开发环境上浪费时间,或者因搭建此嵌入式环境影响了其他开发环境。Docker技术可以解决以上这些困扰。开发环境使用Vi + GNU Cross toolchain,测试环境使用Qemu仿真STM32-P103这款开发板。使用仿真软件仿真开发板也节省了大家购买硬件的开支,同时也方便在有即兴Idea时,随时进行验证。

准备开发、调试环境

开发、调试环境依赖于Docker,首先安装Docker。Docker有两个版本CE(Community Edition)和 EE(Enterprise Edition),EE功能强大些,且稳定可靠,公司用,收费。我们学习用当然选择CE版本啦。官方安装教程,不过Docker.com这个网站访问需要翻墙。不想翻墙的同学可以使用国内的aliyun

Tag:使用Win10的bash的同学注意啦,由于Docker使用了Linux的cgroups和namespace等一些技术,Win10 bash并不完全支持。Docker安装在Win10 bash上不能使用。如果真想在Win10上使用Docker,请直接安装官方文档安装Docker for Win10. 底层环境直接使用Virtualbox提供Linux环境虚拟环境,Docker运行在虚拟化的Linux环境里。

安装完成后,可以使用以下命令查看是否安装成功:

input:

docker version

output:

Client:
 Version:      17.09.0-ce
 API version:  1.32
 Go version:   go1.8.3
 Git commit:   afdb6d4
 Built:        Tue Sep 26 22:42:38 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.09.0-ce
 API version:  1.32 (minimum version 1.12)
 Go version:   go1.8.3
 Git commit:   afdb6d4
 Built:        Tue Sep 26 22:41:20 2017
 OS/Arch:      linux/amd64
 Experimental: false

有了Docker ,就可以下载我们使用的开发、调试环境的Docker image了。

For Dev:

Docker hub(官方镜像源):

docker pull zhanglianpin/stm32_compile_env:latest

Aliyun hub(阿里云镜像源):

docker pull registry.cn-hangzhou.aliyuncs.com/bahutou/stm32_compile_env

For Debug:

Docker hub(官方镜像源):

docker pull zhanglianpin/ucos_debug_env:latest

Aliyun hub(阿里云镜像源):

docker pull registry.cn-hangzhou.aliyuncs.com/bahutou/zhanglianpin/ucos_debug_env

下载完Dokcker image后,可以使用以下命令测试其是否下载成功:

input

docker image ls

output

REPOSITORY                       TAG                 IMAGE ID            CREATED             SIZE
zhanglianpin/stm32_compile_env   latest              48cd33a2339f        3 days ago          527MB
zhanglianpin/ucos_debug_env      latest              8d3c1b84e93f        3 days ago          203MB
ubuntu                           16.04               0b1edfbffd27        11 days ago         113MB
ubuntu                           14.04               8cef1fa16c77        11 days ago         223MB
linuxep/lepv0.1                  latest              92e0fb0aa864        7 months ago        785MB
hello-world                      latest              05a3bd381fc2        7 months ago        1.84kB

从上面的输出我们可以看到,我的本地Docker iamge包含了 zhanglianpin/stm32_compile_env和zhanglianpin/ucos_debug_env这两个image。

怎么使用这两个Docker image呐?看下面:

input:

docker run --rm  zhanglianpin/stm32_compile_env arm-none-eabi-gcc -v

output:

Using built-in specs.
COLLECT_GCC=arm-none-eabi-gcc
COLLECT_LTO_WRAPPER=/opt/gcc-arm-none-eabi-7-2017-q4-major/bin/../lib/gcc/arm-none-eabi/7.2.1/lto-wrapper
Target: arm-none-eabi
Configured with: /tmp/jenkins/jenkins-GCC-7-build_toolchain_docker-633_20171130_1512067137/src/gcc/configure --target=arm-none-eabi --prefix=/tmp/jenkins/jenkins-GCC-7-build_toolchain_docker-633_20171130_1512067137/install-native --libexecdir=/tmp/jenkins/jenkins-GCC-7-build_toolchain_docker-633_20171130_1512067137/install-native/lib --infodir=/tmp/jenkins/jenkins-GCC-</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值