嵌入式Linux系统的研究及其在串口通信中的应用.pdf
《嵌入式Linux系统的研究及其在串口通信中的应用.pdf》由会员分享,可在线阅读,更多相关《嵌入式Linux系统的研究及其在串口通信中的应用.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 嵌入式嵌入式 Linux 系统的研究及其在串口通信中的应用系统的研究及其在串口通信中的应用 竹林,祝忠明(成都理工大学 通信与信息系统系,成都 610059)摘要摘要:研究了典型的嵌入式 Linux 操作系统,概述了如何构建嵌入式 Linux 开发环境,分析了 Linux 内核的修改和剪裁,并在开发板上实现串口通信。关键字:关键字:嵌入式系统;linux;内核;裁剪 Research and Application of Embedded Linux System Based on ARM Zhu lin,Zhu zhongming (Chengdu University of Techno
2、logy,Chengdu 610059)Abstract:Typical Embedded Linuxoperating systems are studied,it is summarized how to build a development condition of the embedded Linux and analyzed deeply how to modify and tailor the Linux kernel and serial communication are realized on the developing board.Keywords:embedded;o
3、perating;system;linux;kernel;ailor 1、引言引言 Linux 内核进行修改和剪裁以满足系统的需求,是移植技术中的关键。本文主要研究了如何对 Linux 操作系统进行修改和剪裁,并在开发板上实现了串口通信。2、嵌入式嵌入式 Linux 操作系统分析操作系统分析 Linux 系统内核的分析:Linux 系统使用了单一内核结构,即操作系统中所有的系统相关功能都被封装在内核中。程序通过一套称作系统调用(System Call)的界面访问内核结构。在 Linux 中,可以动态装入和卸载内核中的部分模块。Linux 内核由 5 个 部分组成:进程管理、内存管理、文件系统管
4、理、进程间通信和网络接口。典型的嵌入式 Linux 操作系统有 2 类:第一类如CLinux,其是为了支持没有 MMU(内存管理单元)的处理器而对标准 Linux 作出的修正。CLinux 保留了 Linux 的大部分优点:稳定良好的移植性、优秀的网络功能、支持各种文件系统以及标准丰富的 API 等。第二类是将 Linux 开发成实时系统尤其是硬(firm)实时系统,应用于一些关键的控制场合,如 RTLinux。3、基于、基于 ARM 平台的嵌入式平台的嵌入式 Linux 系统的研究系统的研究 3.1 嵌入式平台及开发环境的建立嵌入式平台及开发环境的建立 HFRK2410 开发板是基于 S3C
5、2410 高性能 ARM 处理器的嵌入开发平台,CPU 采用 S3C2410ARM920T。开发过程为:Linux 下建立交叉编译器,在Windows 操作系统中用 ADS 开发工具实现启动程序,在 Linux 操作系统下,用交叉编译器进行 Linux 内核、库函数及应用程序的编译。3.2 BootLoader 代码分析代码分析 嵌入式系统中,Boot Loader 是在操作系统内核或用户应用程序运行之前运行一段小程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核或用户应用程序准备好正确的环境。大多数 BootLoader 都包
6、含 2 种不同的操作模式:启动加载(BootLoading)模式和下载(DownLoading)模式。启动加载(Boot Loading)模式:也称为“自主”模式。即 BootLoader 从目标机上的某个固态存储设备上将操作系统加载到 RAM 中运行,整个过程并没有用户的介入。这种模式是 Boot Loader 的正常工作模式,在嵌入式产品发布的时候,BootLoader 必须工作在这种模式下。下载模式:在这种模式下,目标机上的 BootLoader 将通过串口连接或网络连接等通信手段从主机下载文件。从主机下载的文件通常首先被 BootLoader 保存到目标机的 RAM 中,然后再被 Bo
7、otLoader 写到目标机上的 FLASH 类固态存储设备中。BootLoader 的这种模式通常在第一次安装内核与根文件系统时被使用;此外,以后的系统更新也会使用 BootLoader 的这种工作模式。工作于这种模式下的 BootLoader 通常都会向其终端用户提供一个简单的命令行接口。3.3 内核的修改和剪裁内核的修改和剪裁 内核的初始化分为以下几个阶段:(1)内核的入口 stext。stext 是 BootLoader 所调用的内核入口,从 stext 进入后,将完成一些针对程序运行环境的建立。(2)内核的初始化函数 start_kernel。start_kernel 是内核初始化的
8、主体。在调用这个函数的时候,系统已经有了一个初始化的页目录表和堆栈。(3)内核的初始化线程 init。在 start_kernel 中,通过创建了一个内核进程来执行 init 函数,进行初始化。(4)系统的初试化程序 修改内核启动部分源代码:主要是修改 makefile 文件,以及加上 NAND Flash的支持和 mtd 分区表的填写。目的是指定目标 CPU 的体系结构为 ARM 及交叉编译器前缀为 arm-linux-,并在内核启动时能初始化 NAND Flash。修改的步骤为:(1)下载并解压 Linux 内核(2)修改 makefile 文件#ARCH?=$(SUBARCH)修改为 A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 Linux 系统 研究 及其 串口 通信 中的 应用
限制150内