- 博客(24)
- 资源 (45)
- 收藏
- 关注
转载 你必须非常努力,才能看起来毫不费力
有一群人,他们积极自律,每天按计划行事,有条不紊;他们不张扬,把自己当成最卑微的小草,等待着人生开出花朵的那天。 他们早晨5点多起来健身,你在睡觉;7点开始享受丰盛的早餐,蛋白质维生素淀粉粗纤维样样俱全,为新的一天起了一个好头,当他们收拾妥当准备开始一整天的工作时,你还在睡觉; 他们用上午的高效时间完成了一个又一个任务,甚至发现的新的商机,发现了有可能给人生带来改观的机遇,当午餐时
2014-04-02 10:38:09
1052
原创 Tiny210(S5PV210) U-BOOT(十二)----编译出u-boot.bin
经过前面十一篇帖子的基础知识的梳理准备,现在我们可以正式开始移植了,所谓磨刀不误砍柴工,如果前面的一些知识没有准备好,后面你照着步骤来做这些事,毫无意义,试问在工作中,有人会写一个步骤与手册来教给你,让你照着做就OK了吗,那如果有这样的工作,而且薪水可观的话,请联系我,不甚感激!,言归正传,开始正式移植的第一天的任务。第一天任务:配置板文件,编译出u-boot.bin1.cp
2013-11-20 11:50:08
2507
2
原创 P型硅与N型硅的区别
前段时间面试一家芯片公司时,被问到了这个问题,一并整理出来,免得自己又忘记了,在面试的过程中,只要能画出价电子的图,说个大概,应该就可以了。导电率在10*e-7 ~ 10*e3 之间的材料都称为半导体,有一些半导体是纯元素,如硅,锗,这构成了半导体的基础。OK,先来张图,看看硅的电子分布。纯净的硅更像是绝缘体,而不是导体,当它被施加外部作用时(比如外加电压),没有能力改变其
2013-10-29 22:53:34
43231
1
原创 关于中断与异常
前天去面试,问到了这个问题,在回答这个问题的时候,面试官说我理解的有此问题,其实还问到了对于中断和异常的理解,现在整理一点资料出来,全当是复习吧。1.什么是异常,什么是中断?说法一:中断的描述主体是外设,而异常的描述主体是CPU。中断是一个过程,是CPU在执行当前的程序的过程中因硬件或软件的原因插入了另一段程序运行的过程。异常主要是从CPU角度,接受信号的。中断主要是从外设
2013-10-29 22:42:25
1800
转载 35岁以前把下面十件事做好
35岁是青春的后期,35岁以后是收获的季节,如果你没有资格说这句话,你将会憎恨自己。所以在35岁以前,在烂漫蓬勃的青春年华里,你最好把下面十件事做好:第一,学会本行业所需要的一切知识并有所发展。已故零件大王布鲁丹在他35岁时,已经成为零件行业的领袖,并且组建了年收入达千万美元的海湾与西部工业公司。每个人在年轻时都可能有过彻夜不眠、刻苦攻读,这在20岁甚或30岁都没有问题,但到了35岁,就不应该
2013-10-24 11:10:55
1311
转载 不要做浮躁的嵌入式系统工程师
不管浮躁与否,我想大家曾经有东西多的学不完不知从何下手的感觉,那就看看下面的文章,或许很受用。 每天读一遍,思考一下:我是否浮躁?1、不要看到别人的回复,第一句话就说:给个代码吧!你应该想想为什么。当你自己想出来再参考别人的提示,就会知道自己和别人思路的差异。2、初学者请不要看太多的书,那会误人子弟的,先找一本好书系统的学习。很多人用了很久都是只对部分功能熟悉而已,不系统
2013-10-24 11:01:41
1541
原创 Tiny210(S5PV210) U-BOOT(十一)----DDR2初始化源码分析
1.u-boot关于DDR的源码分析在mem_setup.S中,一点一点来,先看第一段 /* DMC0 Drive Strength (Setting 2X) */ ldr r0, =ELFIN_GPIO_BASE ldr r1, =0x0000AAAA str r1, [r0, #MP1_0DRV_SR_OFFSET] ldr
2013-10-23 17:09:01
3741
原创 Tiny210(S5PV210) U-BOOT(十)----DDR2初始化顺序
现在网上的S5PV210的u-boot源码中关于内存的初始化过程,基本上我没有找到任何资料有过分析DDR2的内存初始化代码的。在看u-boot的这段代码时,也徘徊了很久,不知道如下手,很多文章或资料都将这一段分析过程有意无意的隐藏掉了,最多也只是提一下说参考裸板的代码,在找不到任何资料的情况下,我只能依靠芯片手册上,三星在内存控制器这一章,写的关于DDR2的初始化顺序的28个步骤来一条一条去读去看
2013-10-23 11:09:12
3290
原创 Tiny210(S5PV210) U-BOOT(九)----DDR2工作时序与原理
前面将DDR的工作原理大致的理了一遍,上述资料大多来源于网上现成资料的再加工和整理,DDR2和DDR相比较除了预取变成成4bit以外,其余的和软件相关的不是很多,待以后有时间再来细细整理,现在开始关注一下芯片手册上关于DDR2的初始化流程,P598页:1.查看芯片手册DDR2的初始化顺序Initialization sequence for DDR2 memory type1.
2013-10-23 01:37:12
4088
原创 Tiny210(S5PV210) U-BOOT(八)----DDR工作时序与原理
DDR SDRAM 全称为 Double Data Rate SDRAM,中文名为“双倍数据流 SDRAM”。DDR SDRAM 在原有的 SDRAM的基础上改进而来。下图是DDR和SDRAM的数据传输对比图图上可以清楚的看到,DDR SDRAM可在一个时钟周期内传送两次数据,上升沿传一次,下降沿传一次。1.DDR的基本原理先来看一张DDR读操作时序图从中可以发
2013-10-23 00:57:39
3632
原创 Tiny210(S5PV210) U-BOOT(七)----SDRAM工作时序与原理
DDR出身自SDRAM,严格的说应该叫DDR SDRAM,DDR SDRAM是Double Data Rate SDRAM的缩写,是双倍速率同步动态随机存储器的意思,所以,有很大一部分,两者是一样的,理解SDRAM,然后再来理解DDR在SDRAM上的改进,效果应该更好一些,这里要感谢Chinaunix.net的大神--Tekkaman Ninja,我的内存的学习资料都是Tekkaman N
2013-10-19 15:49:47
3064
原创 Tiny210(S5PV210) U-BOOT(六)----DDR内存配置
上次讲完了Nand Flash的低级初始化,然后Nand Flash的操作主要是在board_init_f_nand(),中,涉及到将代码从Nand Flash中copy到DDR中,这个放到后面实际移植的过程中再结合源码流程来分析,正常来说,DDR应该是放在Nand Flash前面开始讲,因为DDR相对于Nand Flash来说,更加复杂一些,所以,将DDR拖后来讲,OK,接着开始讲DDR。
2013-10-18 10:25:30
4856
原创 Tiny210(S5PV210) U-BOOT(五)----Nand Flash源码分析
1.u-boot参考源码 Nand Flash的初始化代码在board/samsung/tiny210/lowlevel_init.S 2.初始化Nand Flash在u-boot中,Nand的低级初始化在lowlevel_init.S中的nand_asm_init函数中。打开原理图,配置各个功能引脚----状态引脚R/nB, 读使能引用脚nRE, 片选信号nCE, 命令使能引脚C
2013-10-17 20:34:30
3044
原创 Tiny210(S5PV210) U-BOOT(四)----Nand Flash原理(2)
下面以一个实际的读操作,来讲一下Nand Flash的时序:在开始解释前,多罗嗦一下”使能”这个词,使能(Enable),是指使其(某个信号)有效,使其生效的意思......比如,上面图中的CLE线号,是高电平有效,如果此时将其设为高电平,我们就叫做,将CLE使能,也就是使其生效的意思。使能,这个中文翻译有点怪怪的,有点像WDT(Watch Dog Timer),中文翻译叫看门狗,
2013-10-17 20:21:19
2419
原创 Tiny210(S5PV210) U-BOOT(四)----Nand Flash原理(1)
1.查看芯片型号我在上次讲系统时钟的时候,提过一下,在S5PV210下面的那一片就是Nand Flash,旁边的那4片是DDR,我的型号是K9F2G08UOB查找三星芯片的命名手册,这个网上有,PDF名称叫----三星_Nand_Flash_芯片型号命名规则.pdf,打开,查找K9F2G08UOB所代表的具体参数如下:芯片类型:Nand FlashSmall Classif
2013-10-17 18:33:08
3535
2
原创 Tiny210(S5PV210) U-BOOT(三)----配置时钟频率源码分析
1.设置APLL/MPLL/EPLL/EPLL锁相环时间翻看手册,P371页,找到PLL CONTROL REGISTERS。 • (APLL_LOCK, R/W, Address = 0xE010_0000) • (MPLL_LOCK, R/W, Address = 0xE010_0008) • (EPLL_LOCK, R/W, Address = 0xE010_00
2013-07-21 16:52:39
2550
原创 Tiny210(S5PV210) U-BOOT(二)----配置时钟频率基本原理
U-BOOT在启动的过程中,需要配置系统时钟。1.基本原理首先输出一个高电平,然后,通过三个晶振,输出一个频率,然后,通过倍频器(锁相环),将频率升高,然后,再通过分频,把分出来的不同的频率,提供给不同的器件,比如ARM Cotrex内核、各种设备控制器等等。Tiny210(S5PV210)上蓝色的框标注的就是晶振的位置,最上面的是27MHz,中间和下面两颗是24MHz,顺便讲一下另外
2013-07-21 15:44:15
3392
原创 Tiny210(S5PV210) U-BOOT(一)----启动过程
CPU上电后,此时SP指针指向0x0000_0000,从这个地址取第一条指令。但此时:PLL没有启动,CPU工作频率为外部输入晶振频率,非常低(S5PV210中晶振在CPU旁边,两颗24MHz,一颗27MHz);CPU的工作模式、中断设置等不确定;存储空间的各个BANK(包括内存)都没有驱动,内存不能使用。在这种情况下必须在第一条指令处做一些初始化工作,这段初始化程序与操作系统独立分开,称之为Bo
2013-03-22 22:40:12
5078
原创 Tiny210移植u-boot报/usr/local/include/asm/io.h文件中未知的类型名错误
前几天开始学BootLoader,开始在自己的友善之臂Tiny210SDK2的版本子移植u-boot,确碰到一个非常奇怪的错误,在编译u-boot时,老是报/usr/local/include/asm/io.h文件中有未知类型错误,如下:/usr/local/include/asm/io.h:111:1: 错误: 未知的类型名‘phys_addr_t’/usr/local/include/
2013-03-20 11:40:12
2524
原创 【读书笔记】现代操作系统(第三版)勘误三
昨天在看《现代操作系统》(第三版)的P122页,3.5.1节的局部分配策略和全局分配策略时,再次发现一个问题。在图3-23中,书中是将生存时间最小的交换出去了,如下图那么现在有一个问题了,按照Aging算法的原理,是应该将Age最大的置换出去,而不是将Age最小的置换出去,书将最小的置换出去,出于什么考虑和意图,暂时没有看出,现在, 按Aging算法的原则 ,将Age最大的置换出去
2012-11-19 07:12:03
1316
1
原创 【读书笔记】现代操作系统(第三版)勘误二
前天看到《现代操作系统》(第三版)的P117页时,这次看到一个明显的笔误,在3.4.7节 用软件模拟LRU时,图3-18 用软件模拟LRU的老化算法,这个图有一处明显的错误。在上图中的page2的clock tick 2和clock tick 3,很明显,在clock tick3应该是右移一位,应该是00010000,第二版,第三版的中英文版,这个图一直没有变过,一直是错的,而且这个图
2012-11-18 11:10:41
1749
原创 【读书笔记】现代操作系统(第三版)勘误一
最近停下了教程,安安心心的准备先把操作系统的一些基础概念啃完,今天在读《现代操作系统》(第三版)的第三章时,看到P112页,分析二级页表时,感觉有些问题,不知道是不是作者笔误,还是我理解有误,现在先剔出来,供自己以后检索:原文如下:(3.3.4节 针对大内存的页表 P112)下面看一个示例,考虑32位虚拟地址0x00403004(十进制4 206 596)位于数据部分12
2012-11-15 22:29:43
2157
原创 XMind提示"could not open ...\i386\jvm.cfg"
前几日升级了JDK到JDK7,并没有卸载掉老的JDK6,然后XMind出现了不管怎么装都会报找不到jvm.cfg的错误,但编译环境确是好的,显示已经为JDK1.7.0_03,百思不得其解,换到XP系统下安装,XMind可以正常启动,怀疑是XMind在WIN 7下不支持JDK7,无论怎么装,XMind仍然是无法启动,无奈之下,只能从XP系统中将原来的32位的JRE6目录拷贝到报错提示的目录下,XMi
2012-03-14 02:23:20
1755
原创 MTK模拟器Could not run "cl.exe"错误
前段时间重新了一下系统,VC6没有安装在C盘,今天在公司拷了项目的代码,准备在家里弄一下,周一的时候把B7项目出版本,在编Modis的时候,报了如下错误:Could not run "cl.exe". Please check your PATH!刚开始是怀疑环境变量的Path有问题,手动将cl.exe的目录(我是安装在D盘)补上D:/Program Files/Microsoft Vis
2011-03-13 00:39:00
3150
1
MTK如何写应用程序
2008-11-04
WINDOWS网络编程技术
2008-09-11
Web开发敏捷之道--应用Rails进行敏捷Web开发(第2版)--7
2008-09-11
Web开发敏捷之道--应用Rails进行敏捷Web开发(第2版)--6
2008-09-11
Web开发敏捷之道--应用Rails进行敏捷Web开发(第2版)--5
2008-09-11
Web开发敏捷之道--应用Rails进行敏捷Web开发(第2版)--4
2008-09-11
Web开发敏捷之道--应用Rails进行敏捷Web开发(第2版)--3
2008-09-10
Web开发敏捷之道--应用Rails进行敏捷Web开发(第2版)--2
2008-09-10
Web开发敏捷之道--应用Rails进行敏捷Web开发(第2版)--1
2008-09-10
C嵌入式系统编程 Linux
2008-11-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人