文档视界 最新最全的文档下载
当前位置:文档视界 › IIS总线地嵌入式音频系统设计

IIS总线地嵌入式音频系统设计

IIS总线地嵌入式音频系统设计
IIS总线地嵌入式音频系统设计

基于IIS总线的嵌入式音频系统设计

嵌入式音频系统广泛应用于GPS自动导航、PDA、3G手机等嵌入式领域,但目前国在这方面的研究较少。音频系统设计包括软件设计和硬件设计两方面,在硬件上使用了基于IIS总线的音频系统体系结构。

IIS(Inter-IC Sound bus)是菲利浦公司提出的串行数字音频总线协议。目前很多音频芯片和MCU都提供了对IIS的支持。

在软件上,作为一个功能复杂的嵌入式系统,需要有嵌入式操作系统支撑。Linux是一个源代码开放的类UNIX系统,由于其具有核可裁剪性,且提供对包括ARM、PPC在的多种嵌入式处理器的支持,所以广泛应用于嵌入式高端产品中。虽然Linux提供了众多API来降低驱动程序制作的复杂度,但是由于音频应用对实时性有很高的要求,且需要处理的数据量较大,所以必须合理分配资源,使用合适的算法。本文针对三星公司的S3C44B0 ARM处理器构造了基于IIS的音频系统,并介绍了该音频系统基于Linux2.4.0核的驱动程序构造技术。

1 硬件体系结构

IIS总线只处理声音数据。其他信号(如控制信号)必须单独传输。为了使芯片的引出管脚尽可能少,IIS只使用了三根串行总线。这三根线分别是:提供分时复用功能的数据线、字段选择线(声道选择)、时钟信号线。

在三星公司的ARM芯片中,为了实现全双工模式,使用了两条串行数据线,分别作为输入和输出。此外三星公司的IIS接口提供三种数据传输模式:

·正常传输模式。此模式基于FIFO寄存器。该模式下CPU将通过轮询方式访问FIFO寄存器,通过IISCON 寄存器的第七位控制FIFO。

·DMA模式。此模式是一种外部设备控制方式。它使用窃取总线控制权的方法使外部设备与主存交换数据,从而提高系统的吞吐能力。

在三星公司的ARM芯片中有4个通道DMA控制器用于控制各种外部设备,其中IIS与其他串行外设共用两个桥联DMA(BDMA)类型的DMA通道。通过设置CPU的IISFCON寄存器可以使IIS接口工作在DMA模式下。此模式下FIFO寄存器组的控制权掌握在DMA控制器上。当FIFO满时,由DMA控制器对FIFO中的数据进行处理。DMA模式的选择由IISCON寄存器的第四和第五位控制。

·传输/接收模式。该模式下,IIS数据线将通过双通道DMA同时接收和发送音频数据。本系统使用该数据传输模式。

图1是44B0X芯片与菲利浦公司的UDA1341TS音频芯片的连接示意图。

在这个体系结构中,为了实现全双工,数据传输使用两个BDMA通道。数据传输(以回放为例)先由部总线送到存,然后传到BDMA控制器通道0,再通过IIS控制器写入IIS总线并传输给音频芯片。通道1用来录音。

三星公司的BDMA控制器没有置的存储区域,在驱动程序中必须为音频设备分配DMA缓存区。缓存区的地址在通道DMA控制器的地址寄存器中设置。

UDA1341TS芯片除了提供IIS接口和麦克风扬声器接口,还提供L3接口控制音量等。L3接口分别连到

S3C44B0的3个通用数据输出引脚上。

2 音频设备底层软件设计

嵌入式系统硬件设备种类繁多,且缺乏PC中标准的体系结构,所以必须为各种设备编写驱动程序。驱动程序的主要任务是控制音频数据在硬件中流动,并为音频应用提供标准接口。由于嵌入式系统资源有限,且处理器能力不强,所以在音频设备的驱动程序设计中,合理分配系统资源是难点。

需要注意的是,在三星公司的ARM芯片中,I/O设备的寄存器作为存空间的一部分,可以使用普通的存访问语句读写I/O寄存器,进而控制外部设备。这是该嵌入式系统与传统的基于Intel处理器的PC最大的不同。

2.1 驱动程序功能

设备驱动程序中需要完成的任务包括:对设备以及对应资源初始化和释放;读取应用程序传送给设备文件的数据并回送应用程序请求的数据。这需要在用户空间、核空间、总线及外设之间传输数据。

2.2 驱动程序构架

Linux驱动程序中将音频设备按功能分成不同类型,每种类型对应不同的驱动程序。UDA1341TS音频芯片提供如下功能:

·数字化音频。这个功能有时被称为DSP或Codec设备。其功能是实现播放数字化声音文件或录制声音。

·混频器。用来控制各种输入输出的音量大小,在本系统中对应L3接口。

在Linux设备驱动程序将设备看成文件,在驱动程序中将结构file_operations中的各个函数指针与驱动程序对应例程函数绑定,以实现虚拟文件系统VFS对逻辑文件的操作。数字音频设备(audio)、混频器(mixer)对应的设备文件分别是/dev/dsp和/dev/mixer。

2.3 设备的初始化和卸载

/dev/dsp的驱动设计主要包含:设备的初始化和卸载、存与DMA缓存区的管理、设备无关操作(例程)的实现以及中断处理程序。

在设备初始化中对音频设备的相关寄存器初始化,并在设备注册中使用了两个设备注册函数

register_sound_dsp() 和 regiter_sound_mixer()注册音频设备和混频器设备。这两个函数在2.2以上版本的核drivers/sound/sound_core.c文件中实现。其作用是注册设备,得到设备标识,并且实现设备无关操作的绑定。在这些注册函数里使用的第一个参数都是struct file_operations类型的参数。该参数定义了设备无关接口的操作[3]。设备卸载时使用注销函数。注销时用输入注册时得到的设备号即可。在注销时还必须释放驱动程序使用的各种系统资源包括DMA、设备中断等。

2.4 DMA缓存区设计和存管理

在音频设备的驱动程序设计中,DMA缓存区设计和存管理部分最为复杂。由于音频设备有很高的实时性要求,所以合理地使用存能加快对音频数据的处理,并减少时延。

三星公司的BDMA控制器没有置DMA存储区域,在驱动程序中必须为音频设备分配DMA缓存区。这样就能通过DMA直接将需要回放或是录制的声音数据存放在核的DMA缓存区中。

为了方便各种物理设备使用DMA资源,在程序中使用strcut s3c44b_DMA数据结构管理系统各个DMA通道的资源,如图2。每个DMA通道被多个外部设备共用,为各个外设分配的DMA缓存区的大小和数目可能不一致,所有分配的数据块使用DMA缓存数据块DMA_buf管理。各个不同设备申请的数据缓存区形成一个单向链表,每个链表节点包含一个起点字段,存放实际DMA缓存起始位置的物理地址。在设备第一次使用DMA 时,使用kmalloc函数为DMA_buf分配存,并且使用consistent_alloc函数为DMA分配实际的连续物理缓存区,然后将节点插入队列中。从第二次开始通过缓存区的标示符对缓存区进行操作。

存管理中的重要问题是缓存区块设计。常见的设计思路是使用一个缓存区,CPU先对缓存区处理,然后挂起,音频设备对缓存区操作,音频设备处理完后唤醒CPU,如此循环。需要处理大量音频数据的音频设备驱动程序,可以使用双缓冲。以录音为例,系统使用缓存2存放音频设备量化好的声音,CPU(应用程序)则处理缓存1中的声音数据;当Codec设备填充完缓存2,它移向缓存1填充数据,而CPU转向处理缓存2里的数据;不断交替循环,如图3(a)、 (b)所示。

使用这种方法处理音频数据,能够提高系统的并行能力。应用程序可以在音频工作的同时处理传输进来的音频数据。

由于实际系统被设计成支持全双工的音频系统,所以必须为输入和输出同时分配存,对应的数据结构设计如图4所示。

图4中音频设备缓存控制块管理音频设备的缓存区。在控制块中输入/输出缓存指针分别指向输入和输出缓存结构audio_buf,输入输出控制块指针分别指向对应的DMA控制块。因为输入输出使用了不同DMA通道,所以音频设备缓存控制块有两个DMA控制块控制指针。在audio_buf中分别有两个DMA起点字段分别指向双缓存区的起始物理地址。缓存区状态字段包含缓存区是否被映射、是否激活、是否暂停等信息。

应用程序处理缓存中数据的速度依赖于缓存的大小和数据传输速度。例如使用“8kHz/8位/单工”的采样方式录音,音频芯片产生64kbps的数据流量。如果是两个4K字节的缓存,那么应用程序就只有0.5s处理缓存中的数据并把它存到Flash芯片中(或者传输到其它设备中)。若0.5s不能处理这些数据,缓存就会溢出。若采用高品质的采样,例如使用CD音质的采样,那么Codec产生数据的速度将达1376kbps,CPU处理音频数据的时间就只有23ms。在CPU负载较大的情况下,将可能出现数据丢失的问题。

为了解决音频应用I/O数据量大的问题,最简单易行的方法是使用比较大的缓存区域。但实际上大的缓存区需要更长的填充时间,在使用时会出现延时,并可能占用过多CPU资源。为了解决延时的问题,使用多段缓存机制。在这种机制下,将可用的缓存区分割成若干个相同大小的块。对较大的缓存区的操作转变成对较小的缓冲区块的操作,在不增加缓存区操作时间的情况下提供较大的缓存。不同的音频应用,精度不一样,需要的缓存大小也不一样。所以在应用程序层上,驱动程序还必须提供接口让应用程序改变块的大小和个数。这个接口可以在ioctl中实现。对缓存区块的大小控制通过对audio_buf中的对应字段设置实现。

使用存映射(mmap)技术是另一种提高系统性能的途径。Linux系统的存空间分为核空间和用户空间,驱动程序工作在核空间,并负责在核空间和用户空间传输数据。音频应用一般数据量比较大,而且有较高的质量要求,在驱动程序中还可以使用存映射进一步提高CPU的利用率。存映射通过remap_page_range将分配给DMA缓存区的核空间的存映射到用户空间,用户不需使用copy_to_user和copy_from_user将数据在核空间与用户空间中拷贝。图4中缓存区状态和缓存区起点两个字段也用于存映射服务。在实现时由于DMA 的缓存结构复杂,需要将每个缓存块分别映射。

2.5 设备无关操作

设备无关操作对应于file_operations指向的各个例程,它让用户用访问文件的方式访问设备。对设备的打开和读写是启动程序为用户程序提供的最主要接口,分别对应于file_operations中的open、read和write例程。在open例程中需要完成的任务主要是设备初始化,包括:

·通过设置IIS寄存器控制音频设备的初始化,并且初始化设备的工作参数(包括速度、声道、采样宽度);

·为设备分配DMA通道;

·根据采样参数计算出缓存段的大小(程序也可以指定缓存段的大小);

当缓存区和DMA设置好后,读写操作主要对缓存操作,对设备的操作除了读写操作外,还有音频播放中的暂停和继续。这两个操作在ioctl接口中实现,通过对相应的IIS总线控制器(IISCON寄存器)操作实现。此外,在对音频操作时还要注意:一次采样得到的数据必须一次处理,否则不能正确播放数据。

*注:文章为网上收录供大家共同学习参考之用,并不代表本站意见。如存在问题请马上通知我们,我们将马上删除。

嵌入式系统设计与应用

嵌入式系统设计与应用第五章程序设计与分析(1) 西安交通大学电信学院 任鹏举

本章主要内容 Software Design Cycle ●嵌入式软件中的组件(状态机 、循环缓存器、队列) ●编程模型,如数据流和控制图●编译方法介绍 ●根据性能、大小和功耗来分析 和优化程序 ●如何测试程序以验证其正确性

1 嵌入式程序组件 ●状态机(State machine) 用变量来表示内部的状态,根据输入完成状态的转移交通灯控制、CPU design controller ●循环缓冲区(Circular buffer) I/O input buffer ●队列(Queue)

状态机(1) ● 反应系统(reactive system ):响应外部事件的系统。 ●外部输入是间歇到达● 适合使用状态机描述 ● 有限状态机是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。 ●Moore 机:● Mealy 机:输出只由当前状态确定 输出依赖于当前状态和输入

状态机(2) 例子:一个简单的座位安全带控制器 idle buzzer seated belted 未入座/-入座/定时器启动 未系安全带且定时器未超时/- 未系安全带/定时器启动系好安全带/-系好安全带/蜂鸣器关闭 定时器超时/蜂鸣器启动 未入座/-未入座/蜂鸣器关闭输入/输出-= 无动作

状态机(3) #define IDLE 0#define SEATED 1#define BELTED 2#define BUZZER 3switch (state) { case IDLE: if (seat) { state = SEATED; timer_on = TRUE; } break; case SEATED: if (belt) state = BELTED; else if (timer) state = BUZZER; break; case BELTED: if (!seat) state = IDLE; else if (!belt) state = SEATED; break; case BUZZER: if (belt) state = BELTED; else if (!seat) state = IDLE; break; } Inputs :seat, belt, timer Outputs: buzzer

嵌入式简易电子琴系统设计.

嵌入式开发试验 嵌入式简易电子琴系统设计 ARM2110实验开发板,外接矩阵键盘、蜂鸣器、LED显示屏、LED灯模块(带4.7K电阻)主程序 #include "systemInit.h" #include "buzzer.h" #include "music.h" #include "systemInit.h" #define lcden GPIO_PIN_0 //PB0; #define lcdrs GPIO_PIN_2 // 定义LED #define LED1_PERIPH #define LED1_PORT #define LED1_PIN #define LED2_PERIPH #define LED2_PORT #define LED2_PIN #define LED3_PERIPH #define LED3_PORT #define LED3_PIN #define LED4_PERIPH #define LED4_PORT #define LED4_PIN #define LED5_PERIPH #define LED5_PORT #define LED5_PIN #define LED6_PERIPH #define LED6_PORT #define LED6_PIN #define LED7_PERIPH #define LED7_PORT #define LED7_PIN #define LED8_PERIPH #define LED8_PORT #define LED8_PIN

// 定义KEY #define KEY_PERIPH2 #define KEY_PORT2 #define KEY_PIN2 //PB2; SYSCTL_PERIPH_GPIOA GPIO_PORTA_BASE GPIO_PIN_4 SYSCTL_PERIPH_GPIOA GPIO_PORTA_BASE GPIO_PIN_5 SYSCTL_PERIPH_GPIOA GPIO_PORTA_BASE GPIO_PIN_6 SYSCTL_PERIPH_GPIOG GPIO_PORTG_BASE GPIO_PIN_0 SYSCTL_PERIPH_GPIOF GPIO_PORTF_BASE GPIO_PIN_2 SYSCTL_PERIPH_GPIOG GPIO_PORTG_BASE GPIO_PIN_1 SYSCTL_PERIPH_GPIOE GPIO_PORTE_BASE GPIO_PIN_0 SYSCTL_PERIPH_GPIOE GPIO_PORTE_BASE GPIO_PIN_1 SYSCTL_PERIPH_GPIOB GPIO_PORTB_BASE GPIO_PIN_6|GPIO_PIN_5|GPIO_PIN_4 //连接方式矩阵键盘的行线接PC4~7 列线接PA0~3 unsigned char data; //PD0-PD7; unsigned char num; int guan; int jian; int numm;//lcd显示模块技术 //lcd模块 void write_com(unsigned char com) //写命令 { GPIOPinWrite(GPIO_PORTB_BASE,lcdrs,0x00); // lcdrs=0; GPIOPinWrite(GPIO_PORTD_BASE,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2| GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7,com);//PD=com; SysCtlDelay(5 * (TheSysClock / 4000)); // 延时 5ms } void write_data(unsigned char date) { GPIOPinWrite(GPIO_PORTB_BASE,lcdrs,0xFF); // lcdrs=1; GPIOPinWrite(GPIO_PORTD_BASE,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2| GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7,date);//PD=date; SysCtlDelay(5 * (TheSysClock / 4000)); GPIOPinWrite(GPIO_PORTB_BASE,lcden,0xFF); // lcden=1;

嵌入式软件平台系统设计说明书

面向行业手持设备的嵌入式Linux软件平台项目嵌入式Linux软件平台系统设计说明书 编写者:CY

版本说明

目录

1引言 1.1编写目的 本文档是为保证“面向行业手持设备的嵌入式linux软件平台”项目在整个开发过程中的完整性、可追溯性,并保证软件产品与《面向行业手持设备的嵌入式Linux软件平台项目系统需求规格说明书》保持一致性而编写的。 预期读者为项目相关开发人员、项目管理人员和SCM、SQA人员、客户代表。 1.2背景 项目名称:面向行业手持设备的嵌入式Linux软件平台 用户:无线手持通信设备厂商 1.3基线 《面向行业手持设备的嵌入式Linux软件平台项目系统需求规格说明书》 1.4范围 本软件结构设计说明书所涉及的内容范围包括总体的结构设计,系统单元的结构设计,系统主要数据结构说明,接口设计,运行设计,系统出错处理设计和维护设计。 1.5定义 无。 1.6参考资料 1)《面向行业手持设备的嵌入式Linux软件平台项目系统需求规格说明书》 《面向行业手持设备的嵌入式Linux开发平台项目总体开发计划》 2)本文件中引用的其他文献、资料以及软件开发标准。 2总体设计 2.1概述 2.1.1功能描述 本产品要实现的功能包括: ●嵌入式Linux系统 ●目标系统的软件开发环境 ●对运行平台提供的各种接口,提供稳定的驱动程序 ●基于QT/embedded的图形用户界面 ●中文图形界面 ●中英文手写输入、键盘输入

●多媒体播放器 ●个人助理套件 ●英汉词典 ●浏览器 ●面向交通、物流行业的应用编程接口 本参考平台包括开发包和运行包。要求参考平台具备高度的可配置性,方便开发人员根据其需要在参考平台的基础上进行添加、裁减和上层开发,快速形成产品。 2.1.2运行环境 开发平台的运行环境:推荐采用PIII650以上CPU,内存大于128M,硬盘空间大于4G;推荐完全安装普华Linux 3.0,并安装开发包和目标系统源代码。 运行包硬件环境: 硬件采用PXA250开发板,规格如下: ●socketed processor for easy upgrades ●64 MBytes SDRAM ●32 MBytes Boot ROM ●32 MBytes Flash Memory ● 1 MByte SRAM ●one Intel? SA-1111? Companion Chip, which provides: — one PCMCIA slot — one Compact Flash slot — one USB Host port — PS/2 keyboard and mouse support ●Standard Microsystems LAN91C96* Ethernet controller ●touch-screen panel controllers: — Philips UCB 1400* — Burr Brown ADS7846* ●audio CODECs with MIC, LINE IN, and HEADPHONE connectors: — Philips UCB 1400 — Cirrus CS4201* ●Sharp LM8V31 LCD panel, with support for other LCD types

嵌入式软件开发流程图

嵌入式软件开发流程 一、嵌入式软件开发流程 1.1 嵌入式系统开发概述 由嵌入式系统本身的特性所影响,嵌入式系统开发与通用系统的开发有很大的区别。嵌入式系统的开发主要分为系统总体开发、嵌入式硬件开发和嵌入式软件开发3大部分,其总体流程图如图1.1所示。 图1.1 嵌入式系统开发流程图 在系统总体开发中,由于嵌入式系统与硬件依赖非常紧密,往往某些需求只能通过特定的硬件才能实现,因此需要进行处理器选型,以更好地满足产品的需求。另外,对于有些硬件和软件都可以实现的功能,就需要在成本和性能上做出抉择。往往通过硬件实现会增加产品的成本,但能大大提高产品的性能和可靠性。 再次,开发环境的选择对于嵌入式系统的开发也有很大的影响。这里的开发环境包括嵌入式操作系统的选择以及开发工具的选择等。比如,对开发成本和进度限制较大的产品可以选择嵌入式Linux,对实时性要求非常高的产品可以选择Vxworks等。

1.2 嵌入式软件开发概述 嵌入式软件开发总体流程为图4.15中“软件设计实现”部分所示,它同通用计算机软件开发一样,分为需求分析、软件概要设计、软件详细设计、软件实现和软件测试。其中嵌入式软件需求分析与硬件的需求分析合二为一,故没有分开画出。 由于在嵌入式软件开发的工具非常多,为了更好地帮助读者选择开发工具,下面首先对嵌入式软件开发过程中所使用的工具做一简单归纳。 嵌入式软件的开发工具根据不同的开发过程而划分,比如在需求分析阶段,可以选择IBM的Rational Rose等软件,而在程序开发阶段可以采用CodeWarrior(下面要介绍的ADS 的一个工具)等,在调试阶段所用的Multi-ICE等。同时,不同的嵌入式操作系统往往会有配套的开发工具,比如Vxworks有集成开发环境Tornado,WindowsCE的集成开发环境WindowsCE Platform等。此外,不同的处理器可能还有对应的开发工具,比如ARM的常用集成开发工具ADS、IAR和RealView等。在这里,大多数软件都有比较高的使用费用,但也可以大大加快产品的开发进度,用户可以根据需求自行选择。图4.16是嵌入式开发的不同阶段的常用软件。 图1.2 嵌入式开发不同阶段的常用软件 嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分,其中又可以分为编译和调试两部分,下面分别对这两部分进行讲解。 1.交叉编译 嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。在第3章中已经提到,编译的最主要的工作就在将程序转化成运行该程序的CPU所能识别的机器代码,由于不同的体系结构有不同的指令系统。因此,不同的CPU需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不同CPU的对应可执行二进制文件。要注意的是,编译器本身也是程序,也要在与之对应的某一个CPU平台上运行。嵌入式系统交叉编译环境如图4.17所示。

(完整word版)嵌入式系统设计与应用

嵌入式系统设计与应用 本文由kenneth67贡献 ppt文档可能在W AP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 课程名称:课程名称:嵌入式系统设计与应用 总学时:其中讲课36学时,上机实践环节12 36学时12学时总学时:其中讲课36学时,上机实践环节12学时教材:嵌入式系统设计教程》教材:《嵌入式系统设计教程》电子工业出版社马洪连参考书:参考书:1、《嵌入式系统开发与应用》北航出版社、田泽编著. 嵌入式系统开发与应用》北航出版社、田泽编著. 2、《ARM体系结构与编程》清华大学出版社杜春雷编著ARM体系结构与编程体系结构与编程》嵌入式系统设计与实例开发—ARM ARM与C/OS3、《嵌入式系统设计与实例开发ARM与μC/OS-Ⅱ》清华大学出版社王田苗、魏洪兴编著清华大学出版社王田苗、ARM嵌入式微处理器体系结构嵌入式微处理器体系结构》4、《ARM嵌入式微处理器体系结构》北航出版社、马忠梅等著. 北航出版社、马忠梅等著. 张石.ARM嵌入式系统教程嵌入式系统教程》5、张石.《ARM嵌入式系统教程》.机械工业出版2008年社.2008年9月 1 课程内容 绪论:绪论: 1)学习嵌入式系统的意义2)高校人才嵌入式培养情况嵌入式系统设计(实验课)3)嵌入式系统设计(实验课)内容安排 第1章嵌入式系统概况 1.1 嵌入式系统的定义1.2 嵌入式系统的应用领域及发展趋势1.3 嵌入式系统组成简介 第2章嵌入式系统的基本知识 2.1 2.2 2.3 嵌入式系统的硬件基础嵌入式系统的软件基础ARM微处理器的指令系统和程序设计ARM微处理器的指令系统和程序设计 2 第3章 3.1 3.2 3.3 基于ARM架构的嵌入式微处理器基于ARM架构的嵌入式微处理器ARM 概述嵌入式微处理器的组成常用的三种ARM ARM微处理器介绍常用的三种ARM 微处理器介绍 第4章 4.1 4.2 4.3 4.4 4.5 4.6 嵌入式系统设计 概述嵌入式系统的硬件设计嵌入式系统接口设计嵌入式系统人机交互设备接口嵌入式系统的总线接口和网络接口设计嵌入式系统中常用的无线通信技术 3 第5章嵌入式系统开发环境与相关开发技术 5.1 5.2 5.3 5.4 5.5 6.1 6.2 6.3 6.4 概述嵌入式系统的开发工具嵌入式系统调试技术嵌入式系统开发经验嵌入式系统的Bootloader Bootloader技术嵌入式系统的Bootloader技术μC/OS-II操作系统概述C/OS-II操作系统概述ADS开发环境ARM ADS开发环境C/OS-II操作系统在ARM系统中的移植操作系统在ARM μC/OS-II操作系统在ARM系统

嵌入式电子琴设计

前言 现代的流行音乐离不开电子琴,键盘手一般是现代电声乐队的中坚力量。(单排键)电子琴、电吉他、架子鼓是流行音乐的三项主流乐器。电子琴的发明使人们可以演奏出未曾拥有的音色,丰富了人们情感的表现;电子琴创造出了许多其他乐器无法演奏出的音色,甚至自然不存在的音色,这些音色帮助了人们通过音乐表现自己的情感,在很多电视节目或者音乐作品中都有运用。电子琴的发明推动了音乐的普及,它让音乐真正成为了大众的音乐,成为了人类社会不可缺少的东西。电子琴是目前用于音乐普及教育和音乐素质培养最多的乐器,它的经济性为他在普通家庭中的普及带来了可能。 本文主要介绍的是使用LM3S8962来实现基于Cortex-M3简易电子琴系统设计的方法,本设计由嵌入式芯片LM3S8962、音乐播放、单音节按键和数码管显示为核心,辅以必要的电路,构成了一个简易的电子琴。当程序开始执行后,播放梁祝音乐,按下功能键后,切换至单音节演奏。本设计的主要内容:了解嵌入式技术的发展现状,熟悉电子琴各模块的工作原理;选择适当的芯片和元器件,确定系统电路,绘制电路原理图,尤其是各接口电路;熟悉嵌入式使用方法和编程规则,编写出相应模块的应用程序;分别在各自的模块中调试出对应的功能,并使用真实器件播放音乐,实现功能切换,验证程序的正确性。

1.课题知识介绍 1.1 Cortex-M3概述 ARM Cortex-M3处理器结合了多种突破性技术,令芯片供应商提供超低费用的芯片,仅33000门的内核性能可达1.2DMIPS/MHz。该处理器还集成了许多紧耦合系统外设,令系统能满足下一代产品的控制需求。 Cortex-M3内核主要是应用于小管脚数、低成本和低功耗的场合,并且具有极高的运算能力和极强的中断响应能力。Cortex-M3采用了新型的单线调试(Single Wire)技术,专门拿出一个引脚来做调试,从而节约了大笔的调试工具费用。同时,Cortex-M3中还集成了大部分存储器控制器,这样工程师可以直接在MCU外连接Flash,降低了设计难度和应用障碍。 CM3是一个32位处理器内核,内部数据路径是32位,寄存器是32位,存储器接口也是32位。CM3采用哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行不悖。这样一来,数据访问不再占用指令总线,从而提升了性能。为了实现这个特性,CM3内部含有好几条总线接口,每条都为自己的应用场合优化过,并且可以并行工作。但是,指令总线和数据总线共享同一个存储器空间,一个统一的存储器系统。也就是说,不是因为有两条总线,可寻址空间就变成了8G。 1.2 LM3S8962概述 LM3S8962微控制器的优势还在于能够方便的运用多种微控制器的优势还在于能够方便的运用多种ARM的开发工具和片上系统(SoC)的底层IP应用方案,以及广大的用户群体。另外,该微控制器使用了兼容ARM Thumb?的Thumb2指令集来减少存储容量的需求,并以此达到降低成本的目的。最后,LM3S8962微控制器与tellaris?系列的所有成员是代码系列兼容的,这为用户提供了灵活性,能够适应各种精确的需求。

嵌入式系统设计与应用复习资料.docx

嵌入式系统设计与应用复习资料 (一)?单项选择题: 1. 下面哪个系统属于嵌入式系统。 ( 八、“天河一号”计算机系统 C 、联想S10±网木 D ) B 、联想T400笔记本计算机 D 、联想OPhone 手机 2. 软硕件协同设计方法与传统设计方法的最大不同Z 处在于(B )。 A 、软硬件分开描述 C 、协同测试 3. 卜?面关于哈佛结构描述正确的是(A A 、程序存储空间与数据存储空间分离 C 、程序存储空间与数据存储空间合并 4. 下面哪一种工作模式不属于ARM 特权模式 A 、用户模式 B 、系统模式 C 、 5. ARM7TDM1的工作状态包括(D )。 A 、测试状态和运行状态 C 、就绪状态和运行状态 6. USB 接口移动硬盘最合适的传输类型为( A 、控制传输 B 、批量传输 C 、 7. 下而哪一种功能单元不属于I/O 接口电路。(D ) A 、USB 控制器 B 、UART 控制器 C 、以太网控制器 &下面哪个操作系统是恢入式操作系统。(B ) As Red-hat Linux B 、 PCLinux C 、 Ubuntu Linux D 、 SUSE Linux 9. 使用Host-Target 联合开发嵌入式应用,(B )不是必须的。 A 、宿主机 B 、银河麒麟操作系统 C 、目标机 D 、交叉编译器 10. 下面哪个系统不属于嵌入式系统(D )。 A 、MP3播放器 B 、GPS 接收机 C 、“银河玉衡”核心路由器 D 、“犬河一号”计算机系统 11. 在嵌入式系统设计中,嵌入式处理器选型是在进行(C )吋完成。 A 、需求分析 B 、系统集成 C 、体系结构设计 D 、软便件设计 12. 下面哪一类嵌入式处理器最适合于用于工业控制(B )。 A 、嵌入式微处理器 B 、微控制器 C 、DSP D 、以上都不合适 13. 关于ARM 了程序和Thumb 了程序互相调用描述正确的是(B )。 A 、 系统初始化Z 后,ARM 处理器只能工作在一种状态,不存在互相调用。 B 、 只要遵循一定调用的规则,Thumb 子程序和ARM 子程序就可以互相调用。 C 、 只要遵循一定调用的规则,仅能Thumb 子程序调用ARM 子程序。 D 、 只耍遵循一定调用的规则,仅能ARM 子程序调用Thumb 子程序。 14. 关于ARM 处理器的异常的描述不正确的是(C )。 A 、复位属于异常 B 、除数为零会引起异常 B 、软硬件统一描述 D 、协同验证 B 、存储空间与10空间分离 D 、存储空间与10空间合并 (A )0 软中断模式 D 、FTQ 模式 B 、挂起状态和就绪状态 D 、ARM 状态和Thumb 状态 B )0 中断传输 D 、等时传输 D 、LED

嵌入式Linux应用软件开发流程

从软件工程的角度来说,嵌入式应用软件也有一定的生命周期,如要进行需求分析、系统设计、代码编写、调试和维护等工作,软件工程的许多理论对它也是适用的。 但和其他通用软件相比,它的开发有许多独特之处: ·在需求分析时,必须考虑硬件性能的影响,具体功能必须考虑由何种硬件实现。 ·在系统设计阶段,重点考虑的是任务的划分及其接口,而不是模块的划分。模块划分则放在了任务的设计阶段。 ·在调试时采用交叉调试方式。 ·软件调试完毕固化到嵌入式系统中后,它的后期维护工作较少。 下面主要介绍分析和设计阶段的步骤与原则: 1、需求分析 对需求加以分析产生需求说明,需求说明过程给出系统功能需求,它包括:·系统所有实现的功能 ·系统的输入、输出 ·系统的外部接口需求(如用户界面) ·它的性能以及诸如文件/数据库安全等其他要求 在实时系统中,常用状态变迁图来描述系统。在设计状态图时,应对系统运行过程进行详细考虑,尽量在状态图中列出所有系统状态,包括许多用户无需知道的内部状态,对许多异常也应有相应处理。 此外,应清楚地说明人机接口,即操作员与系统间地相互作用。对于比较复杂地系统,形成一本操作手册是必要的,为用户提供使用该系统的操作步骤。为使系统说明更清楚,可以将状态变迁图与操作手册脚本结合起来。

在对需求进行分析,了解系统所要实现的功能的基础上,系统开发选用何种硬件、软件平台就可以确定了。 对于硬件平台,要考虑的是微处理器的处理速度、内存空间的大小、外部扩展设备是否满足功能要求等。如微处理器对外部事件的响应速度是否满足系统的实时性要求,它的稳定性如何,内存空间是否满足操作系统及应用软件的运行要求,对于要求网络功能的系统,是否扩展有以太网接口等。 对于软件平台而言,操作系统是否支持实时性及支持的程度、对多任务的管理能力是否支持前面选中的微处理器、网络功能是否满足系统要求以及开发环境是否完善等都是必须考虑的。 当然,不管选用何种软硬件平台,成本因素都是要考虑的,嵌入式Linux 正是在这方面具有突出的优势。 2、任务和模块划分 在进行需求分析和明确系统功能后,就可以对系统进行任务划分。任务是代码运行的一个映象,是无限循环的一段代码。从系统的角度来看,任务是嵌入式系统中竞争系统资源的最小运行单元,任务可以使用或等待CPU、I/O设备和内存空间等系统资源。 在设计一个较为复杂的多任务应用系统时,进行合理的任务划分对系统的运行效率、实时性和吞吐量影响都极大。任务分解过细会不断地在各任务之间切换,而任务之间的通信量也会很大,这样将会大大地增加系统的开销,影响系统的效率。而任务分解过粗、不够彻底又会造成原本可以并行的操作只能按顺序串行执行,从而影响系统的吞吐量。为了达到系统效率和吞吐量之间的平衡折中,在划分任务时应在数据流图的基础上,遵循下列步骤和原则:

江苏科技大学通信专业嵌入式系统设计及应用_复习大纲

嵌入式系统设计复习 题型: 1、填空,15分左右 2、选择,30分左右 3、简答题40分左右 4、综述15分左右 第一章嵌入式系统概述 提纲: 1、掌握嵌入式系统的定义 2、了解嵌入式系统的一般组成 嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序 (嵌入式系统一般由嵌入式计算机和执行部件组成。其中嵌入式计算机是整个嵌入式系统的核心,主要包括硬件层、中间层、系统软件层以及应用软件层) 知识点: 1、嵌入式系统的定义与特点 定义:是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统 特点:软件硬件可裁剪 ①专用性:嵌入式系统具有特定的功能,用于特定的任务; ②低成本:嵌入式系统极其关注成本; ③低功耗:嵌入式系统大都有功耗的要求; ④高实时性OS; ⑤嵌入式系统的运行环境广泛; ⑥嵌入式系统的软件通常要求固态化存储; ⑦嵌入式系统的软件、硬件可靠性要求更高; 2.RISC指令系统的特点 答:指令系统:RISC设计者把上要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。对不常用的功能,常通过组合指令来实现。因此,在RISC机器上实现特殊功能时,效率可能较低。但可以利用流水技术和超标量技术加以改进和弥补。 存储器操作:RISC对存储器操作有限制,使控制简单化 程序:RISC汇编语言程序一般需要较大的内存空间,实现特殊功能时程序复杂,不易设计 中断:RISC机器在一条指令执行的适当地方可以响应中断 CPU:由于RISC CPU包含少的单元电路,因而面积小、功耗低 设计周期:RISC微处理器结构简单,布局紧凑,设计周期短,且易于采用最新技术易用性:RISC微处理器结构简单,指令规整,性能容易把握,易学易用 应用范围:由于RISC指令系统的确定与特定的应用领域有关,所以RISC机器更适合于嵌入式应用 3、嵌入式系统由硬件与软件组成,其中软件的组成 答:由实时多任务操作系统、文件系统、图形用户界面接口、网络系统及通用组件模块组成 4、嵌入式系统的运行可靠性指标

第1节 电子系统设计的发展趋势

(1) 电子系统设计的发展主要受以下两个技术的推动: 微电子技术——使得硅片单位面积上集成的晶体管数目越来越多。 计算机技术——软硬件技术的发展推动EDA技术的发展。 (2) 集成电路设计都是从器件的物理版图设计入手 EDA技术发展的推动 (3) 出现集成电路单元库,集成电路设计进入逻辑级,极大地推动IC产业的发展。 电子系统是IC之间通过PCB板等技术进行互联来构成的。PCB板上IC芯片之间连线的延时、PCB板的可靠性、PCB板的尺寸等因素,会对系统的整体性能造成很大的限制。 由IC互联构成的嵌入式系统设计 (4) IC互联构成的系统 (设计和工艺EDA技术 ) SOC——片上系统 SOC是指将一个完整产品的功能集成在一个芯片上或芯片组上。 SOC从系统的整体角度出发,以IP (Intellectual property)核为基础,以硬件描述语言作为系统功能和结构的描述手段,借助于以计算机为平台的EDA工具进行开发。由于SOC设计能够综合、全盘考虑整个系统的情况,因而可以实现更高的系统性能。SOC的出现是电子系统设计领域内的一场革命,其影响将是深远和广泛的。 由SOC构成嵌入式系统设计:

IC:集成电路。 ASIC:专用集成电路。 通用集成电路:FPGA、CPLD等。 SOC:属于专用集成电路。 (1)SOC: 它是指将一个完整产品的各功能集成在一个芯片中,可以包括有CPU、存储器、硬 件加速单元(AV处理器、DSP、浮点协处理器等)、通用I/O(GPIO)、UART接口和模 数混合电路(放大器、比较器、A/D、D/A、射频电路、锁相环等),甚至延伸到传感器、 微机电和微光电单元。(如果把CPU看成是大脑,则SOC就是包括大脑、心脏、眼睛和 手的系统。) SOC系统的构建一个重要特性: 使用可重用的IP来构建系统。可以缩短产品的开发周期,降低开发的复杂度。可重 复利用的IP包括元件库、宏及特殊的专用IP等,如通信接口IP、输入输出接口IP;各家 开发商开发的微处理器IP,如ARM公司的RISC架构的ARM核。SOC嵌入式系统就是微 处理器的IP再加上一些外围IP整合而成的。SOC以嵌入式系统为核心,集软、硬件于一体,并追求最高的集成度,是电子系统设计追求的必然趋势和最终目标,是现代电子系统 设计的最佳方案。SOC是一种系统集成芯片,其系统功能可以完全由硬件完成,也可以由 硬件和软件协同完成。目前的SOC主要指后者。 SOC存在的问题: SoC初衷很好,但现实中却缺乏好的解决方案。由于是基于ASIC实现SoC系统,设 计周期长、费用高昂、成功率不高而且产品不能修改显得系统的灵活性差,往往使得学术 科研机构、中小企业难以承受。但是SoC以系统为中心、基于IP核的多层次、高度复用,可实现软硬件的无缝结合,综合性高。 (2)片上可编程系统(SoPC—System on a Programmable Chip)

嵌入式系统设计与应用-西安交通大学教师个人主页

嵌入式系统设计与应用第六章进程和操作系统(3)西安交通大学电信学院孙宏滨 i n S u n i 'a n J i a o t o n g U i v e r s i t y I n t e r n a l T e a c h i n g U s e O n l y

● 我们该如何评估调度策略?● 能满足所有截止时限 ● CPU 利用率---CPU 执行有用工作所占的时间比例● 调度开销---做调度决策所需的时间 i n S u n i 'a n J i a o t o n g U i v e r s i t y I n t e r n a l T e a c h i n g U s e O n l y

● 分配优先级主要有两种方法:● 静态优先级:在整个执行过程中优先级始终不变● 动态优先级:在执行过程中优先级发生变化 i n S u n i 'a n J i a o t o n g U i v e r s i t y I n t e r n a l T e a c h i n g U s e O n l y

● 单调速率调度(Rate-Monotonic Scheduling, RMS ):首先为实时操作系统开发的调度策略之一,直至现在仍然被广泛使用。● RMS 属于静态调度策略。事实证明,固定优 先级的做法在许多情况下都足以有效地调度进程。● RMS 的理论基础是单调速率分析(Rate Monotonic Analysis, RMA )。i n S u n i 'a n J i a o t o n g U i v e r s i t y I n t e r n a l T e a c h i n g U s e O n l y

软件设计说明书嵌入式软件范例

一、XXXXX-XXX 热压机自动控制系统软件的设计 LCD—液晶显示器,因其具有微功耗、平板化等一系列显著特点而广泛应用于仪器仪表、计算机显示终端、各类电子显示装置等各个方面。LCD的后工序生产工艺包括COG、COF、FOG、FOB,XXX-XXX 热压机正是为FOG段工艺而开发设计的。 XXXXX-XXX热压机自动控制动系统软件(以下简称XXX系统)是由PLC、气动元件和电动元件组成,其特点是通过传感器采集外部信号,输入到PLC内部进行计算处理,以控制外部执行元件,使之完成一系统的机构动作,达到生产所需的工艺要求。 ㈠ XXX 系统的性能和结构 XXX 系统主要由PLC、GOT(触摸屏)、伺服电机、气缸电磁阀、电磁继电器、光电传感器、磁性传感器、温度处理器、温度传感器以及各种按钮组成。 1、XXX 系统的主要性能和技术参数 ●主机电源:Vac-----220VAC/50HZ ●传感器电源:Vdd-----+24V ● PLC接口:40位输入、32位输出、1个RS232通信串口 ●工作温度:-10℃~+55℃ ●存储温度:-20℃~+60℃ 2、XXX 系统的内部地址 XXX 系统的内部地址及主要功能部件: ●输入继电器— X ●输出继电器— Y ●辅助继电器— M ●定时器— T ●计数器— C ●数据寄存器— D ●变址寄存器— Z 3、XXX 系统的外部引线功能定义 XXX 系统共有82根引脚,具体定义如下: ㈡指令描述 XXX 系统主要有如下指令: ㈢人机界面(GOT) 1、参数设置

人机界面(GOT)可用于参数设置和数据的显示(如图所示) 2、手动操作 人机界面亦可制作手动调试所需的各种按键,以替代繁琐的按钮(如图) 3、生产信息 人机界面还可用于显示生产时的各种数据以及PLC内部的信息,比如外部引脚的通断 信息、生产时产生的报警信息等(如下图) ㈣ XXX 系统的接口及编程 1、硬件接口 XXX系统与电脑的接口可以有两种方式:直接控制方式和间接控制方式。直接控制方式就是将PLC的RS232接口直接与电脑的RS232接口对接(如图1-1);间接控制方式就是将PLC的RS232接口与触摸屏的RS232接口对接,然后将电脑的RS232接口与触摸屏的RS422接口对接,然后对该外设进行间接操作而实现控制(如图1-2)。 2、程式流程方框图 A、系统回原点流程图 B

第1节 电子系统设计的发展趋势

(1)电子系统设计的发展主要受以下两个技术的推动:?微电子技术——使得硅片单位面积上集成的晶体管数目越来越多。 计算机技术——软硬件技术的发展推动EDA技术的发展。?(2) 集成电路设计都是从器件的物理版图设计入手 EDA技术发展的推动 ?(3) 出现集成电路单元库,集成电路设计进入逻辑级,极大地推动IC产业的发展。?电子系统是IC之间通过PCB板等技术进行互联来构成的。PCB板上IC芯片之间连线的延时、PCB板的可靠性、PCB板的尺寸等因素,会对系统的整体性能造成很大的限制。 由IC互联构成的嵌入式系统设计 (4) IC互联构成的系统 (设计和工艺EDA技术) SOC——片上系统 SOC是指将一个完整产品的功能集成在一个芯片上或芯片组上。 SOC从系统的整体角度出发,以IP (Intellectual property)核为基础,以硬件描述语言作为系统功能和结构的描述手段,借助于以计算机为平台的EDA工具进行开发。由于SOC设计能够综合、全盘考虑整个系统的情况,因而可以实现更高的系统性能。SOC的出现是电子系统设计领域内的一场革命,其影响将是深远和广泛的。 由SOC构成嵌入式系统设计:

IC:集成电路。?ASIC:专用集成电路。 通用集成电路:FPGA、CPLD等。 SOC:属于专用集成电路。 (1)SOC: 它是指将一个完整产品的各功能集成在一个芯片中,可以包括有CPU、存储器、硬件加速单元(AV处理器、DSP、浮点协处理器等)、通用I/O(GPIO)、UART接口和模数混合电路(放大器、比较器、A/D、D/A、射频电路、锁相环等),甚至延伸到传感器、微机电和微光电单元。(如果把CPU看成是大脑,则SOC就是包括大脑、心脏、眼睛和手的系统。) SOC系统的构建一个重要特性: 使用可重用的IP来构建系统。可以缩短产品的开发周期,降低开发的复杂度。可重复利用的IP包括元件库、宏及特殊的专用IP等,如通信接口IP、输入输出接口IP;各家开发商开发的微处理器IP,如ARM公司的RISC架构的ARM核。SOC嵌入式系统就是微处理器的IP再加上一些外围IP整合而成的。SOC以嵌入式系统为核心,集软、硬件于一体,并追求最高的集成度,是电子系统设计追求的必然趋势和最终目标,是现代电子系统设计的最佳方案。SOC是一种系统集成芯片,其系统功能可以完全由硬件完成,也可以由硬件和软件协同完成。目前的SOC主要指后者。 SOC存在的问题: SoC初衷很好,但现实中却缺乏好的解决方案。由于是基于ASIC实现SoC系统,设计周期长、费用高昂、成功率不高而且产品不能修改显得系统的灵活性差,往往使得学术科研机构、中小企业难以承受。但是SoC以系统为中心、基于IP核的多层次、高度复用,可实现软硬件的无缝结合,综合性高。?(2)片上可编程系统(SoPC—Systemona Programmable Chip) ?SoPC是一种灵活、高效的SoC解决方案。它将处理器、存储器、I/O口、LVDS等系统需要的功能模块集成到一个PLD器件上,构成一

嵌入式软件系统设计方案案例

待定颜色 修改颜色 疑问颜色 采集器软件系统设计方案 版本历史

目录 1.引言 (5) 1.1 目的 (5) 1.2 背景和范围 (5) 1.3 定义 (5) 1.4 参考资料 (5) 2.系统结构 (5) 2.1 系统功能 (5) 2.2硬件系统框架 (6) 2.2 软件系统框架 (7) 3.上行规约解析模块设计说明 (9) 3.1描述 (9) 3.2功能 (9) 3.3设计思路(算法、流程) (9) 3.4接口 (10) 3.5资源分配、性能 (12) 3.6测试方法 (12) 4.读写参数模块设计说明 (12) 4.1描述 (12) 4.2功能 (12) 4.3设计思路(算法、流程) (13) 4.4接口 (13) 4.5资源分配、性能 (14) 4.6测试方法 (14) 5.周期抄表任务管理 (14) 5.1描述 (14) 5.2功能 (14) 5.3设计思路(算法、流程) (14) 5.4接口 (14) 5.5资源分配、性能 (14) 5.6测试方法 (15) 6.读历史电量数据模块设计说明 (15) 6.1描述 (15) 6.2功能 (15) 6.3设计思路(算法、流程) (15) 6.4接口 (15)

6.5资源分配、性能 (15) 6.6测试方法 (15) 7.数据存储和电表信息存储管理 (15) 7.1描述 (15) 7.2功能 (16) 7.3设计思路(算法、流程) (16) 7.4接口 (20) 7.5资源分配、性能 (20) 7.6测试方法 (20) 8.数据交换模块设计说明 (21) 8.1描述 (21) 8.2功能 (21) 8.3设计思路(算法、流程) (21) 8.4接口 (21) 8.5资源分配、性能 (21) 8.6测试方法 (21) 9.广播校时任务模块设计说明 (21) 9.1描述 (21) 9.2功能 (22) 9.3设计思路(算法、流程) (22) 9.4接口 (22) 9.5资源分配、性能 (22) 9.6测试方法 (22) 10.更改RS485通讯速率设计说明 (23) 10.1描述 (23) 10.2功能 (23) 10.3设计思路(算法、流程) (23) 10.4接口 (23) 10.5资源分配、性能 (23) 10.6测试方法 (23) 11.抄表记录周期任务设计说明 (23) 11.1描述 (23) 11.2功能 (23) 11.3设计思路(算法、流程) (23) 11.4接口 (23) 11.5资源分配、性能 (24)

嵌入式系统设计与应用复习资料

嵌入式系统设计与应用复习资料 (一).单项选择题: 1.下面哪个系统属于嵌入式系统。( D ) A、“天河一号”计算机系统 B、联想T400笔记本计算机 C、联想S10上网本 D、联想OPhone手机 2.软硬件协同设计方法与传统设计方法的最大不同之处在于( B )。 A、软硬件分开描述 B、软硬件统一描述 C、协同测试 D、协同验证 3.下面关于哈佛结构描述正确的是( A )。 A、程序存储空间与数据存储空间分离 B、存储空间与IO空间分离 C、程序存储空间与数据存储空间合并 D、存储空间与IO空间合并 4.下面哪一种工作模式不属于ARM特权模式( A )。 A、用户模式 B、系统模式 C、软中断模式 D、FIQ模式 5.ARM7TDMI的工作状态包括( D )。 A、测试状态和运行状态 B、挂起状态和就绪状态 C、就绪状态和运行状态 D、ARM状态和Thumb状态 https://www.docsj.com/doc/966599426.html,B接口移动硬盘最合适的传输类型为( B )。 A、控制传输 B、批量传输 C、中断传输 D、等时传输 7.下面哪一种功能单元不属于I/O接口电路。( D ) A、USB控制器 B、UART控制器 C、以太网控制器 D、LED 8.下面哪个操作系统是嵌入式操作系统。( B ) A、Red-hat Linux B、μCLinux C、Ubuntu Linux D、SUSE Linux 9.使用Host-Target联合开发嵌入式应用,( B )不是必须的。 A、宿主机 B、银河麒麟操作系统 C、目标机 D、交叉编译器 10.下面哪个系统不属于嵌入式系统( D )。 A、MP3播放器 B、GPS接收机 C、“银河玉衡”核心路由器 D、“天河一号”计算机系统 11.在嵌入式系统设计中,嵌入式处理器选型是在进行( C )时完成。 A、需求分析 B、系统集成 C、体系结构设计 D、软硬件设计 12.下面哪一类嵌入式处理器最适合于用于工业控制( B )。 A、嵌入式微处理器 B、微控制器 C、DSP D、以上都不合适 13.关于ARM子程序和Thumb子程序互相调用描述正确的是( B )。 A、系统初始化之后,ARM处理器只能工作在一种状态,不存在互相调用。 B、只要遵循一定调用的规则,Thumb子程序和ARM子程序就可以互相调用。 C、只要遵循一定调用的规则,仅能Thumb子程序调用ARM子程序。 D、只要遵循一定调用的规则,仅能ARM子程序调用Thumb子程序。 14.关于ARM处理器的异常的描述不正确的是( C )。 A、复位属于异常 B、除数为零会引起异常 C、所有异常都要返回 D、外部中断会引起异常

2019嵌入式课程设计-嵌入式系统设计与应用(第2版)-王剑-清华大学出版社

嵌入式系统课程设计计划 具体内容、进度安排及要求 (附课表,包含指导、答疑、上机的时间、地点,指导教师,学生班级,分组情况等)一、内容及要求: 通过本次课设,使学生了解嵌入式系统的特点,进一步理解和巩固课堂所学的嵌入式系统的基本理论和知识。掌握嵌入式系统的基本设计与分析方法,从而达到理论与实际相结合,并为今后从事嵌入式系统设计及其相关领域的各项工作打下坚实的基础。具体要求如下: 1、掌握嵌入式系统的硬件设计原理。 2、掌握嵌入式linux操作系统下的C语言应用程序设计技术 3、掌握嵌入式linux操作系统驱动程序设计技术 4、掌握嵌入式linux操作系统的移植技术 5、掌握嵌入式linux操作系统的交叉编译与动态调试技术 具体内容如下: (1)熟悉嵌入式硬件系统基础知识及基于Linux的应用开发环境的建立和程序设计方法 熟悉嵌入式硬件系统基础知识,熟悉嵌入式操作系统Linux的特点,了解Linux的主要模块及各自的功能。掌握虚拟机VMW ARE的使用方法,掌握通过交互式的环境来设计和定制内核、选择系统特性,然后进行编译和调试的全过程。了解BSP在嵌入式系统中位置及其作用。掌握在嵌入式操作系统Linux上搭建嵌入式应用开发环境的方法,熟悉Bootloader的使用方法。 (2)嵌入式操作系统Linux平台的编译移植搭建 安装嵌入式实验开发平台的BSP。根据嵌入式实验开发平台的特点和系统需求,利用VMARE环境配置Linux操作系统的特性和功能, 熟悉Bootloader的使用方法,使用TOOLCHAIN进行交叉编译、链接生成操作系统内核,生成系统映像文件ZImage。下载并运行编译好的Linux系统内核。对文件系统同样进行相关编译移植下载至嵌入式开发平台上。 (3)嵌入式数据库SQLITE与UI开发工具QT的掌握。 (4)根据所学理论知识和嵌入式硬件开发平台的具体情况,设计一个具有一定规模较复杂功能的嵌入式系统(如嵌入式系统设备驱动程序),一般来讲需要2个学生共同完成. (5)编写课设报告。课设报告要求: 1.要求使用A4纸打印,必须有封面和目录。封面内容有课设题目、班级、序号(两位)、姓名、指导教师、日期等内容。 2.课设内容一般应包含如下部分: ①课设名称、目的、要求、内容。 ②嵌入式系统a8开发硬件平台的基本概述。 ③嵌入式操作系统Linux配置、编译、移植的基本原理和过程及测试程序设计。 ④嵌入式数据库sqlite的移植过程及程序设计。 ⑤基于QT的数据库应用程序设计。 ⑥目标系统如嵌入式设备驱动程序的设计。 ⑦课设结果及分析。 ⑧收获、体会和建议。 二、进度安排: 1.嵌入式开发平台的熟悉(硬件设计环境和软件开发环境)(1天) 2.嵌入式操作系统Linux平台的编译移植搭建(1天) 3.嵌入式linux操作系统的交叉编译与动态调试(1天) 4.嵌入式数据库SQLITE的熟悉(1天)

相关文档
相关文档 最新文档