uboot中log处理】的更多相关文章

位图或logo和开机显示画面,是两个完全不同的东西. logo显示uboot相关信息,如版本号等. 开机画面是用户下载到固定位置后uboot加载的. 1.开机画面 在uboot中使用splash screen可以实现u-boot启动后,在LCD上显示自定义图片. #define CONFIG_SPLASH_SCREEN 1 #define CONFIG_EXTRA_ENV_SETTINGS \ "splashimage=10080000\0" 并且要定义splashimage变量以及s…
今天在工作上搞了一天高通的芯片uboot程序,目的是希望将一个裸板的程序移植到uboot中,并且开机让它运行.这个芯片是NXP4330,目前是高通的一个芯片,基于ARM-contexA9架构,那么就跟4412是一样的架构了,今天将uboot加载流程基本上算是搞明白了,也明白了uboot最后是通过一些手段,最终能够去加载kernel.img,最终启动内核,后面就是加载文件系统了. 心血来潮,所以,今天借这个机会在说明一下4412的uboot最后是怎么去获取kernel.img进而启动,其实都大同小…
本文主要说明了在uboot中添加FIQ中断时遇到的问题以及对应的解决办法. 首先交代一下项目的软硬件环境.硬件方面,使用s3c2440作为主控芯片,外接串口.网卡等设备.软件方面,主控芯片上电后运行uboot程序,之后通过网口在线烧写应用程序至RAM中运行.为了使设备始终处于可控状态,需要分别在uboot及应用程序之中添加遥控程序,遥控程序使用FIQ中断来实现.uboot程序的修改主要在\arch\arm\cpu\arm920t\start.s文件及arch\arm\lib\board.c文件中…
u-boot中nandflash初始化流程分析(转) 原文地址http://zhuairlunjj.blog.163.com/blog/static/80050945201092011249136/   下面对nand flash的初始化代码nand_init()进行分析: 1.如果定义(CONFIG_COMMANDS & CFG_CMD_NAND)没定义(CFG_NAND_LEGACY) 则start_armboot()调用driver/nand/nand.c中的nand_init(),否则如…
1.uboot阶段Flash的分区 (1)所谓分区,就是说对Flash进行分块管理.(2)PC机等产品中,因为大家都是在操作系统下使用硬盘的,整个硬盘由操作系统统一管理,操作系统会使用文件系统帮我们管理硬盘空间.(管理保证了文件之间不会互相堆叠),于是乎使用者不用自己太过在意分区问题.(3)在uboot中是没有操作系统的,因此我们对Flash(相当于硬盘)的管理必须事先使用分区界定(实际上在uboot中和kernel中都有个分区表,分区表就是我们在做系统移植时对Flash的整体管理分配方法).有…
近期在做uboot中nand启动相关的工作,遇到一个问题一直纠结着.如今最终明确了这个问题,想想还有好多兄弟在某个黑暗的角落里或者某台电脑前纠结着呢,所以赶紧写下来以供查阅. uboot version 2014.4 /* Architecture-specific global data */ struct arch_global_data { #if defined(CONFIG_FSL_ESDHC) u32 sdhc_clk; #endif #ifdef CONFIG_AT91FAMILY…
一.u-boot中环境变量与uImage中MTD的分区关系 分区只是内核的概念,就是说A-B地址放内核,C-D地址放文件系统,(也就是规定哪个地址区间放内核或者文件系统)等等. 一般我们只需要分3-4个区,第一个为boot区,一个为boot参数区(传递给内核的参数),一个为内核区,一个为文件系统区.(但是有的内核就会有很多分区,比如内核参数会有两个,还有会Logo的地址) 而对于bootloader中只要能将内核下载到A~B区的A地址开始处就可以,C~D区的C起始地址下载文件系统…….这些起始地…
开发板是一块2G的MLC的NandFlash,页大小8k+512,为其移植u-boot到yaffs2这了.以前在Mini2440上移植过2k+64的slc的NandFlash的Yaffs2支持,当然也是走马观花式的.等于对Yaffs2的概念还不是太清晰,不过这次也本不想去深入了解Yaffs2,想快点到Yaffs2+硬件ECC校验.但是这个Yaffs支持8k的页大小吗?网上现有的都是2k/Pagesize的.为此我又静下心看看Google和书.         关于Yaffs2几个疑点,这里的Ya…
在移植uboot时编译一切正常,但uboot启动中载入自己写的网卡驱动出现故障,一直在打印raise:Signal #8 caught google  百度了一番,也有非常多人遇到了这个问题,大家都说出了解决这个问题的办法, 就是自己编写的驱动中有出现除以0的误操作,就会一直打印raise:Signal #8 caught 将除操作改为位移操作,或者避免除数为0,就能够解决问题. 那为什么有除以0的操作就会引发raise: Signal #8 caught ? 来分析一番! 遇到错误打印,首先要…
make xxx_config实质上就是调用了 首先看MKCONFIG: [注意]SRCTREE=源文件下的目录 之后的语句: @$(MKCONFIG) $(@:_config=) arm arm920t EmbedSky NULL s3c2440就相当于执行 #mkconfig xxx arm arm920t EmbedSky NULL s3c2440 #$0   $1  $2 $3  $4  $5  $6 于是乎就开始执行mkconfig: [ "${BOARD_NAME}" ]…
一.uboot的命令体系介绍以及实例分析: U-Boot 的命令实现大多在 common 目录下.在该目录下命令的代码文件都是以“ cmd_”开头的,如下图所示: 其中每一个文件都是一个命令实现的代码文件,而且文件名和命令名称是相关的,例如 cmd_nand.c 是实现 nand 命令的文件,从而实现模块化,这样就可以方便我们管理和添加自己的命令. 下面,我们用一个示例来讲解u-boot中如何管理这套命令体系的,以及如何添加一个自定义的命令. 这里涉及了几个要点,第一个是cmd_tbl_t结构体…
目录 uboot中的中断macro宏 引入 内存分配 流程概览 普通中断 保存现场 中断函数打印具体寄存器 恢复现场 软中断 空间获取 保存现场 附录速记 疑惑待解 title: uboot中的中断macro宏 date: 2019/2/26 09:37:12 toc: true --- uboot中的中断macro宏 引入 以前因为uboot的目的只是引导linux,没有去看关于中断相关的代码,这两天重新回顾看了下Uboot中start.S源码的指令级的详尽解析中关于uboot1.6的分析,看…
基于335X平台的UBOOT中交换芯片驱动移植 一.软硬件平台资料 1.开发板:创龙AM3359核心板,网口采用RMII形式. 2.UBOOT版本:U-Boot-2016.05,采用FDT和DM. 3.交换芯片MARVELL的88E6321. 4.参考文章:本博客基于335X的UBOOT网口驱动分析. 二.移植主要步骤 1.准备工作: (1).必须熟悉U-Boot-2016.05中的网口驱动构架,熟悉其中各个网口设备结构体的意义,网口初始化流程.重点详细分析常规基于phydev的驱动初始化的过程…
在U-boot目录下,有个比较重要的目录就是SPL的,SPL到底是什么呢?为什么要用它呢? SPL(Secondary programloader)是uboot第一阶段执行的代码.主要负责搬移uboot第二阶段的代码到 系统内存(System Ram,也叫片外内存)中运行.SPL是由固化在芯片内部的ROM引导的.我们知道很多芯 片厂商固化的ROM支持从nandflash.SDCARD等外部介质启动.所谓启动,就是从这些外部介质中搬移一段 固定大小(4K/8K/16K等)的代码到内部RAM中运行.…
转自:http://blog.chinaunix.net/uid-22030783-id-366971.html   在uboot中加入快捷操作菜单的方法非常简单,在论坛发布的uboot201003V1.1的源码包里已经包含了菜单的源码http://www.xcembed.com/bbs/viewthread.php?tid=19&page=1&extra=#pid32 这个菜单其实就是一个uboot中的命令,uboot启动时,如果进入下载模式,就先运行这个命令.命令的执行内容就是通过串口…
1. 增加Nandflash读取代码 因为要显示图片,而图片明显是放在Nandflash中比较合适,因此需要有能够操作Nandflash的函数.在U-boot中已经有能操作Nandflash的函数了,但是我找了半天也不知道该怎么调用,因此还是上自己的代码吧. #define NFCONF *(volatile unsigned int *)0x70200000 #define NFCONT *(volatile unsigned int *)0x70200004 #define NFCMMD *…
如在uEnv.txt中, loadfdt=fatload mmc ${mmcdev}: ${fdtaddr} ${fdtfile} fdtboot=run mmc_args; bootz ${loadaddr} - ${fdtaddr} uenvcmd=mmc rescan; run loaduimage; run loadfdt; run fdtboot uboot中: include/configs/am43xx_evm.h #define CONFIG_EXTRA_ENV_SETTINGS…
我们通常所说的log是指以10为底的对数,而MATLAB中的log却不是这样.Matlab中的log函数在默认情况下是以e为底,即loge,如果需要计算以10为底的对数,那么需要用log10()函数.同理计算以2为底的对数需要用log2()函数. 如: >>log2(4) ans = 2 >>log10(10) ans = 1 >>log(10) ans = 2.3026 注:log(10)等于loge(10),Matlab中log()的默认值为loge(). 选取其中…
在学习uboot的过程中会经常烧录程序,每次都要敲一些下载指令.这样是不是很麻烦,有什么办法能快速的烧写呢.很简单,将需要敲击的指令编译到uboot中,以环境变量的形式存在.但是环境变量很好加,如何运行环境变量呢.这就需要自己加入run指令了.本文旨在简化uboot.Linux内核及文件系统的烧录过程. 本文基于海思的Hi3531的uboot修改,首先在uboot目录下的include/configs/godnet.h中修改加入如下代码,增加烧写的环境变量. #define CONFIG_BOO…
Uboot中start.S源码的指令级的详尽解析 https://www.crifan.com/files/doc/docbook/uboot_starts_analysis/release/html/uboot_starts_analysis.html…
LoadRunner中log的使用总结 1.log的设置方式. 在 runtime setting中可以设置log的生成方式: 默认的log方式: Enable logging选中,log option是Send messages only when an error occurs. 可以修改日志的方式: Always send messages(这种方式会一直打印输出日志,不仅在错误时) standard log——记录所有的请求反馈的日志,包括successful和fail的日志. Exte…
1.u-boot命令机制u-boot中,每个命令都使用一个struct cmd_tbl_s结构体定义,该定义在include/command.h中实现:struct cmd_tbl_s{ char *name,//u-boot中执行的命令 int maxargs,//命令所能带的参数个数,最少为1 int repeatable,//该命令是否可重复 int (*cmd)(struct cmd_tbl_s *,int,int,char*[]),//指向该命令对应的源函数 char *usage,/…
u-boot中DM9000驱动分析 1. CSRs和PHY reg读写. static u16 phy_read(int reg) { u16 val; /* Fill the phyxcer register into REG_0C */ DM9000_iow(DM9000_EPAR, DM9000_PHY | reg); DM9000_iow(DM9000_EPCR, 0xc); /* Issue phyxcer read command */ udelay(); /* Wait read…
Env在u-boot中通常有两种存在方式,在永久性存储介质中(flash.NVRAM等),在SDRAM中.可配置不适用env的永久存储方式,但不常用.U-boot在启动时会将存储在永久性存储介质中的env重新定位到RAM中,这样可以快速访问,同时可以通过saveenv将RAM保存到永久性存储介质中. 相关结构体 env_t定义于include/environment.h中 typedef struct environment_s { uint32_t crc; /* CRC32 over dat…
Android中Log的输出有如下几种: Log.v(String tag, String msg);        //VERBOSELog.d(String tag, String msg);       //DEBUGLog.i(String tag, String msg);        //INFOLog.w(String tag, String msg);     //WARNLog.e(String tag, String msg);      //ERROR 以上log的级别依…
在windos下,pc机上电之后,BIOS会初始化硬件配置,为内核传递参数,引导操作系统启动,并且识别C盘.D盘.等整个操作系统启动起来之后,才可以运行应用程序比如QQ.QQ音影.同理,在嵌入式Linux操作系统中,bootloader在上电之后初始化硬件设备,引导Linux内核启动,并且挂在文件系统,等整个操作系统启动之后.运行应用程序. bootloader其实就是一个单片机程序,一般采用开发的语言是汇编和C语言,但是不同的硬件平台下的boot是不同的.booloader的启动是:首先将bo…
转载:http://blog.chinaunix.net/uid-28236237-id-3867041.html U-boot中通过环境参数保存一些配置,这些配置可以通过修改环境参数.保存环境参数.读取环境参数等操作进行灵活的配置,便于调试开发.这篇文章主要来分析一下u-boot中环境参数的实现.文章主要分为四个部分,第一是环境参数的存储格式,第二部分是环境参数的初始化,第三部分是环境参数的读取,第四个部分是环境参数保存过程. 首先,我们来看一下环境参数的存储格式.一般嵌入式系统的第一个分区是…
关于NAND flash的MTD分区与uboot中分区的理解 转自:http://blog.csdn.net/yjp19871013/article/details/6933455?=400850442         今天做内核移植,准备添加NAND flash的驱动,做到MTD分区时,想起在一本书上看到的一句话,说的是分区时每个区之间没有间隙,前一个区的结束地址是后一个区的起始地址.可是当我看我的开发板的教程时,分区如下: static struct mtd_partition smdk_d…
U-Boot中的环境命令可以使用$(filesize)来确定刚下载(传输)得到的文件大小. 因为使用类似tftp命令传输文件后,会自动更新filesize环境变量.如:setenv updaterootfs nand write.yaffs 30000000 200000 $(filesize)这时如果printenv,会发现updaterootfs=nand write.yaffs 30000000 200000 6365D0 这里的6365D0为setenv语句时环境变量filesize的大…
转:http://blog.chinaunix.net/uid-22030783-id-366971.html 在uboot中加入快捷操作菜单的方法非常简单,在论坛发布的uboot201003V1.1的源码包里已经包含了菜单的源码http://www.xcembed.com/bbs/viewthread.php?tid=19&page=1&extra=#pid32 效果如下: 这个菜单其实就是一个uboot中的命令,uboot启动时,如果进入下载模式,就先运行这个命令.命令的执行内容就是通…