在nios ide中用int型数组访问外设时,可以不用在硬件程序中特殊处理address。尽管c程序编译结果访问的地址都为4的倍数,但address线直接忽略地址低2位,因此address线仍是连续的。
c程序如下:
- #include
-
#include
-
-
int main()
-
{
-
int *data=ADCONTROLLER_0_BASE;
-
int i;
-
-
for(i=0; i<1024; i++)
-
{
-
printf("%x\n",&data[i]);
-
}
-
-
printf("Hello from Nios II!\n");
-
-
return 0;
-
}
verilog程序如下:
- always@(posedge clk)
-
begin
-
if(chipselect && read)
-
begin
-
if(buffer[address][13])
-
begin
-
readdata[31:14]=~18'b0;
-
readdata[13:0]=buffer[address][13:0];
-
end
-
else
-
readdata=buffer[address];
-
end
-
end
阅读(1577) | 评论(0) | 转发(0) |