sabato 29 giugno 2019

uKernel per 8051

Molti anni fa il codice nel sistema embedded era praticamente scritto in Assembly (e non in Assembler). L'assembly è la lingua dei microprocessori. Il codici sviluppati in quel periodo erano molto densi con molte funzionalità. 

In questo caso, la nostra applicazione doveva consentire un comportamento fluido e uniforme per tutti i cursori che potevano essere spostati simultaneamente. Abbiamo progettato un kernel con uno scambio di contesti semplice ma molto efficace e creato molte attività necessarie per gestire i comportamenti paralleli.

Event e Semaphore erano parte fondamentale di questo kernel 8051

;================================== ; WAIT_SEMAPHORE ; COMMENT : PROCEDURA DI ATTESA SEMAFORO ; ; ON ENTRY : ( INDICE_TABELLA ) INDICE ; ON EXIT : NONE ;==================================== WAIT_SEMAPHORE: ;---------- SALVA CONTESTO TASK CHIAMANTE POP SAVEPCH POP SAVEPCL CALL SAVE_CONTEXT MOV EVERGREEN,hashtagGREEN ;---------- PASSAGGIO A TASK SUCCESSIVA NEXT_TASK: INC TSK_CNT MOV A,TSK_CNT DEC A CLR C SUBB A,TSK_MAX JC OK_TASK_NUMBER MOV TSK_CNT,#1 OK_TASK_NUMBER:

Nessun commento:

Posta un commento

In ricordo

Accludo due link in ricordo Angles of view Angles of reflection