Papilio Loaderのメモ

http://papilio.cc/index.php?n=Papilio.PapilioLoaderV2
ZAP IDEで生成したコードが"out.mem"になっててよく分からなかったので調べた。
ZAP IDEは.hexを生成した後、srec_catというプログラムで.memを生成しているみたい。その後のgawkは整形目的か。

Converting Intel hex file to Verilog Mem format:
./srec_cat sketch_jul29b.cpp.hex -Intel -Byte_Swap 2  -Data_Only -o tmp.mem -vmem 8
./gawk ' BEGIN{FS=" ";} { $1= ""; print}' tmp.mem > out.mem

その後AVR8のSoft coreのビットストリームファイルとmergeされて転送されるらしい。
(AVR8_PapilioOne_500_bd.bmmとAVR8_PapilioOne_500.bitとout.memを結合してout.bitを生成)

Selecting Papilio One 500K Bit file.

Merging Verilog Mem file with Xilinx bitstream:
./data2mem -bm bitstreams/AVR8_PapilioOne_500_bd.bmm -bt bitstreams/AVR8_PapilioOne_500.bit -bd out.mem -o b out.bit

あと、Papilio上では4MbitのFlash EEPROMとSPIで通信するように接続されているらしい。
こういうことか

data2memはコードサイズがBRAMに収まるときにしか使えない?
http://www.tokudenkairo.co.jp/art7/microblaze11.html
http://marsee101.blog19.fc2.com/blog-entry-349.html
Spartan 3EのXC3S500EのBRAMは360k bit=45k Byteということだから
Arduino UNOのFlashが32Kであることを考えると余裕ということか