u-boot
弋阳yoga
这个作者很懒,什么都没留下…
展开
-
imx8mq 修改cpu温度限制
当cpu温度传感器大于指定温度时,会出现一直在检测温度的情况有需要时可以修改此温度。涉及到的修改包括u-boot和内核 u-boot drivers/thermal/nxp_tmu.cint nxp_tmu_get_temp(struct udevice *dev, int *temp){ struct nxp_tmu_plat *pdata = dev_get_platdata(dev); int cpu_tmp = 0; int ret; ret = read_.原创 2020-09-07 10:06:41 · 1648 阅读 · 2 评论 -
内核获得u-boot传递的TAG的方式
uboot在完成所有工作之后使用theKernel()启动内核theKernel (0, machid, bd->bi_boot_params); 传递三个参数0、machid、TAG的首地址,分别存入r0,r1,r2,之后启动内核。内核中获取TAG首地址则是在arch/arm/kernel/setup.c文件的setup_arch()函数中(内核版本:linu...原创 2020-02-21 21:06:36 · 306 阅读 · 0 评论 -
uboot移植问题:u-boot 2012-07启动内核后停在Uncompressing Linux... done, booting the kerne
针对于这个问题,网上有很多原因:U-BOOT传给内核的id出错,仔细检查了我最后找到的原因是时钟分频设置错误,直接使用了默认宏。(设置错了的情况下u-boot操作外设竟然也能成功!)# if defined(CONFIG_S3C2400)# define pWTCON 0x15300000# define INTMSK 0x14400008 /* Interrupt-Con...原创 2020-01-18 22:55:23 · 369 阅读 · 1 评论 -
uboot移植问题:u-boot 2012-07所有命令行指令都无法识别
针对于这个问题 我找到的错误是重定位后的栈地址设置出错栈地址被我设置成了.word型,2字节数据设置的地址肯定不在内存中,没办法调用函数,所以出错。.globl base_spbase_sp: .word 0 改为.long型之后就可以使用了.globl base_spbase_sp: .long 0 ...原创 2020-01-05 21:25:29 · 543 阅读 · 0 评论 -
uboot分析之启动函数bootm命令
转自https://www.cnblogs.com/lifexy/p/7310279.html本节主要学习:详细分析UBOOT中"bootcmd=nand read.jffs2 0x30007FC0 kernel;bootm 0x30007FC0"中怎么实现bootm命令启动内核.其中bootm要做的事情:a 读取头部,把内核拷贝到合适的地方(0x30008000) 结...转载 2019-12-24 09:02:27 · 966 阅读 · 0 评论 -
uboot分析之通过nand命令读内核
转自---https://www.cnblogs.com/lifexy/p/7310147.html修改了一些个人感觉不太完整的描述本节主要学习:详细分析UBOOT环境变量中"bootcmd=nand read.jffs2 0x30007FC0 kernel;bootm 0x30007FC0"怎么实现nand命令读内核。1. nand read.jffs2 0x30007FC0 ke...转载 2019-12-20 21:17:08 · 1100 阅读 · 0 评论 -
lds文件代码段的排放
在自己写简单BootLoader时发现了一个问题,lds文件中未指定.text段时各文件的存放顺序,但是u-boot内的lds有指定text段最开始要存放start.o。网上查了很久未指定.text段时各文件的存放顺序,直到论坛上有个人回答了我。带着疑问我做了几个试验。原先的makefile和lds文件内容CC = arm-linux-gccLD ...原创 2019-12-16 10:34:19 · 594 阅读 · 0 评论 -
u-boot start.S中关于代码重定位的分析
为何需要重定位?对于s3c2440cpu来说,如果选择了nand启动,系统启动时只将NandFlash的前4K拷贝到了BootSRAM中,如果BootLoader程序大于4k,就需要在这4K代码中将完整代码拷贝到内存中,之后再跳转到内存中执行。如果选择了nor启动,系统会从nor的0开始执行,但是norflash不能直接写入,当程序需要对一些全局变量进行修改的时候,会发现值修改不成功,程序...原创 2019-12-11 16:35:37 · 264 阅读 · 0 评论 -
u-boot start.S内容分析
根据之前的《u-boot 链接脚本内容分析》中可以知道u-boot执行时的第一个文件是/u-boot-1.1.6/cpu/arm920t/start.sstart.s的主要工作分为:设置运行模式为svc模式关看门狗屏蔽中断初始化SDRAM设置栈(此时可以调用c函数)使能时钟重定位 代码从FLASH拷贝到SDRAM清bss段调用start_armbo...原创 2019-12-10 14:17:05 · 111 阅读 · 0 评论 -
u-boot 链接脚本内容分析
根据之前写的《u-boot makefile内容分析》里中写到的,u-boot执行make之后最终会使用u-boot-1.1.6/board/100ask24x0/u-boot.lds来做为链接文件。以下是此文件的简单分析OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")//定义3种输出文件的格...原创 2019-12-09 09:44:38 · 124 阅读 · 0 评论 -
u-boot makefile内容分析
之前make mkconfig时生成的/include/config.mk内容为ARCH = armCPU = arm920tBOARD = 100ask24x0SOC = s3c24x0生成的/include/config.h内容/* Automatically generated - do not edit */#include <config...原创 2019-12-06 10:50:19 · 121 阅读 · 0 评论 -
u-boot mkconfig文件分析
在编译u-boot之前先需要输入make 100ask24x0_config进行配置在makefile文件中搜索 100ask24x0_config得到以下语句100ask24x0_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t 100ask24x0 NULL s3c24x0$(@:_config=)代表的...原创 2019-12-05 14:12:29 · 140 阅读 · 0 评论