栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

uboot(潦草笔记)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

uboot(潦草笔记)

公共资源网站:https://source.codeaurora.org/external

一、上电
二、BootLoader
    1、Uboot作用与目的:从flash读内核到SDRAM后启动内核。
        (1)初始化硬件;设置时钟(屏蔽中断)、看门狗(关看门狗)、设置SDRAM、初始化NAND FLASH(设置栈、设置sp->内存、调用C函数-读出内核启动内核)、网卡、串口等;
        (2)若BootLoader比较大,将其重定位到SDRAM;
        (3)将内核由NAND FLASH 读入SDRAM;
        (4)设置要传递到内核的参数;
        (5)跳转执行内核,启动内核(代码拷贝,从flash(NOR flash/Nand flash)独读出内核放到SDRAM,启动内核);
        (5)清bss段;
        (6)调用start_armboot;
    2、下载源码:
    Uboot官方下载地址:https://ftp.denx.de/pub/u-boot/;
        (1)wget https://ftp.denx.de/pub/u-boot/u-boot-2021.07.tar.bz2;
        (2)tar -xjvf u-boot-2021.07.tar.bz2;
        (3)打补丁文件:patch -p **数字  < 补丁文件;
        (4)配置,make **** config;
        (5)编译,make;
    3、代码分析
        (1)第一个文件:cupstart.S
        (2)链接脚本u-boot.lds
        (3)等

一些概念:
(1)块对齐;
            

#define S3C2440_MPLL_200MHZ
.text
.global _start
_start:


	ldr r0 = 0x530000
	mov r1, #0
	str r1, [r0]
	

	ldr	r0 =0x4c000014
	mov r1 #0x03
	str r1, [r0]

	mrc p15, 0 , r1, c1, c0, 0 
	orr r1, r1, #0xc0000000  
	mcr p15, 0, r1, c1,c0, 0  

	ldr r0 = 
	






    
三、启动Linux kernel
四、挂接根文件系统
五、启动根文件系统下的应用程序




ramdisk文件系统:
基本原理:划分一块内存(断电不保存)作为磁盘使用;不是文件系统,是将文件系统加载到内存的一种机制;将加载的文件系统作为根文件系统,
1.initrd,可格式化并加载, , 大小固定 ( kernel2.0/2.2及以上支持 );
   实际使用的是ext2文件系统,
2.initramfs,通过ramfs 来实现 , 不能被格式化 , 大小随所需要的空间增加或减少 (kernel2.4以上支持);
资源链接:
ramdisk文件系统的介绍与制作_倚楼听风雨的博客-CSDN博客_ramdisk文件系统
initramfs文件系统的介绍与制作_倚楼听风雨的博客-CSDN博客_initramfs文件

笔记备注:
1.load
    usb start 0
    fatload usb 0 0x23000000 c2p_an.dtb
    fatload usb 0 0x23100000 /ramdisk/uImage
    fatload usb 0 0x23100000 /uImage-ok
    fatload usb 0 0x23100000 /mount_8/
    fatload usb 0 0x23100000 /MSTAR/uImage

    fatload usb 0 0x23000000 DTB.dtb
    fatload usb 0 0x23100000 /11/loader.ramdisk
    bootm 0x23100000
    
    ubiattach /dev/ubi_ctrl -m 3
    mount -t ubifs /dev/ubi0_1  /config
    mount -t ubifs /dev/ubi0_2  /application
    mount -t ubifs /dev/ubi0_3  /vendor/lib
    mount -t ubifs /dev/ubi0_4  /vendor/lib/utopia
    
2.    ulimit -s 4196
    ulimit -c unlimited > /dev/null 2>&1
    
4.     udstar  - Execute the script file that is stored in usb disk
    ustar   - ustar   - update kernal & root file system automatically by script file    
    
    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/729519.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号