基于ARM的音频控制
- 格式:pdf
- 大小:401.26 KB
- 文档页数:12
DOI:10.3969/j.jssn.1009-9492.2016.z1.017SSI接口与嵌入式音频驱动的设计与实现胡小玉(广东省佛山市顺德区美的电热电器制造有限公司,广东佛山 528311)摘要:介绍了i.MX27处理器与wm9712L编解码芯片通过SSI接口实现的音频系统及其工作原理,阐述了SSI串行总线接口的使用以及工作在AC97模式下相关寄存器的配置方法,给出了嵌入式系统下音频驱动程序的设计流程及编写方法,并着重讲解了Linux系统下makefile文件的编写以及使用make命令实现编译的过程。
此设计方案最终实现嵌入式系统音频文件的播放,对嵌入式系统的研究和开发有一定的借鉴意义。
关键词:i.MX27处理器;wm9712L;SSI接口;AC97;Linux中图分类号:TP334.7 文献标识码:B 文章编号:1009-9492(2016)z1-0088-040引言嵌入式系统针对特定的设备应用而设计,通常这些设备的硬件资源非常有限,设备类型各不相同,针对特定应用,就需要设计特定的软硬件环境,以适应系统的需要。
本文就基于嵌入式处理器,通过SSI接口实现其与音频编解码芯片wm9712L的硬件连接。
处理器采用飞思卡尔公司的i.MX27处理器,它是一款基于ARM9E核的微处理器,具有UART、SPI、I2C和SSI等多种外围接口。
设计中硬件部分通过分析SSI接口的工作特点及使用方法,采用AC97总线协议实现处理器与编解码芯片之间的通信。
软件实现上,由于Linux系统是一种开放源代码的操作系统,内核运行稳定、高效,支持多种不同硬件体系结构,设计中基于Linux2.6内核进行驱动程序的开发,利用操作系统为扩展硬件设备而提供的驱动接口,分析了对编解码芯片驱动程序的设计流程及实现过程,并详细讲述了通过Linux下的make工具及makefile文件实现对源文件编译的方法,最终完成驱动的加载,实现了音频播放功能,为实际的工程应用提供了一种借鉴方法。
基于ARM处理器的嵌入式系统设计嵌入式系统指的是任何一种通过程序嵌入到硬件系统中,以实现特定功能的设备。
这些系统包括嵌入式计算机、嵌入式传感器、嵌入式测量设备等等。
嵌入式系统的设计必须遵循严格的硬件和软件要求,以实现高可靠性、高效性和低耗能等特性。
ARM处理器是一种高性能低功耗处理器。
由于其独特的架构和性能,ARM处理器已逐渐成为嵌入式系统中的首选处理器。
在工业控制、汽车电子、消费电子等领域中,ARM处理器已经得到广泛的应用。
基于ARM处理器的嵌入式系统设计需要注意以下几个方面:一、硬件设计嵌入式系统中,硬件设计是至关重要的。
硬件设计需要考虑到系统的高可靠性和稳定性。
在基于ARM处理器的嵌入式系统中,硬件设计需要考虑以下几点:1.选取适当的处理器。
根据系统的应用场景和性能要求,选择适当的ARM处理器。
比如,某些应用需要实现高计算性能,而某些应用则需要实现低功耗,需要选择不同的处理器。
2.电源设计。
对于嵌入式系统来说,电源设计尤为重要。
在选择电源时,需要考虑电压范围、电流要求、效率、可靠性等因素。
3.布线设计。
布线设计需要考虑到模拟信号与数字信号的分离、信号传输的完整性以及电磁干扰等问题。
4.外设设计。
根据系统的需求,需要选取合适的外设,包括存储器、通信接口、传感器接口等。
二、软件设计基于ARM处理器的嵌入式系统中,软件设计是至关重要的。
以下是一些需要注意的问题:1.Bootloader设计。
Bootloader是在系统上电时运行的第一个程序,用于初始化硬件、加载操作系统内核等。
Bootloader的设计需要考虑到硬件的初始化和操作系统内核的加载。
2.操作系统设计。
嵌入式系统中,通常会使用一些轻量级的操作系统,例如FreeRTOS、uC/OS等。
操作系统的设计需要考虑到性能、资源占用、任务优先级等因素。
3.应用程序设计。
应用程序设计需要考虑到系统的功能要求、通信协议等因素。
在应用程序设计中,需要注意代码复杂度,确保代码的可维护性和可扩展性。
摘要SD卡(Secure Digital Memory Card)中文翻译为安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地于便携式装置上使用,例如数码相机、个人数码助理(PDA)和多媒体播放器等。
本实训的作品是利用基于ARM Cotex-M3内核的嵌入式处理器STM32自带的SDIO硬件接口来驱动SD卡,并结合文件系统 FATFS R0.07C来完成一个基于嵌入式ARM的SD卡读写的作品,现实向SD 卡写入一个txt文件,并读取SD卡的文件目标并通过串口打印到PC机显示。
关键词:嵌入式;ARM;STM32;SD卡;文件系统AbstractSD Card (Secure Digital Memory Card) Chinese translation for Secure Digital Card, it is a kind of based on semiconductor flash Memory of a new generation of Memory device, it is widely used in portable devices, such as Digital cameras, personal Digital assistant (PDA) and multimedia player, etc. This training work is based on ARM Cotex - M3 kernel embedded processor STM32 own SDIO hardware interface to drive the SD card, and combined with the file system FATFS R0.07 C to complete a based on embedded ARM of the SD card, speaking, reading and writing work, reality to SD card to a TXT file, and read SD card file goals and through the serial port print to PC display.Key words:embedded;ARM;STM32; SD Card; File system目录1 前言 (1)1.1ARM应用背景 (1)1.2研究内容 (2)1.3研究成果 (3)2 STM32处理器概述 (3)2.1STM32简介 (3)2.1.1 STM32F103VET6的参数 (4)2.2内部资源 (6)2.3C ORTEX-M3内核简介 (6)2.4STM32SDIO简介 (7)2.4.1 SDIO简介 (7)2.4.2 SDIO功能特性 (8)3 SDIO的原理及实现方法 (8)3.1原理 (9)3.2SDIO适配器 (10)3.3SDIO卡识别过程 (11)3.4SDIO写数据块 (12)3.5SDIO读数据块 (13)4 FATFS文件系统 (13)4.1F A T FS文件系统简介 (13)4.2F A T FS文件系统移植 (14)4.2.1移植前工作 (14)4.2.2开始移植 (14)5 测试及结果 (15)5.1JTAG仿真器介绍 (16)5.2现象及结果 (16)6 结论 (18)致谢 (19)参考文献 (20)1 前言1.1 ARM应用背景如今,学习一种处理器的就有许多ARM内核的处理器可供使用,现在社会已步入嵌入式学习阶段。
-42-20078产品设计与实现一、前言二、数字视频监控系统的组成三、视频服务器的硬件实现监控系统作为现代企业不可缺少的重要组成部分,已广泛应用于交通、医院、银行、家居、视频会议和视频点播、证券、远程教育等诸多领域,可以有效地避免安全隐患的发生,保障员工人身安全和企业资产不受损失,实现无人值守。
早期的模拟监控系统不能联网,只能与监控中心进行点对点通信,随着图像与视频处理技术、网络技术和自动控制技术的发展,视频监控系统已过渡到数字化的网络监控。
它以数字视频的压缩、传输、存储和播放为核心,采用先进的数字图像压缩编/解码技术和传输技术,将智能图像处理与识别技术用于图像显示、调整、跟踪,根据现场环境智能调节摄像机的位置及清晰度,对物体进行跟踪识别,对图像进行分析和处理。
数字视频监控系统主要由监控中心、通信链路和多个监控站点组成。
通讯链路在企业内部使用企业已经铺设好的局域网线路,将其连人企业内部网,然后可以将其接人Internet,以便将信号传输给远端分控计算机或授权用户。
传输的数据包括视频、报警等录像数据和控制信号。
监控中心具有电视墙、磁盘阵列、服务器、交换机和路由器等网络设备,还可以通过多级级联构成多级监控系统。
监控站点主要由视频服务器和摄像机组成,整个系统组网灵活;可以突破地域限制,进行大规模、远距离的实时图像监控和报警处理。
如图1所示。
监控系统的软件包括客户端、服务器端软件两部分以及相互之间的通信。
在实际工作中,根据实际情况,在需要的地方安装相应的前端监控设备(彩色或黑白摄像机、固定或活动云台、定焦或变焦和相应的软件系统。
图I中的每个监控站点主要由摄像头、云台控制器、网络视频服务器组成,可配置可变镜头、麦克风、扬声器等外设,如图2所示。
其中网络视频服务器以嵌人式微处理器为核心,由视频采集编码模块、网络功能模块、实时时钟模块、摄像头云台控制模块等组成。
嵌人式微处理器是硬件部分的核心 , 采用 SAMSUNG的微处理器S3C4510B。
基于STM32的PWM音乐播放器应用设计摘要:PWM(脉冲宽度调制)音乐播放器是一种利用STM32系列微控制器的PWM输出来生成音频信号实现音乐播放的应用。
本文将介绍一个基于STM32的PWM音乐播放器的应用设计,包括硬件设计和软件设计。
1.引言PWM音乐播放器是一种简单且成本低廉的方式来实现音乐播放。
由于STM32系列微控制器具有PWM输出功能,并且具备足够的计算能力,因此非常适合用来设计PWM音乐播放器。
本文将介绍如何设计一个基于STM32的PWM音乐播放器的应用。
2.硬件设计硬件设计包括STM32微控制器的选择和PWM输出电路的设计。
2.1STM32微控制器的选择选择合适的STM32微控制器是设计PWM音乐播放器的关键。
首先要考虑到音频数据的存储和处理能力,可以选择具有足够存储空间和计算能力的STM32微控制器。
另外,PWM输出的质量也非常重要,因此要选择具有高分辨率PWM输出的STM32微控制器。
推荐选择STM32F4系列微控制器,例如STM32F4072.2PWM输出电路的设计PWM输出电路的设计是为了保证音频信号的质量和输出功率。
可以使用一个低通滤波器来过滤PWM输出信号,以消除高频成分,然后将滤波后的信号放大,以增加输出功率。
在PWM输出电路中,还可以添加一些保护电路,以预防意外的电压过冲或过电流等情况。
3.软件设计软件设计包括音频数据的处理和PWM输出的控制。
3.1音频数据的处理音频数据可以从存储器或外部设备中读取,然后进行解码和处理。
可以使用一些常见的音频格式,如MP3或WAV,来存储音频数据。
可以使用适当的库或算法来解码音频数据,并将其转换为适合PWM输出的格式。
在将音频数据转换为PWM输出格式之前,可以应用一些音效或滤波器,以改变音频的音效或调整音频的频率等。
3.2PWM输出的控制PWM输出可以通过设置定时器和占空比来控制。
可以根据音频数据的采样率和音频输出的所需频率来设置定时器的频率。
基于STM32 DSP库的音乐频谱设计成员:游政园刘亚东彭誉黄文卓程剑张琼燕班级:电子信息科学与技术1211班指导老师:***目录一、设计任务和性能指标 (2)1.1 设计任务 (2)1.2 性能指标 (2)二、设计方案 (2)2.1 系统总体方案设计 (2)2.2 硬件设计 (3)2.2.1主控MCU模块 (3)2.2.2电阻触摸液晶显示模块 (4)2.2.3音频采集模块 (6)2.2.3按键输入模块 (6)2.2.4 整体电路布局 (7)三、系统软件介绍 (7)3.1 软件实现思路 (7)3.2 各部分软件实现思路 (8)3.2.1 硬件初始化 (8)3.2.2 音频信号的采集 (9)四、测试结果 (11)4.1 64分频,即64点基4-FFT频谱与电脑对比测试 (11)4.2 256分频,即256点基4-FFT频谱与电脑对比测试 (12)4.3 64分频,即64点基4-FFT频谱与电脑对比测试 (12)五、结束语 (13)参考文献 (13)基于STM32 DSP库的音乐频谱设计报告摘要:本作品是基于STM32和DSP库的音乐频谱的设计,能够对采集的音频信号进行分频处理并显示在液晶屏上。
本设计主控芯片采用的是大容量增强型ARM Cortex-M3 内核STM32F103ZET6芯片,其运行频率高,运算速度快,主频为72MHZ,可超频至128MHZ,在移植了ST官方的DSP库后运算能力非常强,音频采样使用的是其内部12 位逐次逼近型的模拟数字转换器,采样速度快,转换时间短,精度高,同时显示用的是用FSMC控制的TFT 液晶屏,可以达到非常好的显示效果。
关键字:STM32;DSP库,音乐频谱一、设计任务和性能指标1.1 设计任务设计一个音乐频谱,带有FFT-64点和FFT-256点的音乐柱状显示。
用Altium Designer画出原理图,绘出程序流程图,规范化程序设计。
实现基本功能。
1.2 性能指标1、音乐频谱显示柱状更新速度快,能实时显示当前音乐频谱分布。
音频控制器音频输入与输出控制方案详细解析音频控制器是一种用于控制音频输入和输出的设备或模块,可以在各种音频应用中发挥重要作用。
本文将详细解析音频控制器的原理和常见的音频输入与输出控制方案。
一、音频控制器的原理音频控制器主要作用是对音频信号进行处理和控制,保证音频的质量和音量达到指定的要求。
它通常由以下几个部分组成:1. 音频输入接口音频输入接口用于接收外部音频源(如麦克风、乐器等)的音频信号。
常见的音频输入接口有XLR接口、TRS接口、USB接口等。
不同接口具有不同的特性和应用场景。
2. 音频输出接口音频输出接口用于将经过处理后的音频信号输出到外部设备(如扬声器、录音设备等)。
常见的音频输出接口有XLR接口、TRS接口、RCA接口等。
同样,不同接口适用于不同场景和设备。
3. 音频编解码器音频编解码器是音频控制器中的核心部分,用于对音频信号进行编码和解码,保证音频传输的质量和准确性。
常见的音频编解码器有PCM编解码器、Dolby编解码器、AAC编解码器等。
4. 控制电路音频控制器还包括控制电路,用于控制音频输入接口、音频输出接口和音频编解码器的工作状态和参数。
通过控制电路,用户可以调整音频的音量、音调、平衡等参数。
二、音频输入与输出控制方案音频输入与输出控制方案根据具体需求和应用场景的不同,可以有多种选择。
以下是几种常见的方案:1. 单通道输入与输出单通道输入与输出是最简单的音频控制方案,适用于一些简单的音频应用,如个人音乐播放器、小型音响系统等。
通过一个音频输入接口和一个音频输出接口,可以实现单一声道音频信号的输入和输出。
2. 多通道输入与输出多通道输入与输出适用于对声音要求更高的音频应用,如录音棚、影音系统等。
通过多个音频输入接口和音频输出接口,可以实现多声道音频信号的输入和输出。
常见的多通道输入与输出方案有2.1声道、5.1声道、7.1声道等。
3. 数字音频输入与输出数字音频输入与输出是一种数字化音频信号的输入和输出方案,常用于专业音频工作站、数字调音台等高端音频设备。
视听 2020.0335技术研发与应用一、引言目前在贵港转播台值班房,值班员通常使用收音机监听台站发射的广播节目。
现台站同时发射5套调频广播节目,由于多套节目的声音混淆在一起,因此不容易分辨每套节目是否正常。
为保证安播,机房值班人员提出能否将广播节目音频在电视墙显示监看的想法。
鉴于目前市场上类似的设备较少,较难采购功能符合需求的设备,因此本文使用STM32单片机作用主控,设计了一套广播音频可视化显示方案。
将多路模拟广播节目音频电压信号通过VGA 接口,接显示器在电视墙上进行可视化监看。
实现了当值班员在监视电视节目时,也可以同时监视多路广播节目是否正常,较有效提高了台站广播节目的安全播出效果。
二、整体方案设计本方案的整体设计框图如图1所示。
前端使用广播调谐器或收音头接收台站发射的5套广播节目,解调输出的左、右声道,共10路模拟音频电压信号,输入信号调理电路。
信号调理电路主要作用是把信号调整到0V-3.3V 之间(即单片机的A/D 采样电压范围内)。
然后分别输入到STM32单片机的模数转换器ADC 通道1至通道10。
单片机的ADC 工作于扫描模式,对10个ADC 通道进行轮询扫描转换。
为提高效率,使用单片机的DMA 控制器,将ADC 转换的结果传到RAM 中,以便软件调用。
Micro SD 卡主要作用是存储背景图片和字库数据,单片机完成ADC 数据处理后,单片机通过内部静态存储控制器(FSMC),控制16位并行数据总线把要显示的图像像素RGB 数据,写入到VGA 显卡的显存里。
VGA 显卡自动完成读取显存内的图像数据,并经数模转换成模拟RGB 信号,加入VGA 控制时序信号,输出到VGA 接口,实现显示器实时显示5套广播音频信号的功能。
三、硬件设计(一)单片机与ADC 引脚分配根据系统要求,STM32F 系列是一款基于Cortex-M3内核的ARM 微控制器,芯片具有16个ADC 输入引脚,同时具有静态存储控制器(FSMC),可以快速对外部的SRAM,NAND FLASH,NOR FLASH 和PSRAM 等存储器进行快速读写。
2012~2013学年第一学期《单片机原理与应用》课程设计报告题目:音频信号分析仪的设计专业:通信工程班级:10通信工程(2)班姓名:王俊戴家欣李挺捷夏宁卞颂扬指导教师:***电气工程系2012年10月27日《单片机原理与应用》任务书摘要本音频信号分析仪由32位MCU为主控制器,通过AD转换,对音频信号进行采样,把连续信号离散化,然后通过FFT快速傅氏变换运算,在时域和频域对音频信号各个频率分量以及功率等指标进行分析和处理,然后通过高分辨率的LCD对信号的频谱进行显示。
该系统能够精确测量的音频信号频率范围为20Hz-10KHz,其幅度范围为100mV-5V,分辨力分为20Hz和100Hz两档。
测量功率精确度高达1%,并且能够准确的测量周期信号的周期,是理想的音频信号分析仪的解决方案。
关键词:FFT MCU 频谱功率分辨力目录《单片机原理与应用》任务书 (I)摘要 (II)目录 (III)第一章音频信号分析仪设计原理 (1)1.1 采样方法比较与选择 (1)1.2 处理器的比较与选择 (1)1.3 周期性判别与测量方法比较与选择 (3)第二章系统设计 (4)2.1 总体设计 (4)2.2 单元电路设计 (5)2.2.1 前级阻抗匹配和放大电路设计 (5)2.2.2 AD转换及控制模块电路设计 (7)2.2.3 功率谱测量 (7)第三章软件设计 (9)第四章系统测试 (10)4.1总功率测量(室温条件下) (10)4.2 单个频率分量测量(室温条件下) (10)结论 (12)参考文献 (13)附录 (14)附1:电路图图纸 (14)附2:程序清单 (15)答辩记录及评分表 (21)第一章音频信号分析仪设计原理1.1 采样方法比较与选择方案一、用DDS芯片配合FIFO对信号进行采集,通过DDS集成芯片产生一个频率稳定度和精度相当高的信号作为FIFO的时钟,然后由FIFO对A/D转换的结果进行采集和存储,最后送MCU处理。
基于ARM的音频控制自动化系的工程训练5是学生在4年学习中的最后一次软硬件开发的工程训练,利用2周时间完成。本次工程训练以深圳芯控科技有限公司生产的一款基于ARM9的嵌入式开发平台EM-SBC2410为硬件开发平台,通过搭建嵌入式Linux的软件开发平台,完成基于ARM的音频控制的软硬件设计。通过此设计,使学生掌握以ARM为控制核心的嵌入式开发板的运用、领略到基于ARM9-Linux软硬件平台开发的主要过程、方法和步骤,最终完成一个基于ARM9的小型嵌入式作品。学生要完成这一工程训练项目,必须学完“单片机原理及其应用”和“嵌入式系统原理及其应用”二门课程及其完成“基于单片机的直流电动机控制”或“基于单片机的数字钟设计”的实训项目,并综合应用这三门课程的软硬件知识,解决实践中的实际软硬件开发问题。
3.1目的要求:3.1.1基本目的本次工程训练通过“嵌入式系统原理及其应用”课程的学习,掌握嵌入式系统开发的基础知识;通过对EM-SBC2410的学习,了解嵌入式开发板的使用及其嵌入式系统的主要开发要点;综合应用嵌入式Linux的C语言编程技巧,结合音频控制原理,实现基于ARM的音频控制。3.1.2基本要求为了使学生深入理解嵌入式系统的整个开发过程,本设计采用5个过程实现基于ARM的音频控制,此5个过程分别为:EM-SBC2410开发板的硬件资源及其附带的软件资源的使用阶段、嵌入式Linux的开发环境的搭建阶段、基于ARM的音频控制的需求分析及其制定设计思路阶段、硬件设计及其制作阶段、软件设计及其调试阶段、作品联调运行及其维护阶段。要求学生按照5个阶段开发过程展开,以求给学生一个整个嵌入式开发的全过程。本工程训练除了要求学生掌握运用ARM控制音频的全过程,还要求学生能够掌握以ARM为控制核心的嵌入式开发板的运用及其嵌入式Linux的C语言的编程技巧。
3.2基本知识介绍运用EM-SBC2410的硬件开发平台进行基于ARM的音频控制的软硬件设计,用到了“嵌入式系统原理及其应用”这门课程、嵌入式Linux开发的相关知识、EM-SBC2410用户手册及其音频控制原理等知识。嵌入式系统原理及其应用中主要掌握ARM的体系结构及其编程,以及嵌入式系统开发的流程。嵌入式Linux开发的相关知识主要掌握嵌入式Linux开发环境的搭建及其嵌入式Linux的交叉开发流程。EM-SBC2410用户手册主要掌握如何利用基于ARM9的开发板的硬件资源进行设计的过程。下面简单介绍除“嵌入式系统原理及其应用”这门课程外,此设计中要使用的一些重要知识。3.2.1EM-SBC2410开发板简介
图1EM-SBC2410开发板深圳芯控科技有限公司生产的EM-SBC2410开发板在尽可能小的板面上(120mm*90mm),如图1所示,它集成了64MSDRAM、64MNandFlash、2MBootFlash、RJ-45网卡(100M)、USBHost、USBslave、标准串口、SD卡插槽、用户按键和一些用户灯等设备接口,并且使用2.0mm插针槽引出CPU的大部分信号引脚,不仅可以作为嵌入式电脑系统的一个主板模块,而且适合于项目或产品的原型设计。此设计在基于EM-SBC2410为硬件开发平台,实现基于ARM的音频控制,最终实现mp3格式音频文件的播放和控制。3.2.2嵌入式Linux开发的相关知识1、嵌入式Linux简介linux是一个日益成熟的操作系统,现在已经拥有大量的用户,它是由芬兰的大学生linustorvalds开发的,任何人都可以复制,修改,套装发行,销售,但不许发行时加入限制,而且必须公布源代码,以保障任何人都可以无偿取得所有可执行文件及其源代码。比较著名的linux发行版本有redhatLinux,SUSELinux,TurboLinux,UbuntuLinux等。国内的有北京中科红旗软件技术有限公司发布的红旗linux,深圳蓝点软件有限公司发布的蓝点linux,北京冲浪公司制作的xtermlinux等。嵌入式Linux是以Linux为基础的嵌入式操作系统,它是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统,具有开放源代码、内核小、效率高、性能稳定,裁剪性好和对网络中最常用的TCP/IP协议有最完备的支持等优点,被广泛应用在移动电话、个人数字助理(PDA)、媒体播放器、消费性电子产品以及航空航天等领域中。2、嵌入式Linux的交叉开发模式Linux交叉开发采用宿主机和目标机的模式进行。宿主机是一台运行Linux(如:RedHat)的PC机,目标机即EM-SBC2410开发板。开发时使用宿主机上的交叉编译、汇编及连接工具形成可执行的二进制代码,这种代码并不能在宿主机上执行,而只能在目标机上执行。然后把可执行文件下载到目标机上运行。调试时的方法很多,可以使用串口,以太网口等,具体使用哪种调试方法可以根据目标机处理器所提供的支持作出选择。宿主机和目标板的处理器一般都不相同,宿主机为Intel处理器,而目标板如EM-SBC2410为SAMSUNGS3C2410。Linux交叉开发包括Linux内核的开发和Linux应用程序的开发应用程序的开发。有两种方式:①Linux内核的开发:图2所示为本设计的开发环境以及开发流程。在主机的RedHatLinux操作系统下安装Linux发行包以及交叉编译器arm-linux-gcc。然后对Linux进行配置(makemenuconfig)并选择适合本开发板的相关配置,配置完成后进行编译生成Linux映像文件zImage。然后将该文件下载到目标板并执行。
图2Linux的开发流程②Linux应用程序的开发Linux应用程序的开发在宿主机一端的操作与内核开发类似,都使用arm-linux-gcc编译器应用程序,不同的是,编译生成elf格式的文件而不是Linux映像文件。编译生成的应用程序可以通过多种方式进行调试,下面介绍几种我们的系统中可以使用的方式:●Linux应用程序以文件的方式直接将elf格式的文件加入到Linux文件系统中,然后更新整个文件系统,然后运行目标机Linux系统并运行应用程序。●运行目标机Linux系统,然后在目标机Linux系统中通过一些工具软件将宿主机中的应用程序通过以太网下载到目标机Linux系统,如NFS、FTP、TFTP等。●在宿主机端将Linux应用程序拷贝到U盘,然后运行目标机Linux系统,然后在目标机Linux系统中通过挂载U盘,然后在U盘运行应用程序。3、嵌入式Linux的开发流程嵌入式linux开发,根据应用需求的不同有不同的配置开发方法,但是一般都要经过以下过程:●建立开发环境。操作系统一般使用REDHAT-LINUX,版本7到9都可以,选择定制安
装或全部安装,通过网络下载相应的GCC交叉编译器进行安装(比如arm-linux-gcc、arm-uclibc-gcc),或者安装产品厂家提供的交叉编译器。●配置开发主机。配置MINICOM,一般参数为波特率115200,数据位8位,停止位
1,无奇偶校验,软硬件控制流设为无。在WINDOWS下的超级终端的配置也是这样。(本设计使用dnw.exe超级终端软件)MINICOM软件的作用是作为调试嵌入式开发板信息输出的监视器和键盘输入的工具;●配置网络,主要是配置NFS网络文件系统,需要关闭防火墙,简化嵌入式网络调
试环境设置过程。●建立引导装载程序BOOTLOADER,从网络上下载一些公开源代码的BOOTLOADER,如
U-BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根据自己具体芯片进行移植修改。有些芯片没有内置引导装载程序,比如三星的ARM7、ARM9系列芯片,这样就需要编写烧写开发板上flash的烧写程序,网络上有免费下载的WINDOWS下通过JTAG并口简易仿真器烧写ARM外围flash芯片的程序,也有LINUX下公开源代码的J-FLASH程序。如果不能烧写自己的开发板,就需要根据自己的具体电路进行源代码修改。这是让系统可以正常运行的第一步。如果你购买了厂家的仿真器当然比较容易烧写flash了,但是其中的核心技术是无法了解的。这对于需要迅速开发应用的人来说可以极大地提高开发速度。●下载别人已经移植好的LINUX操作系统,如UCLINUX、ARM-LINUX、PPC-LINUX等,
如果有专门针对你所使用的CPU移植好的LINUX操作系统那是再好不过,下载后再添加自己的特定硬件的驱动程序,进行调试修改,对于带MMU的CPU可以使用模块方式调试驱动,对于UCLINUX这样的系统只能编译进内核进行调试。●建立根文件系统,从www.busybox.net下载使用BUSYBOX软件进行功能裁减,产
生一个最基本的根文件系统,再根据自己的应用需要添加其他的程序。默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc目录下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自动挂装文件系统的配置文件/etc/fstab,具体情况会随系统不同而不同。根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfs、genromfs等工具产生烧写映象文件。●建立应用程序的flash磁盘分区,一般使用JFFS2或YAFFS文件系统,这需要
在内核中提供这些文件系统的驱动,有的系统使用一个线性flash(NOR型)512K-32M,有的系统使用非线性flash(NAND型)8-512M,有的两个同时使用,需要根据应用规划flash的分区方案。●开发应用程序,可以下载到根文件系统中,也可以放入YAFFS、JFFS2文件系统中,
有的应用程序不使用根文件系统,而是直接将应用程序和内核设计在一起。3.2.3EM-SBC2410音频接口及其控制原理SamsungS3C2410X带有I2S音频总线,因此EM-SBC2410使用一片I2S接口的PHILIPS解码芯片UDA1341,通过该芯片和相应的软件,用户可以播放mp3以及wav格式的音频文件,双声道的声音可以从背面的耳塞插孔直接接至耳塞或音箱,音频输入接口可以录音。此设计通过音频放大电路的设计,结合相应的控制程序,实现mp3歌曲的播放。IIS(IntegrateInterfaceofSound)即集成音频接口,在上个世纪80年代首先被Philips公司用于消费产品的音频设备,是一种面向多媒体计算机的串行数字音频总线协议。S3C2410X内置了一个IIS总线控制器,该控制器实现到一个外部8/16位立体声音频编解码接口。支持IIS总线数据格式和MSB-justified数据格式,能够和其他厂商提供的多媒体编解码芯片配合使用。S3C2410X中有两条串行数据线,一条是输入信号数据线,一条是输出信号数据线,以同时发送和接收数据。该IIS接口能够读取IIS总线上的数据,同时也为FIFO数据提供DMA的传输模式,这样能够同时传送和接收数据。IIS接口有3种工作方式:●正常传输模式,正常模式下使用IISCON寄存器对FIFO进行控制。如果传输FIFO缓存为空,IISCON的第7位被设置为“0”,表示不能继续传输数据,需要CPU对缓存进行处理。如果传输FIFO缓存非空,IISCON的第7位被设置成“1”,表示可以继续传输数据。同样,数据接收时,如果FIFO满,标识位是“0”,此时,需要CPU对FIFO进行处理,如果FIFO没有满,那么标志位是“1”,这个时候可以继续接收数据。●DMA模式,通过设置IISFCON寄存器可以使IIS接口工作于这种模式下。在这种模式中,FIFO寄存器组的控制权掌握在DMA控制器上,当FIFO满了,由DMA控制器对FIFO中的数据进行处理。DMA模式的选择由IISCON寄存器的第4位和第5位控制。●传输/接收模式,这种模式下,IIS数据可以同时接收和发送音频数据。IIS总线控制器结构如图8.2所示,各功能说明如下:●两个5比特预除器IPSR,IPSA_A用于产生IIS总线接口的主时钟,IPSA_B用做外部CODEC时钟产生器。