From: Uwe B. <bo...@el...> - 2011-08-27 20:39:17
|
>>>>> "Joris" == Joris van Rantwijk <jo...@sr...> writes: Joris> Hello Uwe, Thanks for fixing the FTD2XX dependency. Hello, thanks for your work! Joris> Something else: Last week I tried to program a board with one BIT Joris> file split over two XCFS devices. I noticed that this no longer Joris> works because some stuff got mixed up between the Joris> bitfile-splitting logic and the offset/rlength logic. Joris> I'm trying to fix it, but my problem now is that I don't Joris> understand what the intended behaviour of the offset/rlength Joris> logic is. Joris> For example: "xc3sprog w:sample.bit:64:BIT:32" Joris> Should this take the complete contents of sample.bit (i.e. bytes Joris> 0 .. 32 of the file) and program it into bytes 64 .. 95 of the Joris> flash chip? Or should this take bytes 64 .. 95 from sample.bit Joris> and program them into bytes 64 .. 95 of the flash chip? It's intended effect would be to take bytes 0..31 of the bitfile and write it starting at PROM position 64 (offset for offset in PROM, rlength for bitfile read length) Joris> Same question for: "xc3sprog r:sample.bit:64:BIT:32" Joris> This one is especially confusing. It seems that ProgAlgXCF::read Joris> takes bytes 64 .. 95 and puts them into positions 64 .. 95 of the Joris> buffer. But then BitFile::saveAs writes buffer positions 0 .. 32 Joris> to disk. Intended effect when reading is to start reading the PROM at offset for length bytes Probably I broke XCF writing. I have done no work on a design with XCF since long and I don't have any multi-prom design to test at all. Joris> Also, what is the use case for the offset/rlength feature? Joris> Understanding that may help me to do the right thing with the Joris> multi-PROM logic. The use case is to write a multi-boot pattern to serial flash xc3sprog -c xx -I w:<multiboot-header.bit>:0 w:<golden.bit>:0x10000 w:<normal-image.bit>:0x190000 For xcf, intended command line is like xc3sprog -c xx -p 2,4,... -I w:<multiboot-header.bit>:0 w:<golden.bit>:0x10000 w:<normal-image.bit>:0x190000 with PROMs at JTAG chain positions 2,4 for the example above. An example for a XC6SLX45 multiboot header is in the source. We have this XC6SLX serial multiboot pattern in a somehow "productive" use here. The optional length could allow partial overwrite. The main use is to read back the different images written above to different files against reading the whole flash image to one file. As I intend to have orthogonal arguments, I tried to make XCF behave like serial flash programming, but probably got it wrong. Any help welcome. Multi PROM arrangements will make things more difficult. Bye -- Uwe Bonnes bo...@el... Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt --------- Tel. 06151 162516 -------- Fax. 06151 164321 ---------- |