嵌入式系统启动流程(学习笔记)

发布者:Quail最新更新时间:2021-07-26 来源: eefocus关键字:嵌入式系统  启动流程  Bootloader 手机看文章 扫描二维码
随时随地手机看文章

Bootloader启动阶段

3个2

两个阶段:汇编语言阶段,C语言阶段

两次硬件初始化:基本硬件初始化,初始化时钟串口flash等

大部分硬件初始化

两次搬移:自搬移到内存,搬移内核到内存


linux内核启动阶段

自解压内核

运行内核汇编部分,检测合法性(CPU类型等)

运行内核C部分

挂载rootfs

运行第一个应用程序init(一般是linuxrc)


根文件系统阶段(可运行应用程序)

在这里插入图片描述

在这里插入图片描述


关键字:嵌入式系统  启动流程  Bootloader 引用地址:嵌入式系统启动流程(学习笔记)

上一篇:基于TQ2440的linux-2.6.30.4内核移植
下一篇:基于TQ2440的u-boot-1.1.6移植(基本步骤)

推荐阅读最新更新时间:2024-11-10 17:44

CRC校验---之avrbootloader
先看一下要用到的函数。 #include util/crc16.h 这是计算单个字节的CRC(旧crc与data生成) static __inline__ uint16_t _crc_xmodem_update(uint16_t __crc, uint8_t __data); 多项式Polynomial: x^16 + x^12 + x^5 + 1 (0x1021) crc初始值Initial value: 0x0 专用于XMODEM通讯协议,等效于C写的 uint16_t crc_xmodem_update (uint16_t crc, uint8_t data) { int i; crc = crc ^ ((ui
[单片机]
CRC校验---之avrbootloader
i.MX6为嵌入式系统实现安全启动
确保安全的启动(开机)过程是保护任何嵌入式系统的首要步骤,也是在应用中预防恶意软件壁垒的必要部份… 随着物联网(IoT)装置的广泛普及——从智能城市到无线珠宝,物联网几乎渗透到日常生活的每一步,对于物联网类型的嵌入式系统划定安全优先顺序的需求日益迫切。确保安全的启动过程是保护任何嵌入式系统的首要步骤,也是在应用中预防恶意软件壁垒的必要部份。让我们看看其优缺点,并以电子产业中常见的处理器之一——i.MX6为例加以说明。 什么是安全启动? “安全启动”(secure boot)是指作业系统(OS)在启动镜像与程式码之前必须先根据硬件进行认证,才能使其用于启动的过程。硬件必须以此方式提前作好准备:它只认证使用受信任的安全凭证
[半导体设计/制造]
嵌入式系统高效多串口中断源的实现
近几年来,随着后PC时代的来临,嵌入式系统由于其简洁、高效等特点,得到了飞速发展,嵌入式技术目前已将各种计算机技术多层次、多方面地交叉融合在一起。嵌入式系统加快了工业设计进程,降低了开发成本及其风险,使用简便,扩展灵活,高效精简,可方便应用于工业各个领域。 传统方法中,扩展多个串行口是利用多个中断源。但在嵌入式系统中,花费大量的中断源来扩展串口无疑是大量的资源浪费。针对这种情况,为了节省紧张的系统资源,本文提出的实现高效多串口中断源方案,可以利用单一的中断源来管理多个扩展串口,并保证多个串口中断的无漏检测与服务。 总体设计 方案的基本组成如图1所示。RS-232串口通过驱动芯片MAX202转换成TTL电平,通过串口异步通信
[单片机]
<font color='red'>嵌入式系统</font>高效多串口中断源的实现
Bootloader中LCD硬件初始化和软件驱动程序设计
Android系统在正常启动中,刷屏功能一般在内核中执行,而Bootloader的任务应该是执行硬件初始化,并尽快跳转到Linux内核。在Bootloader启动过程中使能一个显示驱动,实现刷屏功能,并不违背这一目标。本文通过对Bootloader的原理分析和嵌入式芯片C6310中LCD控制器的研究,设计了Bootloader中LCD硬件初始化和软件驱动程序。该设计完善了Bootloader的扩展功能,加快了手机动画的实现,改善了客户的使用体验。 Android自2011年以来实现了计算机诞生以来最快速度的用户群体增长,目前Android以每天85万新激活数的速度快速征服世界,在世界范围内成为占有率最高的智能手机操作系
[单片机]
<font color='red'>Bootloader</font>中LCD硬件初始化和软件驱动程序设计
CEVA推深层神经网络框架,加快嵌入式系统机器学习技术应用
CDNN 软件框架结合CEVA-XM4图像和视觉DSP具有下列优势: 实时目标识别和视觉分析 用于嵌入式系统的最低功耗深层学习解决方案:与基于GPU的领先解决方案相比,功耗降低30倍,处理速度加快3倍 与典型的神经网络实施方案相比,所需平均存储带宽减少15倍 从离线预训练网络自动转换至实时嵌入就绪(embedded-ready)网络 具有支持各种神经网络结构的灵活性,包括任何层数目和层类型 DSP IP平台授权厂商CEVA公司宣布推出实时神经网络软件框架CEVA 深层神经网络(CEVA Deep Neural Network, CDNN),以简化低功耗嵌入式系统中的机器学习部署。通过利用CEVA-XM4 图像和视觉DSP的处
[嵌入式]
BootLoader(2440)核心初始化代码
1.gboot.lds OUTPUT_ARCH(arm) ENTRY(_start) SECTIONS { . = 0x30008000; //起始地址 . = ALIGN(4);//4字节对齐 .text :  //代码段 { start.o (.text)//以.o开始执行 *(.text) } . = ALIGN(4); .data : //数据段 { *(.data) } . = ALIGN(4); bss_start = .;//定义变量 .bss : //未初始化段 { *(.bss) } bss_end = .; } 2.start.
[单片机]
ARM技术大会:雄“芯”勃勃进军物联网
早在ARM TechCon 2014大会上,ARM携手合作伙伴全面展示其在移动设备、物联网与服务器等领域的芯片技术最新成果。根据eetimes网站报道,笔者了解到,尽管ARM SoC已取得了更大地进展,但尚未达到其黄金时期,其中核心技术正朝主流的FinFET技术节点迈进,而物联网与嵌入式系统也持续市场扩张。 面对市场的变化需求,正如ARM CEO Simon Segars在ARM TechCon 2014上强调“成功的技术是无形的”。尽管芯片的尺寸不断变小,但连接性、性能与能效对于消费者而言要更加的“不可见”。同时,为了促进硬件与服务快速发展,如软件定义网络(SDN),通过虚拟化将有效降低复杂度,带来更有效率的系统,从而帮助用
[单片机]
STM32固件升级详解(BootLoader
基础知识 这里以 KEIL 开发环境和 STM32F103RET6 为例。 上电时单片机首先进入复位中断 Reset_Handler,即汇编文件的复位中断处理函数。 并且有一个中断向量表默认存在于 flash 地址开始处。 为什么说是默认呢?这是因为如果没有特殊要求的话很少会去改中断向量表。实际上这个中断向量表是可以更改的。但是在更改向量表之前必须在地址开始处建立一个向量表,因为在复位后,程序默认(硬件决定的)从flash开始的第一个字读取栈指针,第二字就是复位中断的入口,并根据该指针最终进入复位处理函数中执行相应的函数。如果没有这个中断向量表程序是无法启动的。 那么既然前面说可以重新设定中断向量表的位置,那必然有一
[单片机]
STM32固件升级详解(<font color='red'>BootLoader</font>)
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved