Chinaunix首页 | 论坛 | 博客
  • 博客访问: 294090
  • 博文数量: 65
  • 博客积分: 185
  • 博客等级: 入伍新兵
  • 技术积分: 609
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-06 21:41
个人简介

好好学习,天天向上

文章分类

全部博文(65)

文章存档

2022年(3)

2021年(25)

2020年(1)

2019年(3)

2016年(2)

2015年(3)

2014年(14)

2013年(7)

2012年(7)

我的朋友

分类: 嵌入式

2019-05-20 18:42:08

注意事项:
1、检查硬件是不是支持,例如,如果需要ECSPI-1,那么硬件必须按照Table 8-25. SPI IOMUX Pin Configuration 中第一列的引脚进行连接。上电时,如果是选择的ECSPI-1启动,那么ROM代码会把引脚多路按照Table 8-25定义的alt进行设置(这句是推理的,哈哈)。

2、
Fusemap 不要随便写入呀,貌似只能写一次,是产品化的时候用的,要是调试就把021bc450 021bc460写得不能改了,那么久悲剧了,换片子
021bc450: 00000000 00000000 00000000 00000000    ................   【控制字决定了启动的CFG】
021bc460: 00000000 00000000 00000000 00000000    ................    【BT_FUSE_SEL值的确定】

3、启动按照下面顺序进行排查
a)启动的mode
mode根据BOOT_MODE1 BOOT_MODE2两个硬件引脚确定的,其状态可以通过只读寄存器只读SRC_SBMR2   BMOD[1:0] 进行查看

b)eFUSEs- BT_FUSE_SEL
 这个 BT_FUSE_SEL值可以通过寄存器021bc460确定,默认此值为0,0表示GPIO状态可以overwrite fusemap中BOOT_CONFGx的值,具体哪些会overwrite,参考Table 8-22. Serial ROM Boot eFUSE Descriptions 中GPIO列是否为Y。

c)确定BOOT_CONFGx的值,在调试过程中,一般使用的是internel mode,BT_FUSE_SEL=0, 那么这个BOOT_CONFG1-4的值可以通过GPIO进行更改,最终的值是通过只读寄存器SRC_SBMR1进行反应的。

d)spi有个2字节 3字节地址的配置BOOT_CFG4[3],这个也可以GPIO overwrite,这个根据实际spi flash需要的进行设置,2字节能访问spi的64k空间,3字节能访问spi的16M空间。

e)uboot编译和镜像的制作,按照spinor编译,镜像预留前面的1k字节,其他头部编译已经做好了
具体的格式可以参考
uboot.imx生成  IMX6Q的uboot.imx文件解析


参考:
i.MX 6Dual/6Quad Applications Processor Reference Manual, Rev. 2, 06/2014





阅读(1933) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~