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

做什么类型网站可以吸引用户郑州网站建设设计公司

做什么类型网站可以吸引用户,郑州网站建设设计公司,长宁区网站建设公,宝坻做网站哪家好参考内容: i.MX6ULL Applications Processors for Industrial Products i.MX6ULLApplicationsProcessorReferenceManual 正点原子 I.MX6U嵌入式Linux驱动开发指南 以及 广大工程师们在互联网上分享的学习笔记(一样东西学的人多的时候所带来的优势) 例如这里我用…

参考内容:

i.MX6ULL Applications Processors for Industrial Products

i.MX6ULLApplicationsProcessorReferenceManual

正点原子 I.MX6U嵌入式Linux驱动开发指南

以及 广大工程师们在互联网上分享的学习笔记(一样东西学的人多的时候所带来的优势)

例如这里我用的野火的板子但是看的原子的资料,在csdn就遇到一个老哥和我一样的情况:Mars.CN-CSDN博客

一、启动模式

这里做个类比,以下情况应该mcu开发者都遇到过,例如用51单片机的时候,有个io口(EA)来选择是从内部的rom启动程序,还是从外部的rom启动,stm32f103也有类似的引脚:boot0和boot1,可用来决定复位后从主闪存(就平时开发烧录进去的位置,地址)或者系统存储区启动。

imx6ull这里也一样,这里对应相关硬件引脚和对应的启动模式可查看官方的这个文档:

官方的文档内容比较多这里不贴上来,里面介绍了各种启动模式(不仅仅是启动模式,例如是emmc的话还包括emmc位宽,emmc模式,使用哪个总线这些,可以当作启动模式+配置,相关的引脚达25个)对应引脚应该是什么电平状态,硬件工程师根据自己的需求设计了自己的启动电路,这里以原子的资料为例子(其他家的也有自己的启动电路):

这是两个boot mode引脚对应的作用,例如想使用烧录模式则需要设置为01,而启动(非efuse)则是对应的10,结合下面这个图,该图则是正点原子的拨码开关对应的功能图:

其中1和2对应的就是上面两个boot mode引脚,这里不纠结太多,对应我买野火的板子则只需要参考野火的拨码开关对应的功能图即可。

二、烧录程序

这里学习为目的,所以个人选择一种最简单最快的方式:从sd卡启动的方式,只需要把我需要的程序烧录到sd卡里然后拨码开关拨到从sd卡启动,也尝试过野火资料里使用官方的烧录工具但是坚持了一天后发现还是原子资料里的烧录方式香,这里为了快速上手都图个快和方便,后面烧录uboot的时候就使用这个方式。

详细工具使用参考原子文档第八章:

三、启动流程

了解对于后面理解uboot的执行流程有一些帮助,毕业前后那会看韦老师的资料用的s3c2440,该主控在设置为nand flash启动的时候,上电时会自动将 nand flash 中前 4KB 的数据拷贝到该片内 sram执行,也就是说它的boot程序第一阶段是从sram里执行,用到了外部dram还需要在这部分代码里去配置,因为4k的空间肯定是不够执行完用户的boot程序,所以还需要将nand flash里的boot程序拷贝到外部dram,然后程序再从dram里启动,这个s3c2440的uboot里代码重定位的过程,但是imx6ull的uboot里重定位是将uboot从DDR起始部分的位置重定位到DDR最靠近结束地址的位置,也就是说imx6ull的uboot启动的时候就是在DDR里启动的,用户程序没有在内部ram里执行过,那就是说是内部rom程序把uboot固件拷贝到DDR里运行,所以这里问题会有问题:

1、程序是烧录在外部存储介质里如emmc、sd卡之类里面,内部rom怎么知道从哪里搬运固件?

2、DDR又是怎么被初始化,又怎么知道拷贝的固件多大?

第一个问题前面启动模式里已经回答了,通过一些引脚的电平确定了使用的外部存储介质,包括它们的初始化设置。

第二个问题则是在uboot的固件头里面,如果编译出来的uboot程序直接烧录进去是起不来的,这里用的原子提供的一个烧录工具则做了这个事情,个人倾向于用这个比野火资料里提供的原厂工具简单多了。

这里参考原子文档第八章:

固件头的内容主要有:

1.IVT:

这个header是IVT这个字段的大小信息,内容主要为:

entry:入口地址,也就是uboot固件里的程序的第一行指令的执行地址,即链接地址,有这个就知道运行的时候从哪个地址开始执行。

dcd:dcd字段的绝对地址。

boot data:boot data字段的绝对地址。

self:uboot固件被拷贝到DDR里后的IVT的地址。

csf:如上图描述secure boot用到。

2.boot data

start:固件头起始地址,也就是编译出来的这个固件加了固件头后的起始地址。

length:固件的大小,这里个人认为就是根据这个大小来决定拷贝多少固件到内存里。

plugin:暂时不知道做什么用的可能是额外执行的固件。

3.DCD:Device configuration data

复位后的寄存器使用默认值,因此这里可以用来设置寄存器的初始值,这里就回答了前面的问题,DDR是如何初始化的。

http://www.dtcms.com/wzjs/798233.html

相关文章:

  • 太原论坛建站模板网站 信用卡支付接口
  • 济南网站建设富库网络网站外链建设周期
  • gta5网站建设高邮城乡建设网站
  • 厦门市做网站优化重庆网站建设的目的
  • 佛山市多语言营销型网站建站重庆在线官网
  • 济南做网站哪里好管理咨询公司注册资本
  • 做网站开发要具备哪些素质去哪个网站做兼职
  • 上海网站备案审核外贸网站建设内容包括
  • 学做家常菜的网站 知乎天津网站建设吐鲁番地区
  • 浙江工程信息网网站优化外包服务
  • 网站建设怎么做账手机网站建设价格表
  • 优化网站 优帮云代理贷款平台加盟
  • 中小企业网站建设与推广论文源码下载网站有哪些
  • 西安网站建设那家伙个人简历模板电子版可填写
  • mip网站建设网络推广和网络销售的区别
  • 网站建设的通知66建筑网
  • wordpress网站不显示菜单网站建设社团活动宗旨
  • 女性门户资讯类网站织梦dedecms模板怎样建设尧都水果网站
  • 外贸网站建设上海新闻稿代写
  • 不需要iis的网站开发西安旅游攻略景点必去
  • 站长工具app官方下载重庆公司起名
  • 口红机网站怎么做深圳房地产网站设计
  • 加强公司内部网站建设一流的邯郸网站建设
  • 西安网站建设设计公司成都微网站建设
  • 米各庄网站建设中国国际新闻
  • 中学生怎么做网站无锡网站服务
  • 淘宝客模板网站问信息奥赛题怎么做 去哪个网站
  • 上海自助建站官网政务公开网站建设意义
  • 网站开发中效率较高的编程语言网络规划设计师考试费用
  • 网站导航网宿州网站建设推广