Embedded System/RTOS
文章平均质量分 89
timequark
热爱开源,都是开源惹的火;
EMail: widespread@sina.com;
WeChat: 15800678981
展开
-
研究Xmodem协议必看的11个问题
研究Xmodem协议必看的11个问题转载 2010-11-12 15:40:00 · 2255 阅读 · 0 评论 -
Nor Flash 编程
Author-------Dansen-----xzd2734@163.com Nor Flash与Nand flash的不同之处在于Nor Flash的地址和数据线是不共用的,所以Nor Flash比较象ROM,是可以按地址自由读的,这样就非常适合存储代码,在开机时从Nor Flash中取代码来执行。在我的板子上有16M的Intel的Nor Flash E28F128J3A150,以转载 2009-12-21 20:36:00 · 1130 阅读 · 0 评论 -
在SOC 中实现Nand Flash 控制器的一种方法
在当今数字技术飞速发展的时代, Flash 因其非易失性及可擦除性而在数码相机、手机、个人数字助理(PDA )、掌上电脑、MP3 播放器等手持设备中得到广泛的使用。Nor 和Nand 是两种主要的非易失闪存技术。自1989 年东芝公司发表了Nand Flash 结构以来,Nand Flash 以其具有更小的体积, 更快的写入和擦除速度, 更多次的可擦除次数, 及更低廉的每bit 价格得到了迅速发展转载 2009-12-23 10:09:00 · 1962 阅读 · 0 评论 -
ARM920T的MMU与Cache
Cache是高性能CPU解决总线访问速度瓶颈的方法,然而它的使用却是需要权衡的,因为缓存本身的动作,如块拷贝和替换等,也是很消耗CPU时间的。MMU的重要性勿庸置疑,ARM920T(和ARM720T)集成了MMU是其最大的卖点;有了MMU,高级的操作系统(虚拟地址空间,平面地址,进程保护等)才得以实现。二者都挺复杂,并且在920T中又高度耦合,相互配合操作,所以需要结合起来研究。同时,二者的操作对转载 2009-12-18 10:55:00 · 892 阅读 · 0 评论 -
使用GPIO控制SPI接口的AD芯片 (转)
在实际应用中,英创的嵌入式工控主板经常需要与客户外部扩展的AD芯片相连。一般来讲AD单元的扩展有两种方法,一种是通过英创工控主板的精简ISA总线扩展,另一种则是通过同步串口的方法,如SPI、I2C接口,与AD连接。前一种方法所涉及的AD芯片一般具有并行接口,如MAX197等;而后一种方法的AD芯片则带有SPI或I2C接口。采用SPI或I2C接口的AD芯片,可使芯片的管脚数大幅减少,进一步使芯片本身转载 2009-12-16 16:01:00 · 6091 阅读 · 0 评论 -
SPI接口
标题:SPI 接口: 简单不简单2008-03-29 04:25:58SPI 串行外设接口总线,最早由Motorola提出,出现在其M68系列单片机中,由于其简单实用,又不牵涉到专利问题,因此许多厂家的设备都支持该接口,广泛应用于外设控制领域。SPI接口是一种事实标准,并没有标准协议,大部分厂家都是参照Motorola的SPI接口定义来设计的。但正因为没有确切的版本转载 2009-12-16 14:56:00 · 1358 阅读 · 0 评论 -
NAND Flash启动的问题
从Nand Flash启动U-BOOT的基本原理-------------------------------------------前4K的问题 如果S3C2410被配置成从Nand Flash启动(配置由硬件工程师在电路板设置), S3C2410的Nand Flash控制器有一个特殊的功能,在S3C2410上电后,Nand Flash控制器会自动的把Nand Flash上的前4K数原创 2009-12-08 13:59:00 · 1827 阅读 · 0 评论 -
u-boot中代码的疑问(_armboot_start与_start?) (转)
我使用的是u-boot-1.3.0-rc2。在cpu/pxa/start.S中,有如下的标号定义: _TEXT_BASE: .word TEXT_BASE /*uboot映像在SDRAM中的重定位地址,我设置为0xa170 0000 */ .globl _armboot_start _armboot_start: .word _start /*_start是程序入口,链接完毕它的值应该是0xa转载 2009-12-01 22:57:00 · 656 阅读 · 0 评论 -
嵌入式系统 Boot Loader 技术内幕
嵌入式系统 Boot Loader 技术内幕文档选项打印本页 将此页作为电子邮件发送级别: 初级詹荣开 (zhanrk@sohu.com), Linux爱好者转载 2009-12-01 22:14:00 · 543 阅读 · 0 评论 -
ARM体系结构(下)(转)
文章说明:calmarrow(lqm)读毛德操的《嵌入式系统》所做笔记文章引自:http://piaoxiang.cublog.cn ARM指令系统 系统的指令系统介绍这里就不罗列了,没有多大意义。这里只是总结一些小的知识点和经验,便于对ARM指令系统有更为深入的理解原创 2009-11-24 15:14:00 · 1113 阅读 · 0 评论 -
ARM体系结构(上) 转
文章说明:calmarrow(lqm)读毛德操的《嵌入式系统》所做笔记文章引自:http://piaoxiang.cublog.cn 学习《嵌入式系统――采用公开源代码和StrongARM/XScale处理器》一书,对ARM核的体系结构有了一个比较全面而且深入的认识,纠正了以前不少错误的认识。现在以ARM核的体系结构为主线,按照理解转载 2009-11-24 15:02:00 · 1370 阅读 · 0 评论 -
移植u-boot-1.3.4到S3C2440 (转)
http://home.eeworld.com.cn/my/space.php?uid=135723&do=blog&id=25347原创 2009-11-22 18:00:00 · 577 阅读 · 0 评论 -
PART2 将Android移植到FS2410开发板 (转)
一、目前进展1.Android已经可以通过NFS在FS2410开发板上运行二、目前缺陷1.触摸屏没有校准2.Android中时钟停止,结束zygote进程,系统重启,时钟更新,但再次停止不动3.串口无法与GPRS模块通讯三、移植步骤一、移植Android内核到FS2410开发板上1、从http://code.google.com/p/android/download转载 2009-12-22 21:19:00 · 506 阅读 · 0 评论 -
PART1 linux-2.6.26.5内核的 lcd驱动移植 lcd 触摸屏移植 tslib-1.4移植 (转)
linux-2.6.26.5 移植 lcd驱动 lcd触摸屏驱动 tslib-1.4在使用tslib之前,你的内核必须有lcd的驱动,以及触摸屏的驱动,这是lcd驱动的移植:(1) 在arch/arm/mach-s3c2410/mach-smdk2410.c里添加头文件:#include (2) 在arch/arm/plat-s3c24xx/common-smdk.c文件中添转载 2009-12-22 21:23:00 · 724 阅读 · 0 评论 -
Nand Flash的VIVI装载器的分析与改进 (转)
Nand Flash的VIVI装载器的分析与改进转载 2010-11-07 20:45:00 · 941 阅读 · 0 评论 -
vivi 之 GNU LD (转)
vivi 之 GNU LD转载 2010-11-07 20:31:00 · 733 阅读 · 0 评论 -
vivi分析-head.S->main.c (转)
vivi分析-head.S->main.c转载 2010-11-07 12:57:00 · 1413 阅读 · 0 评论 -
ARM立即数,LDR和MOV的区别 (转)
ARM立即数,LDR和MOV的区别原创 2010-11-07 12:56:00 · 1051 阅读 · 0 评论 -
RO段、RW段和ZI段 --Image$$??$$Limit 含义
RO段、RW段和ZI段 --Image$$??$$Limit 含义转载 2010-08-12 08:52:00 · 2321 阅读 · 0 评论 -
将FLASH中的代码搬进 BB芯片片内SRAM中的方法 (示例)
将FLASH中的代码搬进 BB芯片片内SRAM中的方法原创 2010-08-04 17:12:00 · 1422 阅读 · 0 评论 -
MT6253平台启动流程
MT6253平台启动流程原创 2010-07-27 14:38:00 · 1409 阅读 · 0 评论 -
SPI接口的单线应用
2 SPI接口的单线应用 在标准的SPI接口间进行通信时,SPI总线的四条信号线中: 主机SCLOCK与从机SCLOCK相连; 主机MISO与从机MOSI相连;主机MOSI与从机MISO 相连; 主机控制信号线与从机的SS相连。在SPI接口与非标准接口进行通信时,例如与有的串行RAM 接口,由于双向I/O数据线只有一条,时钟和片选信号线都有,那么如何利用SPI的高速特性进行数据的读出和写入呢转载 2010-03-12 20:37:00 · 5465 阅读 · 0 评论 -
晶振工作原理
晶振-基本概述 晶振晶体全称为晶体振荡器,其作用在于产生原始的时钟频率,这个频率经过频率发生器的放大或缩小后就成了电脑中各种不同的总线频率。以声卡为例,要实现对模拟信号44.1kHz或48kHz的采样,频率发生器就必须提供一个44.1kHz或48kHz的时钟频率。如果需要对这两种音频同时支持的话,声卡就需要有两颗晶振。但是娱乐级声卡为了降低成本,通常都采用SRC将输出的采原创 2010-03-10 19:28:00 · 16295 阅读 · 1 评论 -
PCM 概念
PCM是用于将一个模拟信号(如话音)嫁接到一个64kbps的数字位流上,以便于传输。PCM将连续的模拟信号变换成离散的数字信号,在数字音响中普遍采用的是脉冲编码研制方式,即所谓的PCM(PULSE CODE MODULATION)。PCM编码是Pulse Code Modulation的缩写,又叫脉冲编码调制,它是数字通信的编码方式之一,其编码主要过程是将话音、图像等模拟信号每隔一定时间进原创 2010-03-10 19:17:00 · 3060 阅读 · 0 评论 -
NandFLASH和NorFLASH接口设计和驱动开发 (转)
0 引 言 随着嵌入式系统的迅速发展,其应用环境的广泛性,复杂性对构建于系统上的Nor和Nand闪存设备提出更高要求,需要闪存设备传输速度更快,体积更小,容量更大,稳定性更好。该文在基于Samsung公司的S3C2410处理器平台上,针对FLASH闪存设备在嵌入式系统中的应用,详细分析FLASH闪存设备的接口设计方法,并针对FLASH接口特点,提出Linux环境下NorFLASH和 Na转载 2009-12-21 21:42:00 · 3302 阅读 · 0 评论 -
移植u-boot-1.3.4到S3C2440 (转)
http://home.eeworld.com.cn/my/space.php?uid=135723&do=blog&id=25347转载 2009-11-22 17:56:00 · 507 阅读 · 0 评论 -
x86与ARM 的返回值
作为硬件平台,arm和x86是比较有代表性的两个了。而在bootloader或操作系统编程方面,堆栈/参数传递/返回值是系统编程常常关注的一些内容,对比他们的差异对理解操作系统会有所帮助 1 返回值:1) X86采用eax作为返回值。return i;23: c7 45 08 1e 00 00 00 mov原创 2009-11-17 12:43:00 · 4918 阅读 · 0 评论 -
ARM 寄存器说明
ARM处理器共有37个寄存器。它包含31个通用寄存器和6个状态寄存器。=======================================================================================Usr System Supervisor Abort Undefined转载 2009-11-17 18:58:00 · 1337 阅读 · 0 评论 -
ARM920T MMU and Cache ——PART1 虚拟地址和物理地址的概念
From: http://www.akaedu.org/pages/news_detail.php?id=374& 虚拟地址和物理地址的概念CPU通过地址来访问内存中的单元,地址有虚拟地址和物理地址之分,如果CPU没有MMU(Memory Management Unit,内存管理单元),或者有MMU但没有启用,CPU核在取指令或访问内存时发出的地址将直接传到CPU芯片的外部地址引脚上转载 2009-10-29 23:55:00 · 996 阅读 · 0 评论 -
s3c2440 GPIO (转)
PART1: GPIO(General Purpose I/O ports)即通用输入/输出口。我们在实际应用中,不管是接LCD、接键盘,控制流水灯等等应用,都离不开对I/O的操作。可以说,GPIO的操作是所有硬件操作的基础。 S3C2440共有130个I/0端口,共分九组,分别为:GPA、GPB、...、GPJ。我们可以通过寄存器来操作这些IO。S3C2440共有三种寄存器,分别为G转载 2009-10-29 17:12:00 · 4468 阅读 · 6 评论 -
Links for Blog
http://blog.csdn.net/hugerat/archive/2008/10/28/3167903.aspxhttp://blog.chinaunix.net/u1/34474/index.htmlhttp://blog.csdn.net/lanmanck/category/545948.aspx原创 2009-10-28 09:26:00 · 619 阅读 · 0 评论 -
s3c2440 nand flash controller
s3c2440内部集成有内部sram(steppingstone),当选择从nand flash启动的时候,nand flash的前4k代码将会自动copy到内部sram中后运行。(一)nand flash控制器的特性:1、支持读/写/编程 NAND FLASH内存2、系统复位后nand flash的前4k代码自动copy到内部sram,copy完 成后从sram启动,此时内部sram被映原创 2009-10-29 10:48:00 · 3159 阅读 · 0 评论 -
S3C2440时钟详细描述 (转)
PS:关于CLOCK与POWER MANAGEMENT之细节可参考s3c2440a_7clock&power.pdfS3C2440 CPU默认的工作主频为12MHz或16.9344MHz,这里使用最多的是12M。使用PLL电路可以产生更高的主频供CPU及外围器件使用。S3C2440有两个PLL(Phase Locked Loop - 锁相环):MPLL和UPLL。1).MPLL用转载 2009-10-29 14:55:00 · 1157 阅读 · 0 评论 -
mkimage制作linux内核映像 (转)
bootm命令是用来引导经过u-boot的工具mkimage打包后的kernel image的,什么叫做经过u-boot的工具mkimage打包后的kernel image,这个就要看mkimage的代码,看看它做了些什么,虽然我很希望大家不要偷懒,认真地去看看,但是我知道还是有很多人懒得去做这件,那么我就j将分析mkimage代码后得到的总结告诉大家,mkimage做了些什么转载 2009-10-27 19:28:00 · 1075 阅读 · 0 评论 -
s3c2440-读nand flash 一般步骤 (转)
1.设置NFCONF, NFCONT NFCONF = 0x300, 设置时序 NFCONT = (1 2.发出片选信号. NFCONT &= ~(1 第一次操作nand flash前,通常复位 nand flash NFCMMD = 0xff (reset 命令) 3.发出读命令 NFCMMD = 0 (读命令) 4.发出地址信号 volatile unsigned char *p转载 2009-10-26 21:19:00 · 787 阅读 · 0 评论 -
Linux MTD下获取Nand flash各个参数的过程的详细解析 (转)
下面是Linux MTD中,获取nand flash型号,各个参数,以及硬件特性的函数,其实也就是nand_get_flash_type,下面对其详细解析: 【看此文之前,一些有必要先解释的术语】1. Program(编程):此处的编程,不是写软件,写代码,而是对于硬件来说的,可以理解为对硬件编程,只不过其工具是硬件内部的逻辑,而不是你用的软件。对Nand Flash的转载 2009-10-25 23:26:00 · 4476 阅读 · 2 评论 -
s3c2410/s3c2440对nandflash的读写操作 (转)
折腾了两三天终于搞定了s3c2440对nandflash的读写操作,s3c2410对nandflash的读写操作资料比较多而s3c2440的资料比较少,两款芯片在nandflash寄存器上有较大的变化,不能通用,需对照datasheet修改。 下面讲一下实验过程:试验目的:使nandflash开始4k代码完成将4k以后代码copy到sdram内运行的功能。试验内容:采用朗成AT2原创 2009-10-21 09:18:00 · 1015 阅读 · 0 评论 -
Linux设备 (转)
5.3.2 设备类型分类纵览linux/drivers目录,大概还有35个以上的子目录,每个子目录基本上就代表了一种设备驱动,有atm、block、char、misc、input、net、usb、sound、video等。这里只描述在嵌入式系统里面用得最为广泛的3种设备。1.字符设备(char device)字符设备是Linux最简单的设备,可以像文件一样访问。初始化字符设备时,它的设备驱动程序转载 2009-10-20 21:59:00 · 693 阅读 · 0 评论 -
s3c2410 NandFlash K9F1208U0A /K9F1208U0B的读取操作1 (转)
板子上使用的是SAMSUNG的K9F1208U0B,下面我将对此型号的NandFlash读取操作做一个讲解。首先我们先从物理结构上来了解这颗芯片,结构图如下所示:正如硬盘的盘片被分为磁道,每个磁道又被分为若干扇区,一块Nand Flash被分为若干Block, 每个Block又被分为若干Page。由上图我们可以知道Flash中Byte(字节),Page(页),Block(块)3个单原创 2009-10-21 11:26:00 · 1191 阅读 · 1 评论 -
ARM920T MMU and Cache ——PART2 虚拟内存管理
From: http://www.akaedu.org/pages/news_detail.php?id=374&page=2 现代操作系统充分利用MMU提供的VA到PA的映射机制来做内存管理,以下称为虚拟内存管理(Virtual Memory Management)。首先看下面的例子: $ psPID TTY TIME CMD9612 pts/2 00:00:00 bash32070 p原创 2009-10-30 00:13:00 · 703 阅读 · 0 评论