• 芯片启动以及boot


    一级bootloder

    本项目是EOS平台的PBL(Primary Bootloder),它被固化到BootROM中,作为平台的最初启动件。

    设计约束

    1.Romcheck由硬件完成,软件可以根据启动状态来记录它

    2.不论RomCheck是否成功,PLL检测还是会进行的。PLL检测与Romcheck并无关联

    3.如果PLL锁频成功,那么BootStrap Pin会影响是否切换高频,当BootStrap Pin被拉高时,保持低频启动

    4.UART0 波特率被固定在 256000 Hz,平台使用该数值时,误差偏小

    5.QSPI0 分频后的时钟固定在 15MHz左右,涉及到多个厂商的驱动,他们有一些差异,目前为了简化设计而稳定在该频率

    6.目前Flash厂商仅支持:

    WinBond
    Cypress
    ISSI

    7.QSPI目前为了速率考虑均使用如下配置:

    Quad IO Mode(4线数据传输)
    地址均是4-Bytes Address(可访问空间足够大)

    8.SBL镜像可存放的地址有两个

    0x00000000U:从Flash的起始地址开始
    0x00800000U:从Flash的8M地址开始

    9.SBL头部占用20个字节,格式规定如下:

    4个字节的固有标识:0xDA7E2022
    4个字节的镜像加载位置:sbl_image_address
    4个字节的镜像加载长度:sbl_image_length
    4个字节的镜像入口地址:sbl_entry
    4个字节的Header Flag信息,内置一个字节的校验sbl_checksum(异或校验, BCC算法)

    10.SBL启动地址可以灵活配置为sbl_entry所在地址,该SBL头部信息应该由脚本统一自动生成

    11.IAR编译选项不应该开启压缩指令集©,否则同步异常处理会出错

    12.由于内置实现了UCP的强大功能,所以PBL拥有独立的进行内存读写和下载Flash的能力

  • 相关阅读:
    log4qt库的使用
    DFS 深度优先搜索 —— 一种探险的算法
    神经网络权重初始化方法,神经网络如何训练权重
    2-Centos7下安装部署RabbitMQ
    201912-3 CCF 化学方程式 (满分题解)
    NV21图片格式深入解析与代码实战-RGB转NV21与画框
    docker&docker-copose_限制容器cpu和内存
    【数据结构-图】图介绍
    嵌入式C++(一)
    mysql json类型映射查询
  • 原文地址:https://blog.csdn.net/qq_35968965/article/details/125596740