Other Parts Discussed in Thread: HALCOGEN
问题1,调用HALCoGen中自动生成的emif_SDRAMInit函数,无法实现数据写入。当将该函数中的内容替换为在论坛中找到的一个资料中的初始化函数后,就可以写入,所以问题可能是由初始化引起的。
问题2,同样使用HALCoGen生成的代码emif_ASYNC1Init,想对异步外设进行访问。但是针对地址0x60004000(ASYNC1对应的地址为0x60000000-0x63fffff)的写入无法从IAR对应的地址中看到。
部分程序如下:
#define DIGITAL_BOARD_ADDR 0x60004000
/*向该地址写数据,在IAR下无法看到,但是可以通过读数据将其获取查看(如temp所示)*/
for(int i = 0;i<8;i++)
{
(*((uint16 *)(DIGITAL_BOARD_ADDR+i))) = i;//向地址段中写入数据
temp = (*((uint16 *)(DIGITAL_BOARD_ADDR+i)));//将其读出
}
现在问题是:我通过temp可以观测到数据的实时变化(0到7),但是在相应的地址空间中却无法看到。初步怀疑是emif_ASYNC1Init设置不对。
求解答,谢谢

