随笔 - 342  文章 - 0 评论 - 49 阅读 - 147万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

随笔分类 -  uboot

1 2 下一页
基于u-boot源码的简单shell软件实现
摘要:一、概述1、shell概念 Shell(命令解析器),它用于接收用户输入的命令,进行解析,然后调用相应的应用程序,为使用者提供了使用软件的界面。 shell是操作系统最外面的一层。shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,执行相应的应用程序,并且输出各种各样的处理... 阅读全文
posted @ 2014-05-30 17:01 amanlikethis 阅读(2017) 评论(0) 推荐(0) 编辑
u-boot Makefile Source Test
摘要:一、概述 笔者已经写了一篇实现目标文件与源码分开的makefile测试实验,但是觉得不够完美,没有更多的体现u-boot Makefile的工作原理和特点。所以,决定重新修订,使之更加充分的接近u-boot Makfefile的原貌。 至于,u-boot Makfefile的整体论述和特点,笔者在u 阅读全文
posted @ 2014-04-14 11:36 amanlikethis 阅读(509) 评论(0) 推荐(0) 编辑
u-boot子目录Makefile分析
摘要:一、概述 u-boot的子目录Makefile是整个Makefile体系的重要组成部分,决定了对应子目录的编译过程。二、分析 以cpu/arm920t/Makefile为例进行说明(1)首先,调用顶层目录定义的编译规则config.mkinclude $(TOPDIR)/config.mk(2)... 阅读全文
posted @ 2014-04-14 09:43 amanlikethis 阅读(752) 评论(0) 推荐(0) 编辑
u-boot烧写Linux及系统整个启动过程
摘要:一、烧写文件u-boot: u-boot.binlinux kernel: uImageFilesystem: root.bin(yaffs)二、烧写步骤1、烧写u-boottftp0x30000000u-boot.bin;nanderasebios;nandwrite.jffs20x30000000bios(filesize)2tftp0x30000000uImage;nanderasekernel;nandwrite.jffs20x30000000kernel(filesize)3、 烧写根文件系统tftp0x30000000root.bin;nanderaseroo... 阅读全文
posted @ 2014-04-01 19:18 amanlikethis 阅读(856) 评论(0) 推荐(0) 编辑
uboot移植之环境变量在NandFlash
摘要:一、概述 u-boot环境变量可以设置在Norflash上,也可以在NandFlash上。 倘若环境变量在NorFlash上,再假设S3C2440从NorFlash启动,是能正确从NorFlash上读取环境变量。但是,倘若从NandFlash启动,由于Bank0被挂载成S3C2440的stepstone,就不能从NorFlash上读取环境变量。 倘若环境变量在NandFlash上,无论S3C2440以什么方式启动,由于NandFlash的逻辑空间与S3C2440的逻辑空间独立,NandFlash都能够正常使用,当然也能够从NandFlash上读取环境变量。二、参数收集1、NandFlas... 阅读全文
posted @ 2014-04-01 10:37 amanlikethis 阅读(1459) 评论(0) 推荐(0) 编辑
uboot的mtd功能支持
摘要:一、概述1、MTD MTD是Flash的一种管理方法,将Flash划分成几个分区,便于管理。 u-boot的MTD功能是在文件cmd_jffs2.c中实现的,由此我们可以知道怎样打开u-boot的MTD功能。2、MTD的作用 (1)对Flash构建了分区表,从而能够启动linux系统 (2)nand命令可以使用宏参数,例如“nand read.jffs2 0x30007FC0 kernel;”命令中的kernel,kernel参数 代表了内核分区的加载地址和大小。二、移植 整个操作都是对TQ2440.h的修改。1、使能MTD功能、定义MTD分区表/* * config mtd... 阅读全文
posted @ 2014-03-31 21:21 amanlikethis 阅读(3383) 评论(0) 推荐(0) 编辑
编译u-boot命令和u-boot常用命令
摘要:一、编译u-boot命令1、配置开发板#make TQ2440_config2、编译#make all3、交叉编译器是crosstools_3.4.5_softfloat” 使用4.3.3版本的会出现问题。 编译linux内核用的是4.3.3版本的,否则也会出问题。二、u-boot常用命令1、help 命令2、下载命令(1)tftpboot [loadaddr] [bootfilename] 从tftp服务器上下载文件(2)usbslave 1 [loadaddr] 借助DNW下载文件3、内存操作命令 md 显示内存 .b 以字节显示 .w 以字显示4、NorFlash操作命... 阅读全文
posted @ 2014-03-21 11:14 amanlikethis 阅读(584) 评论(0) 推荐(0) 编辑
uboot启动linux的过程
摘要:一、概述 linux内核镜像常见到的有两种形式,zImage和uImage。这两种文件的格式稍有差别,所以启动这两种格式的内核镜像也会有所不同。目前,uboot只支持启动uImage类型的镜像,对zImage还不支持(但是可以移植,TQ2440就是这样做的)。 二、uImage和zImage 1、z 阅读全文
posted @ 2014-03-20 20:50 amanlikethis 阅读(8358) 评论(0) 推荐(0) 编辑
在uboot上创建菜单
摘要:一、原理 菜单其实就是一个uboot中的命令,和其他的命令没有什么差别。 uboot启动时,如果进入uboot命令模式,先运行这个命令,就会打印出一个菜单界面。 在uboot的命令模式,通过键入“menu”命令,同样可以调出这个界面。二、操作步骤1、在common目录下创建cmd_menu.c内容如下:#include #include #ifdef CONFIG_CMD_MENU#define USE_TFTP_DOWN 1#define USE_USB_DOWN 2extern char console_buffer[];/* * Reads and ret... 阅读全文
posted @ 2014-02-24 16:49 amanlikethis 阅读(1579) 评论(0) 推荐(0) 编辑
uboot移植参考资料
摘要:参考文档:移植u-boot-1.1.6到TQ2440文档.pdf参考网页:uboot在S3C2440上移植《出自超哥(相广超)》 阅读全文
posted @ 2014-02-21 19:43 amanlikethis 阅读(297) 评论(0) 推荐(0) 编辑
uboot使用tftp下载时出现“checksum bad”问题原因分析
摘要:一、问题二、原因分析你的虚拟机是不是这样设置的呢?如果是的话,请看下边的解释: 使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机(比如说我们的开发板)进行通讯。三、解决方法请见在linux下实现UBOOT的TFTP下载功能。参考网页:VMware网络配置详解 阅读全文
posted @ 2014-02-21 11:21 amanlikethis 阅读(1314) 评论(0) 推荐(0) 编辑
在linux下实现UBOOT的TFTP下载功能
摘要:一、环境1、条件软件:虚拟机下linux(本文涉及到的是Ubuntu12.0.4)、 linux下的串口助手(例如minicom)或windows下的串口助手(例如超级终端、SecureCRT)硬件:TQ2440开发板、串口、网线(两根)、路由器2、串口助手选择 虽然是在虚拟机linux操作系统下实现TFTP的下载,但串口调试助手没必要是linux下的。实现这个功能的关键在于在linux操作系统下搭建一个TFTP服务器,而串口只是开发板提供给人控制的一个界面,选择windows下的串口也行。 事实上,本人觉得minicom并不好用,先不说界面反人类认知观,主要问题在于它对USB转串口... 阅读全文
posted @ 2014-02-21 11:17 amanlikethis 阅读(6918) 评论(0) 推荐(0) 编辑
windows下实现uboot的tftp下载功能
摘要:一、原理分析 带有uboot的开发板实际上充当的就是tftp客户端,而PC机扮演的角色就是tftp服务器端,而tftp下载功能实际上就是文件传输。tftp服务器可以建立在虚拟机linux下,也可以建立在windows下,只要你能提供一个tftp服务器就行。有了这些条件,只要网络畅通(硬件连接),就能实现tftp的下载功能。二、操作步骤1、硬件连接2、在windows下搭建tftp服务器3、配置uboot的网络参数4、下载三、硬件连接方式一:将开发板和PC机的网线都接在路由器的非入口(WAN)端。方式二:直接用一根网线将PC机和开发板的网卡连接在一起四、在windows下搭建tftp服务器 在. 阅读全文
posted @ 2014-02-21 09:07 amanlikethis 阅读(2903) 评论(1) 推荐(0) 编辑
find_cmd函数分析
摘要:一、概述1、函数位置 common/command.c2、函数功能分析 解析命令的关键环节是如何根据输入命令查找对应命令的信息,从而跳转到对应命令的函数处执行程序。这必然涉及到如何存放命令的详细信息这个问题。因为一种存法,对应一种查法,进而取法。也就是说,实际上是两个问题:(1)命令的详细信息是如何存放的(2)如何在命令存储区查找是否有与输入命令匹配的命令 就这两个问题,我们来分别分析uboot的设计方法。二、".u_boot_cmd"环境变量存储区1、命令详细信息存储结构体struct cmd_tbl_s { char *name; /* Command Name ... 阅读全文
posted @ 2014-02-19 18:06 amanlikethis 阅读(899) 评论(0) 推荐(0) 编辑
run_command函数分析
摘要:一、概述位置:common/main.c功能:根据传入参数(命令),在命令存储区(.u_boot_cmd)中查找对应的命令,找到命令并调用对应的函数执行流程:二、分析1、函数说明信息/***************************************************************************** returns:* 1 - command executed, repeatable* 0 - command executed but not repeatable, interrupted commands are* always considered n 阅读全文
posted @ 2014-02-19 16:21 amanlikethis 阅读(3018) 评论(0) 推荐(0) 编辑
readline函数分析
摘要:函数功能:提示用户输入命令,并读取命令/****************************************************************************//* * Prompt for input and read a line. * If CONFIG_BOOT_RETRY_TIME is defined and retry_time >= 0, * time out when time goes past endtime (timebase time in ticks). * Return: number of read characters 阅读全文
posted @ 2014-02-19 15:35 amanlikethis 阅读(2667) 评论(0) 推荐(0) 编辑
uboot main_loop函数分析
摘要:一、概述 main_loop()函数做的都是与具体平台无关的工作。主要包括的工作如下:(1)初始化启动次数限制机制(2)Modem功能(3)设置软件版本号(4)启动延迟(5)读取命令,解析命令二、具体分析void main_loop (void){#ifndef CFG_HUSH_PARSER static char lastcommand[CFG_CBSIZE] = { 0, }; int len; int rc = 1; int flag;#endif#if defined(CONFIG_BOOTDELAY) && (CONFIG_BOOTDELAY >= 0) ch 阅读全文
posted @ 2014-02-19 11:09 amanlikethis 阅读(6481) 评论(0) 推荐(0) 编辑
__attribute__ ((section(".text")))的测试
摘要:一、测试原因 在学习u-boot的环境变量过程中,看到有如此的代码,现对涉及到的内容进行实验测试。二、测试目的1、了解gcc允许对段的属性进行更改的方法。2、解决”ENV_IS_EMBEDDED“解惑以及相关的移植实验中如何将环境变量(结构体变量environment)定位在代码段的0x33f84000的位置,以实现环境变量区嵌入到代码段的功能。三、测试原理(参考attribute 用法 section 部分) gcc通过选项__attribute__可以改变所声明或定义的函数、数据的特性。它有很多子项,用于改变作用对象的特性。比如对函数,noline将禁止进行内联扩展、noreturn... 阅读全文
posted @ 2014-01-14 10:49 amanlikethis 阅读(9808) 评论(0) 推荐(1) 编辑
UBOOT的多支持性与可裁剪性
摘要:UBOOT功能强大,适用于多种操作系统,多种处理器架构。 在阅读它的源码时,可以看到cpu目录有各种处理器,而board目录有各种开发板。但是,对于一个特定的实验平台,例如TQ2440开发板,它用到的只是cpu、board等目录中的一个或者部分文件和文件夹。 不同的处理器,它们的架构不一样,所以编译器肯定也不一样。但是,对于一个特定的实验平台,例如S3C2440,它用到的arm-linux-gcc编译器。 UBOOT可以应用于多种平台,但是对于特定的平台,它只会用到部分文件和文件夹,也只会用到一种编译器。 UBOOT目录中有大量的Makefile文件和配置文件,我想就是为了从众多的... 阅读全文
posted @ 2014-01-10 19:27 amanlikethis 阅读(401) 评论(0) 推荐(0) 编辑
uboot的jumptable_init函数分析
摘要:一、函数说明函数功能:安装系统函数指针函数位置:common/exports.c二、函数分析 1 void jumptable_init (void) 2 { 3 int i; 4 5 gd->jt = (void **) malloc (XF_MAX * sizeof (void *)); //在堆中开辟指针空间 6 for (i = 0; i jt[i] = (void *) dummy; //指针空间都初始化成指向空函数 8 //依次安装函数指针 9 gd->jt[XF_get_version] = (... 阅读全文
posted @ 2014-01-07 16:18 amanlikethis 阅读(1607) 评论(2) 推荐(0) 编辑

1 2 下一页
点击右上角即可分享
微信分享提示