tag 标签: boot

相关帖子
相关博文
  • 热度 6
    2023-8-31 17:14
    1819 次阅读|
    0 个评论
    根据JESD84-B51描述,eMMC支持两种boot方式,拉低CMD并读取boot数据,或者发送CMD0参数为0xFFFFFFFA。在V4.4之后,eMMC需要支持两种boot方式。 Boot分区 eMMC 默认分区包括存储数据的User Data Area,2个可能的Boot Area(规格由存储器制造商制定),和以认证和应答保护的方式来管理数据的Reply Protected Memory Block Area Partition。 每个Boot分区的最小单位是128KB,可以通过寄存器 EXT_CSD byte【226】来设置大小。 eMMC通过配置EXT_CSD byte【179】,Master通过CMD6来选择boot启动区域。 Boot操作 在上电或复位之后,如果没有其他命令发送,保持CMD拉低并至少持续74个时钟周期之后(或者发送参数为0xF0F0F0F0的CMD0,或者配置完EXT_CSD byte【162】 bit【1:0】之后使用硬件复位),slave开始初始化boot mode,开始内部准备boot data。 在CMD拉低的1s内,slave开始在data线上发送boot data,master在读取boot data期间要保持CMD为低。master在boot操作期间保持push-pull模式。 Master可以选择后向兼容的单倍数据速率接口时序,也可以选择双倍速率接口时序,通过EXT_CSD byte【177】 bit【4:3】来配置。 Boot期间不支持HS200和HS400。 通过设置EXT_CSD byte 179 bit 6 为 1,master可以选择接收boot ACK,master可以确认slave在boot模式。 如果使能boot ACK,slave必须在CMD拉低的50ms内发送“010”。如果boot ACK没有被使能,slave将不会发送 “010”。 在单倍数据速率模式下,device发送data,host在clk上升沿采样,每个数据线都有单独的CRC。 在双倍数据速率模式下,device发送data,host在clk上升沿和下降沿采样,每个数据线有两个CRC。在这种模式下,每个block的长度为512bytes,bytes以4bit或8bit交替出现,奇数bytes在clk上升沿采样,偶数bytes在clk下降沿采样。 所有DAT线上的时序都要符合DDR时序,开始位,结束位和boot ACK都是上升沿有效。 Master将CMD拉高时可以中止boot模式,如果master在数据传输阶段拉高CMD,slave会中止数据传输或者在Nst时钟周期(一个数据周期和结束位周期)内确认模式。如果Master在连续传输时中止boot模式,slave必须在Nst个时钟周期内释放数据线。 在所有boot数据发送到master后,boot操作就会终止。在boot操作执行之后,slave会准备好接收CMD1,master需要开始发送CMD1指令。 以上为标准的Boot流程,还有一种Boot方式是将CMD来低改为CMD0参数为0xFFFFFFFA的方式来完成,其他相同,方式如下图。
  • 热度 17
    2015-4-14 11:38
    2275 次阅读|
    0 个评论
    下图是HPS启动的详细步骤:   Altera的SoC FPGA启动过程总体可以使用上图来概括,fpga和arm的配置和启动又可以分为3种不同情况(Xilinx似乎只有一种情况)。分别是fpga和arm彼此独立配置和启动、FPGA先配置然后通过fpga启动arm,第三种情况是HPS先启动然后通过arm来配置fpga逻辑。下面分别对此进行简单介绍。   1、fpga和hps单独配置和启动      这种情况fpga从非HPS源配置,属于标准的fpga配置模式。同样,HPS获取Preloader也与fpga无关。如下图所示:     2、fpga首先配置       fpga通过传统的方式进行配置,然后HPS通过FPGA逻辑进行启动。       1)、首先需要等待init_done信号       2)、HPS的BootROM代码透过HPStoFPGA桥执行Preloader       3)、Preloader可以存放在FPGA内部RAM或者存放在外部存储器 下图展示了此过程:     3、HPS先启动,然后通过HPS配置fpga逻辑          HPS从与fpga无关的启动源启动,然后HPS的软件通过fpga管理器来配置fpga逻辑。注意,fpga的配置信息存储在Flash存储器或者其他可访问的通信接口处。下图展示了这种配置启动模式:                    
  • 热度 20
    2014-5-29 16:24
    1973 次阅读|
    0 个评论
    TI 28系列MCU的SCI boot     在使用TI的28系列芯片过程中,可能由于没有JATG仿真器,或者在发布的时候已经将JATG接口取消,这时如果要进行一些简单功能的验证测试可以借助FLASH串口烧录工具(如  codeskin公司的C2Prog软件 ),将代码直接烧录到目标板检查结果。如果不希望反复的擦写FLASH,可以将需要验证的功能模块的代码编写成在RAM中运行,然后通过串口根据SCI BOOT流程将代码暂时发送给cpu运行。通过SCI BOOT,可以编写类似C2Prog的串口FLASH工具,也可以用作简单的仿真调试验证工具。         要使用SCI boot功能,首先程序要编译成RAM运行,还要将.out文件转变成SCI boot格式文件,以CCS V5.x为例,可以在项目属性Properties---Build---Steps---Post-Build steps的command中填入 hex2000 "${ProjName}.out" -o "${ProjName}.hex" -boot -sci8 -a         这样就会生成一个SCI8格式的hex文件。然后根据BOOT ROM参考手册的数据格式发送给MCU即可。碰到许多朋友对SCI boot 过程不理解,我写了一个小工具可以完成BOOT过程,由于附件的大小将近10M,需要的可以留下邮箱或者发信息给我。    
  • 热度 22
    2013-8-7 06:50
    13521 次阅读|
    20 个评论
      STM32的三种启动方式依靠BOOT0和BOOT1两个引脚的电平来决定,ST官方推荐的是串联10k电阻然后在接高电平或接地。 理论上这两个引脚只是在启动的时候用来选择启动方式,启动结束后对程序运行没有影响。 在一个项目中采用了STM32和GSM通信模块,调试中发现STM32工作及不稳定,非常容易受到GSM的射频干扰死机。几经周折终于找到问题的原因,PCB上STM32的BOOT0引脚是 直接接地的,没有串联10k电阻,造成STM32的死机。   这个问题当时困扰了我一个多月,前后做了几次PCB,一直以为是EMC的问题呢,真心希望这篇文章能帮到大家,有遇到此类问题并解决了的,请留言,以激励博主。
  • 热度 19
    2012-11-6 20:22
    1438 次阅读|
    0 个评论
    非易失性可编程Flash ROM 拥有比一次性编程存储器(例如EPROM)更多的优势。最明显的是不用物理上更换芯片就能够在已售出的嵌入式设备上实现软件升级。Flash ROM 还能够为参数数据提供非易失性存储,例如定制产品设置和配置信息。 更多的Flash ROM在读操作的时候更像一个一般的只读存储器。但写操作你要注意到它的根本体系结构。 请注意不同的产品存在差异,所以在使用Flash ROM时一定要精读数据表格得到精确的信息。 块结构一个Flash ROM通常被分为很多块或扇区(例如64KB块)每个块可以被单独的擦除,在写入,以及保护不被意外的擦除或重编程。你不能对块中的单个字节编程除非先擦除整个块。Flash ROM需要特殊的软件次序来控制擦写和块保护。 理解块的体系结构可以让你知道代码在Flash ROM中的位置。Flash ROM最小被分为3个独立的区域,每个区包括一个或多个块,能够被独立的保护或再编程。   启动块包括一个小的启动装载程序来初始化CPU 参数块存储非易失性定制数据,例如用户设置 主块存储应用的代码和数据段 块保护Flash ROM 提供块保护来防止对单独存储块的意外擦除和写入。保护形式由软件锁定,硬件锁定以及二者的结合。     软件锁定和解锁是通过Flash ROM 中的寄存器写入实现的。它允许单独块的擦除和写入。 硬件锁定和解锁需要外部设备的交互,例如通过硬件跳线为一个外部管脚提供一个电压。硬件锁通常只用于重要的启动块。 启动块启动块中的启动装载代码的角色非常关键。除了启动CPU,它还能擦除和再编程整个Flash ROM,不论其余的Flash ROM是空的还是被破坏的。   这样的破坏一边由于升级主块失败,或者在升级的时候掉电。主块的破坏还是能够处理的事件,而启动块的破坏将导致嵌入式设备不能启动或恢复。因此启动块需要特殊对待,包括硬锁保护,大多数的Flash ROM能够保护该区域的意外破坏。 一旦设备产品被初始化,就将启动代码限制为只读是一种非常好的方法。客户端对启动块的任何解锁和再编程尝试都可能意外地导致嵌入式产品的不可用。 顶部和底部启动设备启动代码和定制数据的大小一般比标准块小很多,为了避免浪费宝贵的空间,很多Flash ROM把第一块或最后一块分割为更小的子块,例如8KB。这是你更好的控制这些块的内容。 依赖于启动代码在ROM中的所在位置,这些设备有两种风格:顶部启动和底部启动设备。这取决于CPU在重启动/加电后从哪里获取指令:不论是存储空间顶部(例如Intel)或者存储空间底部(例如Motorola)。一些Flash ROM 可通过外部端脚来配置顶部或底部启动。 举例说明top和bottom的区别: 总结 总结:Top boot类型的Flash的小块(block)放在高地址位上,而Bottom boot类型的flash的小块(block)起始位置为0x000000
相关资源
  • 所需E币: 0
    时间: 2023-4-22 12:59
    大小: 297.66KB
    上传者: EPTmachine
    TN813_SF1FPGAMULTIBOOT功能使用指南
  • 所需E币: 0
    时间: 2023-4-22 12:59
    大小: 458.97KB
    上传者: EPTmachine
    TN812_SF1FPGADUALBOOT功能使用指南
  • 所需E币: 5
    时间: 2023-2-12 17:59
    大小: 1.09MB
    上传者: ZHUANG
    面向多核DSP的可靠二级Boot方法研究.
  • 所需E币: 1
    时间: 2022-5-18 13:10
    大小: 119.94MB
    上传者: 西风瘦马
    3208946_精通SpringBoot2.0.pdf
  • 所需E币: 0
    时间: 2022-3-14 23:59
    大小: 7.8MB
    上传者: samewell
    SpringBoot实战,丁雪丰(译者).zip
  • 所需E币: 1
    时间: 2022-1-6 21:53
    大小: 68.66KB
    上传者: ZHUANG
    WindowsCE嵌入式系统BootLoader开发设计
  • 所需E币: 0
    时间: 2021-3-25 02:39
    大小: 460.72KB
    上传者: stanleylo2001
    ISP上位机使用及BOOT更新说明
  • 所需E币: 0
    时间: 2021-3-17 18:02
    大小: 460.72KB
    上传者: xiaosh728
    ISP上位机使用及BOOT更新说明
  • 所需E币: 0
    时间: 2020-8-19 02:42
    大小: 490.24KB
    上传者: LGWU1995
    ISP上位机使用及BOOT更新说明
  • 所需E币: 0
    时间: 2020-8-13 03:25
    大小: 96.01KB
    上传者: Goodluck2020
    应用手册SecurebootinSimpleLink™CC13x2CC26x2wirelessMCUs.pdf
  • 所需E币: 0
    时间: 2020-6-16 16:40
    大小: 87KB
    上传者: zendy_731593397
    嵌入式系统BootLoader技术内幕
  • 所需E币: 4
    时间: 2019-12-26 10:51
    大小: 145.32KB
    上传者: givh79_163.com
    介绍了PowerPC系列微处理器的异常和中断。同时以MPC555为例对嵌入式系统从ROM和RAM中的引导特点及技术实现方法进行了比较,给出了MPC555从RAM快速引导的实现方法。……
  • 所需E币: 4
    时间: 2019-12-26 01:29
    大小: 633.55KB
    上传者: givh79_163.com
    ARMBoot程序源码1.1.0……
  • 所需E币: 5
    时间: 2019-12-25 17:24
    大小: 303.63KB
    上传者: 978461154_qq
    Bootloader代码是CPU芯片复位后进入操作系统之前执行的一段代码,主要用于完成硬件启动到操作系统启动的过渡,从而为操作系统提供基本的运行环境。Bootloader代码与CPU的内核结构、具体型号、应用系统配置及操作系统有关,其功能类似于PC机的BIOS程序。……
  • 所需E币: 3
    时间: 2019-12-25 16:42
    大小: 228.29KB
    上传者: 978461154_qq
    ARM7开发源代码大全……
  • 所需E币: 3
    时间: 2019-12-25 16:38
    大小: 281.97KB
    上传者: rdg1993
    HPI引导使用ApplicationReportSPRA602E-April2004TMS320VC5402A/VC5409A/VC5410A/VC5416BootloaderTaiNguyenC5000ApplicationsABSTRACTThisdocumentdescribesthefeaturesandoperationontheTMS320VC5402A,TMS320VC5409A,TMS320VC5410A,andTMS320VC5416DigitalSignalProcessors.Thecontentsoftheon-chi……
  • 所需E币: 3
    时间: 2019-12-25 12:46
    大小: 534.16KB
    上传者: 2iot
    在ARM平台上运行LinuxTECHNOLOGYIN-DEPTH在ARM平台上运行LinuxARM的Integrator和Versatile系列SoC原型验证平台提供了对嵌入式Linux的移植支持,本文简要介绍了在ARM这二个板级平台上安装运行Linux的过程和步骤。1.安装预建映像●RealViewIntegrator:raw二进制可以使用与主板相连的调试器,通过文件(或ELF文件)可放在闪存开摘要JTAG运行控制设备(如ARMRealView始部分,并作为默认映像执行。本文从安装BootLoader、内ICE单元)将映像安装到闪存中。●RealViewVersatile:应使用ELF文核和文件系统映像开始,描述在基●ARMRealViewIntegrator系列主件从闪存直接执行,或从内存加载于ARM的平台上安装和运行Linux板:使用ARMFlashUtility(主板随……
  • 所需E币: 5
    时间: 2019-12-25 12:17
    大小: 384.14KB
    上传者: rdg1993
    LPC2104的Boot与Remap详解……
  • 所需E币: 5
    时间: 2019-12-25 12:17
    大小: 2.49MB
    上传者: wsu_w_hotmail.com
    StudyARMStepbyStepStudyARMStepbyStepNick.wang编著共102页StudyARMStepbyStep自序本文从学习者的角度出发,分别描述了下面几部分内容:ARM编程的基本知识,BOOT代码流程和功能分析,OS中断程序的编写举例和BOOT代码的流程图,希望这些内容能为初学ARM的朋友拨开迷雾,以最快的速度和最短的时间走进嵌入世界的大们.由于编写时间比较急(呵呵,因为还要工作养家糊口),所以错误不可避免,希望各位朋友能指出错误和缺陷.共102页StudyARMStepbyStep目录第一章:ARMABC.......................................1THEARMPROCESSOR.................................................................1缩写..............................................................................……
  • 所需E币: 4
    时间: 2019-12-25 10:46
    大小: 17.29KB
    上传者: 978461154_qq
    DSP概述……