应用AM3358主要实现网口的通信功能,因此在硬件电路中只设计应用了AM3358的EMAC模块,外围设计DP83865(PHY芯片)以及DDR2,其余模块均未设计使用,在SYSBOOT的配置上有如下问题:
1、我这种应用情况下,设计由MEMORY BOOTING还是peripheral booting比较好,二者有什么区别?如果我在硬件设计中没有设计NAND flash或NOR flash或SRAM,可不可以?
2、BOOT sequence是什么意思?比如设计SYSBOOT[4:0]为00110b,资料中boot sequence的顺序为EMAC1、SPI0、NAND、NANDI2C,这种情况是不是由EMAC启动,依次启动另外三个模块,其它的模块就不启动么?
3、SYSBOOT的配置一定要硬件上配置么?我看用户手册中SYSBOOT[15:0]相对应CONTROL STATUS的某些位,是不是在软件上配置这些位也可以?
以前没有用过ARM,这部分手册也没看懂,希望各位专家能够尽快帮忙解答一下,非常感谢
以前学习过这个系列的芯片,现在时间长了有点忘了,我就把理解的说一下。可能不对,仅供参考。
第一个问题,关于 Memory boot 还是 peripheral boot 的问题。这里的问题,首先搞清楚区别两者区别,memory boot 应该是指可以独立启动的媒介,包括 NAND NOR SDCard MMC 等方式从存储媒介启动。而 Peripheral boot 则是通过通信接口来启动,比如 Ethernet ,UART,SPI,IIC等接口启动。所以首先从 Memory 启动这是常规的做法,大家都没有疑问。而从 Peripheral boot 启动则需要注意,在上电后,要考虑通过何种方式将系统或者程序传到 DDR 中。AM335x 通过串口或网口应该是可以的,但具体需要参考手册以及 AM335x 的启动机制。第二个问题,Boot sequence,启动顺序,支持多个媒介启动的时候,必须要有一个顺序,排在前面的先启动,前面失败了,就从下一个开始。比如,电脑里一个 HDD 装 Windows,一个 SSD 装 Ubuntu.这两个也是有个顺序的。
第三个问题,SYSBOOT 的配置,这个不太记得了。理论上来讲这个应该是一个固化在芯片里边的固件,应该是修改不了的,它可能是在 Uboot 之前启动。
本帖最后由 Study_Stellaris 于 2014-11-26 16:43 编辑