fu563048951 发表于 2015-10-29 17:02:55

LPC1788外部存储器SDRAM初始化的问题

用SDRAM用来液晶缓存,将EMC的初始化放在启动文件中,如下:
Reset_Handler   PROC
                EXPORTReset_Handler            
                IMPORTSystemInit
                IMPORTEMCInit
                IMPORT__main
                LDR   R0, =EMCInit
                BLX   R0
                LDR   R0, =SystemInit
                BLX   R0
                LDR   R0, =__main
                BX      R0
                ENDP
主函数中就不用再初始化EMC了,这样显示都正常,但是如果将EMCInit写在主函数中,将启动文件中的注释掉,液晶就不正常工作了,请问是怎么回事,百思不得其解

LO单片机VE 发表于 2015-11-2 12:08:51

启动文件中还是保留着不管它,主程序中单独再初始化EMC试试,应该可以的。

fu563048951 发表于 2015-11-4 09:25:48

LO单片机VE 发表于 2015-11-2 12:08
启动文件中还是保留着不管它,主程序中单独再初始化EMC试试,应该可以的。 ...

启动文件里面本来是没有 EMCInit的,是我加的,这样主程序就不需要再进行EMCInit了,工作正常。似乎只能这样才正常,不知道为什么

myxiaonia 发表于 2015-11-4 09:33:07

如果emc存储器段选择为noinit,可以不在复位向量里初始化emc,所有定义在emc上的全局变量不会被初始化

fu563048951 发表于 2015-11-4 10:02:28

myxiaonia 发表于 2015-11-4 09:33
如果emc存储器段选择为noinit,可以不在复位向量里初始化emc,所有定义在emc上的全局变量不会被初始化 ...

我试过这种方式,程序运行不起来,就是不用自己写的分散加载文件,勾选RAM区,以及SDRAM区,并且选择NOInit,编译时没有错误,就是运行不了,液晶没有显示
页: [1]
查看完整版本: LPC1788外部存储器SDRAM初始化的问题