Yahoo Groups archive

AVR-Chat

Index last updated: 2026-04-28 22:41 UTC

Thread

It's Working and I'm Going to the Sushi Bar :)

It's Working and I'm Going to the Sushi Bar :)

2007-03-08 by AVR Development

I've been very busy but with an hour here and an hour there I got it
working.  There were a few headaches but surprisingly there was very little
drinking involved.

 

I have the Micrium uC/OS-II Real-Time Operating System compiled under the
ImageCraft Compiler (ICCV7) for the AVR ATmega1281 using the Micrium
ATmega256 port.  There are now three LEDs happily flashing from three
independent tasks.

 

Everything went very smoothly for the most part except for a problem in the
software port file os_cpu_c.c which was due to a compiler upgrade.

 

The newer compiler apparently uses 22-bit function address calls rather than
16-bit as in earlier versions (at some point) of the ICC AVR compiler.  From
what I can gather, function calls are done indirectly as a 16-bit pointer
into a table of 22-bit function addresses located in flash.  The table
entries are now three bytes instead of two.

 

In any case, I found the OSTaskStkInit() task was adding an extra byte to
each created task's software stack.  I debugged it in AVR Studio 4.13 (Yes,
Build 528 is here so go download it) and found exactly where the errant byte
was being injected in.

 

Thought I would let you guys know.  Any comments?  I'm going to the sushi
bar :)

 

 

Barry @ JL Productions

 

 



[Non-text portions of this message have been removed]

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.