Week 7:    Embedded Programming

This week, I studied a microcontroller datasheet during our section with our TA, Nadya.

Then I spent more of my time to learn AVR programming in Windows. Helpful resources are: high low tech tutorials, fab academy instructions, youtube videos and 2013 archives (in particular Matt Carney if you are working on windows).

First of all, I need to install all the software (including drivers) to my PC. These include WinAVR, FabISP firmware, 64-bit windows drivers for USBTinyISP and FTDI drivers. However, I tried to follow the instructions from  Mighty Ohm, but I suspect the USB driver installation workaround mentioned in the instructions did not work for my machine as I continue to get Error 1 during WinAVR programming.

Indeed, installing Win AVR and different drivers were quite a project for beginners. I referred to multiple Youtube videos to see how other people did it in Windows.

I tried to two different ways to program my board: (1) using a "makefile" and (2) manually compile code using windows command window. Then, I also tried to check if hello.ftdi.44.echo is working.

First method: using a "makefile"

1. Download all the files on course page into a folder.
2. Open windows command window in this folder.
3. Type: make -f hello.ftdi.44.echo.c.make program-avrisp2
4. This will convert the c files into hex files.



Second method: manually compile code using windows command window

1. Compile an assembeler file: avr-gcc -mmcu=attiny44 -o hello.ftdi.44.echo.out hello.ftdi.44.echo.c
2. Compile a hex file from assembler file: avr-objcopy -o ihex hello.ftdi.44.echo.out hello.ftdi.44.echo.hex
3. Program the microcontroller: avrdude -p t44 -c usbtiny -U flash:w:ftdi.44.echo.hex

The process went thru and I can see hex file created in the folder. However it also returned Error 1 as PC doesn't seem to recognize USB.

Check if hello.ftdi.44.echo is working

1. Open a terminal program such as Python terminal. You should download this file to your PC.
2. However, in order to make above work, you need to install
Python 2.7  and PySerial.  I also installed unofficial Windows binaries for Python Extensions.
3. Then I typed in python term.py com6 115200.
4. However, the system first returned "python is not recognized as a syntax." I used Youtube again and realize I need to edit the "path" in control panel -> system -> advanced setting. I managed to make this work.
5. Then I got to terminal window for the port. Yet, as I suspect my USB driver is not correctly installed, the terminal did not return keystrokes as I typed...