自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Fe Tech

Fe

  • 博客(12)
  • 资源 (2)
  • 收藏
  • 关注

原创 嵌入式Linux引导过程之1.6——Xloader的Xloader_Entry

--by FeCen 我们已经看完了XLOADER_ENTRY里调用的前两个标号的代码,分别是sys_init和ddr_init。对于一个嵌入式系统来说,这两个部分的代码是在一开始就执行的,至少是在从bootrom里面的firmware出来之后最初执行的代码,也是我们自己能够控制的最初的代码(在bootrom里面的firmware是在芯片出厂的时候就固化在芯片里面的了,一般情况下,我们是无法改变里

2008-10-20 17:10:00 2620

原创 嵌入式Linux引导过程之1.5——从BootRom到Xloader

--by FeCen在开始看Xloader_Entry的代码之前,我想先总结一下从芯片上电到开始运行Xloader的代码的过程,这是我目前理解的一个过程,可能有所出入,待以后继续完善。当系统上电之后,首先会将PC寄存器设置成BootRom里面的代码对应的一个地址。BootRom是芯片内部集成的一块很小的存储区,里面一般会固化一段启动代码。至于BootRom所占用的地址空间,每个芯片的定义可能会有所

2008-10-17 20:04:00 4290

原创 嵌入式Linux引导过程之1.4——Xloader的ddr_init

--by FeCen这里我们来看XLOADER_ENTRY中调用的第二个标号ddr_init处的代码,这部分代码的作用是对外部内存SDRAM进行初始化,在我spearplus开发板中,使用的是DDR SDRAM。在调用ddr_init之前,外部内存是不能用的,因为外部内存的时钟以及控制寄存器都还没有初始化,因此此时只有芯片内部的SRAM以及在sys_init的时候已经初始化了的Serial Fla

2008-10-17 14:28:00 3099 1

转载 国际:什么是程序员的优秀品质?

使用一种特殊的编程语言、编程很牛,单单靠这个并不能说一名程序员/开发者就是优秀程序员/开发者。   快速发展的开发环境使得这个行业比我今天看到的任何一个行业都要发展迅速,这既有积极的一面也有消极的一面:今天的程序员/开发者有很多编程语言、开发工具和开发平台可选,但是建立一个安全、可扩展的环境却变得难了很多;硬件和软件正日新月异地变得更加复杂,但现在学习新技术比过去要难太多了。    以下是优秀程序

2008-10-17 10:27:00 838

原创 嵌入式Linux引导过程之1.3——Xloader的sys_init

--by FeCen 上一篇文章对XLOADER_ENTRY进行了分析,看到其中调用的第一个标号就是sys_init,本文就对这个标号对应的代码段进行粗略的分析,这里我也还有好多没有搞明白的,就先留着,日后慢慢明白,先把自己目前能够看明白的东西记下来。另外,需要说明的是,像sys_init以及后续还要讲的ddr_init之类的代码是与体系结构高度相关的,由于我的文章针对的是SPEArPlus开发板

2008-10-16 17:14:00 2058

转载 一些有用的网站网址集合

 国外  http://lwn.net/  http://www.tldp.org/  https://rhn.redhat.com  http://www.justlinux.com/  http://www.linuxtoday.com/  http://www.linuxquestions.org/  http://www.fokus.gmd.de/linux/  http://www.li

2008-10-15 16:28:00 33294

原创 嵌入式Linux引导过程之1.2——Xloader的XLOADER_ENTRY

--by FeCen 根据上文中获得的线索,本文分析init.S中的XLOADER_ENTRY。在init.S中,定义了好多与平台相关的寄存器地址宏以及好多其他函数,我们在用到的时候再回过头来分析,这里,我们只看其中的一个函数(其实是一个标号,我们暂且称之为函数也无妨)——XLOADER_ENTRY。好了,废话不多说,来贴代码: 80 .global XLOADER_ENTRY 81 XLOADE

2008-10-14 15:59:00 2161 2

原创 嵌入式Linux引导过程之1.1——Xloader的xloader.lds

--by FeCen 本文中的所有代码版本都是基于ST的SpearPlus开发板的。xloader是在系统上电之后,执行完ROM中的frimware后最先开始执行的用户程序,它的体积很小,执行的功能也很简单,主要是对系统时钟以及外部SDRAM进行初始化,初始化完成之后就检查Flash中的uboot image是否准备好,如果准备好了就将Flash中的uboot image根据image heade

2008-10-14 14:00:00 4580

转载 ARM微处理器的指令系统

 第3章 ARM微处理器的指令系统 本章介绍ARM指令集、Thumb指令集,以及各类指令对应的寻址方式,通过对本章的阅读,希望读者能了解ARM微处理器所支持的指令集及具体的使用方法。本章的主要内容有:-  ARM指令集、Thumb指令集概述。-  ARM指令集的分类与具体应用。-  Thumb指令集简介及应用场合。3.1  ARM微处理器的指令集概述

2008-10-13 15:20:00 1956

转载 ARM微处理器系列

 ARM 微处理器目前包括下面几个系列,以及其它厂商基于 ARM 体系结构的处理器,除了具有ARM 体系结构的共同特点以外,每一个系列的 ARM 微处理器都有各自的特点和应用领域。 - ARM7 系列 - ARM9 系列 - ARM9E 系列 - ARM10E 系列 - SecurCore 系列 - Inter的 Xscale - Inter的 StrongARM

2008-10-10 19:49:00 1876

原创 关于xloader和uboot的几个初级问题

在看代码的过程中遇到的几个问题,发邮件问了xf,得到了满意的回答,对xf表示感谢。这里将问题及答案记录下来,作为参考,蓝色的字体为xf给我的回答。 一、为什么需要xloader,xloader所做的工作为什么不直接就让uboot做,而要单独的分出来呢?我看了xloader的代码,非常短小,所做的工作也很简单,我说说我对代码的理解,不知道正不正确:在最初始的时候xloader首先对系统进行了初始化(

2008-10-10 17:15:00 10605

原创 对container_of的理解

--by FeCen 在学习Linux驱动的过程中,遇到一个很好玩的内核函数,准确的说是一个很好玩的宏,叫做container_of。该宏定义在include/linux/kernel.h中,首先来贴出它的代码:439/**440 * container_of - cast a member of a structure out to the containing structure441 * @

2008-10-06 17:45:00 1084

程序员面试宝典.pdf

给将要找工作及正在找工作的朋友们,祝大家找工作顺利.

2009-12-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除