Forum Programmation.c Code assembleur incorrect généré à partir du code C (ARM Cortex-m3) ?

Posté par  . Licence CC By‑SA.
Étiquettes :
1
2
déc.
2021

Hello,

J'ai un problème avec un code assembleur généré par GCC à partir d'un code C.

J'essaie d'écrire un firmware minimal pour un microcontrôleur, le LPC1769.
Il utilise le processeur ARM Cortex-M3. Mon firmware est simple :
* Exécute une fonction nommée "reset()" lors de la réinitialisation du processeur
* Dans cette fonction, je déclare 3 variables locales : 3 pointeurs vers 3
différents registres, initialisés avec leur adresse
* Ensuite, j'écris une valeur dans chaque registre

Le problème:

Le (…)

Journal Recherche de valeur dans un tableau et l'écosystème des compilateurs C++

Posté par  (site web personnel) . Licence CC By‑SA.
73
3
oct.
2021

Bonjour 'nal,

GCC, Clang, MSVC, sont tous des compilateurs très performants, ayant de nombreuses heuristiques pour émettre des instructions terriblement efficaces, à défaut d'être optimales. De même pour ICC, le compilateur d'Intel, réputé pour enterrer tous les autres en termes de performance du code généré. On en parle pas beaucoup mais il est là. (Tiens, d'ailleurs, savais-tu qu'Intel migrait son compilateur vers LLVM ? Le nouveau compilateur se nomme ICX pour le C, et ICPX pour le C++.)

Il (…)

Journal Premiers pas sur l'architecture RISC-V avec la carte HiFive1

Posté par  (site web personnel) . Licence CC By‑SA.
39
3
juin
2020

Une révolution, tout simplement. Depuis que je travaille dans le domaine embarqué, j'ai connu quelques changements intéressants avec notamment l'arrivée de l'architecture Cortex-M, mais là, c'est un cran au-dessus. Une architecture de microcontrôleur Open Source, j'en ai rêvé, maintenant elle existe.

Rappel sur les microcontrôleurs

Petite piqûre de rappel : les microcontrôleurs sont de très petits processeurs équipés de périphériques pour contrôler le monde extérieur au composant : des actionneurs ou des capteurs. De plus, ces composants disposent de leur (…)

Journal Le compilateur GCC passe à Git

Posté par  . Licence CC By‑SA.
Étiquettes :
33
25
jan.
2020

Depuis le 13 janvier, le dépôt du code source de GCC est entièrement passé sur Git. La tâche a été confiée au hacker moustachu Eric S. Raymond avec un délai assez court. Mais ce type est un monstre, il raconte ses trente jours de hack dans un billet impressionnant — des 580 Gio de RAM à sa maladie consécutive. Il y a un autre achèvement : le 13 janvier marque aussi la version 4.0 de Reposurgeon, l’outil d’esr (…)

Journal zsh remplace bash comme shell par défaut sous macOS

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
29
6
juin
2019

On n'est pas vendredi mais tant pis.
Dans la prochaine version de macOS, zsh remplace bash comme shell par défaut (zsh était déjà disponible en option). Mais pour être plus précis, ça remplace un vieux bash pré-GPLv3 par un shell moderne et surtout pas chiant en licence.
Vous voyez venir la tentative de troll? Il faut croire que quand on veut jouer à mettre plus de contraintes sur la licence d'un logiciel, il faut avoir de sérieux atouts sinon (…)