This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
根据设计需求,系统需要利用GPMC模块挂载一个1M*16bit NOR FLASH,而且要求其能从NOR FLASH启动。
阅读相关文件得到以下信息和疑问:
1.请问AM3352从NOR FLASH 启动时,Technical Reference Manual配置地址线只有A0-A11(2K)见附图1,而系统上NOR FLASH有1M空间,是否遵守该说明?我有个假想:AM3352从NOR FLASH 启动时,是将NOR FLASH前2k的相关配置信息转移到SDRAM,从而完成AM3352正常启动;AM3352启动完成后就会从新配置GPMC相关寄存器,进而能访问整个NOR FLASH的程序空间,程序就在NOR FLASH中执行。请问这个理解是否有误?
2.Technical Reference Manual:Specifically, external logic is needed to isolate the upper address lines (A12–A27) of the NOR flash from the device pins and drive them low during boot.请问AM3352从NOR FLASH 启动时,是不是必须将GPMC的A12-A27(一般情况下A12-A27是与AD0-AD15复用的)拉低?如果不拉低,会产生什么样的后果?
3.AM335X在上电时,SYSBOOT Pins 在PWRONRSTn上升沿时候捕捉。SYSBOOT 相关pins是ROM code执行后配置内部上下拉,还是必须由外部的电阻进行上下拉?
4.根据Technical Reference Manual上的参考框图,gpmc_advn_ale连接到NOR FLASH 相应的引脚(见附图1),但我使用的NOR FLASH没有地址锁存pin,请问gpmc_advn_ale不连接NOR FLASH是否影响AM3352从NOR FLASH启动?
通过AM335x TRM的table 26-10可以了解到,sysboot[8]用来控制启动时Nor flash的位宽,sysboot[11:10]用来控制Nor Flash启动时GPMC工作在non-mux还是mux模式,这两种模式其实对应的是table 7-5中所描述的。 那么如果sysboot[11:10]设为1:0,即为mux模式,通过table 7-5可以了解到,GPMC A0-GPMC A11(ZCZ的R13-v17)是有有效输出的,但是输出的并不是A0-A11,而是A17-A27,A1-A16是通过AD0-AD15锁存得到的。 通过table 26-9可以了解到,对于Nor flash boot,mux模式又可分为mux1和mux2,可以由sysboot[4:0]选择,这两种方式的区别在于,mux1 把高地址A17-A27 (即A0-A11)active了,mux2没有把高地址active出来
十分感谢!看资料没看仔细,不好意思,我还得问一个问题:我现在是1M*16bit的NOR FLASH,计划使用Non Multiplexed mode,所以现在是地址线要用[A1:A20],而LCD模块可以复用为A0:A19,请问AM3352AZCZD60这款芯片有没有内部地址移位?这样我就可以使用LCD模块进行复用为地址线就可以完成设计要求。利用A20引脚不仅占用了GPMC模块或者MMC模块,而且layout时走线不好控制延时。第二,SYSBOOT是复用LCD引脚,在芯片上电相关配置capture时,此时是不是需要外部逻辑进行配置这些引脚?我在TRM中“Set the booting device list based on the SW Booting Configuration or SYSBOOT pins”这样的描述(见附图),是不是可以利用SW来代替SYSBOOT硬件pins配置?
这个是指ROM Code如果进入到Fast boot模式,它默认为XIP_MUX1配置,因为并没有哪个sysboot pin告诉rom code将GPMC配为XIP_MUX1还是XIP_MUX2。
如果你想使用FAST boot,你的硬件电路要参考XIP_MUX1设计
你的NOR Flash是non mux的,但是并不代表AM335x GPMC也要对应配置成non mux的,请参考我们的ICE参考板Nor Flash设计:
http://processors.wiki.ti.com/index.php/AM335x_Industrial_Communications_Engine_Board_Design_Files
我觉得高位地址是必须要拉低的,否则boot时读取的固件内容就会出错的。我以前调过dm8168,nor flash启动的时候高位地址没做控制,结果就是无法启动。
当你选择从NOR FLASH启动时,配置好SYSBOOT PIN,ROM CODE会根据你的配置从地址0x08000000载入bootloader,但是实际上,在启动阶段只有A0~A11是有效的,A12以上都是被隔离的,所以理论上你的bootloader地址空间只有4K,然后,SYSBOOT PIN 会和GPMC的地址线复用,上电状态A12以上的地址线未必是0,所以,你得根据你的板子,算出ROM CODE认为的0x08000000地址实际上在你的板子上是哪个地址,然后,你把你的bootloader(小于4K)烧到这个地址,这样是可以正常启动的。
你好:
我看到你写的帖子也是关于NORFLASH启动的,我做的项目也是做NORFLASH快速启动,但是我的u-boot.bin下载进去不能启动,由于刚接触这个所有有很多不太清楚的地方,特地想向你请教几个问题,方便问问你的QQ请教一下?谢谢!