i.MX53的启动模式


分类: Linux驱动开发   59人阅读  评论(0)  收藏  举报

2012/11/24

今天上午去西直门跟李哥碰头了,拿到了板子。同时看到了他那5岁可爱的儿子,很可爱。我也很喜欢小孩,唉。说来就伤感啊。苦逼的北漂一族啊。

板子结构采用了母板+底板的形式,一看这样式就觉得很操蛋。唉,上映辰汉电子。要是让我Layout的话,非给他整到一起。有点自夸了啊,其实我水平也一般,只不过会使用CadenceAllegro而已。

 

好了,总结一下,i.MX53的启动吧。我是参照了以下的文档:

1、《i.MX53 Multimedia Applications Processor Reference Manual.pdf ,Document Number: iMX53RM

2、《mx53_mdk1_cpu_sch_v0_1.pdf

3、《MX53_MDK1_MOTHER_BOARD_V1.0.pdf

 

i.MX53参考手册的第七章主要讲解了系统启动的一些知识点。处理器内嵌的ROM程序根据内部寄存器BOOT_MODE[1:0]和各种eFUSEs决定启动方式。而eFUSEs的值又会被GPIO引脚的值所改变。

根据BOOT_MODE[1:0]的值,会有4种不同的启动方式,在这次开发中,只会使用2种,如下:

BOOT_MODE[1:0]=00,内部启动,处理器内部ROM固化的代码再根据外部引脚状态决定从哪个外设启动,NAND/SD

BOOT_MODE[1:0]=11,串行下载模式,通过UARTUSB将程序烧写到外部存储设备中。

 

在内部启动模式中,处理器内部固化的程序,执行硬件初始化,从选择的启动设备载入程序映像,验证后跳转至映像中执行。如果这期间发生任何错误,则跳转到串行下载模式。内部启动模式的启动流程受eFUSE设置的影响,而eFUSE又受GPIO引脚的影响。

如果BT_FUSE_SEL=1,则所有的启动选项均受eFUSE控制。

如果BT_FUSE_SEL=0,则可以使用GPIO引脚的状态改变eFUSE

根据手册可知,BT_FUSE_SEL该在出厂时由厂商将值置为0了。

根据原理图可知,BOOT_MODE[1:0]由拨码开关的8控制,当8打到ON的位置,BOOT_MODE[1:0]=11,当打到OFF的位置,BOOT_MODE[1:0]=00,通过电阻下拉到地。

 

开发板板载NAND芯片为iNAND,查手册获知其符合eMMC规范,故可归为MMC/eMMC设备,故应该从此启动,从数据手册中可知,当BOOT_CFG1[7:4]=011x时,处理器即从内部启动后,从MMC/eMMC加载程序映像。

                                                                                               

拨码开关

 
 

定义

 
 

描述

 
 

功能

 
 

iNAND下载

 
 

iNAND启动

 
 

1

 
 

BOOT_CFG3[3]

 
 

 

 
 

 

 
 

0

 
 

0

 
 

2

 
 

BOOT_CFG3[4]

 
 

 

 
 

 

 
 

0

 
 

0

 
 

3

 
 

BOOT_CFG3[5]

 
 

 

 
 

 

 
 

1

 
 

1

 
 

4

 
 

BOOT_CFG2[5]

 
 

 

 
 

 

 
 

0

 
 

0

 
 

5

 
 

BOOT_CFG1[4]

 
 

[7:4]=011x,boot from MMC/eMMC

 

而电路板BOOT_CFG[7]直接通过电阻

 

接地了

 
 

0

 
 

0

 
 

6

 
 

BOOT_CFG1[5]

 
 

1

 
 

1

 
 

7

 
 

BOOT_CFG1[6]

 
 

1

 
 

1

 
 

8

 
 

BOOT_MODE[1:0]

 
 

内部模式或下载模式

 
 

00:内部模式

 

11:下载模式

 
 

1

 
 

0

 

唯一不明白的一点就是,BOOT_CFG[4],手册上说这个值为10都可以,但现实中必须为0才行,否则启动不了。有时间得多读读手册。

SD/MMC/eSD/eMMC可以以ESDHCV2-1ESDHCV2-2ESDHCV3-3ESDHCV2-4标准启动,由BOOT_CFG3[5:4]的值决定。对于eMMC4.3eMMC4.4只能使用ESDHCV3-3标准。对于我们开发板上的iNAND属于eMMC4.41,故需要将BOOT_CFG3[5:4]设置为10

 

 

烧写工具有2种,一是ATK针对于老版本的,支持UARTUSB下载;而新版本的工具是MFGi.MX53只受新版本的支持。故只能使用MFG下载程序。苦于PCB上是MiniUSB,俺没有USB线啊。先不弄了吧。

 


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值