如何建立基本的嵌入式开发工作环境
来源:互联网 发布:2016网络大学报名时间 编辑:程序博客网 时间:2024/05/18 03:37
本文和大家分享的主要是嵌入式开发环境搭建相关内容,一起来看看吧,希望对大家有所帮助。
1.宿主机架构及开发平台选择
a. MAC OS
b. x86架构下的Windows并使用软件Cygwin在Windows上模拟Linux的命令行 开发环境。
c. x86架构下安装Linux操作系统,并直接在系统自带命令行环境下开发。
2.目标机架构及操作系统
a. ARM架构的开发板(三星的s3c系列,ATMEL的AT91系列等)运行uClinux. uC/OS-II . RTOS.等操作系统。
3.交叉编译环境
arm-linux-gcc 或arm-elf-gcc
注:该工具的安装路径需要添加到/etc/profile中的PATH环境变量里 。
4.虚拟目标开发板
a. SkyEye
安装步骤:
$tar jxvf skyeye.1.2.6_rcl.tar.bz2
$cd skyeye.1.2.6_rcl
$./configure
$make
$su
#make install
b. QEMU
5.完整开发过程演示
以将测试程序test.c编译连接后加载到模拟开发板上运行的基本步骤:
a. 编译
$ arm-elf-gcc -o2 -c test.c
//优化等级2,生成test.o目标文件
b. 链接
$ arm-elf-ld -e test -Ttest 0x0 test.o -o test
//参数e后接的文件名代表运行时入口程序(默认为main函数);
-Ttest 0x0代表将文件链接至内存0地址处;
-o 后接链接后生成的可执行文件test
当然,也可以使用自定义的链接脚本文件
$ arm-elf-ld -T test.lds test.o -o test
$ vim test.lds
****************************************
ENTRY(test)
SECTIONS
{
. = 0x00000000;
.text : {
*(.text )
}
. = ALIGN(32);
.data : {
*(.data )
}
. = ALIGN(32);
.bbs : {
*(.bbs )
}
}
****************************************
c. 转化
//将test文件转化成目标机器可识别(可加载到开发板上直接运行)的纯二进制文件
$ arm-elf-objcopy -O binary test test.bin
d. 编写模拟开发板软件skyeye的配置文件。
将skyeye.conf 及test.bin放到同一目录中,然后在命令行直接运行'skyeye '命令即可。
$ vim skyeye.conf
****************************************
cpu: arm920t
mach: s3c2410x
#physical memory 注释行
mem_bank: map=M, type=RW, addr=0x00000000, size=0x00800000, file=./test.bin
#all peripherals I/O mapping areas
mem_bank: map=I, type=RW, addr=0x48000000, size=0x20000000
****************************************
$ vim skyeye
来源:简书
- 如何建立基本的嵌入式开发工作环境
- [嵌入式】如何为嵌入式开发建立交叉编译环境
- 嵌入式的开发环境的建立
- 嵌入式linux的tftp开发环境建立
- 学习心得:嵌入式linux开发环境的建立
- Qt/Embedded嵌入式开发环境的建立
- Qt/Embedded嵌入式开发环境的建立
- Qt/Embedded嵌入式开发环境的建立
- Qt/Embedded嵌入式开发环境的建立
- 嵌入式QT_Linux模拟开发环境的建立
- 一、嵌入式LINUX开发环境的建立
- 学习心得:嵌入式linux开发环境的建立
- 嵌入式系统开发之环境的建立
- 嵌入式系统开发之环境的建立
- Qt/Embedded嵌入式开发环境的建立
- 嵌入式3D-嵌入式3D开发环境的建立- 建立宿主主机开发环境
- 如何为嵌入式开发建立交叉编译环境
- 如何为嵌入式开发建立交叉编译环境
- 用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档
- 用BenchmarkDotNet给C#程序做性能测试
- 不该活着的SqlHelper和DBHelper
- ASP.NET Core 中文文档 第三章 原理(3)静态文件处理
- ASP.NET Core 中文文档 第三章 原理(1)应用程序启动
- 如何建立基本的嵌入式开发工作环境
- ASP.NET Core 中文文档 第三章 原理(2)中间件
- .NET 4.6.2正式发布带来众多特性
- 拥抱.NET Core,如何开发一个跨平台类库
- 拥抱.NET Core,学习.NET Core的基础知识补遗
- 一步一步封装自己的HtmlHelper组件:BootstrapHelper
- 在.NET开发面向Oracle数据库的应用程序
- Win10上运行Docker
- 【送书活动】机器学习项目开发实战