Re: Interrupt example that compiles with GNU tool chain for AT91SAM7S256 (on Olimex SAM7P256 board)

Started by Eric Pasquier June 9, 2010
If you do not have experience in microcontroller, ARM structure is definetly not for beginners.
Perhaps, you should try to use AVR familly, ATMega32 for example, which are very friendly.

Eric.
----- Original Message -----
From: Jesper K. Pedersen
To: A...
Sent: Wednesday, June 09, 2010 11:23 AM
Subject: Re: [AT91SAM] Interrupt example that compiles with GNU tool chain for AT91SAM7S256 (on Olimex SAM7P256 board)

> On Wednesday 09 June 2010 09:48:53 Jesper K. Pedersen wrote:
> Have a look at the Lejos project. This runs a small Java virtual machine
> on
> the SAM7 inside the Lego Mindstorms.
>
> This device runs lots of different interrupts and uses priorities, nested
> interrupts, etc... pretty much all the stuff you need to learn.
>
> http://lejos.svn.sourceforge.net/viewvc/lejos/trunk/nxtvm/platform/nxt/
>
>

Unfortunately this is one of the many projects that I briefly looked at
but never got to compile - due to a problem in their Makefile.

When running "make" this is the output I get :

Building:

C objects: aic.o systick.o udp.o twi.o nxt_spi.o nxt_motors.o data_abort.o
display.o i2c.o sound.o bt.o hs.o printf.o main.o nxt_avr.o sensors.o
nxt_lcd.o native.o platform_hooks.o flashprog.oram jvm_interpreter.o
jvm_threads.o jvm_exceptions.o jvm_memory.o jvm_language.o jvm_poll.o
jvm_debug.o

Assembler objects: interrupts.o vectors.o init.o irq.o

LD source: sam7.lds

CC arm-elf-gcc
LD /usr/local/arm/arm-elf/bin/ld
OBJCOPY /usr/local/arm/arm-elf/bin/objcopy
OBJDUMP /usr/local/arm/arm-elf/bin/objdump
LIBGCC /usr/local/arm/lib/gcc/arm-elf/4.4.2/thumb/interwork/libgcc.a
LIBC /usr/local/arm/arm-elf/lib/thumb/interwork/libc.a
LIBM /usr/local/arm/arm-elf/lib/thumb/interwork/libm.a

make: *** No rule to make target `lejos_nxt_rom.bin', needed by `all'. Stop.

I really wonder if I should stop at the "Hello World!" repeated 50 times
and start playing tic-tac-toe and forget about microcontrollers (seems
that I have gotten too old for learning ;)

>> I am very much interested in an example software showing the workings of
>> even just a "simple" (massive understatement) interrupt.
>>
>> As I can only access my board via the Samba it must be either running
>> from ram or able to be programmed in flash via Samba (I do not have any
>> jtag connection available).
>>
>> My system consist of :
>>
>> Developement server running :
>>
>> Debian 5.0
>> arm-elf-gcc (GCC) 4.4.2 + tools (ie. ld and so on)
>> newlib-1.18
>> Sam_I_Am v0.5
>>
>>
>> Microcontroller host :
>>
>> Olimex dev. board - SAM7P256 (hosted with AT91SAM7S256)
>>
>>
>> Any hints/suggestions are greatly appreciated as any "down to earth"
>> documentation seems hard to find.
>>
>> Best regards
>> JesperKP
>> Just another confused hobbyist trying to learn the SAM7 concept
>
>
>
On 09/06/2010 11:12, Eric Pasquier wrote:
> If you do not have experience in microcontroller, ARM structure is definetly not for beginners.
> Perhaps, you should try to use AVR familly, ATMega32 for example, which are very friendly.

...and will run nicely in the AVRStudio simulator.

Regards,
Richard.

+ http://www.FreeRTOS.org
Designed for Microcontrollers. More than 7000 downloads per month.

+ http://www.SafeRTOS.com
Certified by T as meeting the requirements for safety related systems.

>
> Eric.
>
>
> ----- Original Message -----
> From: Jesper K. Pedersen
> To: A...
> Sent: Wednesday, June 09, 2010 11:23 AM
> Subject: Re: [AT91SAM] Interrupt example that compiles with GNU tool chain for AT91SAM7S256 (on Olimex SAM7P256 board)
>
>
>
> > On Wednesday 09 June 2010 09:48:53 Jesper K. Pedersen wrote:
> > Have a look at the Lejos project. This runs a small Java virtual machine
> > on
> > the SAM7 inside the Lego Mindstorms.
> >
> > This device runs lots of different interrupts and uses priorities, nested
> > interrupts, etc... pretty much all the stuff you need to learn.
> >
> > http://lejos.svn.sourceforge.net/viewvc/lejos/trunk/nxtvm/platform/nxt/
> >
> >
>
> Unfortunately this is one of the many projects that I briefly looked at
> but never got to compile - due to a problem in their Makefile.
>
> When running "make" this is the output I get :
>
> Building:
>
> C objects: aic.o systick.o udp.o twi.o nxt_spi.o nxt_motors.o data_abort.o
> display.o i2c.o sound.o bt.o hs.o printf.o main.o nxt_avr.o sensors.o
> nxt_lcd.o native.o platform_hooks.o flashprog.oram jvm_interpreter.o
> jvm_threads.o jvm_exceptions.o jvm_memory.o jvm_language.o jvm_poll.o
> jvm_debug.o
>
> Assembler objects: interrupts.o vectors.o init.o irq.o
>
> LD source: sam7.lds
>
> CC arm-elf-gcc
> LD /usr/local/arm/arm-elf/bin/ld
> OBJCOPY /usr/local/arm/arm-elf/bin/objcopy
> OBJDUMP /usr/local/arm/arm-elf/bin/objdump
> LIBGCC /usr/local/arm/lib/gcc/arm-elf/4.4.2/thumb/interwork/libgcc.a
> LIBC /usr/local/arm/arm-elf/lib/thumb/interwork/libc.a
> LIBM /usr/local/arm/arm-elf/lib/thumb/interwork/libm.a
>
> make: *** No rule to make target `lejos_nxt_rom.bin', needed by `all'. Stop.
>
> I really wonder if I should stop at the "Hello World!" repeated 50 times
> and start playing tic-tac-toe and forget about microcontrollers (seems
> that I have gotten too old for learning ;)
>
> >> I am very much interested in an example software showing the workings of
> >> even just a "simple" (massive understatement) interrupt.
> >>
> >> As I can only access my board via the Samba it must be either running
> >> from ram or able to be programmed in flash via Samba (I do not have any
> >> jtag connection available).
> >>
> >> My system consist of :
> >>
> >> Developement server running :
> >>
> >> Debian 5.0
> >> arm-elf-gcc (GCC) 4.4.2 + tools (ie. ld and so on)
> >> newlib-1.18
> >> Sam_I_Am v0.5
> >>
> >>
> >> Microcontroller host :
> >>
> >> Olimex dev. board - SAM7P256 (hosted with AT91SAM7S256)
> >>
> >>
> >> Any hints/suggestions are greatly appreciated as any "down to earth"
> >> documentation seems hard to find.
> >>
> >> Best regards
> >> JesperKP
> >> Just another confused hobbyist trying to learn the SAM7 concept
> >
> >
> >
>
>
>
>

> If you do not have experience in microcontroller, ARM structure is
> definetly not for beginners.
> Perhaps, you should try to use AVR familly, ATMega32 for example, which
> are very friendly.
>

I do have a bit of familiarity with Microcontrollers and computers in
general.
My microcontroller experience is limited to the Motorola 08 series - but
it ended up being too small for my needs.

The ARM is a major leap in processing power and programming style - but I
had hoped that it was "do-able".

My first homebuilt computer was a Zilog based on the good old Z80 about 25
years ago, and since then I have built several small computers for the fun
of it - they were all simple cpu's either with the z80, 6502 (people with
the commodore 64's remember its brother 6510) 6808 and the latest was a
small USB project with the 68HC908JB (basically 6808 with io/memory/USB).

I think one of my big challenges was the jump from using the assembly &
SDCC compiler to switching over to the GNU C compiler toolchain.

I do think that with time I should be able to grasp the ARM series - but
phew the start is difficult.

Best regards
JesperKP