
Bootloader
hj33053252
这个作者很懒,什么都没留下…
展开
-
如何让U-boot实现Nand/Nor 双启动
作者:曹忠明,华清远见嵌入式学院讲师。在做u-boot移植的时候,多数人使用的是Nand flash启动或Nar flash启动。这样u-boot就只能在Nand flash或Nor flash。那么我们如何让我们的u-boot在Nand flash或Nor flash都能使用。首先,我们说说u-boot,u-boot是系统启动的时候执行的一段程序,这段程序一般存放在Nand flash中或Nor flash中。我们所说的Nand flash启动或Nor flash启动主要是涉及到一段搬移代码。这段搬移代码转载 2010-07-22 10:16:00 · 418 阅读 · 0 评论 -
__attribute__机制介绍
1. __attribute__GNU C的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__可以设置函数属性(Function Attribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)__attribute__前后都有两个下划线,并且后面会紧跟一对原括弧,括弧里面是相应的__attribu转载 2013-06-28 13:44:17 · 459 阅读 · 0 评论 -
ARM的BIN文件反汇编方法
最近在调试uboot的代码时,用的新版本的uboot,lowlevel_init函数里是空的,而且在链接文件中也没有发现对lowlevel_init.o的链接。在bl lowlevel_init 之前和之中加了两个电灯,发现在bl之后的部分并没有被执行,所以想看看具体程序有没有运行这个函数。在网上找反汇编bin文件的时候发现有朋友提供的方法,很好用。使用arm-linux 工具链里面的ar转载 2013-07-10 12:46:35 · 4989 阅读 · 0 评论 -
嵌入式系统可执行文件格式
UBOOT编译映像格式(uboot) UBOOT编译完成后,可以得到u-boot各种格式的映像文件和符号表 u-boot.bin: u-boot映像原始的二进制格式 u-boot: u-boot映像的ELF格式 u-boot.srec: u-boot映像的S-Record格式 u-boot.map: u-boot映像的符号表 u转载 2013-07-10 13:30:37 · 660 阅读 · 0 评论 -
cpu/arm920t/start.S中重要代码分析
<br /><br />前言:总结了网上多个帖子,而且还从书上手工抄写了许多讲解的部分写了这篇cpu/arm920t/start.S中重要代码分析。<br /> U-Boot是从cpu/arm920t/start.S开始的,这个文件的任务是设置处理器状态、初始化中断和内存时序等,并确定是否需要对整个U-Boot代码重定位,最终从Flash中跳转到定位好的内存位置执行。<br /> <br />开始的一段代码是处理的异常处理向量表<br />.globl _start ;系统复位转载 2010-08-24 10:56:00 · 594 阅读 · 0 评论 -
U-Boot重定位代码分析
<br />U-Boot重定位代码分析 <br />概述<br />重定位(relocate)代码将BootLoader自身由Flash复制到SDRAM,以便跳转到SDRAM执行。之所以需要进行重定位是因为在Flash中执行速度比较慢,而系统复位后总是从0x00000000地址取指。<br />重定位代码,位于/U-Boot/cpu/s3c44b0/start.S :<br />relocate: /* relocate U-Boot to RAM转载 2010-08-24 10:55:00 · 361 阅读 · 0 评论 -
U-boot移植过程
<br />① 获得发布的最新版本U-Boot源码,与Linux内核源码类似,也是 bzip2的压缩格式。可从U-Boot的官方网站http://sourceforge.net/projects/U-Boot上获得;<br />② 阅读相关文档,主要是U-Boot源码根目录下的README文档和U-Boot官方网站的DULG(The DENX U-Boot and Linux Guide)文档http://www.denx.de/twiki/bin/view/DULG/Manual。尤其是DULG文档,从如转载 2010-08-20 22:16:00 · 411 阅读 · 0 评论 -
mini2440 u-boot实现usb slave下载功能!
友善公司不知为何,一直没有发布一个好用的u-boot。之前已移植过2008.10版的u-boot,最近,又移植了2009.08的u-boot。移植完毕后,总觉得友善自带的dnw下的usb下载功能真的很好用,于是,决定在u-boot中,也加上此功能。搜索网络后,发现,已有人,即百问网的老大,在u-boot1.1.6上实现了此功能,并发布了源代码,于是,接下来的工作,就是把这些代码移植到u-boot 2009.08上来。为此,利用春节休假,仔细研究了u-boot关于USB方面的代码,原来,u-boot已实现us转载 2010-08-20 22:13:00 · 1061 阅读 · 0 评论 -
ARM汇编伪指令 .word[转]
ARM汇编伪指令 .word经常碰到那些以“.”打头的一些令人头疼的伪指令,至于.globl _start .balign .align .data .text等等就算了,最最bt的如下:_undefined_instruction: .word undefined_instruction这个.word令人费解。网上的技术人员都不屑回答,说请参考GNU ASM。我去看了,对于.word解释如下:http://tigcc.ticalc.org/doc/gnuasm.html#SEC49转载 2010-08-19 16:38:00 · 1729 阅读 · 1 评论 -
u-boot中的.balignl 16,0xdeadbeef的理解
<br /><br />最近在分析u-boot的源代码,看到这一行:<br />.balignl 16,0xdeadbeef<br />不理解了,不知道为什么要这样写,0xdeadbeef,明显是个单词组,写在这里有何意义呢?然后在查阅了众多资料的时候才晃然大悟。<br />下面我一步步来说明:<br />首先要弄明白.balignl的意思,这个其实应该算是一个伪操作符,伪操作符的意思就是机器码里,并没有一个汇编指令与其对应,是编译器来实现其 功能的。.balignl是.balign的变体,.balign是转载 2010-08-19 11:49:00 · 682 阅读 · 0 评论 -
GNU ARM汇编伪操作(Directives) 命令集
<br /><br />1.符号定义伪操作<br />操作符 语法格式 说明<br />.equ .equ symbol,expr 将symbol定义为expr<br />.set .set symbol,expr 和equ相同(.set=.equ)<br />.equiv .equiv symbol 将symbol定义为expr,若 symbol已定义则出错<br />.global .global symbo转载 2010-08-19 16:43:00 · 818 阅读 · 0 评论 -
u-boot 串口乱码问题的解决
<br /><br /> 1:时钟问题, 以前总是一知半解,这次彻底搞明白了,2440的PLL分为两种,MPLL和UPLL,MPLL用来做系统时钟,UPLL则是USB时钟(必须为48M),两种时钟的计算方法一样:<br /> Mpll=(m×Fosc×2)÷(p×2^s) 记住是2的s次幂 2410 不必乘2<br /> m=MDIV+8<br /> p=PDIV+2<br /> s=SDIV<br />转载 2010-08-18 13:33:00 · 2498 阅读 · 0 评论 -
U-BOOT源码分析及移植-转载
<br /><br />本文从以下几个方面粗浅地分析u-boot并移植到FS2410板上:<br />1、u-boot工程的总体结构<br />2、u-boot的流程、主要的数据结构、内存分配。<br />3、u-boot的重要细节,主要分析流程中各函数的功能。<br />4、基于FS2410板子的u-boot移植。实现了NOR Flash和NAND Flash启动,网络功能。 <br />这些认识源于自己移植u-boot过程中查找的资料和对源码的简单阅读。下面主要以smdk2410为分析对象。<br />转载 2010-08-15 17:39:00 · 403 阅读 · 0 评论 -
gcc编译选项
gcc提供了大量的警告选项,对代码中可能存在的问题提出警告,通常可以使用-Wall来开启以下警告: -Waddress -Warray-bounds (only with -O2) -Wc++0x-compat -Wchar-subscripts -Wimplicit-int -Wimplicit-function-declaration转载 2013-07-05 10:17:53 · 532 阅读 · 0 评论