打印
[资料分享与下载]

imx6 eFUSE的一种烧写方法

[复制链接]
2785|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Rooney30|  楼主 | 2016-1-18 20:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我自己根据Sabrelite的板子,稍作修改,增加了部分功能,自己Layout了一块板子,涉及板子启动问题,官方没有一个比较明确的文档来说明如何烧写eFUSE,我自己土办法,研究了一顿时间,拿出来分享一下,如果哪位大虾有更好的方法,请不吝赐教,更共同成长。
1、BOOT_MODE[1:0]设置成00,未烧写eFUSE时,芯片默认是从NOR FLASH启动,因为板子上没有可启动的代码,所以芯片会主动切换至下载模式
2、利用MfgTools将uboot下载到RAM中运行(只下载uboot),具体犯法如下
      在MfgTools的ucl.xml里面,把烧写FLASH或者SD卡啥的都注释掉,只留Load uBoot,部分,如下

      Loading uboot.
     Jumping to OS image.
3、在串口输出的地方中断自动启动,进入uboot命令行交互方式,Sabrlite自带的uboot提供了eFUSE烧写命令,分别是imxotp read addr和imxotp blow --force addr value,读写eFUSE数据,
其中addr是(eFUSE的寄存器地址-eFUSE基地址-0x400)/0x10,eFUSE的基地址是0x021BC0000,具体定义见《iMX6DQRM.pdf》第46章,P4016
具体的配置值,参见《iMX6DQRM.pdf》第5章,P351。
imxotp blow这个命令在芯片未复位的情况下,是可以修改烧进去的值的。等芯片复位后,烧进去的值不能再更改了。
我自己的板子还是继承了Sabrelie SPI FLASH启动方式,只需要烧写0x450寄存器,即imxotp blow --force 0x5 0x10c00030

相关帖子

沙发
韬铸88| | 2017-5-8 13:59 | 只看该作者
学习一下

使用特权

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

本版积分规则

17

主题

117

帖子

3

粉丝