
ARM开发之S5PV210(Cortex-A8)
文章平均质量分 81
无涯物联科技
无涯智能集研发、生产、销售于一体,主营无线联网通讯模块和设备、支持ODM/OEM服务!
展开
-
210学习日记(2) --工欲善其事,必先利其器
一,如何下载裸机程序到开发板(刚拿到开发板的时候,为这事儿犯愁好几天):1.下载裸机程序到SD卡:1). PC上执行ls /dev/sd*,得到:/dev/sda /dev/sda1 /dev/sda22). 插入带有SD卡的读卡器到PC,PC再次上执行ls /dev/sd*,得到:/dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev原创 2012-10-29 19:04:29 · 1214 阅读 · 0 评论 -
210学习日记(16)_移植一线触摸
210学习日记(16)--移植一线触摸经过前面十多章的不懈努力,开发板从无到有的开发Linux驱动的环境已经搭建好(如果你问我,怎么没有写怎么制作文件系统,怎么nfs启动的话,我只能回答,视频里面讲得很详细了!),接下来肯定就是将二期中的所有驱动在210中给通通实现了。二期里面讲的方法非常实用,内核里面的框架都是固定的,而这些框架,韦东山已经详细分析过,所以大家照着框架做(分配,设原创 2012-10-29 19:18:26 · 2156 阅读 · 0 评论 -
210学习日记(12)_IIC
210学习日记(12)--IIC因为后面的声卡程序,要用到IIC,这里就讲下IIC,用AT24LC04的EEPROM做为测试:1.IIC总线接线图:问:既然只有两根总线,但是上面挂接了很多的从设备,那么CPU怎么来区分它们呢?答:通过IIC协议发出的信号,一定会先发出地址信号,从而达到区分从设备的目的。传送出的数据的格式为:-----------------原创 2012-10-29 19:15:22 · 1011 阅读 · 1 评论 -
210学习日记(9)_成功启动内核
210学习日记(9)--成功启动内核要成功启动Linux内核,无非就是要真确的传入函数theKernel(int zero, int arch, uint params)的参数,和跳到正确的地址去执行而已。(这些知识在韦东山自己写bootloader的相关视频中已经讲得非常的详细了)。我就从三个参数入手吧:参数一:必须为0,这就没有什么好讲解的了;参数二:机器ID,该参原创 2012-10-29 19:12:12 · 898 阅读 · 0 评论 -
210学习日记(8)_支持DDR
210学习日记(8)--支持DDR要支持DDR,仅仅只需要做一些初始化工作就行,而在S5PV210芯片手册中的598页已经给出了相信的初始化话步骤,我就不再多说什么了。另外大家可以听一下韦东三的6410的一期视频里面关于DDR的视频,会对大家对DDR的了解有所帮助。另外推荐大家看两篇文章:1).DDR2_SDRAM操作时序.pdf2).内存的原理和时序(SDRAM、DD原创 2012-10-29 19:11:35 · 1086 阅读 · 0 评论 -
210学习日记(7)_支持NAND
210学习日记(7)--支持NAND其实S5PV210的NAND FLASH控制器和2440的没有多大的差别,只是S5PV210的ECC校验功能更家强大了而已,而我在本章将不会用到ECC,故不做关于ECC校验相关的寄存器的介绍,在给出代码之前,我先讲讲我自己对NAND FLASH的一些理解。(建议大家先看二期视频里面NAND驱动的相关章节,关于NAND的硬件原理,讲得非常详细)原创 2012-10-29 19:10:26 · 992 阅读 · 1 评论 -
210学习日记(1)--遇到的问题
问题1:当学习完韦东山的一期,二期视频教程以后,感觉收获特别的多,以前学习过国嵌的教程,向学 校的老师讨教过嵌入式相关的知识......但是,还是韦东山的最为经典,让我真正入了门,也有了 从未有过的收获,心里特别的高兴,但是与此同时,我产生了很多疑问和困扰,我真的学会了吗? 我以后该学习什么呢?该怎么学习呢?答案1:韦东山给了我一个很好的建议,叫我换一块开发板玩玩。于是我就好不犹豫的买了2原创 2012-10-29 19:02:50 · 1463 阅读 · 0 评论 -
210学习日记_特别篇
210学习日记_特别篇本来我是不想写这章的,我担心大家觉得我在打广告,不过作为一个过来人,我还是有必要讲讲在使用Tiny210和QT210两款开发板的时候,的不同的感觉。会对比下这两款开发板的优劣,供大家以后在购买开发板时参考。注意:如果你觉得我是在打广告,你可以不看该章,或者直接del掉!!1.从外观上看:(1).QT210是黑色,Tiny210是白色,当然还有它们的造型原创 2012-10-29 19:20:37 · 1250 阅读 · 0 评论 -
210学习日记(17)_IIS驱动框架
210学习日记(16)--原来我误会IIS总线驱动了以前一直认为声卡的驱动程序的框架是多么的复杂,可是当我再次看完相关视频和自己分析了一下框架,发现和写裸板的差不多。声卡驱动程序框架:(linux-2.6.22\sound\sound_core.c)注意:sound_core.c在声卡驱动中扮演的角色和input.c在输入子系统中扮演的角色一样!!static cons原创 2012-10-29 19:19:03 · 1126 阅读 · 1 评论 -
210学习日记(15)_移植DM9000
210学习日记(15)--移植DM9000网卡驱动我想,大家学习到这里,写了一些裸板程序,对S5PV210应该算是比较了解了吧,而且已经写出了一个比较满意的bootloader来了,肯定是想上系统玩玩驱动了吧!我在"Tiny210学习日记(1)"中提过,要在从内核官网上面下载的纯净的Linux系统上面玩驱动,那么你要不得支持网卡,要不得有MTD分区,因为我们要挂接系统。接下原创 2012-10-29 19:17:46 · 1488 阅读 · 0 评论 -
210学习日记(14)_支持声卡
210学习日记(14)--支持声卡我想,声卡一定是大家比较喜欢和关注的吧。接下来我将S3C2440和S5PV210的声卡部分进行对比讲解。IIS(Inter-IC Sound)由飞利浦公司开发,是一种常用的音频设备接口,主要用于CD、MD、MP3等设备。1.播放音频的过程: IIS接口发送声音 DDR——>S5PV210——原创 2012-10-29 19:17:04 · 2402 阅读 · 1 评论 -
210学习日记(13)_定时器和修改工具
210学习日记(13)--定时器和修改工具一,定时器用于PWM输出(驱动蜂鸣器):我本来从来不写蜂鸣器的程序的(声音太难听),但是今天破例了。下面,先介绍下定时器的几个关键的寄存器吧:问:大家都知道,定时器的实现,其实就是一个计数的过程(从0家到一个数字或从一个数字减到0),那么这个数字从哪里来呢?答:从寄存器TCNTBx中获得,当我们编程时,写入一个数组到该寄存器原创 2012-10-29 19:16:16 · 1386 阅读 · 1 评论 -
210学习日记(11)_中断
210学习日记(11)--中断由于后面的IIC会用到中断,这里就先讲讲中断吧:写完S5PV210的按键中断程序后,我才知道"6410只是一个过渡产品"确实是正确的,为什么这样说呢?下面我就给大家进行详细的阐述:中断处理过程等等我就不讲了,一期视频里面已经讲得非常详细了,建议大家在学习本章前,把2440和6410的关于中断的视频再看一次。接下来,我就直接对比他们吧:(1).对原创 2012-10-29 19:14:23 · 1037 阅读 · 0 评论 -
210学习日记(10)_支持LCD
210学习日记(10)--支持LCD经过9章日志的努力,终于成功写好了bootloader。但是每次启动的时候,让7寸的LCD只显示背光,实在是浪费,我接下我将讲述如何让bootloader显示开机logo,即我的帅气照片。其实写LCD程序,就是那么个事儿......先做LCD的初始化工作,比如设置时间参数,分配显存等等操作,初始化完后,就完事儿了,以后什么都不需要做了,只需往原创 2012-10-29 19:12:55 · 1332 阅读 · 0 评论 -
210学习日记(6)_独立日
210学习日记(6)--独立日写了这么久的S5PV210的裸板程序了,每次编译完成后,生成的bin文件总是要经过mktiny210spl.exe工具(是u-boot生成的)重新生成一个新的bin文件,而该bin文件只比旧的bin文件多出四行信息(在Tiny210学习日记(2)中有讲过),也就是说,该四行信息是mktiny210spl.exe帮我们写的,所以我们没有真正的独立,没有真正的原创 2012-10-29 19:08:53 · 1430 阅读 · 1 评论 -
210学习日记(5)_简单命令的实现.doc
210学习日记(5)--简单命令的实现这章实在是没有什么好讲的,大家直接分析代码就能够明白,都是些硬件无关的程序,代码我放到了"Tiny210学习日记_代码"目录下了,名为"4_command"。分析过u-boot的朋友们,应该对readline()函数不陌生吧,我这里将实现一个简化的readline()函数,实现在终端显示输入提示符,并从终端获取命令,实现过程如下:int r原创 2012-10-29 19:07:54 · 647 阅读 · 0 评论 -
210学习日记(4)_printf的实现
210学习日记(4)--printf的实现问:什么是可选参数?答:比如函数int printf(const char * format, ...),那么参数format后面的都是可选参数(注:不包含format),即可以传入可以不传入的参数。问:C函数是怎么被组织进C程序的?答:C语言的函数是从下(低地址)向上(高地址)压入堆栈的,如下图所示:栈底 高地址原创 2012-10-29 19:07:00 · 690 阅读 · 0 评论 -
210学习日记(3)_支持串口
210学习日记(3)--支持串口支持串口的代码我放到了"Tiny210学习日记_代码"目录下了,名为"2_clock_uart",因此,我就不在这里一一列出代码了,我讲讲我当初觉困难的地方吧:1.初始化时钟:代码如下:void clock_init(void){/* 设置时钟为: * ARMCLK=1000MHz, HCLKM=200MHz, HCLKD=166原创 2012-10-29 19:06:10 · 1338 阅读 · 2 评论 -
210学习日记(18)_ARM基础知识
210学习日记(18)--ARM基础知识注意:以下大部分类容都来自网上现成的(直接拷贝过来的,然后经整理)!!!!问1:ARM处理器工作模式有几种?各种工作模式下分别有什么特点?答1:ARM 处理器有7种工作模式,这7种模式及其特点是如下:快速中断模式(fiq):支持高速数据传输或通道处理,外部中断fiq信号有效且CPSR的F=0时进入。中断模式(irq):原创 2012-10-29 19:19:49 · 1317 阅读 · 0 评论