Zynqのqemu (その4)の続きです。
前回はメモリの設定でしたが、今回はI/O (レジスタ)の設定です。
I/Oの設定は、次のようになります。
I/Oの設定は、次のようになります。
160 nandctrl = qdev_create(NULL, "xilinx_zynq_nandctrl"); 161 qdev_prop_set_uint32(nandctrl, "ecc-idx", 1); 162 qdev_prop_set_ptr(nandctrl, "nand", nandflash); 163 qdev_init_nofail(nandctrl); 164 sysbus_mmio_map(sysbus_from_qdev(nandctrl), 0, 0xE1000000);
各I/Oに対して、次の4つのことを行っています。
1). qdev_create関数でデバイスを作成する。 2). qdev_prop_set_xxx関数でプロパティを設定する。 3). qdev_init_nofail関数でI/Oを登録する。 4). sysbus_mmio_map関数で開始アドレスを設定する。
検証、Verification、FPGA