S5PV210
袁保康
.
展开
-
S5PV210的LED应用(一)
准备分析 看似就一个LED,但是S5PV210不同于S3C2440,不是在于LED,而是在于从NandFlash启动的过程中不一样。对于S3C2440,只要程序没有问题,想办法下载程序到NandFlash的0地址处一般都是可以正常运行的,下载的方法无非采用开发板厂家下载BOOTLOADER的方法来下载。S5PV210启动时从NandFlash的0地址拷贝时候会拷贝前16k,但是会原创 2013-05-30 13:08:11 · 5852 阅读 · 5 评论 -
2410之MMU_Init()
/************************************************ NAME : MMU.C DESC : Revision: 2002.2.28 ver 0.0 ************************************************/#include "def.h"#include "opti转载 2013-06-15 23:10:10 · 1766 阅读 · 0 评论 -
ARMv7:Linux Kernel引导 <1>
1.如果内核镜像是压缩的,需要解压缩,引导的第一步是从解压缩开始:arch\arm\boot\compressed\head.S2.解压缩之后,内核镜像已经存在于ARM中了,下面开始运行,内核开始运行是从/arch/arm/kernel/head.S开始的,入口代码为:12345678 .arm __H转载 2013-06-18 10:06:45 · 2596 阅读 · 0 评论 -
cortex-a8 S5PC100中断机制
cortex-a8 S5PC100中断机制作者:赵孝强,华清远见嵌入式学院讲师。1.向量中断概述S5PC100集成了3个向量中断控制器(后文用VIC来表示),采用的是ARM基于PrimeCell技术下的PL192核心,另外还包括了3个TZIC,即针对于TrustZone技术所涉及的中断控制器(后文都用TZIC表示),其核心为SP890。S5PC100下支持94个中断源,其中转载 2013-06-23 20:43:53 · 2152 阅读 · 0 评论 -
嵌入式Linux系统工程师系列之ARM920T的MMU与Cache
嵌入式Linux系统工程师系列之ARM920T的MMU与Cache宋劲杉 目录 虚拟地址和物理地址的概念 虚拟内存管理 ARM920T的CP15协处理器 MMU Cache 操作MMU和Cache的内核启动代码 参考资料 索引 视频欣赏 虚拟地址和物转载 2013-06-24 11:37:18 · 3218 阅读 · 0 评论 -
Fatfs 移植的那些事
FatFs 移植Fatfs 是一個平台无关,兼容 Windows FAT 的轻型文件系统。据官网介绍,目前 Fatfs 已经在AVR, 8051, PIC, ARM, Z80, 68k 等平台上移植成功(并不需要改变源码的任何接口),并且运行良好,事实确实是这样的。笔者目前在某通信公司做 II 型集中器的项目,项目选用的芯片是日产瑞萨(后面简称RX)半导体作为主控芯片,完成处理任务。而在移转载 2013-06-24 22:54:34 · 4512 阅读 · 0 评论 -
制作电子相册(sd卡读取bmp图片显示在tft彩屏上)读取fat32的步骤非常简单的方法
看着高手们写的SD卡读fat32或fat的程序。动辄数百行,模块强大,功能丰富。近似完美,通用性强,但看着也眼花缭乱的,让新手无从下手。玩tft彩屏和sd卡的目的之一就是把sd卡中的图片显示到彩屏上。这有个简单的办法找到fat32文件系统中的图片依次显示在彩屏上。sd卡驱动和彩屏驱动这里不涉及。就拿240*320的tft彩屏和1G的sd卡为例。fat32文件系统和bmp格式的资料网转载 2013-06-24 22:29:22 · 7916 阅读 · 0 评论 -
给S5PV210裸机程序添加启动代码
(说明:本贴适用于tiny210v2且NandFlash型号为:K9GAG08U0F,其他暂不支持_不知道这算不算标题党:) )友善提供了全套的210裸机代码的确很好,代码编写风格也是值得学习的。不过裸机代码是用不开源的Superboot引导的,这样学习裸机总有一种穿着棉裤洗澡的感觉,很不爽。还好了解了S5PV210的启动方式后,对于小于16k的裸机代码都可以将链接地址改为0x原创 2013-06-25 17:34:21 · 5565 阅读 · 1 评论 -
S5PV210的16bit硬件ECC校验
说明:本文是以前研究的“S5PV210的16bitECC校验”写的一系列的帖子,原帖发在了这里。再用博客记录一下。开发板:tiny210v2NandFlash:K9GAG08U0F网上的针对这个板子的u-boot大多都不太好用,很多都是启动的时候从NandFlash往DRAM中拷贝没有进行ECC校验,导致只能启动不完整。就决定自己做BL1代码,初始化DRAM了什么的都可以从u-bo原创 2013-06-25 16:46:01 · 4258 阅读 · 2 评论 -
U-boot中添加DNW的支持
DNW是Samsung对自家CPU进行固件更新的解决方案。在Google推出Fastboot来更新固件后,DNW就变得的销声匿迹了。这两种都是usb更新固件的解决方案。都需要嫁接到Bootloader上来实现。DNW在samsung提供的1.xx版本的u-boot中有此功能。要将此功能移植到2013-1-1版本上也没有多大问题了。 diff信息可以从这里看到。这个功能原创 2013-09-20 09:21:38 · 4423 阅读 · 0 评论 -
U-boot中实现Yaffs2+HwEcc
经过老手的指点,要实现Yaffs2+HwEcc,重点在于chip->ops.mode由MTD_OOB_RAW到MTD_OOB_AUTO。经过几天的筹备,今天要对其下手了。为了真实展现分析移植过程,就来一个直播吧。这样也会破釜沉舟一定要把其实现。转入正题,chip->ops.mode的赋值是在nand_write这个函数中进行的,直接将其替换为MTD_OOB_AUTO看会出现什么情况。原创 2013-09-20 20:47:39 · 4241 阅读 · 12 评论 -
ARM920T的MMU与Cache
ARM920T的MMU与Cache宋劲杉 目录 虚拟地址和物理地址的概念 虚拟内存管理 ARM920T的CP15协处理器 MMU Cache 操作MMU和Cache的内核启动代码 参考资料 索引 Cache ARM920T有16K的数据Cache和16K的指令Cac转载 2013-06-14 20:39:00 · 1869 阅读 · 0 评论 -
ARM处理器的Cache之cortex a8
原文地址:http://blog.chinaunix.net/uid-28458801-id-3494289.htmlCache 是位于 CPU与主存储器DRAM(Dynamic RAM,动态存储器)之间的少量超高速静态存储器 SRAM(static RAM),其是为了解决 CPU 与 主存之间速度匹配问题而设置的,不能由用户直接寻址访问。 具有 Ca转载 2013-06-14 16:30:11 · 3886 阅读 · 0 评论 -
S5PV210的LED应用(二)
准备分析 这次用C语言实现LED的控制,要设置堆栈指针,这里的start.S好比是有操作系统的helloworld程序中的crt0.o--是一个启动代码。 堆栈指针设置到了0xD003_7D80处。资源工具 同《 S5PV210的LED应用(一)》着手写程序@***************原创 2013-05-30 13:08:33 · 2508 阅读 · 2 评论 -
S5PV210的IRAM应用
准备分析 IRAM的大小96k,其实前两个程序都在这里运行的,程序都小于16K。要实现的是从把IRAM从的前16k从IRAM的起始地址0xD0020000拷贝到0xD0024000 处,调用main。堆栈指针设置到了0xD003_7D80处。程序的链接地址是0xD0024010.用图表示如下。本程序只涉及到IRAM,重点为在于重定向。 资源工原创 2013-05-30 13:08:53 · 3515 阅读 · 0 评论 -
S5PV210的NandFlash应用(一)
准备分析 标题挂了一个(一),代表这个是涉及到NandFlash并不深入,只实现读操作。还是16k的代码,这次从NandFlash中读取,读到iRAM中地址为0xD0024000的地方。并调用main运行。如下图所示:(CPU会自动把B区代码拷贝到A区,我用A区代码从将B区代码拷贝到C区,并调用main运行) 资源工具原创 2013-05-30 13:39:58 · 3986 阅读 · 1 评论 -
S5PV210的NandFlash应用(三)
准备分析 经过了《S5PV210的NandFlash应用(二)》对于二进制文件前16k的存取方式都了一定的了解。这次要证明的是第NandFlash第4页以后存取方式。《S5PV210的NandFlash应用(二)》里边的210.bin(大小为16k)是以存到4k为单位存到了前4页(0, 1, 2 ,3)的每页的前4k处。为此我自己写了一个8k的二进制文件(名字叫AB)原创 2013-05-31 16:31:23 · 2761 阅读 · 0 评论 -
S5PV210的Uart应用
准备分析 S5PV210的NandFlash应用(一)出现很多bug,所以要先把Uart搞出来了。Uart一般是和clock相关联的,但是IROM中的代码已经提升了PCLK到66.5MHZ,这里就不进行CLOCK的设置了。 资源工具 同《 S5PV210的LED应用(一)》着手原创 2013-05-31 11:52:58 · 3707 阅读 · 0 评论 -
S5PV210的NandFlash应用(二)
准备分析 《S5PV210的NandFlash应用(一)》有很多bug,为了文章完整性就不在原文上进行修改了。(一)是在调试nand_cp.c的时候,程序运行过之后,灯立即亮了起来,让我误以为我的NandFlash读操作正常了,最后在往下进行大文件拷贝的时候出现异常,我不得不重新回到这个Nand_cp.c这里来。这次结合Uart打印出NandFlash读出的数据,和2原创 2013-05-31 14:20:52 · 2661 阅读 · 0 评论 -
S5PV210的NandFlash应用(四)
准备分析 经过了《S5PV210的NandFlash应用(三)》对从NandFlash中拷贝数据是确定可行了。这次主要是把“特殊的二进制文件AB”换成一个LED闪烁的程序。由于前边没有了那16bit的校验和,这时程序的链接地址,拷贝目的地址以及跳转地址可以统一起来了。这里用CONFIG_SYS_TEXT_BASE来代替,值为0xD0024000。原创 2013-05-31 20:40:08 · 2116 阅读 · 0 评论 -
S5PV210的BL1应用
准备分析 经过了对NandFlash的操作现在可以熟练的读NandFlash了,这时候单独将启动代码整理成BL1就显得很必要了,不然整个程序会显得很乱,以后的裸机就可以只考虑自己,不用考虑启动的事了。 资源工具 同《 S5PV210的LED应用(一)》 NandFlash: K9GAG08U0F原创 2013-05-31 21:26:49 · 3069 阅读 · 0 评论 -
NAND Flash ECC算法长度计算
NAND Flash中常用的纠错方式 因为闪存中会有出错的可能,如果没有使用ECC模块,读出的数据和写入的数据会有不匹配的可能,也许一个文件中只有一两个bit不匹配,这也是不能容忍的。相对来说SLC中出错概率比较低,所以使用一个纠错能力不强的Hanming码就可以了,在MLC中Hanming码就显得力不从心了,需要纠错能力更强的RS或者BCH纠错方式了。 BCH转载 2013-06-02 22:48:58 · 4647 阅读 · 0 评论 -
NAND FLASH ECC校验原理与实现
参考文档: http://blogimg.chinaunix.net/blog/upfile2/080702112233.pdfNAND FLASH ECC校验原理与实现ECC简介 由于NAND Flash的工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,因此,在NAND的生产中及使用过程中会产生坏块。为了检测数据的可靠性,在应用N转载 2013-06-03 16:58:02 · 1982 阅读 · 0 评论 -
tiny210v2的u-boot
版本:Ver0.0基于这个版本的u-boot移植的:https://gitorious.org/opencsbc/u-boot/archive-tarball/mini210_linaro-2012.11-stable介绍帖子:http://www.arm9home.net/read.php?tid-27897.html我是在以上这个版本的u-boot的基础上移植的。版本:原创 2013-06-27 16:40:13 · 4028 阅读 · 11 评论