随笔分类 -  U-Boot

概念,分析与移植
摘要:为什么启动的时候,需要关闭缓存和mmu呢?我们先了解一下他们的作用。 缓存是主存(内存)和CPU通用寄存器之间设置的一个高速的、容量相对较小的存储器,把正在执行的指令地址附近的一部分指令或数据从主存调入这个存储器,供CPU在一段时间内使用,以提高程序的运行速度。 mmu可以实现虚拟内存和内存保护等功 阅读全文
posted @ 2020-04-17 00:01 朱果果 阅读(1520) 评论(0) 推荐(0)
摘要:https://www.cnblogs.com/xiaojiang1025/category/915091.html 阅读全文
posted @ 2020-04-16 21:47 朱果果 阅读(147) 评论(0) 推荐(0)
摘要:先了解一下FS4412开发板的硬件环境, 可以看到: 4412有8G内存,即 DDRⅢ 双速率SDRAM,可片上执行,一般为机器运行软件提供内存,掉电后数据丢失。 还有4G的eMMC,也就是Nand Flash,但是同时集成了主控芯片与接口,不可以片上执行,但掉电后数据不会丢失。 同时4412支持S 阅读全文
posted @ 2020-02-24 02:31 朱果果 阅读(1413) 评论(0) 推荐(0)
摘要:在上一节知道了,通过 命令 make xxx_config指令可以实现初步的配置,现在就来看看这个指令是怎样实现配置的。 一、查看顶层的Makefile 在上一节知道了,通过 命令 make xxx_config指令可以实现初步的配置,现在就来看看这个指令是怎样实现配置的。 1、查看顶层的Makef 阅读全文
posted @ 2020-02-21 19:31 朱果果 阅读(1343) 评论(0) 推荐(0)
摘要:在分析U-Boot源码之前,先了解uboot的编译过程 环境: 开发板:友善之臂的JZ2440,主控:S3C2440 ARM920t Uboot源码包:u-boot-1.1.6 一、解压、打补丁 二、配置 通过阅读 顶层的README 来了解Uboot配置与编译是一种很好的方法。 可知,要使用开发板 阅读全文
posted @ 2020-02-21 01:34 朱果果 阅读(231) 评论(0) 推荐(0)
摘要:以下内容源自于:韦东山老师的《嵌入式Linux应用开发 》 目的:了解Bootloader与内核交互的原理 由于Bootloader和内核交互是单向的,只能是B将参数传给内核,且不能同时运行,那传递参数方法就只有:Bootloader将参数放在某个约定的地方,再启动内核,内核启动后去这个地方获得参数 阅读全文
posted @ 2020-02-21 01:23 朱果果 阅读(451) 评论(0) 推荐(0)
摘要:(记一次错误的解决,转载网上的方法以便下次碰到能快速解决) 转:https://www.linuxidc.com/Linux/2011-08/41133.htm 提示错误: arm-linux-gcc: Command not found zPATH里有/usr/local/arm/2.95.3/b 阅读全文
posted @ 2020-02-19 20:18 朱果果 阅读(453) 评论(0) 推荐(0)
摘要:第二阶段的功能: 初始化本阶段所需的硬件设备(主要设置系统时钟、初始化串口、Flash、网卡、USB) 检测系统内存映射(memory map) 将内核映像和根文件系统映象从Flash上读到RAM空间中 为内核设置启动参数 调用内核 从start_armboot开始,程序流程如图 阅读全文
posted @ 2019-03-25 23:11 朱果果 阅读(1156) 评论(0) 推荐(0)
摘要:一、概述 u-boot的启动流程: 从文件层面上看主要流程是在两个文件中:cpu/arm920t/start.s,lib_arm/board.c, 先来分析start.s 在flash中执行的引导代码,也就是bootloader中的stage1,负责初始化硬件环境,把u-boot从flash加载到R 阅读全文
posted @ 2019-03-25 21:54 朱果果 阅读(1223) 评论(0) 推荐(0)
摘要:嵌入式Linux系统从软件角度通常可以分为以下4个层次: 引导加载程序 | Linux内核 | 文件系统 | 用户应用程序 嵌入式Linux系统中典型分区结构: 正常启动过程中,Bootloader首先运行,然后它将内核复制到内核中,并且在内存某个固定地址设置好要传递给内核的参数,最后运行内核。内核 阅读全文
posted @ 2019-03-25 19:25 朱果果 阅读(2391) 评论(0) 推荐(0)