Enfin le ARM Cortex-A7 est plus complexe qu'un simple Arduino par exemple
Si je conseillerai le C sur ce genre de bécane , c'est parce que le ARM Cortex-A7 est un processeur dit in order Superscalaire, ça veut dire que si tu code en assembleur dessus (et que tu veux pas avoir les performances réduites par 16 !) , il faudra alors te soucier de la pipeline CPU et des instructions compatible entre elles , et un petit changement de ton code peut t'obliger à re-écrire une bonne partie parce que la pipeline à était chamboulé pour atteindre la sacro sainte 2 instructions/cycles , par contre tu peux bien sur ne pas t'en soucier et donc fort probable que ton code fera du 1 instruction/8 cycles :p
Ou alors tu prend un bon compilo qui te fait ça , et au pire écrire les parties critiques en assembleurs (mais par expérience , c'est long et fastidieux sur un proc in oder , 100-200 lignes peut te faire des jours / une semaine de boulot).
Bien sur il y'a aussi une mémoire cache à optimisé , et les processeurs ARM ont tendance d'avoir une ligne de cache sur 64 octets (contre 32 sur x86)
Je précises que sur un AVR atmel tu n'as ni mémoire cache , ni pipeline donc forcément assez facile (surtout que tout fais 1 cycle par défauts sauf le mul et le jmp ) et sur du x86 , c'est le CPU qui optimisera la pipeline de façon automatique donc là aussi tu ne dois pas t'en soucier.
Je rejoins bien sur mes collègues , je rajouterai que bon il faudra juste apprendre à lire toutes les I/O , à bien connaître ta memory map et ensuite exploité tout ça , bref ça demande du temps j'imagine vu qu'on a pas affaire à une petite machine qui est avec seulement 20-30 I/O pour contrôler le tout
Partager