microblaze 用のザイリンクス SDK で AC コードを書いています。変数は次のように定義されました。
int xcoi;
int ycoi;
u16 mat[1280][720];
このコードは、DDR2 メモリに保存されている画像データを読み取り、変数に保存します。
if ((lBtnChanges & bitBtnD) && (lBtnStateNew & bitBtnD))
{
for(xcoi = 0; xcoi<1280; xcoi++)
{
for(ycoi = 0; ycoi<720; ycoi++)
{
mat[xcoi][ycoi] = Xil_In16(pFrame + ycoi*(lLineStride*2) + xcoi*2);
xil_printf("\n\r xcoi = %d ycoi = %d \n\r",xcoi,ycoi);
}
}
}
コードが正常に動作しているかどうかを確認するために、x と y の座標をコンソールに出力しました。エラーが発生する出力の部分は次のとおりです。
xcoi = 11 ycoi = 253
xcoi = 11 ycoi = 254
xcoi = 11 ycoi = 255
xcoi = 11 ycoi = 256
xcoi = 11 ycoi = 257
xcoi = 11 ycoi = 258
xcoi = 11 ycoi = 259
xcoi = 11 ycoi = 260
xcoi = -547553269 ycoi = 261
xcoi = -547553269 ycoi = 262
xcoi = -547553269 ycoi = 263
xcoi = -547553269 ycoi = 264
xcoi = -547553269 ycoi = 265
xcoi = -547553269 ycoi = 266
xcoi = -547553269 ycoi = 267
xcoi = 11 ycoi = 260 の後に xcoi が変化するのはなぜですか? 代わりに、次の行で xcoi = 11 ycoi = 261 にする必要があります。