系统移植高级篇笔记

发布 2020-01-02 10:05:28 阅读 6662

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.在内核配置时,哪个关键词是来包含...