打印
[i.MX]

怎么烧写imx6里的efuse?

[复制链接]
11922|26
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
linz@imx|  楼主 | 2014-1-17 17:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 FSL_TICS_imx 于 2014-1-20 14:40 编辑

看了手册关于I.MX6Q开发板的启动模式设置, Boot Code会根据BOOT_MODE[1:0]的寄存器值、eFUSEs状态和GPIO Setting来完成从不同的boot devices启动,手册没有具体说怎么来设置eFUSEs的值通过什么方式工具进行烧写来启动设置。要更改板子的启动模式,从NOR flash启动加载bootload Image 文件系统,具体应该怎么做呢????

相关帖子

沙发
linz@imx|  楼主 | 2014-1-18 08:36 | 只看该作者
没人知道吗???

使用特权

评论回复
板凳
linz@imx|  楼主 | 2014-1-18 11:05 | 只看该作者
没人吗 待解决啊

使用特权

评论回复
地板
FSL_TICS_imx| | 2014-1-20 14:06 | 只看该作者
楼主你好,请问你用的是哪块开发板?

使用特权

评论回复
5
FSL_TICS_imx| | 2014-1-20 14:08 | 只看该作者
写eFUSE可以通過u-boot命令去燒寫. 在Linux BSP文檔包里面, i.MX_6Dual6Quad_Sabre-SD_Linux_User_Guide.pdf 中提到imxotp命令:

10.1 How to Fuse in U-Boot


U-Boot contains a tool, imxotp, which is used for fusing.
U-Boot > imxotp
imxotp - One-Time Programable sub-system


Usage:
imxotp imxotp read
- read fuse at 'index'
imxotp blow [--force]
- blow fuse at 'index' with hex value 'value'


Tips:
'addr' to 'index':
convert 'index' from 'address'
index = (addr - otp_base) / 0x10


eg, addr is 0x021bc410, otp_base is 0x021bc400, the index = 1


• '--force' must be present in order to blow the fuse. Command will abort if '--force' is missing.
• index = (addr - otp_base) / 0x10, where the addr is the address of the fuse you want to operate, the otp_base is the base address of the fuse block.
• 'value' should correspond to fuse settings according to the fuse map and desired fuse configuration.

使用特权

评论回复
6
FSL_TICS_imx| | 2014-1-20 14:45 | 只看该作者
关于eFUSE具体定义见《iMX6DQRM.pdf》第46章,P4016。具体的配置值,参见《iMX6DQRM.pdf》第5章,P351。

使用特权

评论回复
7
linz@imx|  楼主 | 2014-1-20 16:19 | 只看该作者
FSL_TICS_imx 发表于 2014-1-20 14:06
楼主你好,请问你用的是哪块开发板?

I.MX6Q SABRE lite

使用特权

评论回复
8
linz@imx|  楼主 | 2014-1-20 16:35 | 只看该作者
FSL_TICS_imx 发表于 2014-1-20 14:45
关于eFUSE具体定义见《iMX6DQRM.pdf》第46章,P4016。具体的配置值,参见《iMX6DQRM.pdf》第5章,P351。 ...

能不能给我发个数据手册,我现在看的手册怎么和你说的章节对不上呢

使用特权

评论回复
9
FSL_TICS_imx| | 2014-1-20 18:55 | 只看该作者
好的 IMX6DQRM.zip (29.74 MB)

使用特权

评论回复
10
linz@imx|  楼主 | 2014-1-21 09:05 | 只看该作者
FSL_TICS_imx 发表于 2014-1-20 18:55
好的

我就奇怪了,我用的手册怎么会少一章呢,没有第五章的Fusemap这章节的介绍呢

使用特权

评论回复
11
FSL_TICS_imx| | 2014-1-21 09:43 | 只看该作者
linz@imx 发表于 2014-1-21 09:05
我就奇怪了,我用的手册怎么会少一章呢,没有第五章的Fusemap这章节的介绍呢 ...

请问楼主你是在飞思卡尔官网上下载的吗?

使用特权

评论回复
12
FSL_TICS_imx| | 2014-1-21 09:51 | 只看该作者
楼主你好,你可以参考一下飞思卡尔的另一个中文论坛与非网上的帖子imx6 eFUSE的一种烧写方法,他用的开发板和你的是一样的。

使用特权

评论回复
13
linz@imx|  楼主 | 2014-1-21 10:12 | 只看该作者
本帖最后由 linz@imx 于 2014-1-21 10:17 编辑
linz@imx 发表于 2014-1-21 09:05
我就奇怪了,我用的手册怎么会少一章呢,没有第五章的Fusemap这章节的介绍呢 ...


使用特权

评论回复
14
linz@imx|  楼主 | 2014-1-21 10:14 | 只看该作者
FSL_TICS_imx 发表于 2014-1-21 09:51
楼主你好,你可以参考一下飞思卡尔的另一个中文论坛与非网上的帖子imx6 eFUSE的一种烧写方法,他用的开发板 ...

嗯,谢谢您了,那个帖子我看过了。
我还有一个问题关于I.MX6Q开板的烧写过程及程序的执行流程,
它的启动方式是上电执行BOOT ROM里面的启动代码,读 BOOT_MODE[1:0]的寄存器值、eFUSEs状态和GPIO Setting 来决定启动devices ,他默认启动方式是执行外接的SPI FLASH里面的代码吗?我刚接触不是很清楚他的启动流程 ,在用Mfgtools工具烧写时他是将u-boot烧写到SPI FLASH里面,内核及文件系统烧写到板子的SD卡上吗?

使用特权

评论回复
15
FSL_TICS_imx| | 2014-1-21 14:55 | 只看该作者
1、楼主你好,关于你说的I.MX6Q开板的烧写过程及程序的执行流程,上电以后BOOT_MODE以及BOOT_CFG的值,BOOT_CFG0,1,2,3.这是CPU内部寄存器。当板子上电时,CPU 内部固化的ROM CODE会去读BOOT_CFG几个寄存器的内容,从而决定从哪个Flash启动。
2、你前面提到的,用MFGTool烧写,将u-boot、内核及文件系统烧写到哪个flash上面是由MFGTool中ucl2.xml文件中的内容来执行的。你可以将u-boot烧写到SPI FLASH里面,内核及文件系统烧写到板子的SD卡上;也可以将u-boot、内核及文件系统都烧写到SD卡上。这个完全取决于你的ucl2.xml文件内容,因为MFGTool是依照MFGTool内容运行的。

使用特权

评论回复
16
FSL_TICS_imx| | 2014-1-21 15:09 | 只看该作者
楼主你好,在使用i.mx芯片做设计时 一般不使用efuse,写死的话,假如出错了整块板子都不好用了。所以客户在出去设计板子的时候不建议使用efuse,假如是要想保护设计的内容,你可以在设计时候将启动模式设计为固定的,比SD卡或者eMMC等。仅仅是建议,希望可以帮到你~~

使用特权

评论回复
17
linz@imx|  楼主 | 2014-1-21 15:57 | 只看该作者
FSL_TICS_imx 发表于 2014-1-21 14:55
1、楼主你好,关于你说的I.MX6Q开板的烧写过程及程序的执行流程,上电以后BOOT_MODE以及BOOT_CFG的值,BOOT ...

在通过MFTool工具烧写时,它会影响CPU 内部寄存器BOOT_CFG0,1,2,3的值吗?

使用特权

评论回复
18
FSL_TICS_imx| | 2014-1-21 16:40 | 只看该作者
linz@imx 发表于 2014-1-21 15:57
在通过MFTool工具烧写时,它会影响CPU 内部寄存器BOOT_CFG0,1,2,3的值吗?

楼主你好,在使用MFTool工具烧写时,它不会影响CPU内部寄存器的情况。MFTool只是一个烧写工具,将u-boot、kernel以及文件系统烧写到开发板上,启动模式是由CPU内部寄存器模式所决定的。
一般都是先确定从那种方式启动,再烧写相应的u-boot、kernel以及文件系统到开发板上。

使用特权

评论回复
19
linz@imx|  楼主 | 2014-1-21 17:31 | 只看该作者
FSL_TICS_imx 发表于 2014-1-21 16:40
楼主你好,在使用MFTool工具烧写时,它不会影响CPU内部寄存器的情况。MFTool只是一个烧写工具,将u-boot ...

I.MX6Q默认启动模式是NOR Flsah吗,要将u-boot kernel rootnfs都烧写到NOR Flash里面,可以正常启动操作系统吗?

使用特权

评论回复
20
linz@imx|  楼主 | 2014-1-21 17:47 | 只看该作者
linz@imx 发表于 2014-1-21 17:31
I.MX6Q默认启动模式是NOR Flsah吗,要将u-boot kernel rootnfs都烧写到NOR Flash里面,可以正常启动操作 ...

我看MFTool的ucl.xml文件在烧写的时候,是将u-boot 烧写到SPI-NOR里面,kernel,文件系统烧写到SD卡上了,板子在上电时会先执行CPU 内部固化的ROM CODE,在跳到SPI flash执行u-boot里面的代码,初始化,搬移代码加载内核,加载文件系统?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

95

帖子

0

粉丝