当前位置: 首页 > news >正文

自动成交型网站建设深圳网站建设大公司

自动成交型网站建设,深圳网站建设大公司,wordpress docx插件,做美容美发的网站有哪些Linux—嵌入式Linux系统的组成、u-boot编译 前言一、嵌入式Linux系统的组成1.1 嵌入式Linux系统和PC完整的操作系统的对比如下#xff1a;1.2 PC机—Windows系统启动流程#xff08;PC机—Linux系统、嵌入式ARM—linux系统的启动流程类似#xff09; 二、编译u-boot2.1 u-bo… Linux—嵌入式Linux系统的组成、u-boot编译 前言一、嵌入式Linux系统的组成1.1 嵌入式Linux系统和PC完整的操作系统的对比如下1.2 PC机—Windows系统启动流程PC机—Linux系统、嵌入式ARM—linux系统的启动流程类似 二、编译u-boot2.1 u-boot简介2.2 XIP设备2.3 为什么需要u-boot2.4 u-boot启动流程总结1. **设备上电执行ROM代码 —— 加载U-Boot SPLSecondary Program Loader**2. **执行SPL —— 初始化基本硬件**3. **执行SPL —— 加载 U-Boot Proper**4. **执行U-Boot Proper —— 进一步初始化硬件、加载操作系统内核**5. **启动操作系统内核**6. **操作系统运行**疑问点1. **LDDR内存**2. **旁边的存储设备带有mmcbblk1分区的部分**3. **为什么需要这些东西** 前言 一、嵌入式Linux系统的组成 1.1 嵌入式Linux系统和PC完整的操作系统的对比如下 1. BIOS和UEFI的作用 a. 进行硬件自检检测内存CPU显卡硬盘等设备的状态和配置。 b. 设置启动顺序选择从哪个设备加载引导程序如硬盘U盘等。 c. 加载引导程序如bootmgrgrub2等然后由引导程序加载操作系统如WindowsLinux等。 d. UEFI是BIOS的一种升级替代方案。UEFI本身已经相当于一个微型操作系统。2. grub2和bootmgr: a. grub2 是 GNU项目 开发的一种通用的引导加载器它可以引导多种不同的操作系统包括LinuxWindowsFreeBSD等。 b. bootmgr 是 Windows版本 的引导加载器它只能引导 Windows系统 或者其他使用 MBR分区表 的系统。 c. grub2 和 bootmgr 都可以通过 chainloader命令 来加载对方的引导文件从而实现多重引导。 d. 加载引导程序如 bootmgrgrub2 等然后由引导程序加载操作系统如 WindowsLinux 等。3. U-boot a. uboot是一种用于嵌入式系统的引导加载器它可以支持多种硬件平台和架构如ARMMIPSPowerPC等. b. uboot可以提供BIOS和grub2的功能它可以初始化硬件设备设置启动顺序加载引导文件启动操作系统或者进入命令行模式1.2 PC机—Windows系统启动流程PC机—Linux系统、嵌入式ARM—linux系统的启动流程类似 对应上面的系统流程图这里以启动我们常用的windows操作系统为例那么PC机从开机到运行程序的启动过程如下 预引导阶段 当我们按下电源按钮时计算机会进行自检POST并执行一些基本的硬件初始化。然后它会查找EFI分区并加载EFI分区中的引导文件通常是\EFI\Boot\bootx64.efi。 引导阶段 引导文件如bootmgfw.efi会启动Windows的引导管理器bootmgr。引导管理器会显示一个启动菜单我们可以选择需要启动的操作系统或者让它进入安全模式等。 载入内核阶段 接着引导管理器会选择适当的内核文件如ntoskrnl.exe并加载到内存中。同时它还会加载一些必要的设备驱动程序和系统服务。 初始化内核阶段 载入内核阶段完成后Windows内核会进行自我初始化包括设置内存管理、输入输出系统、进程管理等。内核还会创建系统进程如SYSTEM和SMSS并加载更多的设备驱动程序和系统服务。 用户登录阶段加载Windows用户环境和应用程序 用户登录内核初始化完成后会启动Windows的登录管理器winlogon登录管理器会显示出登录界面用户在登录界面输入用户名和密码系统验证用户的身份。创建用户会话如果用户身份验证成功Windows系统会为该用户创建一个新的用户会话。这个过程包括加载用户的配置文件、设置用户的环境变量等。启动Windows的外壳程序explorer加载Windows用户环境用户会话创建完成后系统会自动启动 explorer 进程。explorer进程负责加载Windows用户环境其中包括显示用户的桌面、任务栏和开始菜单等用户界面元素。用户交互、加载应用程序用户可以通过桌面、任务栏和开始菜单等用户界面元素与操作系统进行交互启动应用程序、管理文件等。当用户点击某个应用程序的图标时系统会启动该应用程序的进程并将应用程序的窗口显示在桌面上。 这就是Windows系统的启动流程。与Linux系统相比Windows系统在引导阶段会加载更多的设备驱动程序和系统服务因此在启动速度上可能会稍慢一些。 二、编译u-boot 2.1 u-boot简介 uboot是一种通用的引导加载程序它可以用于多种嵌入式系统支持多种操作系统如Linux, Android, NetBSD等。 uboot的主要作用是将操作系统内核从存储设备如Flash, SD卡等加载到内存中并执行内核代码。2.2 XIP设备 XIP设备是指一种可以直接在存储器中执行程序代码的设备而不需要将代码复制到内存中。 XIP的全称是eXecute In Place即芯片内执行。像片内的SRAM NOR Flash BROM等。 2.3 为什么需要u-boot 因为嵌入式系统的硬件资源有限CPU上电后只能执行一小段内置的代码BROM System 这段代码不足以完成内存初始化文件系统访问网络通信等复杂的任务。 因此需要一个中间层的程序来完成这些工作并引导操作系统启动。2.4 u-boot启动流程 以下官网有对U-Boot SPL大小限制的说明 https://linux-sunxi.org/BROM 另《Allwinner_H616_Datasheet_v1.0.pdf》3.1 Memory Mapping章节对BROM大小的说明。 根据上面图示从设备上电开机到操作系统内核启动U-Boot的启动过程可以分为几个详细的阶段 总结 BROM (Boot ROM)系统上电后BROM自动执行自己出厂时烧录好的程序。 根据芯片的引脚电平或寄存器设置确定启动模式。 根据启动模式选择相应的设备驱动初始化SD卡设备控制器设置设备参数如设置时钟频率总线宽度电压等级等。 从外部存储器如SD卡、eMMC等中找到并加载SPL程序到SRAM中。U-Boot SPLSPL在SRAM中执行负责初始化最基本的硬件特别是DDRLDDR内存控制器然后加载U-Boot proper到LDDR中。U-Boot ProperU-Boot proper在LDDR外部内存中执行进行更深入的硬件初始化、设备检测、操作系统内核加载和启动。操作系统内核启动并运行U-Boot完成加载并启动内核后交出控制权操作系统开始运行。 1. 设备上电执行ROM代码 —— 加载U-Boot SPLSecondary Program Loader 执行位置: BROM (Boot ROM)加载对象的来源外部存储中的U-Boot SPL在图中位于外部存储设备的8~40KB的分区 当设备上电后H616 SOC中的BROM64KB开始执行程序。这段代码是SOC出厂时预烧录在内部的它位于SOC的ROM中且不可更改。 BROM会根据芯片的引脚电平或寄存器设置确定启动模式比如从nand flashspi flashsd卡usb等设备中启动。 BROM会根据启动模式选择相应的设备驱动初始化SD卡设备控制器设置设备参数如设置时钟频率总线宽度电压等级等。BROM的任务非常简单主要是寻找并加载更高级的引导程序也就是U-Boot SPL。 BROM会检测外部存储设备如SD卡、eMMC等根据预设的引导顺序从存储设备中查找U-Boot SPL并加载其到SOC内部的SRAM中以便执行。在图中外部存储设备的8KB~40KB位置的分区是用来存储SPL的。 2. 执行SPL —— 初始化基本硬件 执行位置: SRAM 当BROM成功查找并将其加载到SRAM后SPL在SRAM中开始执行。SPL作为一个精简的引导程序主要任务是负责执行关键的硬件初始化任务并决定是否加载 U-Boot Proper。初始化基本硬件资源SPL通常会初始化CPU、PLL生成时钟频率、DDRLDDR内存控制器和最基础的外设gpio等。这其中包括的DDRLDDR内存控制器的初始化便于系统拥有更多内存用于加载完整的U-Boot程序和操作系统。加载U-Boot ProperSPL成功完成硬件初始化后它会决定是否继续加载U-Boot proper完整版本的U-Boot。 3. 执行SPL —— 加载 U-Boot Proper 执行位置: SRAM加载对象的来源外部存储中的U-Boot Proper在图中位于外部存储器40~1024KB的内存位置 在U-Boot SPL初始化完成后U-Boot SPL就会去加载完整的U-Boot引导程序这个U-Boot proper存放在外部存储器的另一个分区中在图中位于存储器40~1024KB的内存位置。U-Boot SPL会将U-Boot proper从外部存储器中读取将其加载到LDDR外部内存中并将控制权转交给U-Boot Proper。U-Boot proper的作用U-Boot proper是一个功能更完整的引导程序主要用于引导操作系统。 ①它可以进行更多的硬件初始化如设置网络、启动内核等。 ②提供调试接口它还为用户提供了一个可交互的引导环境允许配置启动参数。 ③加载操作系统内核并将控制权移交给内核。 4. 执行U-Boot Proper —— 进一步初始化硬件、加载操作系统内核 执行位置: LDDR外部内存加载对象的来源在图中位于外部存储器kernel内核的存储分区 进一步初始化硬件在执行过程中U-Boot proper会进行更深入的硬件检测确保所有的外设例如网络、存储、显示等已正确初始化。此时系统已经有足够的资源来运行更复杂的代码。加载环境变量U-Boot会加载存储在设备上的环境变量。这些变量可以包括启动参数、设备树配置、内核位置等信息。查找操作系统内核根据配置U-Boot会从特定的存储设备或通过网络如TFTP查找并加载操作系统内核。例如从外部存储设备的特定分区图中“kernel”区域中查找Linux内核。加载操作系统内核U-Boot将内核加载到内存LDDR中并根据设备树device tree的配置为操作系统提供硬件布局和状态信息。 5. 启动操作系统内核 执行位置: LDDR外部内存 启动内核U-Boot完成所有加载工作后U-Boot会通过“bootm”命令或者“bootz”命令启动操作系统内核。传递参数在启动内核时U-Boot将向内核传递启动参数、设备树以及内核命令行选项。控制权转交给内核最终U-Boot将控制权移交给操作系统内核通常是Linux。此时U-Boot的任务完成系统转入操作系统的执行流程。 6. 操作系统运行 操作系统内核启动后系统进入正常的操作系统级别运行。U-Boot的作用至此完成。 疑问点 在这个图中H616 SOC是主芯片系统级芯片System on Chip它包括CPU、SRAM静态随机存储器和BROMBoot ROM。这个图描述了一个典型的嵌入式系统启动过程涉及多个组件 1. LDDR内存 这个应该是DDR内存的一种可能是低功耗版的DDRLow Power DDR它是外挂的内存外部的物理内存芯片用于系统正常运行时的主要存储器。在图中LDDR连接到H616 SOC用来加载并执行uboot proper。 2. 旁边的存储设备带有mmcbblk1分区的部分 这个部分表示的是一个存储设备可能是一个eMMC或者SD卡等外部存储器它通过接口连接到H616 SOC。上面的“mmcbblk1”是Linux下的分区表示方法表示这个存储设备的第一个分区。这个存储器中包含启动所需的关键组件 MBR主引导记录这是硬盘的主引导区负责存储分区表信息和启动代码。uboot SPL这个是U-Boot的第一阶段引导程序Secondary Program Loader它是较小的引导程序通常会放置在SRAM中运行。这个程序负责初始化基本的硬件环境。uboot proper这是U-Boot的完整引导程序在SPL完成基本初始化后由它接管系统引导流程。它会被加载到外部内存LDDR中执行。kernel这是操作系统的内核SPL和U-Boot proper完成引导后最终会启动操作系统的内核。 3. 为什么需要这些东西 外部存储器带有mmcbblk1分区的部分H616 SOC内部存储有限因此需要通过外部存储设备来保存更大的引导程序和操作系统镜像。SOC本身的BROM可能只有极小的容量负责最基础的启动而后面的SPL、U-Boot和kernel等更大、更复杂的软件都放在外部存储器中。LDDR内存H616的内部SRAM容量很小无法运行复杂的引导程序或操作系统。因此复杂的引导程序如U-Boot proper和操作系统kernel需要加载到LDDR中以确保足够的空间和性能。 综上所述LDDR和外部存储设备都是外挂在H616 SOC上的硬件模块主要是为了弥补H616内部存储和运行空间的不足确保系统能够引导并运行复杂的操作系统。
http://www.w-s-a.com/news/663039/

相关文章:

  • 网站建设费大概多少钱成都网站建设低价
  • 做表格的网站东莞常平房价
  • 国家级建设网站高密做网站哪家强价位
  • 江西省新的建设厅三类人员网站做标记网站
  • 做最精彩绳艺网站产品设计培训
  • 营销型网站建设品牌深圳网络推广最新招聘
  • 单位网站等级保护必须做吗广州app软件开发公司
  • 免费flash网站模板怎么仿网站链接
  • 泉州网站建设哪家好平面设计转行做什么比较好
  • 忘记网站备案账号设计一个网站
  • 国内购物网站哪个最好海珠营销网站建设报价
  • 小型网站搭建logo免费制作
  • dede 网站模板哈尔滨房产信息网官方网站
  • 设计师个人作品集模板班级优化大师网页版登录
  • 高端网站建设教学网站开发前期准备工作
  • 网站评论列表模板设计官网的
  • 怎么做可以访问网站ui设计自学学的出来吗
  • 网站如何接入支付宝软件开发工作内容描述
  • 廊坊网站建设搭建整合营销传播的效果表现为
  • 网站服务器在本地是指园林绿化
  • 公司网站建设需要什么科目网站代运营价格
  • 网站建设前的ER图ppt模板图片 背景
  • 做一个网站花多少钱网站导航营销步骤
  • 仙桃网站定制做房产网站能赚钱吗
  • 西安网站制作模板最新源码
  • 南京江宁网站建设大学高校网站建设栏目
  • 模板网站建设明细报价表做网站第一
  • 公司网站建设系统软件开发 上海
  • 怎么让公司建设网站固安县建设局网站
  • 360免费建站官网入口手机网站建设设计