如题,十分感谢,十分感谢。
Steven Liu1:
你确定是uboot加载app到ram中,而不是DDR上去么?
ram空间本来就比较有限,如果要做简单高效的程序跑在ram里的话,直接在bootloader里面做就好了。干嘛还多一步的引导配置?而且不用ddr的话,bootloader里面也不用配DDR部分,还需要做什么其他的初始化么。
如果是bootloader直接引导个APP跑在DDR上,直接看Starterware的代码就可以了,原版的starterware都是这样做的。
JinCai Sun:
回复 Steven Liu1:
可能描述有问题,是直接引导APP跑在DDR上。在bootloader里面加入LCD驱动,APP里面也有LCD驱动的时候,两者就冲突了,屏幕就发生大面积错位。大面积错位原因就可能是DMA设置错误吧?但是,我单独运行两个程序的时候,也就是说,只有一个驱动,它就全都显示正常。那就是说,这两个驱动在DMA冲突了,我两个DMA都是定义的一样的,我想问下,DMA是不是在运行的时候,只能对应一个内存块,不能重复定义?或者,DMACONFIG之后,如何重置,或者重复定义。
JinCai Sun:
回复 Steven Liu1:
十分感谢您。
Denny%20Yang99373:
回复 JinCai Sun:
DMA冲突肯定会导致各种问题
建议在BOOTLOADER或者APP里面把一个LCD驱动去掉,否则会有问题。
JinCai Sun:
回复 Denny%20Yang99373:
如果在bootloader中加入LCD驱动的话,app中buffer如何映射到bootloader中开辟的对应dma的内存空间?