202X年Assabet、Sa1110开发板嵌入式Linux 移植简介

上传人:tang****xu1 文档编号:134741705 上传时间:2020-06-08 格式:PPT 页数:39 大小:277KB
返回 下载 相关 举报
202X年Assabet、Sa1110开发板嵌入式Linux 移植简介_第1页
第1页 / 共39页
202X年Assabet、Sa1110开发板嵌入式Linux 移植简介_第2页
第2页 / 共39页
202X年Assabet、Sa1110开发板嵌入式Linux 移植简介_第3页
第3页 / 共39页
202X年Assabet、Sa1110开发板嵌入式Linux 移植简介_第4页
第4页 / 共39页
202X年Assabet、Sa1110开发板嵌入式Linux 移植简介_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《202X年Assabet、Sa1110开发板嵌入式Linux 移植简介》由会员分享,可在线阅读,更多相关《202X年Assabet、Sa1110开发板嵌入式Linux 移植简介(39页珍藏版)》请在金锄头文库上搜索。

1、 AKA嵌入式兴趣小组系列专题 Assabet Sa1110开发板嵌入式Linux移植简介 姚文龙Alan Yao 0目录 简要说明准备交叉编译工具编译redboot烧录redboot使用redboot装载并执行kernel装载并运行文件系统 1简要说明 1 1版权说明1 2体例说明1 3assabet sa11101 4ecos redboot1 5常用术语 1 1版权说明 源码都来自opensource社区 用google可以搜索到 所以 不再详细标明出处 版权属于原作者 本文档由AlanYao为AKA嵌入式小组编写 不得用于商业用途 具体的Assabet开发板来自于中基教育软件产品SPC

2、 转载本文档时 不得损害该公司的商业利益 1 2体例说明 本文中提到的源码都放在本文档的同一目录下 所提到的版本 基本上只能保证该版本可用 并不代表更新或更旧的版本可用 本文档的说明均以同一目录下的资料为依据 并且此存放目录是 opt orig所有源码解压后 都放在 opt src 代表root用户的操作 代表普通用户的操作 1 3assabet sa1110 Intel公司的StrongARM1110 SA 1110 是一款通用RISC微处理器 arm体系结构 16KB的指令Cache 8KB的数据Cache 一个512B小型Cache 一个writebuffer 一个readbuffer

3、一个内存管理单元 MMU 集成在一个芯片中 功耗是206MHz 400mWAssabet开发板是基于sa1110的 有PCMCIA CF插槽和JTAG接口 可以用来调试32M的内存和32M的flash详细说明参见sa1110的datasheet sa1100 278240 pdf 1 4ecos redboot ecos的源代码和相关工具可以从eCOS主页获得 1 5常用术语 Host 一般指用来开发的PC机 这里是 PIII1G256M redhat7 3 即i686 pc linux gnuTarget 指的是assabet开发板 即arm linuxBuild 是指当前工作的编译工具所在

4、的主机构建 一般不提倡在源码目录下直接编译 而是新建一个build目录 通过configure脚本程序生成build代码 然后编译 这里 所有的build目录 都在 opt build下cross compile 交叉编译工具 就是在host上编译能在target上运行的程序 这里放在 opt arm下target根目录 target上运行的程序和系统存放在host上的根目录 这里是 opt arm arm linux 2编译交叉编译工具 2准备2 0更新本地gcc编译器2 1建立Kernel的头文件2 2编译Binutils工具2 3编译C编译器2 4编译GLIBC库2 5编译C 编译器2

5、6编译kernel和helloworld 2准备 建立相关目录 mkdir p opt orig mkdir p opt src mkdir p opt build mkdir p opt arm将所有文件拷贝到 opt orig下 2 0更新本地gcc编译器 源文件gcc 2 95 3 tar gz以root用户编译 cd opt src tar xzvf opt orig gcc 2 95 3 tar gz mkdir p opt build gcc local cd opt build gcc local opt src gcc 2 95 3 configure prefix usr m

6、ake makeinstall确认GCC版本是2 95 3 gcc version 2 1建立Kernel的头文件 源文件linux 2 4 18 tar gzpatch 2 4 18 rmk3 gzdiff 2 4 18 rmk3 pxa2 gzPatch cd opt src tar xzvf opt orig linux 2 4 18 tar gz gzip dc opt orig patch 2 4 18 rmk3 gz patch p1 d opt src linux gzip dc opt orig diff 2 4 18 rmk3 pxa2 gz patch p1 d opt s

7、rc linux mkdir p opt arm arm linux includee 2 1建立Kernel的头文件 配置ARMlinuxkernel cd opt src linux cparch arm def configs assabet config yes makeoldconfigARCH arm makedep这里会出错 不影响 cp arfinclude asm arm opt arm arm linux include asm cp arfinclude linux opt arm arm linux include linux 2 2编译Binutils工具 源文件bi

8、nutils 2 12 tar gz编译 cd opt src tar xzvfsrc binutils 2 12 tar gz mkdir popt build binutils cd opt build binutils opt src binutils 2 12 configure target arm linux prefix opt arm make makeinstall 2 2编译Binutils工具 这里生成的Bin工具是用于ELF执行格式的 前缀使用arm linux将Bin工具添加的执行路径中 exportPATH opt arm bin PATH别忘了在 HOME bas

9、hrc profile中添加上述语句 使路径修改长期有效 2 3编译C编译器 编译C 编译器 必须在编译GLIBC之后 才能进行 在这里 要先编译C编译器 然后用C编译器编译GLIBC 最后再编译C 编译器要记住host类型 在后续工作中需要 一般会在configure执行时的第一行 configuringforai686 pc linux gnuhost 这里利用 编译本地GCC 中的源码树 2 3编译C编译器 编译 mkdir p opt buld gcc cd opt build gcc opt src gcc 2 95 3 configure target arm linux pref

10、ix opt arm with cpu strongarm disable languages with headers opt src linux include make i make iinstall这里make带上 i选项 是要忽略make过程中的所有错误 如果不带这个参数 那么就不能正确编译glibcc a文件 并在编译GLIBC时出错 2 4编译GLIBC库 源文件glibc 2 2 5 tar gzglibc linuxthreads 2 2 5 tar gz准备源码 cd opt src tar xzvf opt orig glibc 2 2 5 tar gz cdglibc

11、2 2 5 tar xzvf opt orig glibc linuxthreads 2 2 5 tar gz mkdir p opt build glibc cd opt build glibc 2 4编译GLIBC库 编译C编译器时曾经记录host类型 在这里用作 build类型 因为这个类型 configure不能自己识别出来 配置编译 CC arm linux gcc opt src glibc 2 2 5 configure target arm linux build i686 pc linux gnu enable add ons prefix opt arm arm linux

12、 make makeinstall 2 4编译GLIBC库 刚才是给target编译GLIBC 但是交叉编译工具也需要GLIBC库 编译C 编译器配置编译 CC arm linux gcc opt src glibc 2 2 5 configure target arm linux build i686 pc linux gnu enable add ons prefix opt arm make makeinstall 2 4编译GLIBC库 其实也可以直接copy cp arf opt arm arm linux include opt arm include cp arf opt arm

13、 arm linux lib opt arm lib但是这种情况下 就要手工修改文件 opt arm lib libc so GROUP opt arm lib libc so 6 opt arm lib libc nonshared a 2 6编译kernel和helloworld 编译kernel cd opt src linux makedepARCH arm makezImageARCH arm源文件hello c includeintmain printf helloworld n return0 使用交叉编译环境工具编译hello c arm linux gcc v ohelloa

14、rmhello c 3编译bootloader bootloader选用redhat的redboot 详细用户 http pficheux free fr eyrolles linux embarque docs externes redboot pdf现成的二进制文件 http kernel pe kr pub armlinux people nico redboot详细用户说明中关于assabet的部分是5 5IntelSA1110 Assabet 这里详细介绍如何用源码编译bootloader 3编译redboot 3 1准备主机环境3 2编译ecosconfig3 3编译arm elf

15、3 4编译redboot 3 1准备主机环境 从ftp ftp skynet ie cvs ecos latest tar gz获取最新Ecos现在使用放在 opt src下的ecos tgz cd opt src tarzxvf opt orig ecos tgz exportECOS REPOSITORY opt src ecos packages 3 2编译ecosconfig Ecosconfig是ecos的配置工具 编译生成的ecosconfig一般比直接下载的更不容易出问题 mkdir p opt build ecosconfig mkdir p opt ecos tools cd

16、 opt build ecosconfig opt src ecos configure prefix opt ecos tools with tcl usr make makeinstall exportPATH opt ecos tools bin PATH 3 3编译arm elf Ecos使用的是arm elf工具 前面编译的arm linux也是可以用的 但时常也会失灵 这里专门为ecos的redboot编译arm elf工具 一般情况下 很难用于其它地方所用的源码 都是前面保留在 opt src下的 opt src gcc 2 95 3 opt src binutils 2 12Arm elf的存放目录 opt arm elf 3 3编译arm elf 编译binutils mkdir opt build binutils elf cd opt build binutils elf opt src binutils 2 12 configure target arm elf prefix opt arm elf make makeinstall exportPATH opt

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号