[En-Nut-Discussion] Building NutOS for ATMega2561

Harald Kipp harald.kipp at egnite.de
Tue Feb 7 15:48:48 CET 2006


At 14:58 07.02.2006 +0100, you wrote:

>a) the imagecraft compiler/linker does not (yet) support long calls (calls
>have to take the 128KB boundery into account)

ICCAVR 7.05BETA1 does support long calls. A few hours ago Richard
released BETA2
http://www.dragonsgate.net/pub/BETAS/iccv7avr_v705_beta2.exe


>b) building NutOS for target ATMega2561
>
>Question: did somebody allready took the effort to translate the register
>names and bitnames to be able to build NutOS for the 2561 (or for the 1280,
>1281 or 2560 since they all use the same names now)?

In our sandbox there is a modified version 4.1.3, which mainly
uses the #ifdefs contributed by Henrik Maier for the AT90CAN.
It compiles with 7.05BETA1, gets into NutInit and crashes when
returning from NutThreadSwitch().



>In that case, where should the startup file 'extram.s' be located since that
>assembly file uses hardcoded addresses to enable external RAM (which bit is
>located in an other register with a different address in the new 2561)? And
>how in that case should I threat registers that no longer exist in the new
>Mega256 (like the ASSR-register). That cannot be solved by just remapping,
>for that, some code has to be rewritten I guess.....

As a first step I started without external RAM. The problem,
that appears here is, that the ATmega2560/1 uses three bytes
for the PC. That seems to break several parts of the Nut/OS
code.

Harald




More information about the En-Nut-Discussion mailing list