Forum: Mikrocontroller und Digitale Elektronik Vorhandenes C-Projekt AVR ATMega 128 auf ARM9 ans Laufen bekommen


von Christian H. (christian_h55)


Lesenswert?

Hallo,

ich bin Neuling im Gebiet der ARM9 Microcontroller und C-Programmierung.
Meine Aufgabe (Technikerprojektarbeit) ist es ein vorhandenes C-Projekt 
(AVR mit AT 128 unter NUTOS) auf einem ARM9 (Foxboard G20 Linux) ans 
laufen zu bekommen. Nun zu meiner Frage? Kann mir vielleicht jemand 
Tipps für eine ideale Vorgehensveise geben oder vielleicht sogar Hilfe 
(Nachhilfe oder Projektbegleitung) anbieten? Natürlich würde diese Hilfe 
dann auch belohnt;)!
Danke schonmal!

von holger (Gast)


Lesenswert?

>Meine Aufgabe (Technikerprojektarbeit) ist es ein vorhandenes C-Projekt
>(AVR mit AT 128 unter NUTOS) auf einem ARM9 (Foxboard G20 Linux) ans
>laufen zu bekommen.

Neu schreiben dürfte mehr bringen;)

von Andreas K. (derandi)


Lesenswert?

Also, wenn ich das in der Kürze richtig sehe ist Nut/OS ein 
Betriebssystem, zugeschnitten auf einen Mega128.
Jetzt soll das Programm, was auf diesem Nut/OS läuft, auf ein Board mit 
ARM-CPU und Linux migriert werden, richtig so?

Was ist denn die Aufgabe des Programms?

von Christian H. (christian_h55)


Lesenswert?

holger schrieb:
>>Meine Aufgabe (Technikerprojektarbeit) ist es ein vorhandenes C-Projekt
>>(AVR mit AT 128 unter NUTOS) auf einem ARM9 (Foxboard G20 Linux) ans
>>laufen zu bekommen.
>
> Neu schreiben dürfte mehr bringen;)

Meinst du um C besser zu lernen oder für den zeitlichen Aufwand? Da wir 
auch die Hardware Entwicklung vornehmen, sollte der Programm Teil in der 
Projektarbeit nicht zu viel Zeit in Anspruch nehmen!

von Christian H. (christian_h55)


Lesenswert?

Andreas K. schrieb:
> Also, wenn ich das in der Kürze richtig sehe ist Nut/OS ein
> Betriebssystem, zugeschnitten auf einen Mega128.
> Jetzt soll das Programm, was auf diesem Nut/OS läuft, auf ein Board mit
> ARM-CPU und Linux migriert werden, richtig so?
>
> Was ist denn die Aufgabe des Programms?

Genau das ist richtig...Dieses NUTOS basiert auch auf Linux...und soll 
nun auf den ARM migriert werden...
Aufgabe des Programms:

Wir setzen zur Zeit quasi einen Microcontroller AT 128 auf einer
Europakarte als sogenannten Systemcontroller in Prüfgeräten ein. Der
Systemcontroller steuert dann über einen CAN Bus verschiedene
Elektroniken (LED´s, Lasten, Relay´s etc...), die gerade für die
jeweilige Prüfung benötigt werden. Gesteuert wird der Systemcontroller
via LAN vom PC aus. Der bisherige Systemcontroller war eine komplette
Eigenentwicklung (alle Schnittstellen, Bussysteme wie I2c, SPI und
ähnliches) Kosten mit Lötarbeiten ca 600 Euro. Mit dem Foxboard hätten
wir quasi ein fertiges Zukaufsteil, das uns alle Schnittstellen bietet
und desweitern leistungsstark genug ist, um spätere Erweiterungen wie
LIN über SPI etc zu integrieren... Vlt sogar mal mit TouchPanel zu
erweitern ;)...naja in der Hinsicht ist man ja noch offen.
Naja nun müsste halt das bereits vorhandene C-Programm für den ARM9 des
Foxboards geändert werden. Das war jetzt mal die Ulta kompakt
Funktionsbeschreibung ;)... habe ansonsten noch die genaue
Projektbeschreibung für den Projektantrag der Technikerschule parat (in
PDF Format) sowie die Quellcodes und Programmebeschreibung.

von Karl H. (kbuchegg)


Lesenswert?

Christian H. schrieb:
> holger schrieb:
>>>Meine Aufgabe (Technikerprojektarbeit) ist es ein vorhandenes C-Projekt
>>>(AVR mit AT 128 unter NUTOS) auf einem ARM9 (Foxboard G20 Linux) ans
>>>laufen zu bekommen.
>>
>> Neu schreiben dürfte mehr bringen;)
>
> Meinst du um C besser zu lernen oder für den zeitlichen Aufwand? Da wir
> auch die Hardware Entwicklung vornehmen, sollte der Programm Teil in der
> Projektarbeit nicht zu viel Zeit in Anspruch nehmen!

Höchst wahrscheinlich wird das am meisten Zeit beanspruchen!

Die Frage ist: wieviel von bestehenden Projekt ist hardwareabhängig und 
wieviel ist stink normales Wald und Wiesen C?

Vorgehensweise:
Mega Programm analysieren - die Idee aus dem bestehenden Projekt 
herausholen.
Feststellen, wie die Hardware das Mega diese Projektidee unterstützt.
Nach gleichwertigen Dingen auf dem ARM Board suchen.
Feststellen ob die notwendige Hardware vom Mega in irgendeiner Form auf 
dem ARM abbildbar ist. Dazu Versuche durchführen.
Hat man für alles eine 1:1 Entsprechung gefunden, dann kann das 
eigentliche Projekt portiert werden, wobei die hardwareabhängigen Teile 
durch die ARM Entsprechung ersetzt werden.

Dann kann es noch ein Problem geben, wenn Timingsachen entsprechend 
angepasst werden müssen.

von Peter D. (peda)


Lesenswert?

Christian H. schrieb:
> Da wir
> auch die Hardware Entwicklung vornehmen, sollte der Programm Teil in der
> Projektarbeit nicht zu viel Zeit in Anspruch nehmen!

In der Regel teilt sich der Zeitaufwand für ein Projekt etwa so auf:
Hardware: 10..20%
Software: 90..80%

Programmieren geht nicht so einfach mal nebenbei.


Peter

von Karl H. (kbuchegg)


Lesenswert?

Und das

> ich bin Neuling im Gebiet der ARM9 Microcontroller und C-Programmierung.

sind schon mal ganz schlechte Karten. Wer Programme von einer Platform 
auf eine andere portieren will, muss in der Programmiersprache schon 
ganz schön fit sein. Ich kann nur für dich hoffen, dass dein Projekt in 
weiten Teilen aus Standard-C Code besteht, der tatsächlich einfach 1:1 
auf die Zielplatform übertragbar ist.

von Oliver (Gast)


Lesenswert?

Christian H. schrieb:
> Meine Aufgabe (Technikerprojektarbeit) ist es....

Christian H. schrieb:
> Natürlich würde diese Hilfe
> dann auch belohnt;)!

Seit wann ist denn in Technikerprojektarbeit solche Art der Hilfe 
erlaubt?

Christian H. schrieb:
> ich bin Neuling im Gebiet der ARM9 Microcontroller und C-Programmierung.

Christian H. schrieb:
> sollte der Programm Teil in der
> Projektarbeit nicht zu viel Zeit in Anspruch nehmen!

Sorry. Ich lese da ARM9, Linux, NutOS, LAN, LIN, CAN, I2C, SPI, PC, ...

Christian H. schrieb:
> Genau das ist richtig...Dieses NUTOS basiert auch auf Linux

NutOS hat mit Linux ungefähr so viel zu tun, wie ein Fisch mit einem 
Fahrrad.

Wenn du mit alle dem noch nie was zu tun hattest, geht da schnell mal 
ein ganzes Jahr drauf. Viel Vergnügen.

Oliver

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.