分类: 嵌入式
2009-09-08 09:42:59
一、安装Linux虚拟机软件---VMWare6.5
二、在|虚拟机中安装Linux Fedora4
三、建立arm用户并修改密码
a) useradd –G root –g root –d /home/arm arm
b) passwd arm
四、建立工作文件夹于GCC文件夹
a) mkdir /home/arm/dev_home
b) cd /home/arm/dev_home
c) mkdir bootldr kernel root rootfs
d) mkdir /usr/local/arm
五、系统基本服务配置
a) 在Windows中创建超级终端参数同minicom配置
b) minicom配置
c) nfs服务配置
d) smb服务配置
六、开发文件拷贝
a) 拷贝GCC文件
i. 下载
ii. 下载
iii. 通过Windows拷贝到Linux的/smb文件夹,再拷贝到/usr/local/arm中
iv. chmod 777 [filename] (修改文件权限)
v. tar –jxvf cross-2.95.3.tar.bz2
vi. tar –jxvf arm-linux-gcc-
b) 拷贝 BootLoader 文件
i. 通过Windows将vivi.tar.bz2拷贝到 /home/arm/dev_home/bootldr中
ii. 解压缩
c) 拷贝 Kernel 文件
i. 下载
ii. 通过Windows拷贝到 /home/arm/dev_home/kernel中
iii. 解压缩
d) 拷贝 RootFS 文件
i. 下载
ii. 通过Windows拷贝到 /home/arm/dev_home/root中
iii. 解压缩
七、创建系统BoorLoader文件
a) 修改./arch/s
i. 修改分区表
ii. 保持分区表与实际Flash分区一致
iii. 修改命令行,保证启动分区号正确
b) 修改Makefile文件
c) make menuconfig
d) make
e) 生成vivi文件
八、创建系统内核Kernel文件
a) 修改Makefile文件
i. ARCH ?=arm
ii. CROSS_COMPILE ?=/usr/local/arm/
b) 修改./arch/arm/mach
i. 添加分区表信息与vivi中的保持一致
ii. 添加其它项
c) 修改./arch/arm/mach-smdk2410/devs.c初始化代码
d) make defconfig
e) make menuconfig
f) make
g) 生成zimage文件 (./arch/arm/boot)
九、创建根文件系统rootfs文件
a) 修改Makefile文件
i. ARCH ?=arm
ii. CROSS_COMPILE ?=/usr/local/arm/
b) make defconfig
c) make menuconfig
i. 选静态库
ii. 一定要选 don’t user /usr
d) make
e) make install (生成_install文件夹 内有 bin sbin linuxrc)
f) 拷贝_intall文件夹内容到rootfs文件夹
g) 在rootfs文件夹中新建空文件夹 usr tmp var mnt proc home
h) 拷贝主机中的 dev 文件夹
i) 拷贝编译器的 lib 文件夹
j) 拷贝博创 etc 文件夹并修改
i. 账户文件:passwd、shadow、group
ii. 环境变量:profile
iii.
十、硬件烧写建立嵌入式系统
a) Flash分区
vivi> bon part 0 128k 192k 1216k 4288k 64704k:m 65520k (:m表示MTD分区)
vivi> part save
vivi> part show
mtdpart info. (6 partitions)
name |
offset |
size |
flag |
|
vivi |
0x00000000 |
0x00020000 |
0 |
128k |
param |
0x00020000 |
0x00010000 |
0 |
64k |
kernel |
0x00030000 |
0x00100000 |
0 |
|
root |
0x00130000 |
0x00300000 |
4 |
|
yaffs |
0x00430000 |
0x03b00000 |
8 |
|
ucos |
0x |
0x000cc000 |
0 |
816k |
vivi> param show
Number of parameters: 9
name |
hex |
integer |
mach_type |
|
193 |
media_type |
00000003 |
3 |
boot_mem_base |
30000000 |
805306368 |
baudrate |
|
115200 |
xmodem_one_nak |
00000000 |
0 |
xmodem_initial_timeout |
000493e0 |
300000 |
xmodem_timeout |
|
1000000 |
ymodem_initial_timeout |
0016e360 |
1500000 |
boot_delay |
01000000 |
16777216 |
Linux command line: noinitrd root=/dev/bon/3 init=/linuxrc console=ttyS0 |
命令行修改方法: param set linux_cmd_line “root=/dev/mtdblock/3 init=/linuxc console=ttySAC
b) 烧写vivi
i. load flash vivi x
ii. xmodem
c) 烧写kernel
i. 用vivi烧写
1. load flash kernel x
2. xmodem
ii. 用JTAG烧写
1. 将giveio.sys拷贝到c:\windows\system32\driver中
2. 添加新硬件/添加新的硬件设备/显示所有设备,安装完驱动
3. cmd
4. sjf2410-s.exe /f:vivi
5. 三次选0
d) 建立启动NFS服务
i. 将rootfs 作为 NFS 共享文件夹
ii. vivi> param set linux_cmd_line “root=/dev/nfs console=ttySAC0 nfsroot=192.168.0.10:/home/arm/root ip=192.168.0.4: 192.168.0.4: 192.168.0.4:255.255.255.0:matrix4.arm9.net:eth0:off ”
iii. param save
iv. boot
v. mount –t yaffs /dev/mtdblock/3 /mnt
e) 拷贝根文件系统