当前位置: 首页 > 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/514716.html

相关文章:

  • 网站开发干啥的百度推广官方网站
  • 找在家做的兼职上什么网站好如何网络推广自己的产品
  • 模板做图 网站有哪些商品推广软文范例100字
  • 市场营销策划方案3000字重庆关键词优化服务
  • 做租车行网站线下实体店如何推广引流
  • 普同网站跟营销型网站的区别seo外链工具有用吗
  • 网站建设制作设计搜索引擎优化是指什么
  • 上海app网站开发价值嘉兴网站建设制作
  • 合肥网站开发百度快速收录3元一条
  • 做网站jw100微信视频号怎么推广引流
  • 电脑做网站空间站长工具是什么
  • 怎样建设一个好的网站制作网页需要多少钱
  • 常德建设企业网站西安百度竞价推广
  • 佛山网站seo公司谷歌关键词排名查询
  • 多张图做网站背景抖音关键词排名系统
  • 国家信息公示网深圳seo网站推广方案
  • 展示型网站的特点百度seo技术优化
  • 网站规划内容方案三只松鼠有趣的软文
  • 营销型网站制作培训山西网络推广
  • 在线考试网站开发新媒体运营培训班
  • 买了个网站后怎么做的郑州seo网络推广
  • 吕梁做网站公司老王搜索引擎入口
  • 冠县做网站推广电商代运营公司十强
  • 职业学院网站建设方案百度健康
  • php网站api接口写法百度搜索引擎的功能
  • web网站开发周期佛山关键词排名工具
  • dw设计试图做网站北京企业网络推广外包
  • 建站优化办事效率高网络网站推广优化
  • 西安网站开发公司今日最新财经新闻
  • 帮别人做设计的网站关键词推广seo