ndf-zz / asfv1

Alternate Assembler for Spin Semi FV-1
MIT License
38 stars 7 forks source link

USB upload #1

Closed niclashoyer closed 6 years ago

niclashoyer commented 6 years ago

Is it somehow possible to upload the compiled programs without using the proprietary IDE? I'd like to get rid of it completely.

ndf-zz commented 6 years ago

Hi Niclas,

Yes. You can upload binary images directly to eeprom using an i2c interface if you can get those pins exposed on your development board.

Alternatively, you can run a python script I wrote which will upload and verify compiled programs to the Spin development board (and TipTop numberz which clones it) without the proprietary IDE - but you will need a copy of a firmware blob (spindev.hex) which is distributed in the IDE. This python script will also udate the display image for zDSP cards.

I asked Spin Semi if it was possible to distribute their firmware blob with a python uploader script and they replied with a definite no. At that time I then started looking into replacing the programmer blob and just about got it working, but bricked my programmer in the process, and moved onto other projects. I2C is the way to go if you can be bothered :)

Graham Biswell has written a neat i2c eeprom interface that uses a teensy microcontroller over USB - it works great if you can get to those pins (SDA, SCK & Gnd) on your eeprom. It's part of his Dervish project and can be downloaded from here:

http://gbiswell.myzen.co.uk/dervish/Readme_First.html

Alternatively you should be able to use any i2c interface with linux and address the EEPROM directly.

If you still want to try the Spin Semi style uploader, let me know and I'll send you a copy of my scripts.

Cheers,

Nathan

On Tue, 28 Aug 2018, Niclas Hoyer wrote:

Is it somehow possible to upload the compiled programs without using the proprietary IDE? I'd like to get rid of it completely.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.[AH0CDxHVT7PVWO5GJ30C_2JFzF-fF8dsks5uVSAagaJpZM4WPXi5.gif]

niclashoyer commented 6 years ago

Thank you for your comment. If there is a binary blob involved I'd like to avoid that. I've got a Bus Pirate, so I'll use that to directly write it via i2c. I just have to figure out the addresses.

niclashoyer commented 6 years ago

@ndf-zz I just found out about the zDSP cards. Can you please send me the scripts? The display image is stored on a separate eeprom, isn't it? I did not find much about the wiring of the zDSP cards online. edit: if you need my mail: info@niclashoyer.de

ndf-zz commented 6 years ago

Niclas,

awesome - the Bus Pirate would be an ideal programmer. No need to figure out the addresses, effect programs are all exactly 512 bytes long and stored in order as follows:

offset program 0x000 0 0x200 1 0x400 2 0x600 3 0x800 4 0xA00 5 0xC00 6 0xE00 7

With the bus pirate you can use hex output from the assembler and set the program offset using option -p. I'll have to try that some time :)

As for the zdsp, I'll answer that separately.

Cheers,

Nathan

On Tue, 28 Aug 2018, Niclas Hoyer wrote:

Thank you for your comment. If there is a binary blob involved I'd like to avoid that. I've got a Bus Pirate, so I'll use that to directly write it via i2c. I just have to figure out the addresses.

djdoz commented 4 years ago

Hi ndf-zz, are you able to send me the scripts for the zDSP and also information on the zDSP pinouts?

Many thanks.

ndf-zz commented 4 years ago

Hi djdoz, you can get all the scripts in related project: fv1build (https://github.com/ndf-zz/fv1build)

You'll need to download the Spin IDE and extract a copy of the programmer firmware blob 'spindev.hex', and also install cycfx2prog, and also check the vid/pid of your programming device.

I don't know the pinout of the zDSP cart - it should be published by the manufacturer.