So, last week I ordered a freeDSP kit, assembled it and tried to program it on an Ubuntu machine using the freeUSBi programmer. I couldn't get this to work, so I switched from the freeUSBi programmer to an Arduino micro. Since I now finally got it to work, I'll share my experiences and what I find the easiest way to work with Linux and freeDSP.
Hardware needed:
sudo apt purge modemmanager
Connect the Arduino to your Linux box and upload the Arduino sketch through the Arduino IDE. If it works, you'll see the serial port it uses in the tools>port menu (in my case it was /dev/ttyACM0, and I will use that one here). Now connect the Arduino onto the freeDSP board, power the freeDSP board (with the E2Prom jumper set to 'write enabled', see manual) and connect the Arduino USB cable. Open a terminal and type:
sudo apt install screen
screen /dev/ttyACM0 9600
GNU screen will now open up (it's a bit like PuTTY/TeraTerm) a connection to the Arduino. If all went well, you will see:
Elektor Project 130232 Audio DSP Board
EEPROM Programmer
eeprom found
waiting for E2Prom.Hex file...
Now, open the E2Prom.Hex file in a text editor, copy all the text and paste it into the GNU screen window (using Ctrl+Shift+V). The firmware data will now be received by the Arduino and programmed into the E2Prom. Disconnect all power, remove the Arduino from the freeDSP board (essential!), set the E2Prom jumper to 'write protected' and power on the freeDSP board (you might need to hit the reset pushbutton on the board.
This worked for me! Happy freeDSP'ing :)
Please leave a comment for questions/remarks.
Hardware needed:
- A freeDSP classic board + power supply (for testing, I'm using a USB port's 5V supply)
- An Arduino micro
- Arduino IDE (install the latest version from arduino.cc)
- Virtualbox (install the latest version from virtualbox.org)
- Install Windows 7 inside Virtualbox
- Install SigmaStudio inside Windows 7 (from analog.com)
Step 1. Create a firmware (hex) file
Boot Windows 7 inside Virtualbox, start SigmaStudio and create a new project. Inside the hardware configuration tab, connect a USBi block to ADAU1701 and E2Prom block. In the schematic tab, connect the two inputs to all four outputs using T Connection blocks (this is a simple 'pass-through' configuration to test the board and its sound quality when it's doing 'nothing'). Hit the 'Link Compile Download' button and ignore the warning. In the hardware tab, right-click the ADAU1701 block and hit 'Write latest compilation to E2Prom'. This will create the .hex firmware file that we will use inside Ubuntu. Transfer this file (e.g. via a shared folder) from Windows to Ubuntu. From this point on you can close Windows/Virtualbox if it annoys you.Step 2. Program the firmware via Arduino
Download the Arduino sketch and I2C libraries from the links as found in the Getting started manual. The first thing to do to get Arduino running, is uninstalling (if it is installed) the modemmanager package, since it interferes with serial communication:sudo apt purge modemmanager
Connect the Arduino to your Linux box and upload the Arduino sketch through the Arduino IDE. If it works, you'll see the serial port it uses in the tools>port menu (in my case it was /dev/ttyACM0, and I will use that one here). Now connect the Arduino onto the freeDSP board, power the freeDSP board (with the E2Prom jumper set to 'write enabled', see manual) and connect the Arduino USB cable. Open a terminal and type:
sudo apt install screen
screen /dev/ttyACM0 9600
GNU screen will now open up (it's a bit like PuTTY/TeraTerm) a connection to the Arduino. If all went well, you will see:
Elektor Project 130232 Audio DSP Board
EEPROM Programmer
eeprom found
waiting for E2Prom.Hex file...
Now, open the E2Prom.Hex file in a text editor, copy all the text and paste it into the GNU screen window (using Ctrl+Shift+V). The firmware data will now be received by the Arduino and programmed into the E2Prom. Disconnect all power, remove the Arduino from the freeDSP board (essential!), set the E2Prom jumper to 'write protected' and power on the freeDSP board (you might need to hit the reset pushbutton on the board.
This worked for me! Happy freeDSP'ing :)
Please leave a comment for questions/remarks.
Thanks! You got me off of dead center. I wasn't right clicking on the ADAUA1401 and compiling, and I was using the wrong hex file. I did not need to disconnect my Wemos D1 after a power cycle to get the DSP working, but I did have to add a delay on the eeprom readback to avoid a watchdog reset.
ReplyDeleteI don't have a freedsp board yet, I'm using one of those ebay "ADA1401/1701 mini learning boards". At $14 I figured I could try out DSP before committing ... so far, so good.
Hi Jettsky,
DeleteI know this is an old article but I am trying to use the same board as you, is the watchdog timer fix for just the Wemos D1 ?? I'm not familiar with that device so am going to use a Nano.
Thanks.
Third parties’ providers that review casino brands certainly help, but they normally take a reduce of conversions, making you suppose twice before taking anyone’s opinion at face worth. Making casinos too available has long been a purple flag for regulators, too. Lack of regulation has allowed some operators have been 카지노 사이트 capable of to} take advantage of|benefit from|reap the advantages of} their prospects with none accountability. Striving to supply our clients the most effective range of providers, worth and support out there market}. Next, look at at|have a look at} the worldwide indicators of the advertising campaign if the early projections for visitors quality are appropriate after 4-5 days, two weeks, and a month.
ReplyDeleteA welder then finishes the work in accordance with engineering drawings or by their very own experience and judgement . Drawing, nicely as|in addition to} deep drawing, are stamping processes that rework flat sheet metallic into any number of three-dimensional forms. Laser chopping instruments use laser beams to make extremely clear, top quality cuts. Drills are chopping instruments with rotating tips that producers use to create high precision machining holes in material. Heat therapy is an optional step, but metalworkers almost at all times take the opportunity to perform it. Manufacturers heat treat metallic parts to both harden and strengthen them, or soften them for additional working.
ReplyDeleteGreat reading thiis
ReplyDelete