ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:387.64KB ,
资源ID:8721323      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8721323.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ARM论文.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ARM论文.docx

1、ARM论文嵌入式系统课程论文 学院: 信息科学与工程 班级: 姓名: 学号: 基于GUI的嵌入式系统串口通信接口设计一、嵌入式系统简介嵌入式系统(Embedded system),是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”,根据英国电器工程师协会( U.K. Institution of Electrical Engineer)的定义,嵌入式系统为控制、监视或辅助设备、机器或用于工厂运作的设备。与个人计算机这样的通用计算机系统不同,嵌入式系统通常执行的是带有特定要求的预先定义的任务。由于嵌入式系统只针对一项特殊的任务,设计人员能够对它进行优化,减小尺寸降低成本。由于嵌入式

2、系统通常进行大量生产。所以单个的成本节约,能够随着产量进行成百上千的放大。嵌入式系统必须根据应用需求对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。所以,如果能建立相对通用的软硬件基础,然后在其上开发出适应各种需要的系统,是一个比较好的发展模式。目前的嵌入式系统的核心往往是一个只有几K到几十K微内核,需要根据实际的使用进行功能扩展或者裁减,但是由于微内核的存在,使得这种扩展能够非常顺利的进行。ARM是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如嵌入控制、消费/教育类多媒体、

3、DSP和移动式应用等。ARM 的商业模式主要涉及 IP 的设计和许可,而非生产和销售实际的半导体芯片。ARM向合作伙伴网络(包括世界领先的半导体公司和系统公司)授予 IP 许可证。这些合作伙伴可利用 ARM 的 IP 设计创造和生产片上系统设计,但需要向 ARM 支付原始 IP 的许可费用并为每块生产的芯片或晶片交纳版税。除了处理器 IP 外,ARM还提供了一系列工具、物理和系统 IP 来优化片上系统设计。正因为 ARM 的 IP 多种多样以及支持基于 ARM 的解决方案的芯片和软件体系十分庞大,全球领先的原始设备制造商 (OEM) 都在广泛使用 ARM 技术,应用领域涉及手机、数字机顶盒以及

4、汽车制动系统和网络路由器。当今,全球 95% 以上的手机以及超过四分之一的电子设备都在使用 ARM 技术。二、嵌入式linux简介嵌入式linux 是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式linux既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。嵌入式Linux的特点是版权费免费;购买费用媒介成本技术支持全世界的自由软件开发者提供支持网络特性免费,而且性能优异,软件移植容易,代码开放,有许多应用软件支持,应用产品开发周期短,新产品上市迅速,因为有许多公开的代码可以参考和移植,实时性能RT_Linux Hard

5、hat Linux 等嵌入式Linux支持,实时性能稳定性好安全性好。Linux的大小适合嵌入式操作系统Linux固有的模块性,适应性和可配置性,使得这很容易做到。另外,Linux源码的实用性和成千上万的程序员热切期望它用于无数的嵌入式应用软件中,导致很多嵌入式Linux的出现,包括:Embedix,ETLinux,LEM,Linux Router Project,LOAF,uCLinux,muLinux,ThinLinux,FirePlug,Linux和PizzaBox Linux。三、硬件电路设计本设计是基于三星公司的ARM11芯片(S3C6410芯片)作为主处理器。该CPU是基于ARM1

6、176JZF-S核设计,支持SD卡启动,只需将bootloader烧写至SD卡,就可以从SD卡启动。完成程序烧写功能。系统框图如下:该 S3C6410 通用异步接收和发送器( UART)提供了四个独立的异步串行 I / O (SIO)端口。每个异步串行 I/O(SIO)端口通过中断或者直接存储器存取(DMA)模式来操作。换句话说,UART是通过产生一个中断或 DMA请求,在CPU 和 UART之间传输数据的。该 UART 使用系统时钟的时间可以支持的比特率最高为 115.2kb/s。如果一外部设备提供 ext_uclk0或 ext_uclk1 ,则 UART可以以更高的速度运行。每个UART的

7、通道包含了两个 64 字节收发FIFO 存储器。 该 S3C6410的 UART 包括可编程波特率,红外线( IR )的传送/接收,一个或两个停止位插入,5 位,6 位,7 位或 8位数据的宽度和奇偶校验。串口寄存器,以通道0为例:四、软件环境搭建及系统移植(1)解压安装U-boot 源代码(2)解压安装Linux 内核源代码(3)解压安装目标文件系统(4)解压安装嵌入式图形系统 qtopia 源代码(5)配置和编译 U-boot(6)配置和编译内核(Kernel)(7)制作目标板文件系统映象(8)下载U-boot(9)下载linux内核(10)下载qtopia图形界面五、串口通信应用程序设计

8、 要进行串口通讯,首先要打开串口设备,使用 Linux 下的 open 函数即可打开,打开串口设备后,还需要用 tcsetattr 来设置波特率等串口属性,代码如下所示: int openSerialPort() int fd = -1; const char *devName = /dev/ttySAC2; fd = :open(devName, O_RDWR|O_NONBLOCK);if (fd 0) return -1; termios serialAttr; memset(&serialAttr, 0, sizeof serialAttr); serialAttr.c_iflag =

9、IGNPAR; serialAttr.c_cflag = B115200 | HUPCL | CS8 | CREAD | CLOCAL; serialAttr.c_ccVMIN = 1;if (tcsetattr(fd, TCSANOW, &serialAttr) != 0) return -1; return fd; 上述代码中打开的串口设备文件名为 /dev/ttySAC2,并设置波特率为 115200, 然后将 Data bits 改为 8。要对串口设备进行读写,使用 Linux 标准i/o 函数 read 和“abcd”,4)往串口设备写 abcd 时,PC 端的终端上会显示 abcd

10、,同理,当在 PC 端上输入字符时,使用read(fd, buff, sizeof buff) 来读取 PC 端发送过来的字符。在使用 open方法打开串口并设置好属性后,可以使用 Qt 的类 QSocketNotifier 来监听串口是否有数据可读,它是事件驱动的, 配合 Qt 的 signal/slot 机制,当有数据可读时,QSocketNotifier就会发射 ativated 信号,你只需要创建一个 slot 连接到该信号即可,代码如下所示: m_fd = openSerialPort(); if (m_fd insert(QString(QChar(c); 使用designer 工

11、具设计图形界面 :Qt/Qtopia 都带有 designer 工具,可以设计所见即所得的图形界面,我们现在就使用 designer 工具来设计 serialport 程序的主界面,主界面将保存成名为 main_form_base.ui 的 ui 文件(这种类型的文件在编译时会被 uic 编译器解析,并生成 C+代码)创建三个源代码文件,一个是头文件 main_form.h,一个是源代码文件 main_form.cpp,一个是 main.cpp。Main.cpp,代码如下:#include main_form.h #include QTOPIA_ADD_APPLICATION(serialpo

12、rt,TMainForm) QTOPIA_MAINmain_form.h代码如下:#if !defined (_MAIN_FORM_H_) # define _MAIN_FORM_H_ #include main_form_base.h #include class TMainForm: public TMainFormBase Q_OBJECT public: TMainForm(QWidget * parent = 0, const char * name = 0, WFlags f = WType_TopLevel); virtual TMainForm(); private: int

13、openSerialPort(); private slots: void sendButtonClicked(); void remoteDataIncoming(); private: int m_fd; QSocketNotifier *m_notifier; ; #endifMain_form.cpp代码如下:TMainForm:TMainForm(QWidget * parent, const char * name, WFlf):TMainFormBase(parent, name, f), m_notifier(0) m_fd = openSerialPort(); if (m_

14、fd = 0) :close(m_fd); m_fd = -1; void TMainForm:sendButtonClicked() QString text( m_sendEdit-text() ) if (text.isEmpty() return ; :write(m_fd, text.latin1(), text.length(); m_sendEdit-setText(); int TMainForm:openSerialPort() int fd = -1; const char *devName = /dev/ttySAC2; fd = :open(devName, O_RDW

15、R|O_NONBLOCK); if (fd insert(QString(QChar(c); 交叉编译serialport程序编译完成后,在 serialport 下生成了 serialport 可执行文件,把它拷贝到 SD卡,然后将 SD 插到6410 开发板上,在串口终端上输入以下命令将可执行文件拷贝到开发板上的 /opt/Qtopia/bin/ 目录下。运行串口通信应用程序。六、设计心得 经过这次基于GUI的嵌入式串口通信程序设计,我初步掌握了嵌入式系统移植,QT编程。虽是一个简单功能的串口通信,这次的设计并不简单,我了解到软件工程师与嵌入式软件工程师的区别,作为嵌入式软件的编写者,务必时刻做到软件与硬件相结合,只有硬件环境合适,软件才能正常运行。嵌入式的研究任重而道远,但同时充满着探讨学问的乐趣,我会坚持学习下去。纸上得来终觉浅,要想把从课本上学到的只是转化为自己的,就必须自己亲自动手实践。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1