Running Linux on your desktop brings with it some challenges. I found I'd installed a number of Lattice packages that might have been able to program the iCEblink, but I don't think I ever got any of them to work. I found a set of Digilent utilities (dadutil, djtagcfg) that will identify the board on the bus but I didn't see a way to program this board.
I found a project called
iceBurn on GitHub that claims to be able to do it. This looks promising but I didn't feel like experimenting last night.
Eventually I remembered (or figured out again) how to do it from my VMware Player virtual machine running Windows 7. Here's the majick incantation for that:
- Configure the VM so it has a USB controller. This will allow the VM to claim a USB device on the host.
- Boot the Windows virtual machine.
- Install iCEcube2 2014.08. Later versions lack the programmer needed to program the iCEblink40. Be sure to install the programmer, which may be an installation option.
- Plug the iCEblink40 into the host using a USB-A to MiniUSB-B cable.
- Activate VMware Player's "Virtual Machine" menu and navigate through "Removable Devices" to the "Digilent Adept USB Device" menu. Click on "Connect (Disconnect from host)".
Don't forget to flick the tip of your wand at the proper moment.
Le-ve-OH-sa!
With this set-up I can run the synthesis, place & route, and generate bitmap files under Linux, then switch over to the Windows VM and program the board.