s3c2416裸机开发
huang20083200056
这个作者很懒,什么都没留下…
展开
-
S3C2416裸机开发系列一_裸机开发环境以及启动模式
S3C2416裸机开发系列一裸机开发环境以及启动模式象棋小子 10482729751. S3C2416概述S3C2416是低功耗、高性能、低成本的SAMSUNG ARM9(ARM926EJ)处理器,目前三星已停止生产S3C2440, S3C2416具有更高的性能,以及更低的价格,是S3C2440、S3C2410等处理器的完美替代者。相比S3C2440,S3C2416采用了双总线原创 2014-03-13 10:56:12 · 10560 阅读 · 8 评论 -
S3C2416裸机开发系列十五_GCC下uCOS的移植(2)
操作系统是用来管理系统硬件、软件及数据资源,控制程序运行,并为其它应用软件提供支持的一种系统软件。根据不同的种类,又可分为实时操作系统、桌面操作系统、服务器操作系统等。对于一些小型的应用,对系统实时性要求高,硬件资源有限等的情况下,应尽量避免使用复杂庞大的操作系统(如Linux),使用小型的实时操作系统(如uCOS)更能满足应用的需求。笔者此处就uCOS-II的移植作一个简单的介绍。原创 2014-05-09 10:31:14 · 2991 阅读 · 0 评论 -
S3C2416裸机开发系列十五_GCC下uCOS的移植(1)
操作系统是用来管理系统硬件、软件及数据资源,控制程序运行,并为其它应用软件提供支持的一种系统软件。根据不同的种类,又可分为实时操作系统、桌面操作系统、服务器操作系统等。对于一些小型的应用,对系统实时性要求高,硬件资源有限等的情况下,应尽量避免使用复杂庞大的操作系统(如Linux),使用小型的实时操作系统(如uCOS)更能满足应用的需求。笔者此处就uCOS-II的移植作一个简单的介绍。原创 2014-05-09 10:20:17 · 2537 阅读 · 0 评论 -
S3C2416裸机开发系列十一_RGB屏驱动显示
S3C2416裸机开发系列十一RGB屏驱动显示象棋小子 1048272975很多的嵌入式系统都需要人机交互,对于输出设备,LCD以其显示质量高、画面效果好等优点得到了极其广泛的应用。s3c2416包含了一个LCD控制器,笔者此处就s3c2416的LCD应用作一个简单的介绍。1、LCD控制器概述1.1. 接口s3c2416的LCD控制器包含了一系列的逻辑单元用以支持把图原创 2014-04-27 10:52:55 · 3925 阅读 · 0 评论 -
S3C2416裸机开发系列十六_sd卡驱动实现
SD卡(Secure Digital Memory Card)具有体积小、容量大、数据传输快、可插拔、安全性好等优点,被广泛应用于便携式设备上。例如作为数码相机的存储卡,作为手机、平板多媒体扩展卡用的TF卡(micro sd)。笔者此处就s3c2416 sd卡驱动的实现作一个简单的介绍。原创 2014-05-26 12:56:22 · 4598 阅读 · 3 评论 -
S3C2416裸机开发系列十七_GCC下Fatfs的移植
对于固态存储器,其存储容量可以很大,往往需要一款文件系统对存储器用户数据进行组织文件的管理。它对文件存储器空间进行组织和分配,负责文件的存储并对存入的文件进行保护和检索。在嵌入式系统中,往往需要采用windows兼容的文件系统,像相机的照片、视频监控、语音产品等,很多都需要从windows计算机上提取资源或在windows计算机上进一步处理。Fatfs由于其开源免费,支持fat32,受到了广泛的应用,笔者此处就s3c2416移植Fatfs,对sd卡进行读写访问作一个简单的介绍。原创 2014-06-08 15:03:09 · 2060 阅读 · 0 评论 -
S3C2416裸机开发系列十八_音频驱动实现(1)
在消费电子产品中,往往都会用到音频系统来播放音乐、进行通话等多媒体应用,此外,对于一些需语音提示的产品,音频部分都是不可或缺的功能。笔者此处就s3c2416的音频驱动实现作一个简单的介绍。原创 2014-06-10 09:48:04 · 3822 阅读 · 0 评论 -
S3C2416裸机开发系列十八_音频驱动实现(2)
IIS模块实现IIS.c如下:#include"s3c2416.h"#include "IIS.h"#include"Exception.h"#include"UART0.h" #defineDEBUG_IIS#ifdef DEBUG_IIS#defineDebug(x...) Uart0_Printf(x)#else#defineDebug(x...)原创 2014-06-10 09:50:38 · 1615 阅读 · 0 评论 -
S3C2416裸机开发系列十九_Fatfs下播放录音wav音频文件
对于多媒体资源,一般都是以文件的形式存储在固化存储器中。Fatfs所支持的fat32为windows支持的文件系统,因此在嵌入式系统中采用Fatfs文件系统可极大地扩展系统的应用。例如,把计算机上图片,音频,视频,文本等资源直接拷贝到嵌入式系统中的固化存储器中,在系统中即可直接应用这些资源。把嵌入式系统中录制的音频、视频直接保存成一定的格式,在计算机上可直接播放处理,把传感器采集的数据保存成txt或dat文件,在计算机上通过处理生成数据曲线分析等。笔者此处就wav音频文件的播放与录音进行简单的介绍。原创 2014-06-11 09:55:22 · 3752 阅读 · 0 评论 -
S3C2416裸机开发系列二十_Libjpeg的移植
jpeg格式是一种针对相片影像而广泛使用的一种失真压缩标准,其压缩技术十分先进,用有损压缩方式去除冗余的图像数据,在获得极高压缩率的同时,能展现十分丰富生动的图像,能用最少的磁盘空间得到较好的图像品质。由于其尺寸较小,能够较快地在网络上传输,因此在数码相机、网页等领域均广泛应用到jpeg图像格式。笔者此处就移植libjpeg开源库来应用jpeg作一个简单的介绍。原创 2014-08-12 22:45:38 · 1540 阅读 · 0 评论 -
S3C2416裸机开发系列二一_Yaffs的移植
Nand作为市面上最主要的非易失性闪存技术之一,应用在各种固态大容量存储解决方案中。由于Nand flash自身的特点,Nand存储器往往需要一款专用的Nand文件系统进行管理。开源的Yaffs文件系统由于其优异的性能,在Nand flash中受到广泛的应用,笔者此处就Yaffs的移植作一个简单的介绍。原创 2015-11-01 12:24:31 · 1916 阅读 · 1 评论 -
S3C2416裸机开发系列九_GCC启动代码工程应用实例
S3C2416裸机开发系列九GCC启动代码工程应用实例象棋小子 1048272975GNU是一个自由软件工程项目,目标在于创建一个完全兼容于UNIX的自由软件环境。GNU已经开发出了大部分UNIX系统的程序库和工具,如功能强大的文字编辑器Emacs,本章节涉及的GUN开发编译器GCC等。尤其是Linux与其它的GNU软件结合,诞生了GNU下完全自由免费的操作系统。GNU软件功能完原创 2014-04-22 13:49:22 · 2214 阅读 · 1 评论 -
S3C2416裸机开发系列八_MDK启动代码工程应用实例
S3C2416裸机开发系列八启动代码工程应用实例象棋小子 1048272975笔者前面章节简单介绍了s3c2416启动代码的实现过程,启动代码就是用来处理cpu体系结构中一些底层内容,一个功能强大的启动代码是可以当作bootloader(如uboot)来用的。有了启动代码,用户就可以专注于用c来作其它的功能函数开发了,现今的c编译器效率都很高,很智能,不会逐句翻译用户的c代码,而原创 2014-03-29 23:03:39 · 4321 阅读 · 7 评论 -
S3C2416裸机开发系列十_串口打印调试
S3C2416裸机开发系列九串口打印调试象棋小子 1048272975在嵌入式软件开发过程中,往往都会用到串口进行打印信息以跟踪调试代码的运行。只要在代码的关键位置加入打印函数,即可分析代码在这一位置的关键参数是否正确,运行状态是否无误以及相关的出错信息。通过串口线连接PC端COM口与开发板的UART即可实现开发板与PC机的通信。在代码调试阶段,开始板的状态信息通过串口打印显示在原创 2014-04-06 23:14:20 · 2567 阅读 · 3 评论 -
S3C2416裸机开发系列三_启动代码以及流水灯c代码
S3C2416裸机开发系列三启动代码以及流水灯c代码象棋小子 1048272975启动代码是处理器上电复位后最先运行的一段代码。主要是用来把处理器初始化到一个确定的状态,为c运行环境作好准备。如设置异常向量表,初始化系统时钟,初始化外部内存,把用户代码拷贝到外部内存,初始化栈,清0全局变量区,静态变量区等。与体系结构相关的部分,只能用汇编来写。由于S3C2416/50/51目前在原创 2014-03-16 10:25:30 · 3571 阅读 · 1 评论 -
S3C2416裸机开发系列二_汇编入门代码以及sd卡启动
S3C2416裸机开发系列二汇编入门代码以及sd卡启动象棋小子 1048272975 学习了arm,笔者认为就有必要学习arm的汇编语言。对于软件出错调试,往往需要跟踪c编译器生成的汇编代码和链接器生成的Mapping文件等。对于操作系统,bootloader之类的移植,必须熟悉汇编代码,因为移植涉及到体系结构相关的部分只有汇编代码才能胜任,其它高级语言均无能为力。1. 流原创 2014-03-13 15:03:08 · 4129 阅读 · 1 评论 -
S3C2416裸机开发系列十二_IIC驱动实现
S3C2416裸机开发系列十二IIC驱动实现象棋小子 1048272975IIC是Philips推出的芯片间串行传输总线,它以二根连线实现完善的全双工同步数据传送,可以极方便地构成多机系统和外围器件扩展系统。由于其接口简单灵活,很多外围器件均提供了IIC接口,如手机、平板常用的重力传感器、地磁感应、陀螺仪、电容屏接口等均是采用IIC接口的。这些器件采用IIC接口可减少芯片封装的引原创 2014-04-30 13:37:08 · 1686 阅读 · 0 评论 -
S3C2416裸机开发系列四_外部内存初始化以及代码搬移
S3C2416裸机开发系列四外部内存初始化以及代码搬移象棋小子 1048272975对于处理器来说,都不可能内置过大的内存,只保留一小块SRAM作为芯片启动用。例如S3C2416内部SRAM只有64k,其中8k是作为SteppingStone,用来做一些基本的初始化,并进一步引导用户的代码启动。用户的代码往往是在外部的内存空间执行,因为通过处理器的存储器接口,可以外扩较大的内存空原创 2014-03-22 18:07:31 · 4051 阅读 · 1 评论 -
S3C2416裸机开发系列五_Nand驱动以及Nand启动
S3C2416裸机开发系列五Nand驱动以及Nand启动象棋小子 1048272975在嵌入式设计中,由于Nand Flash具有大容量,擦写次数高,接口简单等优点,常用作固化存储器。S3C2416支持Nand启动,因此Nand存储器可以直接保存固化代码以及其它的数据。笔者在此简单的介绍Nand flash驱动的实现以及Nand启动。1. Nand驱动实现笔者采用Nand原创 2014-03-24 09:58:51 · 2711 阅读 · 0 评论 -
S3C2416裸机开发系列十三_电容屏驱动实现
S3C2416裸机开发系列十三电容屏驱动实现象棋小子 1048272975在人机交互系统中,键盘、触摸屏等输入设备是一个不可或缺的部分。对于手机、平板这些消费类电子而言,触摸屏以其非常良好的用户体验得到了广泛的应用。笔者此处就s3c2416 IIC接口电容屏的应用作一个简单的介绍。1. 触摸屏概述目前嵌入式系统中常用的触摸屏有两种,一种是电阻式触摸屏,另一种是电容式触摸屏原创 2014-05-03 14:07:29 · 2053 阅读 · 0 评论 -
S3C2416裸机开发系列十四_GCC下UCGUI的移植(1)
GUI(图形用户界面)极大地方便了非专业用户的使用,用户无需记忆大量的命令,取而代之的是可以通过窗口、菜单、按键等方式进行操作。在某些场合,设计一款人机界面丰富友好的嵌入式产品能赢得更多的用户。笔者此处就s3c2416基于UCGUI图形用户界面的使用作一个简单的介绍。原创 2014-05-05 09:41:52 · 2993 阅读 · 0 评论 -
S3C2416裸机开发系列十四_GCC下UCGUI的移植(2)
S3C2416裸机开发系列十四GCC下UCGUI的移植(2)象棋小子 1048272975现在主要讲解一下在GCC移植UCGUI,Makefile工程如何加入目录,加入源码,c标准库,编译选项的设置。笔者的Makefile模板提取自uboot,工程中加入目录,加入源码都是很简单的,详细的介绍请参考前面章节” GCC启动代码工程应用实例”。下面主要介绍UCGUI目录下很原创 2014-05-05 09:46:37 · 2658 阅读 · 0 评论 -
S3C2416裸机开发系列六_MMU映射
S3C2416裸机开发系列六MMU映射象棋小子 1048272975S3C2416带有CP15协处理器,里面集成了16KB的I/D-Cache和MMU。MMU负责虚拟地址到物理地址的映射,并提供硬件机制的内存访问权限检查。笔者此处就MMU的使用作一个简单的介绍。1. MMU映射时存储器访问ARM CPU使用表格存储虚拟地址对应的物理地址,这类表格称为页表,页表由一个个条目原创 2014-03-24 10:07:59 · 2590 阅读 · 0 评论 -
S3C2416裸机开发系列七_异常处理
S3C2416裸机开发系列七异常处理象棋小子 1048272975arm7/arm9架构cpu有七种工作模式,分别为用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。除了用户模式与系统模式外,其它五种模式称为异常模式。当特定的异常出现时,cpu进入相应的模式。对于嵌入式设计来说,中断处理是必不可少的功能,因此笔者就arm的异常处理作一个简单的介绍。1.原创 2014-03-29 22:56:48 · 1924 阅读 · 0 评论 -
S3C2416裸机开发系列二二_Lwip的移植
Internet实现了全球范围内计算机网络的互连,不同主机之间必须遵循相同的网络协议才能彼此通信。TCP/IP协议作为一种网络互联协议,在Internet中得到了最广泛的支持以及应用。笔者此处就轻量级TCP/IP协议Lwip的移植作一个简单的介绍。原创 2015-11-01 12:30:23 · 2066 阅读 · 1 评论