make distclean
make smdk2440a_config
make 二进制可执行文件,它就是可以直接烧入nandflash、nor flash的文件。
u_boot下的命令:
printenv 打印u_boot变量:bootdelay、bauderate、ethaddr、netmask、……
setenv、s**eenv、nandwrite、nandread、help
从社区**内核,完成移植。
step1: 拷贝config_w35为文件。config
#cp config_mini2440_w35 .config
step2: 修改内核目录下的makefile
arch ?=arm
cross_compile ?=arm-linux-
step3: 执行make menuconfig定制内核组件,以root权限执行。
#make menuconfig
step4: 编译内核。
#make zimage //i为大写的。
编译完成后,内核镜像文件zimage生成在/arch/arm/boot/目录。
注意:因为zimage支持supervivi而不支持u-boot,uimage包好u-boot的一个包头,所以要将zimage转换成uimage
zimage转换为uimage步骤:
cd u-boot-2010.03/tools
拷贝mkimage可执行文件到标准路径下。
cp mkiamge /usr/local/bin
将mkz2uimage脚本拷贝到内核目录中。
cp mkz2uimage /linux-2.6.32.2/arch/arm/boot/
cd linux-2.6.32.2/arch/arm/boot/
/mkz2uimage //执行脚本。
u-boot :0x0~0x40000
u-boot参数区 : 0x40000~0x60000
内核和文件系统 :0x60000之后。
mach_type 1999
printenv
setenv ipaddr 192.168.1.226 //开发板ip
setenv serverip 192.168.1.200 //windows ip
setenv gatewayip 192.168.1.1 //网关。
s**eenv
将uimage拷贝至/tftpboot/
在securecrt中依次输入:
smdk2440a> tftp 0x30008000 uimage //要设置可读属性。
smdk2440a>nand erase 0x60000 0x500000
smdk2440a>nand write 0x30008000 0x60000 0x500000
简单的来说,根文件系统就是一种目录结构。
根文件系统和普通的文件系统的区别:
根文件系统就是要包括linux启动时所必须的目录和关键性的文件;
例如linux启动时都需要有init目录下的相关文件;
在linux挂载分区时linux一定会找/etc/fstab这个挂载文件等;
根文件系统中还包括了许多的应用程序bin目录等;
任何包括这些linux系统启动所必须的文件都可以成为根文件系统。
nfs:项目前期开发时用,可以通过tftp**测试,非常方便。
yaffs、yaffs2:根文件系统已经做好了要发布的时候需要制成yaffs
安装打包工具:
tar xvzf -c / 安装到根目录下的 usr/sbin
解压根文件系统源码包:
tar xvzfroot_ /解压源码包。
制作yaffs格式的镜像文件:
mkyaffs2image-128m root_qtopia root_
设置u-boot引导参数,启动内核挂载yaffs根文件系统:
setenv bootargs noinitrd root=/dev/mtdblock3init=/linuxrcconsole=ttysac0
将root_拷贝至/tftpboot/
在securecrt中依次输入:
smdk2440a>tftp 0x30008000 root_ /要设置为可读的属性。
/ 通过tftp server**root_至开发板内存0x30008000 地址处。
smdk2440a>nand erase 0x560000 $filesize
/首先擦除nand flash从0x560000 开始,大小为0x3dac00的空间,来存放 root_
smdk2440a>nand 0x30008000 0x560000 $filesize
/烧写root_至0x560000 开始的nand flash
smdk2440a> boot //启动linux系统。
通过tftp烧写到nand flash步骤:
将拷贝至/tftpboot/
在securecrt中依次输入:
smdk2440a>tftp 0x30008000
smdk2440a>nand erase 0 0x60000
smdk2440a>nand write 0x30008000 0 0x60000
宿主机linux:
1、拷贝并解压root_至/home/student目录下;
tar xvzf root_
2、设置/etc/exports配置文件,添加:
home/student/roo_qtopia *(rw,sync,no_root_squash)
设置生效并查看:
exportfs -ra //使设置生效。
exportfs -v //查看设置是否生效。
开发板设置:
启动uboot命令行,修改引导参数:
setenv bootargs console=ttysac0 root=/dev/nfs nfsroot=192.168.1.
102:/home/student/root_qtopia ip= et:eth0:
offs**eenv
重新启动开发板linux系统: boot
启动yaffs:
setenv bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttysac0
s**eenv
小技巧: 通过word来复制setenv bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttysac0, 可以消除换行符错误。
在超级终端窗口中,点鼠标右键,在弹出的菜单中选择“接收文件”开始设置接收文。
件目录和协议,如图所示。
然后在终端的命令行输入“sz /命令,开始向pc 传送位于“/”目录的。
文件(或者其他文件,改一下路径和文件名就可以了),因为该文件比较大,所。
以需要多等几分钟,发送完毕,系统会自动保存文件到您设置的目录里面,如图。
在串口终端输入“rz”命令,开始接收从pc 传过来的文件。
然后在超级终端窗口中,点鼠标右键,在弹出的菜单中选择“发送文件”,设置好要。
发送的文件和使用的协议,如图所示,开始向开发板发送文件。
点“发送”,开发板开始接收文件,如图所示。
接送完毕,将会在当前目录下得到同样文件名的文件,您可以使用md5sum 命令验证。
该文件是否和源文件相同。
将编译好的可执行文件**到目标板目前主要四种方式:
第一种:复制到介质(如优盘)
第二种:通过网络传送文件到开发板(推荐使用)
第三种:通过串口传送文件到开发板。
第四种:通过 nfs(网络文件系统)直接运行。
下面分别进行介绍:
方法:先把编译好的可执行程序复制到优盘,再把优盘插到目标板上并挂载它,然后把程序拷贝到目标板的可执行目录/bin
步骤:step1:复制程序到优盘。
把优盘插到 pc 的usb 接口,执行以下命令把程序复制到优盘。
#mount /dev/sda1 /mnt ;挂接优盘。
#cp hello /mnt ;复制刚才编译好的程序到优盘。
#umount /mnt ;卸载优盘。
step2:把程序从优盘拷贝到目标板并执行。
把优盘插入到开发板的 usb host 接口,优盘会自动挂载到/udisk 目录,执行以下命。
令就可以运行hello 程序了。
#cd /udisk
#./hello ;执行 hello 程序。
注意:如果此时强制拔出优盘,需要退回到根目录,再执行umount /udisk 方可为下。
一次做好自动挂载的准备。
方法:使用ftp 登录目标板,把编译好的程序上传;然后修改上传后目标板上的程序。
的可执行属性,并执行。
首先,在 pc 端执行,如图所示。
然后,在目标板一端执行,如图所示。
实验1Linux系统的移植
1.开发前软硬件连接设置。在开发之前可能需要进行一些硬件的连接。1 跳线设置 默认出厂跳线,boot 跳线 nand flash 启动模式 2 电源连接 可通过实验箱配件提供电源线接到220v 交流电源插座上 接口为箱体左侧电源插口 3 usb线连接 将实验箱配件提供的 mini usb线插到emb...
嵌入式linux系统移植试题
一 选择题 每题2分,共50分,包括单选和多选,多选 少选均不得分 1.嵌入式linux系统软件部分一般包括 a bootloader b linux内核 c 根文件系统 d 用户应用程序。2.一般情况下,在搭建嵌入式linux开发环境时主机需要安装的软件有 a 串口通信软件 b tftp服务器 c...
嵌入式linux系统移植试题
11.u boot的命令中,设置环境变量的命令是 a a setenv b printenv c tftp d bootm 12.u boot中存放内核启动参数的环境变量是 c a bootcmd b bootdelay c bootargs d ipaddr 13.在内核配置时,哪个关键词是来包含...