mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik lizenzfrei RTOS auf HCS12 PORTIEREN mit OSEK Anpassung


Autor: garelo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
ich muss für eine Uni-Projektarbeit ein freies RTOS auf ein HCS12 (16 
Bit von Motorolla)portieren und es OSEK-OS konform anpassen. Ich bin neu 
im Bereich und habe überhaupt keine Ahnung wie Aufwändig sowas wäre. 
Oder anders rum kennt jemand ein freis RTOS was sich am bestens OSEK-OS 
näht und ein Port für den HCS12 hat? Ist sowas in 4 Monaten(1 Mann 
Projekt)überhaupt realistisch?
Die aktuelle VDX-OSEK Spec lese ich gerade allerdings ist das
ganze doch ein wenig viel wenn man nie ein fertiges OSEK mal verwendet
hat (außer lesen).

Bitte mir nicht sagen wie doof ich bin oder was ich alles an Grundlagen 
lesen muss usw..brauche einfach alle mögliche brauchbare Tipps bevor ich 
mich entweder definitiv abmelde oder das Projekt weiterziehe.
Danke und hoffentlich meldet sich ein(E)r !!

Autor: antworter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wer - wie ich - oberflächliches Interesse hat und sein Nichtwissen 
reduzieren möchte:

Es handelt sich um einen wohl von Siemens initiierten Standard.

"OSEK/VDX is a joint project of the automotive industry. It aims at an 
industry standard for an open-ended architecture for distributed control 
units in vehicles."

Die Spezifikation gibts hier:

http://portal.osek-vdx.org/files/pdf/specs/os223.pdf

Autor: Garelo Garelo (garel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja danke "antworter" ..ich brauche leider mehr inputs als zu wissen wer 
der OSEK Standard initiiert hat usw...ich möchte konkret wissen wie ich 
am bestens bei so einer Aufgabe vorgehen soll..oder ob ich z.B lieber 
etwas kleineres selber kochen muss statt das fertige RTOS ewig zu 
massieren...wie ist der Aufwand einzuschätzen usw..
Außerdem habe eben gesagt dass ich die Spec grad lese

Autor: Elektro Gandalf (e_g)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie währe es mit freeRTOS, gibts schon fertig für den HC12

Autor: Garelo Garelo (garel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
war schon auf der Seite von FreeRTOS..anscheinend gibts da viel zu tun 
um es OSEK konpatible zu machen..oder irre ich mich!! ein Freund meinte 
dass Ecos besser wäre..habe aber keinen PORT für den HCS12 dafür 
gefunden oder weiss jemand besseres drüberrrr !!

Autor: antworter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Garelo:

Die Antwort war nicht für Dich gedacht, sondern diejenigen, die Dir mit 
ein wenig mehr Informationen an der Hand helfen könnten (mehr als nur 
Deine Schlagworte).

Also quasi indirekte Hilfe.

Sei's drum... viel Glück.

Autor: Garelo Garelo (garel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok sorry "Antworter" hatte es nicht kapiert...habe aufs WE gehofft um 
weitere Beiträge zu bekommen, leider scheint es nicht so der Fall zu 
sein!!Übrigens hatte auch gar nicht so das Gefühl dass mein Text eine 
Sammlung von Schlagwörter wäre..kann auch weitere Details liefern falls 
sich ein(E)r es wünscht..

Autor: Garelo Garelo (garel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe gerade eine sehr interessante Studienarbeit im Internet 
gefunden, das ganze ist an der FH Esslingen angesiedelt denke ich !! 
unter
http://www2.hs-esslingen.de/~frruit00/ zu finden..das wird mir 
hoffentlcih den Einstieg erleichtern !! Was denkt Ihr?

Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deine Frage war ob 1 Mann das in 4 Monaten schaffen kann. Antwort : ja

Leider lieferts du überhaupt keine Hinweise über deinen Wissensstand.
Insoweit kann keiner beantworten, ob du dieser Mann bist.

Nichts für ungut aber ich würde sagen, jemand der sowas hinbekommt hat 
es nicht nötig diese Frage in dieser Form zu posten, sondern würde 
konkrete Fragen stellen bzw. Informationen liefern.

Autor: AVR-User (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
An welcher uni studierst du denn?

Autor: Garelo Garelo (garel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja eben, am Anfang sagte ich dass ich alles mögliches an input brauche 
weil ich nicht wusste was man für so eine Aufgabe brauche! konkrete 
Frage werden wahrscheinlich im Laufe der nächsten Tagen kommen. Ich weiß 
noch viel zu wenig zum Thema..zu meinem Wissenstand: kann bzw. behaupte 
mal in c zu programmieren(2 Semester). Ich kann leider nicht an alles 
denken beim posten, daher würde ich euch bitten die vergessene Punkte 
nachzuhacken.
Danke

Autor: Garelo Garelo (garel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
so nach langer Tortur im "HCS12+RTOS+STACK+ASSEMBLER" Lager bin ich 
wieder dabei..mittlerweile habe ich mich entschieden ein OSEK konformes 
OS selber zu schreiben...und bin ein Stück weitergekommen. Ich habe 
erstmal einen einfachen Taskwechsel zwischen 3 Tasks realisiert(siehe 
Code unten). Nun meine Frage wie kann ich das gesammte OSEK am bestens 
organisieren (in Module aufteilen) statt ohne Planung eine Fülle von 
Funktionen zu schreiben. Auf eure Antwort wäre ich sehr dankbar..

TASK(TASK_IDLE)
{
   typ_UI_16 idx, idx2 ;
   while (TRUE)
   {
      PA1 ^= TRUE; /* led anzeige */
      for(idx=0;idx<0xFFFF;idx++){
        for(idx2=0;idx2<100;idx2++);
      }  /* Delay Test */
      Os_pre_task = TASK_IDLE;
      Os_next_task = TASK1;
       __TRAP_SWI; /* swi */
      //os_simple_schedule_bcc1(); /* Test: freiwillige CPU Abgabe */

   }

}

TASK(TASK1)
{
    typ_UI_08 simpleCnt_1 = 0; /* zaehler von 0 bis 128 */
    typ_UI_16 i, idx2;
    while (TRUE)
    {
      //  simpleCnt_1++;
//      simpleCnt_1 = ( simpleCnt_1 == 0x80 ? 0 : simpleCnt_1 );
      PA3 ^= TRUE; /* rotes led anzeige */
      for(i=0;i<0xFFFF;i++){   /* Delay Test */
        for(idx2=0;idx2<100;idx2++);
      }
      Os_pre_task = TASK1;
      Os_next_task = TASK2;
       __TRAP_SWI; /* Test: freiwillige CPU Abgabe */
    }
}

TASK(TASK2)
{
   static typ_UI_08 simpleCnt_2 = 0x81;/* zaehler von 129 bis 255 */
   typ_UI_16 i, idx2;
   while (TRUE)
   {
      /*~T*/
      PA5 ^= TRUE; /* gelbes led anzeige */
      //simpleCnt_2++;
      //simpleCnt_2 = ( simpleCnt_2 == 0xFF ? 0x81 : simpleCnt_2 );
      for(i=0;i<0xFFFF;i++){   /* Delay Test */
        for(idx2=0;idx2<100;idx2++);
      }
      Os_pre_task = TASK2;
      Os_next_task = TASK_IDLE;
      __TRAP_SWI; /* Test: freiwillige CPU Abgabe */

    }
 }
/* isr routine zum swi Befehl bzw. __TRAP_SWI */
@near @interrupt void isr_main_swi_context_switch (void)
{
//_asm ("sei\n");/* I Bit wird automatisch gesetzt=>sei ueberfluessig */

   /*~+: erstmal SP sichern*/
      __STORESP(); /* sts _tmpSP*/
   /*~+:Stackpointer im TCB des unterbrochenen Task rettern*/
    TaskList[Os_pre_task].p_TCBStackTop = (OS_STK *)tmpSP;
    p_TCBNextRun = &TaskList[Os_next_task];
#asm
   ;  Register aus dem TCB Task in Prozessor laden
   ldx _p_TCBNextRun    ;  Stack Pointer auf neue Task setzen
   lds 0,x
#endasm
   /* rti wird hier autmatisch eingefuegt */
   /* rti ==> restores CCR,D,X,Y Reg and the ReturnAdress from the Stack 
*/
}

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.