论文部分内容阅读
按键控制播放器系统是一个典型的手持设备产品,它通过外部按键来控制音频播放,以达到用户交互功能。
本文主要以ARM9处理器为目标平台,深入分析ARM公司提供的相关资料,介绍了ARM9处理器的特点,突出了其强大的内存管理功能;再基于NandFlash和NorFlash优缺点和性价比的考虑,选择NandFlash作为引导程序的存储介质,并深入研究了NandFlash的寻址方式;然后详细叙述了引导程序的设计与实现方法,分两阶段详细分析了引导程序的功能。引导程序第一阶段的功能主要是通过初始化堆栈,安装中断向量表,重定位代码等步骤将系统带入到一个稳定的环境;引导程序第二阶段的主要功能模块包括:擦除Flash模块、写Flash模块、运行Linux内核模块和通用异步收发器下载模块等。
同时,本文以Linux为嵌入式操作系统,先简要描述了Linux的特点,再总的介绍了嵌入式设备驱动程序的概念以及嵌入式设备驱动程序的软件架构;之后详细描述了按键输入设备的驱动程序的实现方法和加载方法,对所用到的核心知识内核定时器,任务机制,中断机制等进行了系统的解剖。紧接着,详细描述了音频设备的驱动程序的实现方法和加载方法,重点讲述了S3C2410平台中的IIS总线结构,以直接存储器存取通道技术着重解决了音频断流的难题。最后,给出了在S3C2410平台下添加和实现驱动程序的具体方法和步骤。并且,简单地介绍了硬件设计方法和硬件原理。
最后,本文介绍了系统开发所需要的硬件和软件环境,在ADS环境下测试了引导程序,并演示了将引导程序烧写到芯片上的过程;同时,在Linux环境下测试了按键输入设备和音频设备的驱动程序。结果表明该系统基本实现了预期的功能,达到了设计的要求。