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

2025-10-09 05:01:14

1、建立交叉编译环境

交叉编译工具:arm-linux- 4.4.3 cross-4.2.2-eabi.tar.bz2

gcc是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

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

2、建设交叉调试工具

下载arm-gdb源码http://www.gnu.org/software/gdb/download/,这里下载的是gdb-7.2.tar.gz

1、编译平台机gdb

解压: tar zxvf gdb-7.2.tar.gz /目录

编译:

./configure --target=arm-linux  --prefix=/usr/local/arm-gdb

make

sudo make install

加入Path

sudo vim /etc/profile

在文件为加入export PATH=$PATH: /目录/bin

2、编译gdbserver用于目标机

cd  gdb-7.2/gdb/gdbserver/

./configure --target=arm-linux --host=arm-linux

make CC=arm-linux-gcc

至此调试环境完成

使用的时候在超级终端上启动gdbserver

./gdbserver 嵌入式系统IP:端口 helloworld

平台机上启动gdb

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

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 

使用Minicom

minicom -s或minicom

配置Minicom 

serial port setupA

输入/dev/ttyS0 (串口驱动) /dev/ttyS0 对应为串口0 

E

速率为115200 8N1F

将 Hardware Flow Control 设 为 NO

回车退出

使用Minicom直接使用命令

minicom

Window:

Window下的串口工具繁多,DNW是常用的一个,也可以使用超级终端。

在相应的工具界面中设置即可。

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

4、bootloader制作并下装(烧录)

常见bootloader有u-boot\vivi\blod\lilo\arm-boot\red-boot

bootloader要依照硬件的实际情况进行修改,使用交叉编译工具编译

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

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 

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

6、根文件系统制作

Linux根文件系统制作工具

一、busybox 地址:http://www.busybox.net/

解压后cd  到解压的目录

make menuconfig 配置 busybox

1、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通常流程

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢