我看芯片gpmc地址线只有11根。那如果我需要32M的norflash那怎么接线啊?
还有一个问题,如果SPL与uboot.img都从norflash启动,那首先ROM code起来之后,通过哪些方式能把SPL与uboot放在norflash里?能通过网口吗?
Steven Liu1:
AM335x的GPMC地址线不止11根啊,8bit 位宽接法时有28根,16bit位宽接法时有27根。最大可以接512MB的size。
建议你查看一下TRM手册的7.1 GPMC章节,里面的GPMC Pin Multiplexing Options框图描述的比较详细了,总得来说根据你用更多nor flash是8bit位宽还是16bit位宽,是想接成复用模式的,还是想非复用模式,有不同的接法。
Steven Liu1:
首先,在使用norflash启动时候,因为norflash支持XIP,所以如果是跑linux的话,只需要编译出u-boot.bin文件,放入norflash运行即可。不是用MLO(SPL)和uboot.img。
你说到的把相关的image(u-boot.bin)放到norflash里面,有很多种方式,网口,usb口,SD卡,之类的都可以。思路是启动进入到了uboot里面后,直接写进去就可以了。如果是要量产的方式,建议你,可以参考下面这两个帖子里面的方法:
网口:http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/t/51935.aspx
usb口:http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/t/52381.aspx
lei tong1:
回复 Steven Liu1:
你好:
很感谢你的回答,还有疑问:
1. AM335x的GPMC地址线总共是27根,其中包括15根数据地址复用线(GPMC_AD1~GPMC_AD15),目前我们用的16bit位宽的norflash,没有用nandflash,但有ddr3的外部RAM。如果norflash用32M或更大M的size,是不是必须要用复用模式,即用15根地址复用线(GPMC_AD1~GPMC_AD15)?
2. 我看到TRM里面定义,在配置lcd_data0~lcd_data15功能口时也设置在模式1中定义为地址线(共16根),这个与GPMC中连接地址是相同的吗?
Steven Liu1:
回复 lei tong1:
1. 和你先理清一个概念:在AM335x,和DDR3这种外部的RAM对接的接口是EMIF, 和NORFLASH,NAND flash之类的接口是GPMC。感觉在你的回复中,DDR3的这种外部RAM和norflash搅合在一起了。所以,你选取的norlfash size大小和DDR3的大小没啥关系;再者和复用、非复用模式的选取也没有直接关系。
需要说明的一点是:对于NORFLASH,复用、非复用的选择,是基于你当期的pinmux分布来规划的,如果pin脚不够用,就使用复用的模式了,如果pin脚充裕,可能会选择非复用。两种模式相比,寻址空间是一样的。但是复用模式从硬件设计上多了一个锁存器。可以参考ICEv2的EVM板进行设计:http://processors.wiki.ti.com/index.php/AM335x_Industrial_Communications_Engine_Board_Design_Files
2. 对的,不过这只是GPMC的可选配置之一,还有另外一组可以配置,避开这种冲突。建议你先下载pinmux工具,规划好当前设计的pinmux,这种问题就比较容易解决了。