将vivado设计的DDR扩展工程生成bitstream烧入到DDR200T中,利用芯来官方提供的Nuclei Studio编译相应的C语言程序进行验证。C语言程序主要完成对地址空间0xA000_000~0xAFFF_FFFF进行读写数据的功能验证。(实现功能比较简单,对代码部分不再过多阐述,核心代码如表三十三所示)
int main(void){int startp = 0xA0000000;int range = 100;read_wrtest((int *)startp,range);read_mem((int *)startp,range);return 0;}void read_mem( int *startp, int range){int *p = startp;printf("********************LIST BEGIN*********************");for(int i=0; i < range-1 ; i++ ){printf("n%d",*p);p=p+1;}printf("*********************LIST END***********************");}void read_wrtest( int *startp, int range) //input *start-addr and data-number to read{int *p = startp;printf("n********************write BEGIN*********************n");for(int i=0; i < range-1 ; i++ ){*p = i;p=p+1;printf(".");}printf("n*********************write END***********************nn");}编译完成之后将程序生成的.elf文件下载至FLASH中进行功能测试验证,观察Terminal串口显示区域,最终串口打印结果如图三十七所示: