Linux内核学习之五--嵌入式Linux系统构建

嵌入式Linux相关

嵌入式Linux产品开发流程
   硬件设计
-->Bootloader移植(Uboot/Redboot, Redboot较为复杂,自身即为一个系统)
-->内核移植【最小系统:网络 串口 根文件系统】
-->网络协议栈 驱动程序
-->应用程序开发(QT图形 网络应用)
网络应用程序开发:
a)协议:Http Wap Smpp PPPoe
b)SSL
c)GPRS GSM
-->功能测试 性能测试 系统集成测试 实验局 发布

一、交叉工具链
gcc编译的软件,只能在x86上面运行。需要在arm或mips上运行,需要交叉工具。

交叉开发
宿主机 目标机,两者不是一种体系结构
在宿主机上产生可以在目标机上运行的软件的工具
一套工具称之为交叉工具链

安装(ubuntu10.04):
export $PATH
1)解压工具链:tar xvzf arm-linux-gcc-4.3.2.tar.gz -C /
2)修改/etc/bash.bashrc,添加
  exprot PATH=/usr/local/arm/4.3.2/bin:$PATH
3)重新启动

使用工具链,最常用三个命令
1)arm-linux-gcc
arm-linux-gcc hello.c -o hello
arm-linux-gcc -g hello.c -o hello===>反汇编时 汇编语言和C语言同时出现 -g==gdb
2)arm-linux-objdump
arm-linux-objdump -D -S hello (输出到文件则加上>log)

3)arm-linux-readelf
a)arm-linux-readelf -a hello  (-a = all)
  主要看elf头,可以看到适用体系结构,大小端【程序跑不起来 先检查大小端问题】
b)arm-linux-readelf -d hello (-d dynamic)
  查看共享库信息 so文件

  如果编译时没有共享库,可以将该库拷贝过来,或是:
  编译时用arm-linux-gcc -static hello.c -o hello.o,此时 通过-d 查看elf不会有共享库信息


二、嵌入式Linux内核制作
Bootloader Boot parameters--kernel RootFilesystem
make distclean
make menuconfig ARCH=arm
make uImage ARCH=arm CROSS_COMPILE=arm-linux-

三、根文件系统制作
根:第一个的意思


四、Linux文件系统介绍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值