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

整形网站 源码近三天的国内新闻

整形网站 源码,近三天的国内新闻,手机网站淘宝客怎么做,响应式网站手机本篇文章来了解一下I.MX6ULL的启动方式#xff0c;实际上之前我介绍了NXP的跨界MCU RT1170的启动方式#xff1a;I.MX RT1170启动详解#xff1a;Boot配置、Bootable image头的组成#xff0c;两个芯片虽然一个是Cortex-M#xff0c;一个是Cortex-A#xff0c;但是都是来…本篇文章来了解一下I.MX6ULL的启动方式实际上之前我介绍了NXP的跨界MCU RT1170的启动方式I.MX RT1170启动详解Boot配置、Bootable image头的组成两个芯片虽然一个是Cortex-M一个是Cortex-A但是都是来源于NXP所以有类似的BootROM代码在启动的引导方式上是类似的下面就来详细介绍一下。 文章目录 1 基础知识2 Boot配置2.1 BOOT_MODE2.2 BOOT_CFG配置 3 Bootable image启动头3.1 组成3.2 实例3.2.1 程序结构3.2.2 程序镜像内容分析 1 基础知识 1、BootROM 在上电后会执行一段固定的BootROM程序这段程序是由NXP官方写好的主要是用来根据用户提供的信息对镜像进行引导。比如说用户希望将代码从Nand/EMMC/SD拷贝到SDRAM执行、用户希望上电时能初始化好SDRAM…这都可以交给BootROM完成。 2、image头 那BootROM要怎么知道用户希望做哪些初始化呢我们就需要在编译出来的.bin文件的开头添加一些头信息以提供给BootROM让它知道如何引导程序启动。 3、eFuse eFuse顾名思义就是熔丝它的状态只能由0转为1这是不可逆的。比如说对于不同的启动方式来说我们可以将手册中指定的硬件上的几个启动引脚拉高或拉低从而表示设备会从哪里启动。对于这些在硬件上我们飞个线或者去掉一个电阻就能更改这些启动方式了那有什么办法可以固定这个启动方式而不被更改呢 在eFuse中就有和几个启动引脚相对应的位然后我们只要烧写eFuse中的BT_FUSE_SEL位就表示以后上电就是从eFuse中对应的配置读取启动配置而不会从硬件中读取。 2 Boot配置 2.1 BOOT_MODE Boot From Fuses通过熔丝的配置来Boot。如果是这种启动方式就会根据刚刚所说的BT_FUSE_SEL来判断要不要使用eFuse的配置进行启动引导如果想根据eFuse的配置进行启动则需要烧写BT_FUSE_SEL位。默认BT_FUSE_SEL为0在该模式下会进入Serial Downloader模式。Serial Downlaoder我们可以通过串口或USB与BootROM进行通信我们就可以根据此功能烧写一段代码到内置的RAM里然后运行这段代码可以完成Flash的擦写、eFuse的烧写等操作。Internal Boot与Boot From Fuses模式类似也会根据BT_FUSE_SEL位来读取配置只是BT_FUSE_SEL为0时候的定义和Boot From Fuses不同如果为0则使用GPIO的配置进行引导。 2.2 BOOT_CFG配置 前面有了启动方式后BootROM还需要知道从哪里读取代码启动如果是从NOR Flash启动的话那就直接在NOR Flash运行如果是从EMMC、SD等存储设备启动则还需要拷贝代码到SRAM/SDRAM等RAM中运行。这些都是根据BOOT_CFG来配置的。在I.MX6ULL中支持以下几种存储设备启动 NOR FlashNAND FlashOneNAND FlashSD/MMCSerial (SPI) NOR Flash and EEPROMQuadSPI (QSPI) Flash BOOT_CFG引脚包括BOOT_CFGx[0]-BOOT_CFGx[7](x1,2,3)共24个引脚。 对于不同的启动设备来说BOOT_CFG1[7:4]配置如下 至于其它的24个引脚的配置我们不用对每个引脚都进行配置因为在不同的启动设备下仅需要配置个别的配置引脚大家可以根据自己的启动设备参考8.5 Boot Device(Internal Boot)章节中的配置。比如使用NOR Flash启动我们只需要再配置表格中的这些引脚即可 同样的BOOT_CFG引脚在eFuse中也有对应的位来表示 3 Bootable image启动头 3.1 组成 既然BootROM需要引导程序它并不知道程序中断向量表所在的位置如果程序需要从存储设备拷贝到RAM中那是从哪个地址拷贝到哪个地址呢另外前面我们有提到BootROM还可以对SDRAM等外设进行初始化那不同的SDRAM参数不同应该如何让BootROM知道呢我们就可以在启动头中添加这些信息这个启动头称为IVT(Image Vector Table)。 对于不同的启动设备来说启动头存放的位置也不同如下图所示 如下所示包括IVT的字段BootROM就通过这些字段将程序从Boot Device拷贝到Dest Memory。 各个字段的含义如下 FieldDescriptionheader执行镜像中第一条指令的绝对地址reserved1保留字段应设为0dcd镜像DCD的绝对地址。DCD是可选的如果不需要则此字段可以设置为0。boot data启动数据的绝对地址selfIVT 的绝对地址。ROM内部使用csf用于加密启动不用的话设置为0reserved2保留字段应设为0 这里的CSF用于HAB认证可以参考我写的这一篇文章RT1170加密启动详解(2)HAB认证原理 实际上这些字段和RT1170中的IVT启动头一模一样这里就不做详细介绍了可以参考I.MX RT1170启动详解Boot配置、Bootable image头的组成。下面直接举一个实际的例子来看看这些字段是如何配置的。 3.2 实例 3.2.1 程序结构 这里我们假设Boot Device为SD我们希望将代码拷贝到DDR中运行。根据前面这张图我们知道从SD启动的话整个头的大小为4KB其中IVT的偏移为0x400。 由下图可知DDR的起始地址为0x80000000。 另外I.MX6ULL属于ARMv7内核来看一下CP15协处理器中的向量表字段 也就是说在ARMv7中向量表地址的低5位有别的作用实际上就是可以指定上电后进入的异常(默认为Reset异常)。如果低5位用不了的话也就代表着我们的向量表地址要32位对齐。 所以我们可以这样设计镜像格式 最终DDR的0x80000000开始的内存内容就是以上的格式。由于我们设置了从SD启动所以我们只需要把这整个固件放在SD中就行了上电后BootROM会帮我们拷贝到0x80000000处然后去运行0x80100000处的代码。 由于程序放在0x80100000所以我们在编译的时候需要修改链接脚本的链接地址将程序链接到0x80100000处这里仅是举一个极端的情况让大家可以更好地理解这个启动头的作用。我们完全可以把向量表放在0x80100000-0x1000的位置。否则这样的话如果一次烧写整个镜像到SD卡那至少要烧写0x100000的大小。同样地BootROM拷贝也会非常慢。 3.2.2 程序镜像内容分析 (1)0~0x400暂时没有用到填0 2、IVT(Image Vector Table)偏移0x400 其中TAG为d1IVT Length为0x20(这个字段大端表示)version为0x40entrypoint Address(程序的链接地址或程序reset_handler的地址)为0x80100000DCD的绝对地址为0x8000042CBoot Data链接地址为0x80000420IVT链接地址为0x80000400。 3、BD(Boot Data)偏移0x420 其中镜像的绝对起始地址为0x80000000程序镜像的大小为0x200000(2M,可以根据DDR最大的大小填写)。 4、DCD偏移0x42C 从0x42C开始都是DCD的配置了实际上就是使用指定的格式来配置寄存器比如可以配置SDRAM的寄存器这样BootROM就能帮我们初始化好SDRAM。 具体格式参考手册8.7.2 Device Configuration Data 5、程序镜像偏移0x100000 最后就是我们编译出来的原始bin文件了。
http://www.dnsts.com.cn/news/35891.html

相关文章:

  • 外贸建站什么意思合肥网站设计
  • 郑州外贸网站建设哪家好郫县专业的网站建设
  • 多语言企业网站开发怎样利用互联网进行网络推广
  • 景区网站建设的目标定位企业推广怎么做
  • 寮步网站建设哪家好免费发布租房信息网站
  • 网站建设怎样回答客户问题建设世界一流企业
  • 视觉创意网站电脑网络游戏排行榜
  • 深圳设计品牌网站云南网站建设方案
  • 建设银行官网站预约中国企业网官网登录入口
  • 网站开发语言及数据库my21777域名查询
  • 外贸企业网站推广公司ccie网络培训
  • 网页游戏网站在线玩旅游网页设计图
  • 怎么开网站做网红dw做的网站怎么放到服务器上
  • asp.net网站开发代码个人网站怎么快速推广
  • 做网站一定要云解析吗外贸公司怎么运作
  • 温江做网站排名优化seo公司
  • win7如何安装iis来浏览asp网站网站建设 seojsc
  • 桐乡市建设局官方网站企业名称注册查询官网入口
  • 天河做网站技术眉山网站推广
  • 快三竞猜网站建设网站页脚的信息都有什么
  • 太原网站seo名校长工作室网站建设
  • 深圳定制建设网站上海比较好的装修公司
  • 创建wordpress博客潍坊关键词优化服务
  • 用asp做网站需要的软件十大免费行情软件推荐
  • 电商网站建设策划方案北京app搭建公司
  • 褚橙的网站建设seo搜索优化待遇
  • 中文购物网站模板佛山顺德容桂做网站的公司
  • 渭南建设用地规划查询网站租服务器多少钱
  • 佛山外贸网站建设哪家好淘宝的网站怎么做
  • 贵港做网站建设价格费用借20万资金办厂