嵌入式系统制作
来源:互联网 发布:网络教学学费 编辑:程序博客网 时间:2024/06/02 23:30
arm体系嵌入式系统制作重点分为三个部分
1.u-boot制作
2.kernel制作
3.cramfs制作
首先
boot 位于nand的0-40000区间
kernel位于nand的40000-40 0000区间
rootfs_cramfs位于40 0000-800 0000区间
rootfs_ubifs位于800 0000-1000 0000区间
-----------------------------u-boot制作---------------------------------------------------
boot负责在运行操作系统之前进行初始化,处理器初始化,启动设备初始化,然后将kernel,从储存的位置读取到运行位置,然后运行kernel
1. cd /opt/real6410
2. ls /mnt/hgfs/ESD1203/Real6410开发板最新发布光盘/linux/linux-source/s3c-u-boot-1.1.6-Real6410.tar.gz2
3.tar xjvf /mnt/hgfs/ESD1203/Real6410开发板最新发布光盘/linux/linux-source/s3c-u-boot-1.1.6-Real6410.tar.gz2
4.cd s3c-u-boot-1.1.6-Real6410 #进入解压之后得到的u-boot源代码
5. ./make_nand_image 制作直接可写入nand的映像
6. ./make_mmc_image 将镜像写入sd卡,从而启动初始化操作
1.nand flash,逻辑地址0x0000 00000 ,物理地址0x2000 0000--0x2800 0000
2.arm上电后产生一个复位异常,在内存的0x0000 0000位置
3.nand flash将4k的内容拷到0x0c00 0000
4.0x0c00 0000-》0x0000 0000进行映射
uboot有4k的汇编阶段 接下来是C启动阶段
思考:u-boot下有哪些文件夹,分别有什么作用?
-----------------------------kernel制作---------------------------------------------------
1,cd /opt/real6410
2,ls /mnt/hgfs/ESD1203/Real6410开发板最最新发布光盘/linux/linux-source/s3c-linux-2.6.28.6-Real6410.tar.bz2
3,tar xjvf /mnt/hgfs/ESD1203/Real6410开发板最最新发布光盘/linux/linux-source/s3c-linux-2.6.28.6-Real6410.tar.bz2
4,cd s3c-linux-2.6.28-Real6410
5,make menuconfig
6,make
7,make clean
8,make mrproper
-----------------------------rootfs_cramfs-----------------------------------------------
rootfs与存储分区
1,有存储空间(一个flash的分区) # rootfs_cramfs位于400 0000-800 0000
2,有一些文件系统的数据(文件系统类型的格式) #
3,linux里面使用,(mount -t 文件系统类型 分区设备节点 挂载的目录)
4,cd /opt/real6410
5,tar xjvf /mnt/hgfs/ESD1203/Real6410开发板最最新发布光盘/linux/linux-source/root_mkfs.tar.bz2
6,mv root_mkfsrootfs_cramfs #得到目标文件系通过
7,cd rootfs_cramfs #进入该目录
8,执行命令
mknod dev/console c 5 1 #在dev下创建/console 供挂载
mknod dev/null c 1 3 #在dev下创建null节点
cd ..
mkcramfs rootfs_cramfs rootfs.cramfs #制作成写入nandflash的文件系统
9,cd /opt/real6410 #
10,mkdir rootfs_ubifs #创建ubitfs文件系统
11,cd rootfs_ubifs
12,ls /mnt/hgfs/ESD1203/Real6410开发板最最新发布光盘/linux/linux-image/qtopia.tar.gz
13,tar xzvf /mnt/hgfs/ESD1203/Real6410开发板最最新发布光盘/linux/linux-image/qtopia.tar.gz
14,tar czvf qtopia.tar.gz * #压缩所有文件得到ubifs文件系统
¥¥¥¥¥¥自己制作的crammfs
1,cd /opt/real6410
2,ls /mnt/hgfs/ESD1203/setup/linux/busybox-1.20.1.tar.bz2 #解压缩gnu工具包
3,tar xjvf /mnt/hgfs/ESD1203/setup/linux/busybox-1.20.1.tar.bz2 #||||||||||
4,cd busybox-1.20.1/ #进入菜单选项
5,make menuconfig #\\\||||\ 然后make
6,cd ../rootfs_me #进入rootfs_me
7,mkdir etc dev proc sys lib var tmp opt mnt #创建文件夹
8,cd dev #进入dev设置节点
mknod console c 5 1
mknod null c 1 3
9,cd ../lib #复制所需要的库
cp -rf /opt/real6410/arm-2008q3/arm-none-linux-gnueabi/libc/armv4t/lib/* ./cd busybox-1.20.1/
10,cd ../etc #复制配置文件
cp -rf /opt/real6410/busybox-1.20.1/examples/bootfloppy/etc/* ./
11,cp /opt/real6410/rootfs_ubifs/etc/init.d/rcS ./init.d/rcS #复制初始化文件
12,cp /opt/real6410/rootfs_ubifs/etc/init.d/ififconfig-eth0 ./init.d/ifconfig-eth0 #复制依赖的文件
13,cp /opt/real6410/rootfs_ubifs/etc/eth0-setting ./ #依赖
cp /opt/real6410/rootfs_ubifs/etc/mdev.conf ./ #依赖
14,vi ./init.d/rcS
删除最后
/bin/qtopia & #修改初始化的脚本
echo ""
echo "Starting Qtopia, please waiting..."
添加自己的
echo "ESD1203 make rootfs..."
echo "enter rootfs..."
echo "no app running..."
15,cd ..
16,mkcramfs rootfs_me rootfs.cramfsme #使用工具打包,完成cram制作,
- 嵌入式系统initrd制作
- 嵌入式系统制作
- 嵌入式系统制作神器 - Buildroot
- DOM嵌入式Linux系统启动盘制作
- Busybox及其嵌入式系统的制作
- 嵌入式系统搭建之三文件系统制作
- 构建嵌入式linux系统 、制作根文件系统
- 利用qemu模拟嵌入式系统制作全过程
- 利用qemu模拟嵌入式系统制作全过程
- 嵌入式系统中常用文件系统的制作总结
- 嵌入式系统根文件系统的制作和移植
- xilinx-soc arm-linux嵌入式系统flash-jmg制作
- linux最小系统的制作(嵌入式第一节课)
- [嵌入式]嵌入式系统概述
- 嵌入式根文件系统制作
- 嵌入式根文件系统制作
- 嵌入式根文件系统制作
- 嵌入式根文件系统制作
- cocos2d-x学习资源汇总(持续更新。。。)
- 英语应该这样去学
- 最新农牧餐farmkey的加密字符串更新
- ibatis的简介与初步搭建应用
- 常用到的函数(持续更新……)
- 嵌入式系统制作
- CSDN骨干成员情况调查——对CSDN高校俱乐部工作的建议
- 浮点型数据大小测试
- VS2010设置DirectX SDK
- 浅析setsockopt()
- git 的简单使用(linux)含ssh配置
- 两级联动菜单的实现之一 --- 用taglib实现下拉菜单
- C宏与函数
- 用弦截法求一元三次方程的根