嵌入式linux系统的启动过程

上传人:re****.1 文档编号:465286132 上传时间:2023-01-29 格式:DOCX 页数:12 大小:22.01KB
返回 下载 相关 举报
嵌入式linux系统的启动过程_第1页
第1页 / 共12页
嵌入式linux系统的启动过程_第2页
第2页 / 共12页
嵌入式linux系统的启动过程_第3页
第3页 / 共12页
嵌入式linux系统的启动过程_第4页
第4页 / 共12页
嵌入式linux系统的启动过程_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《嵌入式linux系统的启动过程》由会员分享,可在线阅读,更多相关《嵌入式linux系统的启动过程(12页珍藏版)》请在金锄头文库上搜索。

1、一、分析嵌入式系统的启动过程嵌入式系统的启动过程:上电u-boot力口载 Linux 内核挂载 rootfs-执行应用程序二、分析 u-boot1. 什么是u-boot (是一个通用的bootloader)U-Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目。Universal通用的Boot启动,引导Loader 加载通用支持多种架构的CPU,除了支持ARM系列的处理器外,还能支持MIPS、x86、Power PC、NIOS等诸多常用系列的处理器支持多种厂家的开发板,如cortex-A8,cortex-A9,cortex-A53等不同 厂家的开发板支持多

2、种嵌入式操作系统,U-Boot不仅仅支持嵌入式Linux系统的引导, 它还支持 Net BSD, Vx Works, QNX, RTEMS, ARTOS, Lynx OS, android 嵌入式操作系统。Boot完成硬件的初始化,启动硬件平台。Loader当初始化硬件结束后,加载操作系统。2. u-boot的作用大多数BootLoader都分为stage1和stage2两大部分,U-boot也不例外。依赖于cpu体系 结构的代码(如设备初始化代码等)通常都放在stage1且可以用汇编语言来实现,而stage2 则通常用C语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植性。(1)S

3、tage1: CPU(S5P6818-Cortex-A53)的初始化,使用汇编语言编写。如:初始化 Cache、MMU、clock、中断、看门狗、DDR3、eMMC、.(2)Stage2:板级初始化,使用C语言编写。如:uart、网卡、usb、LCD、.(3)提供了一些工具,如进入uboot的命令行模式,使用u-boot命令(4)加载操作系统3. U-boot的工作模式U-Boot的工作模式有启动加载模式和下载模式。(1) 启动加载模式是Bootloader的正常工作模式,嵌入式产品发布时,Bootloader必须 工作在这种模式下,Bootloader将嵌入式操作系统从FLASH中加载到SD

4、RAM中运行,整个 过程是自动的。(2) 下载模式就是Bootloader通过某些通信手段将内核映像或根文件系统映像等从PC机 中下载到目标板的FLASH中。用户可以利用Bootloader提供的一些命令接口来完成自己想 要的操作。4. U-boot的输出u-boot的版本号U-Boot 2014.07 (Apr 27 2017 - 15:45:25)PLL : 0 800000000 (0) PLL1: (7) PLL1:800000000, 1800000000, 2780000000, 3CPUCPUFCLK =FCLK =800000000,800000000,HCLK = 20000

5、0000HCLK = 200000000(G0)(G1)=200000000(1)PLL0:BUSBCLK=(8)PLL0:CCI4BCLK=(3) PLL0:G3DBCLK=(4) PLL0:CODABCLK=(5) PLL0:DISPBCLK=(6) PLL0:HDMIPCLK=(2) PLL3: MEM FCLK = 800000000, DCLK = 800000000, BCLK = 400000000, PCLK 400000000, PCLK = 200000000400000000, PCLK = 200000000400000000400000000, PCLK = 2000

6、00000400000000, PCLK = 200000000133333333I2C: readyDRAM: 1 GiB 内存 1GBHeap = 0x440000000x46000000Code = 0x43c000000x43c83e48GLD = 0x43bffeb8GLBD = 0x43bffe68SP = 0x43bffe68,0x43bffe48(CURR)PC = 0x43c06640TAGS = 0x40000100PAGE = 0x43c900000x43c9c000MACH = 4330VER = 0BOARD= x6818MMC: NXP DWMMC: 0, NXP

7、DWMMC: 1, NXP DWMMC: 2In:serialOut:serialErr:serial # DCDC_MODE(0x80): DCDC1PFM, DCDC2PFM, DCDC3PFM, DCDC4PWM, DCDC5PWM# STATUS(0x00) : 0xe4 0x10# IRQ(0x48)# CHG_TYPE# BAT_VOL# BATCAP0x00 0x00 0x00 0x00 0x00ADP0mV100%DONE: Logo bmp 300 by 300 (3bpp), len=270056 DRAW: 0x47000000 - 0x46000000DONE: Log

8、o bmp 300 by 300 (3bpp), len=270056DRAW: 0x47000000 - 0x46000000RGB: display.0MIPI: display.0DSIM_ESCMODE 1 : 0xc0DSIM_STATUS : 0x10010fMIPI clk: 420MHzDSIM_ESCMODE 2 : 0x0DSIM_STATUS : 0x10010f# Skip BAT Animation.# IRQ(0x48):0x000x000x000x00 0x00# chg_type : ADP# battery_vol : 0mV# battery_cap : 1

9、00%# BootingCard did not respond to voltage select!Net: x6818 eth init.x6818 mac init.dwmac.c0060000Hit any key to stop autoboot: 0 X6818#5. u-boot的信息X6818# bdinfo查看硬件平台的信息arch_number = 0x000010EAu-boot 针对具体硬件平台的 IDboot_params = 0x40000100u-boot传递给内存的启动参数DRAM bank = 0x00000000- start= 0x40000000内存的开

10、始地址- size = 0x40000000 内存的大小eth0name=dwmac.c0060000ethaddr=00:e2:1c:ba:e8:60current eth =dwmac.c0060000ip_addr=192.168.5.41baudrate=115200 bpsTLB addr=0x7FFF0000relocaddr=0x46000000reloc off=0x00000000irq_sp=0x7DF6BF00sp start=0x43BFFE68DDR3 的内存地址范围:0x40000000 0x7FFFFFFFX6818# printenv- 查看u boot的环境变

11、量androidcrc=-411152780baudrate=115200bootargs=lcd=at070tn92tp=gslx680-linuxroot=/dev/mmcblk0p2 rwrootfstype二ext4bootcmd二ext4load mmc 2:1 0x48000000 uImage;bootm 0x48000000bootdelay=5bootfile=uImageethact二dwmac.c0060000ethaddr=00:e2:1c:ba:e8:60网卡的 mac 地址ethprime=RTL8211网卡芯片的型号fastboot二flash二mmc,2:ubo

12、otpak:2nd:0x200,0x78000;flash二mmc,2:2ndboot:2nd:0x200,0x4000;flash=mmc,2:bootloader:boot:0x8000,0x70000;flash=mmc,2:boot:ext4:0x00100000,0x04000000;flash=mmc,2:system:ext4:0x04100000,0x2F200000;flash=mmc,2:cache:ext4:0x33300000,0x1AC00000;flash=mmc,2:m isc:emmc:0x4E000000,0x00800000;flash=mmc,2:reco

13、very:emmc:0x4E900000,0 x01600000;flash=mmc,2:userdata:ext4:0x50000000,0x0;filesize=41ee8gatewayip=192.168.5.1网关ipaddr=192.168.5.41板子的IPnetmask=255.255.255.0子网掩码serverip=192.168.5.40stderr=serialstdin=serialstdout=serialtftp服务器的IPEnvironment size: 846/32764 bytes关键的内容:(1) bootargs 启动参数bootargs=lcd=at

14、070tn92 tp=gslx680-linux root=/dev/mmcblk0p2 rwrootfstype=ext4lcd=at070tn92 液晶屏的型号,800*480tp=gslx680-linux 触摸屏的型号root=/dev/mmcblk0p2rootfs 在哪里,告诉 kernel 去哪里挂载 rootfs/dev/mmcblk0p2 mmcblk0 (emmc 电子硬盘)p2 (partion2, emmc电子硬盘的第二个分区)rw rootfstype二ext4rootfs是可读可写的,根文件系统的类型是ext4练习:如何查看emmc电子硬盘有几个分区,以及设备的详细信息 答:到根目录去查看cd /dev + ls -l或者ls -l /devbrw-rw1 rootroot179,0 Jan11970 mmcblk0brw-rw1 rootroot179,8 Jan11970 mmcblk0boot0brw-rw1 rootroot179,16 Jan11970 mmcblk0boot1brw-rw1 rootroot179,1 Jan11970 mmcblk0p1brw-rw1 rootro

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号