嵌入式Linux 开发环境的构建
姓名:郝春玲
学号:541013090210
专业:嵌入式
班级:10-02
院系:计算机与通信工程学院
         
        嵌入式Linux开发环境的构建
一: 基于ARM嵌入式Linux系统介绍
ARM架构支持32位的ARM指令集和16位的Thumb指令集,并且基于ARM的处理器以其高速度、低功耗、价格低等优点得到非常广泛的应用,而运用Linux系统的主要原因是Linux具有开放源代码、易于移植,资源丰富、免费等优点。
二:开发环境的构建
  1:硬件要求
  (1) 开发PC机上的软件时,可以在PC机上编辑、编译、调试软件,最终发布的软件也是在PC机上运行。但对于嵌入式开发,最初的嵌入式设备是一个空白的系统,需要通过主机为它构建基本的系统,并烧写到设备上。但是嵌入式的设备资源不足以用来开发,所以就要用到交叉开发模式。在主机上编辑、编译软件,然后在目标板上运行、验证程序。对于S3C2410S3C2440开发板,进行嵌入式Linux开发一般可以分为以下三个步骤:
  1)在主机上编译Bootloader(为方便开发,选用具有串口传输、网络传输、烧写Flash功能的Bootloader),然后通过JTAG烧入单板。
2)在主机上编译嵌入式Linux内核(支持网络文件系统NFS),通过Bootloader烧写单板或直接启动。
3)在主机上编译各类应用程序,单板启动内核后通过NFS运行它们,经过验证后再烧写入单板。
烧写、启动Bootloader后,就可以通过Bootloader的各类命令来下载、烧写、运行程序了,命令通过串口输入输出。在交叉开发模式中,主机与目标板通常需要3种连接:JTAG、串口、网络,JTAG用来烧写程序,串口输入输出命令操作BootloaderLinux,网络用来传输文件。
(2) 对于嵌入式Linux的开发所需要的硬件要求有以下几点:
  -->主机要求:
    1)有一个25针的并口接口,它用来接JTAG连线;
    2)有一个9针的RS-232串行接口;
    3)支持网络;
    4)至少要有20GB的硬盘;
  -->目标板要求
开发板上对于S3C2410/S3C2440的每个硬件部件(UARTNAND Flash控制器、I2C接口等)基本都外接了相关器件:64MB SDRAM1MBNOR Flash64MB NAND Flash、两个网卡(10MB100MB)、5个串口(内置3个、外扩linux下gcc编译的四个步骤2个)、音频输入输出、2.5IDE接口、标准SD/MMC卡座、4GPIO按键和外接I2C接口的实时时钟(RTC)芯片。将主机与目标板通过JTAG、串口线(接单板上串口0)、网线(接单板上网卡0)连接起来,将各类设备连接到目标板上去,即可完成硬件开发环境的构建。
2:软件环境构建
    构建一个软件环境分以下几步:主机LINUX系统地安装、主机LINUX系统地网络服务配置和启动、在主机Linux系统中安装基本的开发环境、光盘的复制、安装交叉编译工具链等。开发是在LINUX下进行,所以要安装LINUX系统。安装LINUX基本上以在Windows
直接安装和先安装一个虚拟机再在虚拟机下安装LINUX系统这两种方法为主。后者比较适合对LINUX不熟悉的人使用。
    1)主机Linux操作系统上网络服务的配置与启动:网络设置涉及三方面的设置,分别为:主操作系统WindouwsVMware、客户操作系统Linux。然后就是安装、配置、启动FTPSSHNFS服务。光盘的安装不做特别要求。
2)安装交叉编译工具链:可有两个方式供选择,即使用只做好的工具链和自己制作工具链。刚开始学习时,建议使用制作好的工具链。等到熟练掌握了可以再于gcc来制作一个工具链。
三:嵌入式Linux开发编程构建
  1:在主机中安装linux系统:Windows上安装虚拟机、Linux及其应用部件;安装、配置、启动FTPSSHNFS服务,如果不是通过远程登录Linux,而是直接在Linux中进行开发,则FTPSSH这两个服务不用开启;
  2:安装交叉编译共具:源文件需要经过编译才能生成可执行文件。在Windows下进行开
发时,只需要单击几个按钮即可编译,集成开发环境已经将各种编译工具的使用都封装好了,而要编译出能在arm平台上运行的程序,必须使用交叉编译工具arm-linux-gcc,刚开始学习时,建议使用制作好的工具链,按照下面的方法进行安装:
#cd /work/tools
#tar xjf arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2
#vi ./.bashrc
  1>在后面加上 /work/tools/gcc-3.4.5-glibc-2.3.6/bin
  2>运行#arm-linux-gcc –v。可查看使用的交叉编译工具的版本号;
  3>安装ncurses ncurses是一个能提供功能键定义、屏幕绘制以及基于文本终端的图形互动的动态库。如果没有它在执行“make menuconfig”时会出错;
#cd /work/tools
#tar xzf
#cd ncurses-5.6
#./configure –with-shared –prefix=/usr
#make
#sudo make install
当然我们也可以使用自己制作的工具链:
修改crosstool脚本
  $ tar xzf crosstool-0.  //解压缩
  glibc-2.3.6-version-info.h_err.patch此补丁文件复制到crosstool的补丁目录下:
  $cpglibc-2.3.6-version-info.h_err.patch

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。