完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
RAM Code: RAM Code是固化在芯片中的一段代码,当芯片正常上 电时,芯片会首先执行此段代码。 RAM Code startup: ROM Code首先会为自己的运行环境做一些基本的初始化,比如堆栈设置、关门狗设置、时钟设置。————这里只是为ROM Code自身的运行创建最基本的运行环境。 RAM Code Booting: 然后根据SYSBOOT引脚信息创建启动列表,接着根据启动列表按顺序检测可用的启动设备,当检测到可启动设备的的话,就从相应设备运行。当列表检测完之后还没有找到可启动设备,就进入死循环,等待看门狗来复位系统(看门狗在ARM Code startup阶段被设置为3min)。 BeagleBone Black 的 uBOOT 按键与启动列表: 由BeagleBone Black的硬件原理图知道uBOOT按键接在BOOTPIN{2}上,按下时为0;根据AM335X系列的技术参考手册可得,当按下uBOOT时的启动列表为{SPI0,MMC0,USB0,UART0};当没有按下时的启动列表为{MMC1,MMC0,UART0,USB0}。在BeagleBone Black上板载eMMC接在MMC1上,SD卡槽接在MMC0上,故默认情况下BeagleBone Black由板载eMMC启动,当在eMMC上没有找到可启动文件时(RAM Code在MMC下可是支持FAT文件系统的哦,该启动文件就是MLO)就会从接在MMC0上的SD卡启动,按下uBOOT时就不从eMMC启动了 。 BeagleBone Black 的uBOOT 与系统更新的关系: 由上段可知,uBOOT只有改变启动设备的效果,并不决定是否更新eMMC,所以是否更新还是由系统镜像本身来决定的。 BeagleBone Black eMMC 系统更新流程: ——(更新BBB-eMMC-flasher-debian-7.5-2014-05-14-2gb.img) 把下载好的eMMC系统镜像烧写到SD卡后,在SD卡上便存在两个分区,第一个为FAT32格式的BOOT分区(系统启动后在PC上出现的虚拟优盘便是这个分区),第二个为EXT4格式的ROOTFS分区(即LINUX的根文件系统),SD卡插入卡槽、按下uBOOT(直到4个LED同时点亮,大概一秒钟左右)(有串口的可以接上,可以在通过串口终端观察到相关启动信息),接通USB(供电)。这时RAM Code便会选择从SD卡启动,先是找到MLO文件并加载运行,为u-boot.img运行做好环境准备,然后跳转到u-boot运行(此时就可以看到串口终端有信息出现了),接着加载内核运行,当系统运行起来后,便会出现虚拟U盘,同时开始更新eMMC的系统(可以用top命令查看到相关的进程占用大量的CPU资源),当4个LED同时持续性点亮时系统就更新到eMMC了。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
165个成员聚集在这个小组
加入小组BBB通过sd卡启动ubuntu16.04后不能升级下载联网的问题
4411 浏览 2 评论
3176 浏览 0 评论
7502 浏览 5 评论
336浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 15:57 , Processed in 0.463896 second(s), Total 45, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号