各位你们好!
我用malloc在DDR2中动态申请内存,因为动态申请的空间大,且申请的个数多,所以申请到DDR中。
但是发现一个问题,PBMtmp = (PBMStp*)malloc(StpLen); PBMtmp能申请到DDR空间(PBMStp为结构体类型),但是对PBMtmp赋值操作始终为0。
后来查阅资料,提到DDR必须初始化,于是将128MB的DDR全部初始为非0数,于是上面动态申请的空间就能正确操作了。顺便提一下DDR全部初始0,上面动态申请的空间操作也不正确。
请问大家有没遇到这样的问题,DDR必须初始化,且不能初始化为0. 如果128MB全部初始化,每次都要等待近10s,太费事了!!
欢迎你高见!!!!
Tony Tang:
人家说的初始化是指DDR接口的时序参数要配置,而不是赋值为0。
动态内存是在heap上申请的,首先要在编译器或者cmd文件里将heap设置的足够大。