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

湛江企业模板建站seo入门免费教程

湛江企业模板建站,seo入门免费教程,如何做公司的网页,如何自己建设简单的手机网站参考内容: 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/476957.html

相关文章:

  • 专做国外商品的网站网络运营推广合作
  • mac+word+windows+wordpress网站优化排名软件
  • 怎么优化自己网站的关键词哈尔滨seo服务
  • 网站不足之处数据营销
  • 做购物比价的网站有哪些百度seo什么意思
  • 网页设计入门代码北京seo公司华网白帽
  • 建设工程公司网站短视频培训课程
  • 做网站怎么租用服务器东莞百度搜索网站排名
  • 各省网站备案时长网站优化软件费用
  • 网站建设和源代码问题c++培训班学费一般多少
  • 搭建公司内部网站网络推广怎么学
  • 企业网站建设空间海外推广运营
  • 苏州中国建设银行招聘信息网站淘宝关键词优化推广排名
  • 电子商务与网站建设论文二级域名网站查询入口
  • 网站的登录弹窗怎么做seo免费推广
  • 行业领域顶级域名seo营销网站
  • 宁波网站建设制作seo专业优化方法
  • 广州网络在线推广网站建设推广优化
  • 苍南龙港做网站店铺论坛推广案例
  • 湘潭做网站 磐石网络很专业排名函数rank怎么用
  • 网站域名购买com网站制作费用
  • 帮别人设计网站多层次网络营销合法吗
  • 手机端网站怎么做的现在最火的发帖平台
  • 免费国外b2b网站软文营销的优势
  • 做图网站大学生兼职如何对网站进行推广
  • 南京做南京美容整形网站什么是整合营销概念
  • 江门网站建设外包西安seo诊断
  • 仿做网站可以整站下载器吧b2b平台推广
  • wordpress 自动提交表单百度seo网络营销书
  • 电子商务网站建设是学什么软件哈尔滨推广优化公司