2024年4月17日发(作者:)
维普资讯
CHI NA N EW T E L EC0MM U NICAT10N S(Te c h nI c a{EdIt1o n
篇 入 Lin ux 系统的研究
竹林祝忠明
(成都理T大学通信与信息系统系成都610059)
摘要本文研究了典型的嵌入式Linux操作系统,概述了如何构建嵌入式Linux开发环境,分析了Linux内核的
Linux 内核裁剪
修改和剪裁,并在开发板上实现串口通信。
关键词 嵌入式操作系统
1 引言 3基于ARM平台的嵌入式Linux系统的研究
Linux内核进行修改和剪裁以满足系统的需求,
3.1 嵌入式平台及开发环境的建立
是移植技术中的关键。本文主要研究了如何对Linux
口通信。
HFRK2410开发板是基于三星公司¥3C2410高
操作系统进行修改和剪裁。并在开发板上实现了串
性能ARM处理器的嵌入开发平台,CPU采用
¥3C2410ARM920T。开发过程:Linux下建立交叉编
译器,在Windows操作系统中用ADS开发工具实现
启动程序,在Linux操作系统下,用交叉编译器进行
2嵌入式Linux操作系统分析
Linux系统内核的分析:Linux系统使用了单一 Linux内核、库函数及应用程序的编译。
内核结构,即操作系统中所有的系统相关功能都被
3.2 BootLoader代码分析
嵌入式系统中,BootLoader是在操作系统内核或
封装在内核中。程序通过一套称作系统调用(System
Cal1)的界面访问内核结构。在Linux中,可以动态装
用户应用程序运行之前运行~段小程序,可以初始
入和卸载内核中的部分模块。Linux内核由5部分组
化硬件设备、建立内存空问的映射图,从而将系统的
成:进程管理、内存管理、文件系统管理、进程问通信
软硬件环境带到一个合适的状态,以便为最终调用
和网络接口。
操作系统内核或用户应用程序准备好正确的环境。
典型的嵌入式Linux操作系统:第一类有 大多数BootLoader都包含两种不同的操作模式:“启
CLinux等,它是为了支持没有MMU(内存管理单
动加载”模式和“下载”模式。
启动加载(Boot Loading)模式:也称为“自主”模
元)的处理器而对标准Linux作出的修正。 CLinux
lmader从目标机上的某个固态存储设备
保留了Linux的大多优点:稳定、良好的移植性,优秀
式。即Boot
的网络功能,对各种文件系统的支持,以及标准丰富
上将操作系统加载到RAM中运行,整个过程并没有
Loader的正常工作模
的API等。第二类是将Linux开发成实时系统尤其
用户的介入。这种模式是Boot
Loader显然必须
是硬(Firm)实时系统,应用于一些关键的控制场合,
式,在嵌入式产品发布的时候,Boot
如RTLinux
工作在这种模式下。
中国新通信l技术版1 2008.1
47
维普资讯
下载(Downloading)模式:在这种模式下,目标机
手段从主机下载文件。从主机下载的文件通常首先
做完以上修改以后,内核编译以后就可以在
(4)编译内核
上的Bootlmader将通过串口连接或网络连接等通信
hfrk2410开发板上运行了。
被Bootlmader保存到目标机的RAM中,然后再被
编译内核需要3个步骤,分别是创建内核依赖
创建内核镜像文件和创建内核模块。命令依次
Bo0tLDader写到目标机上的Hash类固态存储设备
关系、
中。BootLoader的这种模式通常在第一次安装内核与
为:make dep make zlmage make modules
根文件系统时被使用;此外,以后的系统更新也会使
等编译完成以后,会生成镜像文件
rch/arm/boot/zlmage,把这个文件下载到开发板上,
用Bootlmader的这种工作模式。工作于这种模式下
a
的Bootlmader通常都会向它的终端用户提供一个简
就会看到Linux2.6的内核启动信息,即完成了KI卜
单的命令行接口。
3。3内核的修改和剪裁
ux2.6内核移植的第一步。
(5)加载YAFFS2文件系统(YAFFS,Yet Another
Flash File System)
内核的初始化分为了几个阶段:
(1)内核的人口stext。stext是BootLoader所调用
(6)内核的剪裁:使用Linux自身的配置工具,
的内核人口,从stext进人后,将完成一些针对程序 编译定制内核。根据功能对内核进行剪裁,要达到的
目标是:保证串口下载调试信息,提供必要的系统操
运行环境的建立。
(2)内核的初始化函数start_kernel。start_kernel
作,支持应用程序正常运行,即完成串口通信。配置
是内核初始化的主体。在调用这个函数的时候,系统
的Linux内核如下:
已经有了一个初始化的页目录表和堆栈。
Code maturity level options一 >代码成熟等级选
项(不选)
(3)内核的初始化线程init
在start_kernel中,通过创建了一个内核进程来
[]Prompt for development and/or incomplete
执行init函数,进行初始化。
(4)系统的初试化程序
code/drivers
默认情况下是选择的,这将会在设置界面中显
修改内核启动部分源代码:主要是修改makeifle 示还在开发或者还没有完成的
文件,以及加上NAND Flash的支持和mtd分区表的
与驱动。
通用设置选项:支持处理器在程序之间同步和
填写。目的是指定目标CPU的体系结构为ARM及
交叉编译器前缀为arln—linux一,并在内核启动时能 交换信息、支持热插拔
初始化NAND Flash。
General setup———————
修改的步骤如下:
(1)下载并解压Linux内核
[ ]System VIPC
[ ]Support orf hot-pluggable devices
(2)修改makeifle文件
#ARCH?=¥fSuBARCH)修改为ARCH:=arm。
可加载模块:使用模块支持、支持模块卸载、支
持内核自动加载部分模块
Loadable module support—————
(3)修改相关的文件
①修改arch\armhnach—s3c2410\devs.c文件
增加头文件定义
・
[ ]Enable loadable module support
[*]Module unloading
[ ]Automatic kernel module loading
#include<Linux/mtd/partitions.h>
#include<asm/arch/nand.h>
总线支持配置:有关PCMCIA不选
Bus support—————
#include<Linux/mtd/nand.h>
增加NAND Flash分区信息,将分区信息和
bootloader程序一致。
PCCARD(PCMCIA/CardBus)support----+
[]Enable PCCARD debugging
②修改arch\armhnach—s3c24 1 0 ̄nach—smdk24 1 0.
C文件
[]1 6一bit PCMCIA support(NEW)
[]Load CIS updates from userpace(EXPERIMEN—
48
CHINANEWTELECOMMUNICATIONS(TechnicalEdition)JAN2口D8No,1
维普资讯
CHl NA N EW TE LECOMM U NI CATl0N S fTe c h ni cal Editi o n
TAL)(NEW)
[]PCMCIA control ioctl(obsolete)(NEW)
支持的可执行文件格式:支持ELF,ELF是开放
平台下最常用的二进制文件,它支持不同的硬件平
台。
Userspace binary formats一一—
[ ]Kernel support for ELF binaries
设备驱动:支持MTD分区,支持NAND Flash、
网卡CS8900
Device Drivers--->
Memory Technolo ̄Device(MTD)support
[ ]MTD partitioning support
[ ]Direct char device access to MTD devices
[ ]Caching block device access to MTD devices
NAND Flash Device Drivers一>
从串口读数据
I
』
打印从串口读到的数据
[ ]NAND Device Support
[ ]NAND Flash support for¥3C2410/¥3C2440 SoC
[ ]¥3C2410 NAND driver debug
Network device support一一
图1串口通信的程序流程图
fd=open(”/dev/ttyS0",0一RDWR);if(一1== ){
Ethernet(1 0 or 1 00Mbit)一一—
< >CS8900 support
perror(”提示错误!”);/ 不能打开串口一 /}
(2)最基本的设置串口包括波特率设置,效验位
(7)建立根文件系统
序、init程序、必需的库和需要加载的模块。根文件系
统采用cramfs格式,并使用工具软件busybox来建
立。
和停止位设置。串口的设置主要是设置struct termios
(3)读写串口
设置好串口之后,把串口当作文件读写就可以
了。
根文件系统的作用是存放了各种工具、应用程 结构体的各成员值。
通过以上步骤,内核已经正常启动,首先检测硬
件平台,然后初始化网卡、USB以及其他硬件,最终
发送数据:
char buffer[1024];
int Length=1 024;
int nByte;
挂载文件系统YAFFS,显示Linux命令行的提示符。
4 基于ARM平台的嵌入式Linux在串口通
信中的应用
该系统只设计了一路与UART0相连的
RS一232C接口电路,通过9芯的D型插头,与外设可
方便的连接,同时设计了数据发送与接收的状态指
nByte=write(fd,buffer,Length);
写数据:
char bufq1024];
int Len=1024;
int readByte=read(fd,buff,Len);
示LED,当有数据通过串行口传输时,LED闪烁,便
于用户掌握其工作状态,以及进行软、硬件的调试。
图1为串口通信的程序流程图。
(1)使用标准的文件打开函数操作来打开串口:
int fd;
(4)关闭串口
Close(fd);
5结束语
在嵌入式系统平台的开发使用过程中,经常使
用串行接口与Pc主机进行通信。在此平台上,可以
/ 以读写方式打开串口 /
中国耨通信I技术版)2008.1
49
维普资讯
运行嵌入式Linux操作系统,使用串口下载应用程
延伸系统的应用触角,扩大系统的数据采集和过程
序等。由此可见,在嵌入式系统中实现串口通信,可
控制的范围。
参考文献
[1】马忠梅等.ARM&Linux嵌入式教程.北京:北京航空航天大学出版社,2004
[2]孙天泽等.嵌入式设计及Linux驱动开发指南.北京:电子工业出版社,2002
【313毛德操.Linux内核源代码情景分析.杭州:浙江大学出版社,2001
I4l李善平等.Linux与嵌入式系统[M】.北京:清华大学出版社,2003
[5】陈莉君.Linux操作系统内核分析.北京:人民邮电出版社,2000
[6]张斌,高波.Linux网络编程.北京:清华大学出版社,2000
(收稿日期:2007年12月12日)
Research and Application of Embedded Linux System Based on ARM
Zhu Lin,Zhu Zhongming
(Chengdu University ofTechnology,Chengdu 610059,China)
Abstract Typical Embedded Linuxoperating systems are studied,it is summarized how to build a development condition of the em—
bedded Linux and analyzed deeply how to modify and tailor the Linux kernel and serial communication are realized on the developing
board.
Key words embedded operating system Linux,kernel,ailor
2007中国信息主管(ClO)大会在京召开
2007年12月1日至2日,汇聚中国顶级信息主管的2007中国信息主管(CIO)年会在北京万达索菲特大饭店盛大召
开。近千位中国政府、行业、区域和企业的重量级CIO齐聚北京,围绕“IT、业务创新与科学发展”的大会主题,共商中国信
息化大计。作为每年CIO年会的亮点,电子政务、平安城市、制造业信息化、农村信息化、医疗卫生信息化、信息安全、教育
信息化、增值渠道、校园经济、交通物流信息化十大分论坛也于12月2日上午举行,来自各地政府、企业的行业信息化主
管围绕各论坛主题进入了深入交流和讨论。南计算机世界传媒集团主办的中国CIO年会是“中国IT两会”的重要组成部
分,自2001年开始举办以来,每年都以洞察宏观大势、聚集关键热点成为信息化领域的重量级盛会,参加CIO年会的重
量级信息主管多达千位,他们不但是中国信息化建设的领军人物,同时也是中国IT市场最具购买力的群体。
2008中国通信技术年会
在过去的2007年中,通信技术的演进与融合成为推动产业发展的核心力量。在即将到来的2008年,谁将主导通信
技术的选择?“2008中国通信技术年会”于12月19日在北京新世纪日航酒店隆重举行回答了这个问题。
此次会议由信息产业部批准,中国电子信息产业发展研究院主办,通信产业报社承办。会上有来自政府主管部门、中
国移动、中国电信的领导,以及多个研究机构、业界主导厂商的数十余位专家学者共同就“演进、融合与技术选择”主题,
展开深入、务实研讨。
会议议题主要包括无线通信的发展与演进、网络融合与宽带机遇、ICT融合与应用创新、技术发展与产业链共赢等,
会议最大限度地涵盖了通信业界最为焦点的核心论题,将2007年通信行业的热点技术与应用成果悉数呈现。
同时,在会议现场,通信产业报还联合国内十家知名电信咨询公司发布了“2008年通信行业十大技术发展趋势报
告一白皮书”,对TD—SCDMA、WiMAX、P2P等技术在2008年的发展趋势进行了预判和展望。
另外,本次大会还评选出了2007“年度技术服务”、“年度技术应用”、“年度技术创新”、“年度优秀研究院”、“年度先锋
技术人物”以及“年度技术贡献”六大奖项。
50
CHINA NEWTELECOMMUNICA"IIONS(TechnicalEdition)JAN2D08No.7
发布者:admin,转转请注明出处:http://www.yc00.com/news/1713286043a2218967.html
评论列表(0条)