Site Network: Home | Portfolio | Essay and Reports | Sandbox | Wiki

Embedded Ethernet

Interfacing an AVR with an ubiquitous Ethernet network allows for a host of novel applications with embedded communications. The Microchip ENC28J60 makes the tedious job of building a network interface simple, using the 'Serial Peripheral Interface' (SPI) and requiring only 4 wires.

Read more...

Compiling for AVR with GCC and *nix

The file system employed by *nix systems is far more comprehensible that either FAT32, NTFS or whatever Microsoft is promoting with Vista or Windows 7. One problem, however, is portability between Windows and *nix platforms.

I have just lost half a morning trying to compile some C code for an AVR on my MacBook – the compiler complaining that:

compiler.h:31:26: avr\signal.h: No such file or directory

compiler.h:31:27: avr\interrupt.h: No such file or directory

compiler.h:31:28: avr\io.h: No such file or directory

I know for a fact that these libraries exist and looking at the offending lines of code there is nothing obviously wrong:

#include <avr\signal.h>

#include <avr\interrupt.h>

#include <avr\io.h>

Then it seemed obvious: the path separator is the wrong way around – just another way for Windows to make my life difficult without having to touch it! Correcting it to:

#include <avr/signal.h>

#include <avr/interrupt.h>

#include <avr/io.h>

and the problem is fixed (expec signal.h is deprecated).

So much for code claiming to be tested on every platform, but then again what is to be expected of code that tries to redefined the keyword ISR?

Comment

Commenting is closed for this article.