Hallo achim S.
Das ist im Prinzip "ganz" einfach:
Auf den NIBO2 wird das initializer2.hex geflasht (das "Betriebssystem" oder die "Firmware"); das initializer2.hex ist ein kompiliertes file.
Das file initializer2.hex beinhaltet die "Firmware" für den ATMega128 UND die "Firmware" für den ATmega88. Die Toolkette, die dieses file erzeugt, ist etwas kompliziert...
Das Problem bei uns ist ja, daß wir den Copro NICHT ALLEINE flashen können (kein eigener ISP), deshalb wird zu einem Trick gegriffen - im initializer2.hex ist auch die "Firmware" für den Copro.
Das geht folgendermassen:
- es wird durch das makefile im directory copro ein file erzeugt, das mittels einer weiteren Datei in ein copro_hex.h gewandelt wird (dazu ist aber eine zusätzliche lib nötig, nämlich die boost_lib, und das "Wandelfile" steht im directory tools)
- dieses copro_hex.h wird zu dem file "main.c" dazugelinkt bzw included, das durch das makefile im directory initializer2 erzeugt wird - das erzeugte file heißt dann initializer2.hex, und da ist nun das file für den ATMega128 und den ATMega88..
(#include "../copro/copro_hex.h")
(#include "../copro_check/copro_check_hex.h")
- somit wird also aus 2 files 1 file gemacht - eben jenes initializer2.hex, das auf den NIBO2 geflasht wird.
Generell ist die ganze Toolkette nur dann erkennbar, wenn man sich von
nibo.svn.sourceforge.net/viewvc/nibo/ Download GNU tarball aufruft und das ganze entzippt bzw mit 7zip entpackt.
Wir können aufgrund der Tatsache, daß nur eine zugängliche ISP existiert (die für den ATMega128) eben nur den ATMega128 programmieren; wenn wir Programme für den ATMega88 schreiben wollen, können wir das zwar, haben aber das Problem, diese auch auf den ATMega88 zu bringen - das geht eben derzeit nur über den Umweg => file schreiben, das file in ein copro_hex.h wandeln, dies mittels modifiziertem initializers2 auf den NIBO2 flashen.
Schön wäre es, wenn workwind uns eine einfachere Möglichkeit bieten würde...
Hoffe, es ist somit einigermassen klar...
Egon