文档介绍:设计
目录
第一章课程设计的任务说明 1
课程设计的目的 1
课程设计的要求 1
第二章有操作系统的嵌入式系统软件开发概述 2
有操作系统的软件开发流程 2
有操作系统的软件运行模式 2
第三章 Linux操作系统简介 6
第四章 uClinux操作系统简介 7
第五章开发环境的建立 8
建立主机Linux平台 8
安装交叉编译工具 12
第六章 uClinux裁剪与编译 13
uClinux裁剪 13
uClinux编译 15
第七章操作系统下多任务应用程序开发 16
操作系统下多任务应用程序的开发流程 16
操作系统下多任务应用程序的开发环境 16
操作系统下多任务应用程序的开发 17
编写串口、LED应用程序 17
添加应用程序至内核并随内核编译 18
总结 23
参考文献 24
第一章课程设计的任务说明
课程设计的目的
了解有操作系统的嵌入式系统软件开发流程;
了解Linux操作系统的基本知识;
熟悉Linux操作系统的常用命令;
掌握Linux操作系统的vi编辑器用法;
编译器用法;
了解uCLinux操作系统的基本知识;
掌握uCLinux操作系统内核编译环境的建立;
熟悉uCLinux内核编译步骤;
掌握将编译好的内核下载到系统运行的步骤;
(10)掌握uClinux多任务编程与自启动。
课程设计的要求
(1)掌握课程设计所涉及到的相关知识。
(2)拓宽和加深学生对已学过的理论知识的理解,从而掌握比较全面的专业知识。
(3)进一步熟悉嵌入式系统软件开发流程,深刻地理解嵌入式系统原理和相关接口电路的实现。
(4)按照要求撰写课程设计报告。
第二章有操作系统的嵌入式系统软件开发概述
有操作系统的软件开发流程
嵌入式操作系统及应用软件的开发流程如图2-1所示。
.rom
从Linux转出
从windows
转入
共享文件夹
BootLoader
ARM-elf-tools交叉编译工具
uClinux源代码
ADS
应用程序2
.bin
特殊功能寄存器
SDRAM
Flash
Red Hat Linux
VMware
共
享
文
件
夹
ADS
0x0
0x1 0000
应用程序1
图2-1 有操作系统的软件开发流程
由图可知,在开发嵌入式操作系统及应用软件之前,应首先将操作系统引导程序烧写到Flash的起始地址0x0处,当系统初始化完了之后,应当跳转到操作系统的起始地址0x1 0000处,而不是应用程序的入口处。
有操作系统的软件运行模式
在运行有操作系统的嵌入式系统中,主要包含了BootLoader引导程序、操作系统和应用程序这三类的程序。其中,引导程序是嵌入式软件系统中必不可少的部分,在引导程序运行完成后,嵌入式系统的硬件被设置到合适的状态,从而引导操作系统运行。操作系统启动后,才能进一步运行应用程序。
这三种程序的不同组成方式和运行方式就形成了不同的软件运行模式。他们就可以分为如表2-1所示的4种模式。
表2-1 有操作系统的嵌入式软件模式
编号
模式
A
BootLoader直接引导操作系统,操作系统与应用程序一起编译,应用程序不自启动。
B
BootLoader直接引导操作系统,操作系统与应用程序一起编译,应用程序自启动。
C
BootLoader直接引导操作系统,操作系统与应用程序分开编译,应用程序通过网口等下载至SDRAM中。
D
BootLoader启动后显示菜单,手动引导操作系统。
(1)BootLoader启动之后直接引导操作系统运行,应用程序编译在操作系统的romfs文件系统中,操作系统启动后并不能自动运行应用程序,而是根据需要手动运行或者由其他程序调用。
0x000 0000
0x001 0000
0x100 0000
0x120 0000
0x3FF 0000
0x3FF FFFF
64 MB
16 MB
2 MB
64 KB
BootLoader启动后的编址空间
特殊功能寄存器组
还没有和物理设备
建立映射的区域
Flash
SDRAM
操作系统
引导程序
应用程序
图2-2 有操作系统的运行模式A
在该模式下,BootLoader在完成系统初始化工作后,修改PC指针,,引导操作系统运行。,操作系统启动之后,应用程序放在/BIN目录下,后是应