Reply by "Jesper K. Pedersen" June 9, 20102010-06-09
> 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
Reply by FreeRTOS Info June 9, 20102010-06-09
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
> >
> >
> >
>
>
>
>

Reply by Eric Pasquier June 9, 20102010-06-09
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
>
>
>