多语言展示
当前在线:1447今日阅读:19今日分享:20

嵌入式开发 -- Linux通常流程

PC机本身就是一个嵌入式系统,只是这个嵌入式系统使用的是BIOS 和UEFI作为bootloader,运行的是完整功能的操作系统。嵌入式系统包含各种智能设备,包括手机DV机,摄影机等,和我们的生活紧密相关。这里以Linux为例进行介绍。
工具/原料
1

Linux系统

2

Linux系统源码

3

arm-gcc源码包

方法/步骤
1

建立交叉编译环境交叉编译工具:arm-linux- 4.4.3 cross-4.2.2-eabi.tar.bz2gcc是X86的编译工具arm-linux-gcc 是生成arm精简指令集的编译工具解压:tar zxvf arm-gcc-4.4.3.tar.gz  /目录解压:sudo tar jxvf cross-4.2.2-eabi.tar.bz2 -C /usr/local/arm/ (目录)将arm-gcc加入环境变量vi /etc/profile加入export PATH=$PATH:目录#交叉编译测试程序arm-linux-gcc helloworld.c -o helloworld #把编译出的可执行程序拷到嵌入式系统中运行显示helloworld

3

配置串口(Minicom)Linux:Minicom源码包下载地址: http://alioth.debian.org/projects/minicom/ 安装源码包:     # tar zxf minicom-2.2.tar.gz   # cd minicom-2.2   # ./configure   # make    # make install 使用Minicomminicom -s或minicom配置Minicom serial port setupA输入/dev/ttyS0 (串口驱动) /dev/ttyS0 对应为串口0 E速率为115200 8N1F将 Hardware Flow Control 设 为 NO回车退出使用Minicom直接使用命令minicomWindow:Window下的串口工具繁多,DNW是常用的一个,也可以使用超级终端。在相应的工具界面中设置即可。

4

bootloader制作并下装(烧录)常见bootloader有u-boot\vivi\blod\lilo\arm-boot\red-bootbootloader要依照硬件的实际情况进行修改,使用交叉编译工具编译

5

内核修改编译linux内核都是要手工编译的,下载linux源码包ARM-Linux、PPC-Linux、μCLinux等或直接下发行版源码。根据CPU型号和裁箭功能修改内核并编译make menuconfig还可以使用如下命令:      make config 、     make oldconfig 、 make menuconfig、make xconfig这四条命令的区别如下:进入图形配置编译make dep make clean make zImage make modules make modelus_install

6

根文件系统制作Linux根文件系统制作工具一、busybox 地址:http://www.busybox.net/解压后cd  到解压的目录make menuconfig 配置 busybox1、busybox settings >>build options>>build busybox as static binary(no shared libs)勾上2、busybox settings>>installation options>>don't use /usr 勾上3、busybox settings>>installation options>>busybox installation prefix安装目录4、busybox settings>>busybox library tuning>>username conpletion勾上5、busybox settings>>busybox library tuning>>fancy shell prompts 勾上make make install安装完成。二、根文件系统制作根文件系统就是一个硬盘linux内核启动后首先挂载这个目录。然后从这个目录启动一些系统相关软件。内核可以存在根文件系统中。Linux文件系统使FHS标准:FHS:/etc 存放配置文件/dev存放设备文件/lib存放库文件/bin、/sbin、/usr/bin、/usr/sbin 存放可执行文件/boot 可以删除因为我们的bootloader使用单独的Flash存储区1、新建一个文件夹存放文件系统在里面生成如/etc/生成生成etc/inittabetc/profileetc/fstabetc/init.d/etc/init.d/rcS可以手工改也可以从电脑里复制,busybox自身也有,可以拷。2、编译内核模块到文件系统#make modules_install ARCH=arm INSTALL_MOD_PATH=目录至此制作完成。3、将根文件系统烧录制作成指定格式#genext2fs -b 8192 -d你的目录#genext2fs -b 你的目录 你要的名称 #gzip -9 -f 你要的名称 这样就可以下载到开发板上面去了

注意事项

Linux和wince是一样的只是wince将内核根文件系统放在一起只生成一个bin

推荐信息