[GTALUG] Programming Atmel Microprocessor from Linux

Stewart C. Russell scruss at gmail.com
Tue Sep 26 15:05:07 EDT 2017


On 2017-09-22 04:22 PM, Peter Hiscocks via talk wrote:
> I'm currently developing a program in assembly language, using a Linux
> platform to host the development. The development environment is very
> simple. My notes on this are now on my academic web page at
> 
> http://www.ee.ryerson.ca/~phiscock/
> 
> in the 'papers' subdirectory.

Thanks for that, Peter. A couple of comments:

* You can use inline assembly language in the Arduino IDE, and it
handles the assembly/compilation, linking and upload with one click or
key shortcut. Hints for inline assembly:
https://ucexperiment.wordpress.com/2013/06/03/gcc-inline-assembler-cookbook/

* Arduino IDE also has a serial monitor

* I'd agree that debugging avr-gcc is virtually impossible, and that's
why the whole Arduino infrastructure is so light on debugging. Part of
the problem, though, is that effective debugging of embedded code needs
hardware that's a) not cheap, and b) got a learning curve.

* “sudar/Arduino-Makefile” <https://github.com/sudar/Arduino-Makefile>
allows you to build Arduino projects from the command line, if that's
your thing.

* Really beware of instruction set changes between Atmel chips. Many of
the ATTiny chips don't even have a multiply instruction, f'rinstance …

* Atmel microprocessors are rather expensive, and getting a bit long in
the tooth. For the same price as a < 20 MHz 8-bit ATMega, I can get a 80
MHz 32-bit ESP8266 breakout complete with built-in wifi and megabytes of
flash storage. I can also program the ESP8266 in MicroPython or Arduino,
which brings embedded development to a wider audience.

While we* sell a bunch of AVR-based boards still, the ARM and ESP-based
boards sell in higher volumes.

cheers,
 Stewart

*: my employer, Elmwood Electronics, an electronics mail-order retailer
in Bloor West Village.

-- 
  > Does anyone know what each of the pins on the 6502 CPU chip
  > in the Apple II Plus does?
  They all plug into the socket on the motherboard to keep the chip
  from drifting away.                        - c.s.a2 FAQ of yore


More information about the talk mailing list