摘要: 1.CS8900ACS8900芯片是Cirrus Logic公司生产的一种局域网处理芯片,在嵌入式领域中使用非常常见。它的封装是100-pin TQFP,内部集成了在片RAM、10BASE-T收发滤波器,并且提供8位和16位两种接口。CS8900与ARM芯片按照16位方式连接,网卡芯片复位后默认工作方式为I/O连接,基址是300H。CS8900A还提供其它性能和配置选择.它独特的Packet Page结构可自动适应网络通信量模式的改变和现有系统资源,从而提高系统效率。MCU与CS8900A的数据传输有三种模式:I/O模式,存储器模式和DMA模式.本设计采用CS8900A默认的I/O模式,因为I 阅读全文
posted @ 2013-03-25 17:27 lihaiping 阅读(648) 评论(0) 推荐(0) 编辑
摘要: 原文出处:http://blog.csdn.net/sydjm/article/details/8591518-------------------------------------------------------------------------------------------------------------------------------------------我们知道,bootloader是系统上电后最初加载运行的代码。它提供了处理器上电复位后最开始需要执行的初始化代码。 在PC机上引导程序一般由BIOS开始执行,然后读取硬盘中位于MBR(Main Boot Reco 阅读全文
posted @ 2013-03-22 11:56 lihaiping 阅读(921) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/hanyan225/archive/2011/05/23/2054076.html本例中采用的同样是前边一贯的实验板,这里就不对板子资源做进一步介绍了。 我们知道,bootloader是系统上电后最初加载运行的代码。它提供了处理器上电复位后最开始需要执行的初始化代码。在PC机上引导程序一般由BIOS开始执行,然后读取硬盘中位于MBR(Main Boot Record,主引导记录)中的Bootloader(例如LILO或GRUB),并进一步引导操作系统的启动。然而在嵌入式系统中通常没有像BIOS那样的固件程序,因此整个系统的加载启动就完全由bootl 阅读全文
posted @ 2013-03-21 19:28 lihaiping 阅读(822) 评论(0) 推荐(0) 编辑
摘要: //主题:S5PV210之UBOOT-2011.06启动过程解析//作者:kevinjz2010@gmail.com//版权:kevinjz原创//平台:S5PV210 ARMV7 TINY210//发布日期:2012-05-24//最后修改:2012-11-27//注意事项:欢迎转载,但不得在转载的时候擅自修改、删除文章的任何部分//------------------------------------------------------------------------------------------------- 本文使用的UBOOT版本:u-boot for tiny21... 阅读全文
posted @ 2013-03-20 17:33 lihaiping 阅读(1432) 评论(0) 推荐(0) 编辑
摘要: 按照三星《S5PV210_UM_REV1.1》手册上说明的启动流程为:S5PV210上电将从IROM(interalROM)处执行固化的启动代码,它对时钟等初始化、对启动设备进行判断,并从启动设备中复制BL1(最大16KB)到IRAM(0xd002_0000处,其中0xd002_0010之前的16个字节储存的BL1的校验信息和BL1尺寸)中,并对BL1进行校验,校验OK转入BL1进行执行;首先解释一下我认为的BL0、BL1、BL2:(1)BL0:是指S5PV210的IROM中固化的启动代码;(2)BL1:是指在IRAM自动从外扩存储器(nand/sd/usb)中拷贝的uboot.bin二进制文 阅读全文
posted @ 2013-03-20 16:37 lihaiping 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 最近在分析u-boot的源代码,看到这一行:.balignl 16,0xdeadbeef不理解了,不知道为什么要这样写,0xdeadbeef,明显是个单词组,写在这里有何意义呢?然后在查阅了众多资料的时候才晃然大悟。下面我一步步来说明:首先要弄明白.balignl的意思,这个其实应该算是一个伪操作符,伪操作符的意思就是机器码里,并没有一个汇编指令与其对应,是编译器来实现其功能的。.balignl是.balign的变体,.balign是意思是,在以当前地址开始,地址计数器必须是以第一个参数为整数倍的地址为尾,在前面记录一个字节长度的信息,信息内容为第二个参数。.balign 8, 0xde它的意 阅读全文
posted @ 2013-03-20 11:21 lihaiping 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 自己写的bootloader可以引导kernel了,我以为曾经神秘的u-boot代码将变得毫无挑战,然事实表明u-boot作为优秀的开源代码,阅读起来还是很有挑战的,值得一读! 阅读碰到的头等问题:Makefile和shell脚本看不懂... 说起来做linux也很久了,Makefile和shell脚本都接触过,但真的都是略懂而已.因为公司的Makefile和shell简单的一眼望的对穿,很初级的写法,简单的应用.再随便在网上下个老外的开源代码,那个Makefile和shell复杂啊.一不留神想起来了qt的qmake根据工程文件生成的Makefile也是很简单,但qmake是人家老... 阅读全文
posted @ 2013-03-20 10:42 lihaiping 阅读(768) 评论(0) 推荐(0) 编辑
摘要: 如果make执行的命令前面加了@字符,则不显示命令本身而只显示它的结果; Android中会定义某个变量等于@,例如 hide:= @通常make执行的命令如果出错(该命令的退出状态非0)就立刻终止,不再执行后续命令,但如果命令前面加了-号,即使这条命令出错,make也会继续执行后续命令。通常rm命令和mkdir命令前面要加-号,因为rm要删除的文件可能不存在,mkdir要创建的目录可能已存在,这两个命令都有可能出错,但这种错误是应该忽略的。 阅读全文
posted @ 2013-03-20 09:32 lihaiping 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 在linux下拷贝的时候有时候会出现cp:omitting directory的错误 ,例如 cp:omitting directory "bbs" 说明bbs目录下面还有目录,不能直接拷贝解决办法:递归拷贝 命令:cp-rbbs ../backup/bbs 解释:-r 这个options是递归的意思举一反三:删除的时候也可能出现这种下面有文件不能删除的问题 也用-r 级联删除 chmod赋予权限的时候想级联也可以用-R 注意是大写的R 阅读全文
posted @ 2013-03-19 08:50 lihaiping 阅读(275) 评论(0) 推荐(1) 编辑
摘要: 标题:u-boot中.lds连接脚本文件的分析2008-03-14 14:03:31对于.lds文件,它定义了整个程序编译之后的连接过程,决定了一个可执行程序的各个段的存储位置。虽然现在我还没怎么用它,但感觉还是挺重要的,有必要了解一下。先看一下GNU官方网站上对.lds文件形式的完整描述:SECTIONS {...secname start BLOCK(align) (NOLOAD) : AT ( ldadr ) { contents } >region :phdr =fill...}secname和contents是必须的,其他的都是可选的。下面挑几个常用的看看:1、secname: 阅读全文
posted @ 2013-03-18 16:07 lihaiping 阅读(236) 评论(0) 推荐(0) 编辑