我想把我的程序用EMAC模式引导运行,下载我自己写的小程序已经成功,因为小程序都是存在L2SRAM。现在遇到的问题是,我想将网口通信程序通过EMAC模式加载,但是程序太大,存在DDR里面,不能正常用EMAC模式加载程序到DDR。
这个过程是不是因为DDR没有初始化?如果用EMAC模式加载这个程序,该如何处理呢?
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.
我想把我的程序用EMAC模式引导运行,下载我自己写的小程序已经成功,因为小程序都是存在L2SRAM。现在遇到的问题是,我想将网口通信程序通过EMAC模式加载,但是程序太大,存在DDR里面,不能正常用EMAC模式加载程序到DDR。
这个过程是不是因为DDR没有初始化?如果用EMAC模式加载这个程序,该如何处理呢?
DDR在使用前必须初始化,因此你需要先初始化DDR才能存数据。
有很多方法可用,最简单的就是你参考boot user guide里面的内存,在boot的过程中L2里面有一段reserve的内容是留给DDR configure table,你可以将DDR的初始化内容写到这个table中,boot会自动根据你写的内容初始化DDR。其次的话是使用二级boot方式,你将初始化DDR的代码存在L2里面,boot起来后DSP执行这段代码,然后再通过EMAC下载DDR中的代码。
King Wang 你好,你所说的DDR configure table的内容填写也是通过EMAC以数据包的格式填充进去的吗?是不是在通过EMAC向下发送boot table之前,要先将DDR configure table下载到相应的内存里啊?