| | #23 (permalink) Top | |
| User Data registr.: 12-04-2006 Residenza: Mondovì
Messaggi: 103
| Citazione:
Ti faccio un esempio. Tempo fa una ditta mi ha chiesto di ottimizzare un progetto fatto su un hcs12, con un micro che costava, all'epoca 8 euro. Ho riscritto il codice con le stesse funzioni in ASM PIC per un pic che ne costa 3 e 50 e che ha circa un quarto della flash. Conta che sono partiti da un compilato della Metrowerks, che non è una cacca come compilatore. Programmare in assembler è un arte, le intuizioni di un buon programmatore in assembler un compilatore non le può avere, proprio perchè non ha la visione globale di quanto deve fare l'applicazione. Se il paragone è tra un programmatore MEDIO ed un compilatore MEDIO, posso essere d'accordo che il codice C sia più veloce di un codice ASM. Che sia più compatto ho qualche dubbio. Per esperienza (160 design in 9 anni) posso affermare che: 1) Se chi scrive assembler sa scrivere assembler non c'è compilatore che gli stia dietro, in termini di efficienza oppure velocità. 2) L'assembler non è morto. Ma con i compilatori attuali lo usi in pochi casi: Quando devi impaccare il codice al massimo o quando devi lesinare il colpo di clock, vedi applicazioni a batteria. Esiste ancora l'approccio dell'autodidatta, che parte con l'assembler, e tutto sommato gli fa pure bene per capire la macchina con cui sta lavorando. 3) Il mondo embedded lavora in C per il 90 % di chi ci lavora. Il 9% lavora in ASM ed in C, il resto vive nelle riserve indiane. Il programmatore figo utilizza lo IAR. Il vero programmatore utilizza lo GNU. 4) Il programmatore figo utilizza un sistema operativo (kernel) sul microcontrollore. Il vero programmatore il kernel se lo è scritto, o ne ha fatto un porting, o, almeno, ha i sorgenti e ci ha messo le mani perchè non lo soddisfaceva in alcuni punti. Chi usa il PIC18 dovrebbe dare un'occhiata all'OSA. Chi usa ATMEL AVR il BeRTOS. Chi usa ARM il FreeRTOS o il TnKernel. Quello con maggior numero di port è il FreeRTOS. Questo non perchè usare un kernel per la gestione del micro sia più figo, ma semplicemente perchè programmi meglio e più velocemente, ovviamente in C. | |
| | |
| Bookmarks |
| |
Discussioni simili | ||||
| Discussione | Autore discussione | Forum | Commenti | Ultimo Messaggio |
| modificare linguaggio menù mc3030 | ravenlinux2000 | Radiocomandi | 0 | 24 aprile 07 20:03 |
| info | francescospina | Elimodellismo in Generale | 0 | 26 ottobre 06 11:41 |
| Linguaggio E Versioni Simulatore Reflex Xtr | ctenos | Simulatori | 1 | 30 novembre 05 16:02 |