嵌入式linux系统移植(一)
内容:
交叉编译环境
bootloader功能子系统
内核核心子系统
文件系统子系统
要点:
搭建交叉编译环境
bootloader的选择和移植
kernel的配置、编译、移植和调试
根文件系统的制作
移植的基本步骤:
确定目标机、主机的连接方式
安装交叉编译环境
搭建主机-目标机的数据传输通道
编写三大子系统
烧写测试
目标机和主机的连接方式:
- UART异步串行通信接口(串口):速率低、实用性强
- USB串行通信接口:速度快、驱动要移植修改
- TCP/IP网络通信接口:速率快(10/100Mbps)、驱动要一直
- Debug Jtag调试接口:方便快捷、价格很高
安装交叉编译器:
安装芯片厂商编译好的工具链
arm-none-linux-gnueabi- --->arm-linux :开源的ARM下的linux平台的交叉编译环境
arm-none-eabi :不支持操作系统(无操作系统下的交叉编译环境)
提供交叉编译器的公司:codesourcery
自己动手编译交叉工具链(没有特殊要求,不推荐)
搭建主机-目标机的数据传输通道
网络相关服务器的配置:TFTP、NFS
NFS(网络文件系统)系统和系统之间的文件挂载
交叉编译工具集:
交叉编译作用:目标机和主机不在同一平台,目标机配置一般比较低,编译调试不太可行
查看文件编译的结果的运行环境:file + 文件名 如file build
安装交叉编译环境:
第一步:解压arm-linux-gcc....
第二步:添加PATH环境变量(环境变量文件:etc/environment),之后执行source /etc/environment更新环境变量
问题:安装过后,输入arm-linux-gcc -v显示command not found
解决:sudo apt-get install libc6:i386
sudo apt-get install lib32z1
嵌入式linux系统移植(一)的更多相关文章
- 【课程分享】深入浅出嵌入式linux系统移植开发 (环境搭建、uboot的移植、嵌入式内核的配置与编译)
深入浅出嵌入式linux系统移植开发 (环境搭建.uboot的移植.嵌入式内核的配置与编译) 亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的,能够加我的QQ2059055336和我联系 ...
- 嵌入式Linux系统移植——uboot常用命令
flash的一般分区: 其它数据 环境变量 可执行程序.如bootloader print(可缩写为:pri):打印查看uboot这个软件中集成的环境变量setenv.saveenv:设置.保存环境变 ...
- 嵌入式Linux系统移植(二)——交叉编译工具集
常用工具:readelf.size.nm.strip.strings.objdump.objcopy.addr2line readelf:读可执行文件的elf头 ELF Header: Magic: ...
- 基于s5pv210嵌入式linux系统sqlite3数据库移植
基于s5pv210嵌入式linux系统sqlite3数据库移植 1.下载源码 http://www.sqlite.org/download.html 最新源码为3080100 2.解压 tar xvf ...
- 龙尚3G、4G模块嵌入式Linux系统使用说明【转】
本文转载自;http://blog.csdn.net/zqixiao_09/article/details/52506812 驱动部分: 1.kernle/drivers/usb/serial/opt ...
- 嵌入式linux系统应用开发
关于嵌入式系统 平时大家说的嵌入式其实范围比较广的,是一种软硬件可裁剪,以应用为中心开发的专用系统,硬件平台可以是单片机,或者以ARM系列的处理器.单片机一般直接裸奔程序,不过现在有了好多基于单片 ...
- MiniCRT 64位 linux 系统移植记录:64位gcc的几点注意
32位未修改源码与修改版的代码下载: git clone git@github.com:youzhonghui/MiniCRT.git MiniCRT 64位 linux 系统移植记录 MiniCRT ...
- 嵌入式Linux系统运行流程图
/************************************************************************ * 嵌入式Linux系统运行流程图 * 说明: * ...
- ARM 开发板嵌入式linux系统与主机PC通过串口传输文件
本文转载自http://useless20.blog.163.com/blog/static/237409982010227127576/ 嵌入式linux系统与主机通过串口传输文件 我想如果要从PC ...
随机推荐
- pnp4nagios 性能调优
http://popozhu.github.io/2014/03/12/pnp4nagios%E7%9A%84%E5%B9%B6%E5%8F%91/ rrd目录分层 bulk模式 修改模板 修改/pr ...
- JSP禁用缓存的方式 response.setHeader( "Pragma", "no-cache" ); setDateHeader("Expires", 0);
JSP禁用缓存的方式 使用服务器端控制AJAX页面缓存: response.setHeader( "Pragma", "no-cache" ...
- Database 2 Day DBA guide_Chapter3
Chapter 3: Getting Started with Oracle Enterprise Manager 第三章:开始oracle企业管理器. Purpose(目的) This chapte ...
- js alert 封装 layui
方式一: var aaa = function(){ function _alert(aa){ layer.msg(aa, { time: 2000, //2s后自动关闭 alert("最高 ...
- 如何杀掉一个用户下的所有进程并drop掉这个用户
如何杀掉一个用户下的所有进程并drop掉这个用户 Copy the sample code below into a file named kill_drop_user.sql.Open SQL*Pl ...
- Oracle分区表分批迁移
遇到个分区表数据量超大的case,磁盘空间不够,所以考虑使用数据泵分批导数据,测试如下: source : oracle windows 32bit 10.2.0.1target : oracle ...
- May 19th 2017 Week 20th Friday
Good luck is another name for tenacity of purpose. 好运不过是坚持不懈的结果. To some extent, I don't agree with ...
- Android开发最佳学习路线图(转)
Android开发总体路线图: 基础学习——JavaSE: 很多朋友一上手就开始学习Android,似乎太着急了一些. Android应用程序开发是以Java语言为基础的,所以没有扎实 ...
- js、Jquery处理自动计算的输入框事件
js在处理的时候可以使用oninput去获取当前输入框输入的值, jquery的时候使用了keypress和keydown但是发现都不能在输入后触发事件去获取输入框的值,这时候需要使用 ‘input ...
- 【luogu P1962 斐波那契数列】 题解
题目链接:https://www.luogu.org/problemnew/show/P1962 给你篇dalao的blog自己看吧,把矩阵快速幂的板子一改就OK #include <algor ...