用ARM對FPGA進(jìn)行配置的原理與方法
if (!pioc_in (nSTATUS))
{
printf (nSTATUS = 0 while transmitting data. );
return -1;
}
for (i = 0; i nbytes; i++)
xmit_byte (data[i]);
}
for (i = 0; i 10000 !pioc_in (CONF_DONE); i++)
{
if (!pioc_in (nSTATUS))
{
printf (nSTATUS = 0 while transmitting data. );
return -1;
}
pioc_out_0 (DATA0);
pioc_out_0 (DCLK);
pioc_out_1 (DCLK);
}
if (i == 10000)
{
printf (Timeout waiting for CONF_DONE = 1. );
return -1;
}
return 0;
}
4 結(jié)論
本文給出了基于ARM的FPGA加載配置軟件實現(xiàn)。這種方法充分利用了ARM的速度快、靈活的特點(diǎn),節(jié)省了開發(fā)成本,又滿足了一些特殊的系統(tǒng)設(shè)計要求。本方法也適用于其它的微處理器。
參考文獻(xiàn)
[1]王誠,吳繼華,范麗珍,薛寧,薛小寧.Altera FPGA/CPLD設(shè)計(基礎(chǔ)篇) 人民郵電出版社 2005.7 PP187~190
[2] 王艷,李秀華 基于單片機(jī)的現(xiàn)場可編程門陣列的配置 微計算機(jī)信息 2005,13,104-105。
評論