TI中文支持网
TI专业的中文技术问题搜集分享网站

6678内存分配问题

各位专家!

我在对DDR程序进行调试时,在对结构体指针变量赋初值时,如结构体指针变量DDR_Regs,遇到了一些情况如下:

1、给DDR_Regs初始地址0x21000000,但由于Memory Map中从0x21000000开始的地址只有256个地址空间,远小于DDR_Regs所需分配的地址空间,所以结构体成员有些没有分配到地址,也就没有给予赋值;

2、我们改变DDR_Regs初始地址为0x78000000,有足够的地址空间供DDR_Regs分配,却发现这样虽然有了足够的地址空间,但执行程序却不能给这些内存空间赋值,同时有两个地址分配的错误提示为:Error:line 2045 unexpected token:(      ;

3、我们再次改变DDR_Regs初始地址为0xE0000000,同样有足够的分配空间,发现这些地址空间在程序刚开始运行时已经赋了非零初始值,执行完程序,DDR_Regs执行相对应的地址空间也是赋了值的,但没有执行的依旧是刚开始那些非零初始值

4、以上3种情况是基于硬仿真的,但在软仿真时,Expressions都会观察到DDR_Regs地址空间分配错误提示:Error: line 48: unexpected token: 0x21000000 等

基于以上4种情况,请各位帮忙分析一下!

谢谢!

Andy Yin1:

您好,

DDR_Regs定义的就是DDR Controller相关寄存器的结构体,而其在memory map的地址就是从0x21000000开始,你的第一个问题是啥意思?不清楚你后面的修改测试目的是为何,并且也不合理。

赞(0)
未经允许不得转载:TI中文支持网 » 6678内存分配问题
分享到: 更多 (0)