1、嵌入式大作业目录一、嵌入式系统开发概述. 31.1 嵌入式系统的概念. 31.2 嵌入式系统的特点. 31.3 嵌入式与PC 的不同. 3二、宿主机系统开发环境的建立. 52.1 安装LINUX发行版本REDHAT LINUX. 52.2 安装跨平台开发工具链. 52.3 配置宿主机的网络环境WINDOWS和LINUX之间可以互相联通. 6三、目标机最小系统的建立和安装. 73.1 BOOTLOADER的烧写. 73.2 烧写内核zImage(KERNEL). 73.3 烧写根文件系统(ROOT). 73.4 烧写应用程序. 7四、嵌入式系统应用程序的开发. 8一、 嵌入式系统开发概述嵌入式系
2、统是集成电路发展过程中的一个标志性成果,它把计算机直接嵌入到应用系统中,融合了计算机软/硬件技术、通信技术和微电子技术,是一种微电子产业和信息技术产业的最终产品。微电子产业是许多国家优先发展的产业。以超深亚微米工艺和IP 核复用技术为支撑的系统芯片技术是国际超大规模集成电路发展的趋势和21世纪集成技术的主流。1.1 嵌入式系统的概念嵌入式系统就是指以应用为中心,以计算机技术为基础,软硬件可裁剪,适合应用系统对功能、可靠性、成本、体积、功耗等严格要求的一种专用计算机系统。它一般由以下几部分组成: 嵌入式微处理器; 外围硬件设备; 嵌入式操作系统; 特定的应用程序。1.2 嵌入式系统的特点 系统内
3、核小 专用性强 系统精简 高实时性的系统软件是嵌入式软件的基本要求 需使用多任务的操作系统 需要开发工具和环境1.3 嵌入式与PC的不同 一般专用于特定的任务,而PC是一个通用计算机 使用多种类型的处理器和处理器体系结构 极其关注成本 有实时约束 使用实时多任务操作系统 软件故障造成的后果比PC 系统更严重 大多有功耗约束 经常在极端的环境下运行 系统资源比PC少的多 通常所有的目标代码存放在ROM中 需要专用工具和方法进行开发设计 嵌入式系统的数量远远超过PC二、宿主机系统开发环境的建立嵌入式交叉编译环境依据宿主机的不同,可以分为基于linux 和windows 环境下的交叉编译环境。我们这
4、学期主要学习了在Linux 下的嵌入式开发,所以本文主要阐述基于Linux 的宿主机系统开发环境的建立。基于我们的实验环境,我们采用在windows 下安装虚拟机来运linux 操作系统,因此构建宿主机系统开发环境的前提是先安装虚拟机。然后是在虚拟上安装我们所需要的linux 操作系统。其开发步骤如下:2.1 安装linux发行版本redhat linux由于开发环境限制,需在XP系统上安装redhat linux虚拟机,安装过程步骤较多难度较低,故略去。2.2 安装跨平台开发工具链由于嵌入式开发系统的限制,在裁剪和定制嵌入式linux 系统之前,通常要先在pc机上建立一个用于目标机的交叉编译
5、环境,也就是将各种二进制工具程序集成为工具链。其中包括连接器(ld)、汇编(as)、编译器(gcc)以及链接库(glibc)等。Linux 使用GNU 的工具,先行者们已经编译出了常用体系结构的工具链,在网上可以下载这些工具,建立交叉开发环境。我们实验用的是arm-inux-gcc 工具。其安装步骤如下:1 、利用文件夹共享, 找到并运行可执行文件mnt/hgfs/yaffs/Linux7.2/install.sh 实现交叉编译环境的安装。2、在配置文件profile 中修改环境变量PATH。3、注销登录。2.3 配置宿主机的网络环境windows 和linux 之间可以互相联通a、Windo
6、ws 的IP 地址要与linux 的IP 地址位于同一个网段,这是两者之间相互通信的前提。b、NFS 网络服务可以使用;设置虚拟机在windows 里的共享目录,然后在linux 里配置NFS 服务,并通过service nfs restart 命令启动NFS 服务。c、关闭防火墙三、目标机最小系统的建立和安装3.1 bootloader的烧写a、安装驱动:拷贝文件 添加硬件b、利用烧写工具烧写:sjf2410-s /f:安装盘自定c、利用串口:分区、重新烧写bootloaderd、重启开发板。3.2 烧写内核zImage(kernel)a、通过bootloader 命令,利用串口烧写内核b、
7、load flash kernel xc、重新启动开发板3.3 烧写根文件系统(root)a、通过bootloader 命令,利用串口烧写内核b、load flash root xc、重新启动开发板3.4 烧写应用程序可以利用ftp 服务,直接把应用程序下载到目标机上。特点是速度快四、嵌入式系统应用程序的开发嵌入式系统的开发包含驱动程序的开发、应用程序的开发、图形界面的开发。驱动程序的开需要在了解硬件结构和工作方式的基础上进行驱动程序的开发,应用程序的开发是在驱动装好的基础上,实现特定的功能,需要编写源程序和makefile 文件,图形界面的开发是编写嵌入式系统的应用图形化界面。开发一个应用程
8、序:1、编写源文件hello.hstarfun.hhello.cstar.cStarfun.h 文件内容如下:/*starfun.h*/#ifndef STARFUN_H#define STARFUN_H#define NUM 4#define NUMBER 3int star1() int i,j,k; for(k=1;k=NUM;+k) for(i=1;i=(NUM-k);+i) printf( ); for(j=1;j=0;-k) for(i=1;i=(NUMBER-k+1);+i) printf( ); for(j=1;j=(2*k-1);+j) printf(*); printf(n
9、); return 0;#endifhello.h文件内容如下:/*hello.h*/#ifndef HELLO_H#define HELLO_Hvoid hello() star1(); printf(hello,my friendsn);#endifhello.c 文件内容如下:void showhello() hello();star.c文件内容如下:#include starfun.h#include hello.h#include int main() star1(); star2(); showhello(); return 0;2、编写Makefile 文件myprogone:
10、star.o hello.ogcc -o myprogone star.o hello.ohello.o:hello.c hello.h starfun.hstar.o:star.c starfun.hclean:rm -f *.o检验程序是否正确,先在目标机上运行,检验下能否输出预期的设计效果,如果正确,改写Makefile 文件,生成能在目标机上运行的嵌入式应用程序,其改写方法如下:myprogone: star.o hello.oarm-linux-gcc -o myprogone star.o hello.ohello.o:hello.c hello.h starfun.hstar.o:star.c starfun.hclean:rm -f *.o3、运用已经搭建好的环境,把生成的myprogone 文件烧写在目标板上,然后运行该应用程序即可。实验结果: * * * * * * * * *hello,my friends
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1