
S5PV210(TQ210)系统移植日志
本专栏详细的记录了本人从拿到S5PV210(TQ210)开发板之后开始的Linux内核移植日志,从必要的裸机程序开始,直接开始Linux内核移植,在本栏的后期,还会补充uboot和android移植的相关日志。
girlkoo
这个作者很懒,什么都没留下…
展开
-
S5PV210(TQ210)学习笔记——8位HWECC与YAFFS2的OOB布局
最近又重新调试了下8位的HWECC,最后发现S5PV210的8位HWECC的确是可以用的,但是,使用yaffs2文件系统的时候的时候仍然会出问题,这是由于yaffs2文件系统与mtd层的oob布局冲突导致的。当我们使用8位HWECC时,会生成52字节的ECC校验数据并写入oob,而yaffs2自身也有28字节的数据写日oob,也就是说,至少需要28+52=80字节的oob空间,而对于我们的na原创 2013-05-09 13:22:52 · 6231 阅读 · 5 评论 -
S5PV210(TQ210)学习笔记——Nand驱动之HWECC
前几天匆忙间发了一篇关于S5PV210的8位HWECC驱动的文章,但是后来发现存在严重的Bug,就将原来那篇文章删除了,这里先说声抱歉,但是,HWECC能有效的节省CPU占用量,我仔细调试了S5PV210的HWECC部分,现在刚调好1位的HWECC,为了表示误发原来那篇文章的歉意,现在将代码放在这里,与大家分享:#include #include #include #include #原创 2013-04-12 20:36:58 · 5105 阅读 · 13 评论 -
S5PV210(TQ210)学习笔记——Nand flash驱动编写
跟裸机程序一样,S5PV210的Nand flash模块跟S3C2440的Nand flash模块非常相似,如果不引入ECC,驱动程序的编写也非常简单,具体的分析及编写过程强烈推荐观看韦东山老师的视频教程,我是使用的Linux-3.8.6(Linux-3.8.3也一样)内核,驱动的API函数有些变化,不过原理是相通的,稍微看一下内核源码并参考下其他平台的相关代码就可以自己写出Nand flash驱原创 2013-04-09 20:42:21 · 7313 阅读 · 0 评论 -
S5PV210(TQ210)学习笔记——USB HOST移植
在写USB驱动程序的时候意外发现默认状态下内核没有驱动S5PV210的USB HOST控制器,于是,我自己动手移植了一下S5PV210的USB HOST模块,S5PV210的USB HOST控制器跟S3C2440的有些不同,S5PV210同时支持EHCI和OHCI接口(两者的区别自己谷歌搜一下),这样,S5PV210在功能上就完全支持USB2.0接口了。Linux内核(以3.8.3为例)默认仅原创 2013-04-08 16:38:11 · 12434 阅读 · 44 评论 -
S5PV210(TQ210)学习笔记——触摸屏驱动编写
电阻式触摸屏的驱动比较简单,可以采用输入子系统驱动框架来编写,而电容式触摸屏的驱动程序相对比较复杂,因为电容触控一般采用I2C引脚才控制,我在自己编写电容触控驱动的时候郁闷了好几天,当然,并不是因为I2C电容触控驱动繁琐,主要是天嵌TQ210的触摸屏驱动程序是以模块方式提供的,并不开发源代码,也没有提供触控的芯片手册,我曾通过技术咨询群和电话咨询的方式咨询过天嵌相关人士,想跟他们索取触控协议而不要原创 2013-04-03 19:02:31 · 12830 阅读 · 32 评论 -
S5PV210(TQ210)学习笔记——LCD驱动编写
网上S5PV210内核移植的文章不是很多,而描述2440和6410内核移植的文章多数是讲如何移植,而非手动编写,但是,韦东山老师的视频中讲述了如何从头编写LCD驱动,当然是以2440为例的,我看过视频之后在TQ210平台上进行了实验,实验成功,详细的原理部分以我现在的水平还难以表达清楚。下载是我自己写的代码,适用于TQ210的7寸电容屏。#include #include #include原创 2013-03-31 19:38:15 · 8573 阅读 · 4 评论 -
S5PV210(TQ210)学习笔记——输入子系统驱动
前面的文章简单的讲述了字符设备驱动程序的编写,用字符设备驱动的方式实现了按键驱动,但是,出了我们的自己编写的针对我们的这个驱动程序的应用程序之外,其他应用程序都无法接收我们这个驱动的键值输入,为了让所有应用程序都可以接收我们的按键驱动解析的键值,Linux内核定义了“输入子系统”的概念,也就是说,只要我们按照这个模型进行驱动开发,并为其提供必须的接口函数,那么,Linux内核就可以正常来获取我们的原创 2013-03-29 13:48:57 · 5351 阅读 · 1 评论 -
S5PV210(TQ210)学习笔记——按键驱动程序
经过前面的配置,S5PV210开发已经可以成功进入Linux控制台了,那么,有了这个环境就可以开始学习Linux驱动的编写和测试了。学习Linux设备驱动,通常是从字符设备驱动开始。我写的第一个驱动程序是Led的,其实也就是熟悉下字符设备驱动的基本结构,本文以中断方式的按键驱动为例,简单的介绍下字符设备驱动程序。一 按键驱动程序的简单实现下面是基于中断和消息的按键驱动程序,其工作原理是:当原创 2013-03-28 15:49:19 · 6528 阅读 · 10 评论 -
S5PV210(TQ210)学习笔记——内核移植与文件系统构建
由于之前做过2440和6410,鉴于时间原因,这里暂时跨过其他模块的裸机驱动和uboot移植,直接进入内核移植及驱动开发方面的学习。内核移植其实很简单,因为内核是linus率领的linux内核开发团队开发并维护的,我们只需要跟我们的平台交叉编译一下即可使用,但是,内核移植也不简单,因为内核移植起见出现任何问题都可能会被卡住,因为内核代码非常庞大,我们无法通读内核代码,下面是我移植期间遇到的各种原创 2013-03-26 09:45:59 · 17539 阅读 · 47 评论 -
S5PV210(TQ210)学习笔记——Nand配置
S5PV210的Nand flash跟2440和6410的Nand flash配置差不多,不同的是S5PV210的功能更加强大,尤其是S5PV210的硬件ECC(本文不涉及S5PV210中Nand ECC配置)。整体上来讲,S5PV210的Nand flash配置还是非常简单的。其实,配置一个模块往往需要以下几个步骤:(1)根据原理图,理清模块的接线方式,对于Nand flash来说,就是原创 2013-03-18 12:35:46 · 5672 阅读 · 0 评论 -
S5PV210(TQ210)学习笔记——内存配置(DDR2)
S5PV210有两个独立的DRAM控制器,分别是DMC0和DMC1,其中,DMC0最大支持512MByte,DMC1最大支持1GByte,而DMC0和DMC1又同时支持两个片选CS0和CS1。S5PV210的内存模块相比2440和6410来讲要更加复杂一些,要想正确的配置S5PV210的内存,应该仔细阅读芯片手册相关部分,在配置参数时也应该适当的阅读下内存芯片的手册。这部分的寄存器和配置过程比较复原创 2013-03-13 12:12:38 · 17110 阅读 · 14 评论 -
S5PV210(TQ210)学习笔记——系统时钟和串口
TQ210的系统时钟配置和串口配置非常简单,本文从TQ210的系统时钟配置开始讨论。TQ210的时钟配置跟2440/6410的时钟配置差不多,只是锁相环的个数略有不同,配置步骤是一样的。配置系统时钟,无非要经过以下几个步骤:(1)设置系统PLL锁定时间(2)配置PLL(3)配置各模块分频系数(4)切换到PLL时钟简单的看着四步似乎没有头绪,但是看到手册中的“S5PV210时原创 2013-03-09 17:55:02 · 10066 阅读 · 1 评论