随笔分类 - U-boot
摘要:本文档以smdk2410为例初步分析了u-boot-2014.04的配置、启动流程、代码重定向、内存分布。u-boot-2014.04这个版本的uboot从Linux内核中借鉴了很多东西,比如编译uboot就跟编译内核差不多了,我说的是Makefile的结构。记得以前编译的时候,采用的是类似make...
阅读全文
摘要:本文档简单介绍了uboot中用于引导内核的命令bootm的实现,同时分析了uImage文件的格式,还简单看了一下uboot下go命令的实现作者: 彭东林邮箱: pengdonglin137@163.comhttp://pan.baidu.com/s/1o6HPqps
阅读全文
摘要:本文档简单分析了uboot中命令的实现、run_command函数的实现以及从uboot命令行接收并处理命令的过程。作者: 彭东林邮箱: pengdonglin137@163.comhttp://pan.baidu.com/s/1jG1IvK6
阅读全文
摘要:转载:http://blog.chinaunix.net/uid-20737871-id-2124122.htmluboot下的tftp下载功能是非常重要和常见的功能。但是偶尔有些特殊需求的人需要使用uboot的tftp具有上传功能。默认的uboot没有tftp上传功能,如果需要修改uboot代码。...
阅读全文
摘要:本文档分析了一下UBoot中环境变量是如何管理的,比如什么时候从Flash中读取环境变量到内存中,以及当执行setenv、getenv、saveenv以及printenv后,Uboot做了些什么,同时还介绍了UBoot环境变量的存储格式。作者:彭东林邮箱:pengdonglin137@163.com...
阅读全文
摘要:转载:http://blog.chinaunix.net/uid-25885064-id-3303132.html在使用U-boot时,有个问题就是MAC地址的设置,如果MAC地址相同的两块开发板在同一局域网中,会互相影响。由 于设备量产需要每台机器的MAC地址都不一样,所以我们给u-boot使用随...
阅读全文
摘要:uboot kernel uboot 1、Uboot编译流程分析: uboot是如何编译生成的? 2、根据include/configs/$(target).h可以生成include/autoconf.mk。 3、Uboot_env 分析 4、uboot 之 run_command函数的实现 5、u
阅读全文
摘要:摘自:《嵌入式Linux应用开发完全手册》 ( Target : smdk2410 $1 Architecture: arm $2 CPU: arm920t $3 BOARD: smdk241...
阅读全文
摘要:转载: http://lijingyou2008.blog.163.com/blog/static/16086962007841067376/ 引导加载程序(boot loader) 会引导操作系统。当机器引导它的操作系统时,BIOS 会读取引导介质上最前面的 512 字节(即人们所知的 主引导记录(master boot record,MBR))。在单一的 MBR 中只能存储一个操作系统的...
阅读全文
摘要:平台:Hi3531PHY:RTL8211现象:在uboot中执行ping命令的时候,总是超时。过程:使用uboot自带的phy操作命令mii读出的数据全是0xff。这里要介绍一下uboot中的phy寄存器操作命令mii。关于uboot中的mii命令可以参见common/cmd_mii.c。注意:在使...
阅读全文
摘要:在uboot显示图片的时候可以将jpg图片作为uboot的一段,在程序中访问该段,实现图片。图片: logo.jpg ,将其拷贝到common下修改u-boot.lds,添加".log"段。(u-boot.lds的路径:arch/arm/cpu/godnet/u-boot.lds)OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")OUTPUT_ARCH(arm)ENTRY(_start)SECTIONS{ . = 0x0000
阅读全文
摘要:转载:http://www.ibm.com/developerworks/cn/linux/l-btloader/index.html 1. 引言 在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次: 1. 引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loa...
阅读全文
摘要:参考:http://stackoverflow.com/questions/14950614/working-of-asm-volatile-memoryasmvolatile("":::"memory");creates a compiler level memory barrier forcing optimizer to not re-order memory accesses across the barrier.For example, if you need to access some address in a specific order
阅读全文
摘要:转载:http://falloutmx.blog.163.com/blog/static/39236020201211145010154/可以通过mtd方式读取,也可以用ioremap方式。不过这些都比较麻烦,简单的方法有两种,一种是mtd_debug,另一种是fw_printenv。前者是一个软件包,需要单独下载安装。后一个就是我目前使用的方式,是Uboot带的一个工具,使用方法如下:1、编译fw_printenv工具在你uboot目录下用以下编译指令:make env成功后在tools/env下会生成fw_printenv,如果提示缺少mtd-user.h文件,从系统中拷贝过来即可:cp
阅读全文
摘要:Uboot中start.S源码的指令级的详尽解析HTML版本的在线地址为:http://www.crifan.com/files/doc/docbook/uboot_starts_analysis/release/html/uboot_starts_analysis.html
阅读全文
摘要:转载:http://blog.csdn.net/l_thread/article/details/6020036开始看start.s中的代码,又一句.balignl 16,0xdeadbeef,不知什么意思,网上搜了一下了解到这条命令的作用如下:.balign[wl] abs-expr, abs-expr, abs-expr增加位置计数器(在当前子段)使它指向规定的存储边界。第一个表达式参数(结果必须是纯粹的数字)是必需参数:边界基准,单位为字节。例如,‘.balign 8’向后移动位置计数器直至计数器的值等于8的倍数。如果位置计数器已经是8的倍数,则无需移动。第2个表达式参数(结果必须是纯粹
阅读全文
摘要:下面是一个执行make XXX_config后的打印信息:pengdl@debian:~/work/costdown/new/Hi3520D_SDK_V1.0.2.2c/source/arm11/u-boot-2010.06$ make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- hi3520d_configGenerating include/autoconf.mkGenerating include/autoconf.mk.dep# Target Architecture CPU Board [VENDOR] [SOC]'$#
阅读全文
摘要:转载:http://hubingforever.blog.163.com/blog/static/171040579201192472552886/一、 概论每一个链接过程都由链接脚本(linker script, 一般以lds作为文件的后缀名)控制.链接脚本主要用于规定如何把输入文件内的section放入输出文件内, 并控制输出文件内各部分在程序地址空间内的布局. 但你也可以用连接命令做一些其他事情.连接器有个默认的内置连接脚本, 可用ld –verbose查看. 连接选项-r和-N可以影响默认的连接脚本(如何影响?).-T选项用以指定自己的链接脚本, 它将代替默认的连接脚本。你也可以使用以
阅读全文
摘要:转自 :http://linux.chinaunix.net/bbs/archiver/tid-1111568.html U-boot的环境变量值得注意的有两个: bootcmd 和bootargs。u-bootcmd 前面有说过bootcmd是自动启动时默认执行的一些命令,因此你可以在当前环境中定义各种不同配置,不同环境的参数设置,然后设置bootcmd为你经常使用的那种参数。u-bootargs bootargs是环境变量中的重中之重,甚至可以说整个环境变量都是围绕着bootargs来设置的。bootargs的种类非常非常的多,我们平常只是使用了几种而已,感兴趣的可以看看这篇文章说的很..
阅读全文
摘要:转:http://www.cnblogs.com/xmphoenix/archive/2012/02/22/2363335.html指示符“include”、“-include”和“sinclude” 如果指示符“include”指定的文件不是以斜线开始(绝对路径,如/usr/src/Makefile...),而且当前目录下也不存在此文件;make将根据文件名试图在以下几个目录下查找:首先,查找使用命令行选项“-I”或者“--include-dir”指定的目录,如果找到指定的文件,则使用这个文件;否则继续依此搜索以下几个目录(如果其存在):“/usr/gnu/include”、“/usr/lo
阅读全文