Validation de l'intégrité de la mémoire DDR sur microcontrôleurs
Dans le développement de systèmes embarqués, la stabilité de la mémoire (DDR, SRAM, FLASH, etc.) est un facteur critique. Des défaillances peuvent entraîner des comportements logiciels erratiques, rendant le débogage extrêmement complexe. Une approche préventive consiste à effectuer des tests approfondis de lecture/écriture mémoire. Il est impo ...
Publié le 25 juillet à 09h17
Vulnérabilités critiques des systèmes embarqués automobiles : Remèdes en C pour les défaillances du watchdog
Défaillances courantes des mécanismes de surviellance
Dans les systèmes embarqués automobiles, les watchdogs sont souvent mal configurés, réduisant leur efficacité. Les erreurs fréquentes incluent :
Rafraîchissement effectué par des tâches prioritaires masquant des blocages
Opérations longues dans les interruptions retardant le cycle principal ...
Publié le 22 juillet à 07h06
Guide Pratique pour l'Analyse Efficace des Journaux DLT en Électronique Automobile
Le DLT Viewer est un outil de diagnostic fondamental dans le développement de systèmes embarqués automobiles modernes. Basé sur le framework Qt et proposé en open-source, il permet aux ingénieurs de localiser rapidement les problèmes d'ECU, d'optimiser le débogage des protocoles de communication et d'accroître l'efficacité du développement de v ...
Publié le 21 juillet à 18h38
Implémentation d'un démarrage sécurisé pour systèmes embarqués avec MCUBoot
La sécurisation des systèmes embarqués est devenue un enjeu crucial à l'ère de l'Internet des objets (IoT). Le mécanisme de démarrage sécurisé constitue la première ligne de défense contre les attaques. MCUBoot, un chargeur d'amorçage sécurisé open source conçu pour les microcontrôleurs 32 bits, vérifie l'intégrité et l'authenticité du firmware ...
Publié le 9 juillet à 01h31
Mappage Non Linéaire Embarqué : Interpolation Linéaire par Segments avec `Gauge_asukiaaa`
La bibliothèque Gauge_asukiaaa offre une solution de conversion de valeurs précise et efficace pour les systèmes embarqués, ciblant spécifiquement les interfaces utilisateur de type tableau de bord (gauges). Son objectif principal n'est pas le traitement de signal généraliste, mais la transformation de lectures de capteurs brutes en positions d ...
Publié le 3 juillet à 19h25
Fonctions de délai en microsecondes et millisecondes pour le S3C2440
Le S3C2440 opère avec les fréquances d'horloge suivantes : MCLK à 405 MHz, HCLK à 135 MHz et PCLK à 67.5 MHz. La fréquence d'horloge du timer est PCLK divisé par 8, soit environ 8.4375 MHz.
Exemple avec le Timer 0
#include <stdint.h>
// Hypothèse : S3C2440PCLK est défini comme 67500000 (67.5 MHz)
#define S3C2440PCLK 67500000
// Délai e ...
Publié le 30 juin à 01h32
Guide technique FreeRTOS pour la programmation
Horloge système (SysTick)
Le noyau temps réel FreeRTOS utilise le compteur de ticks de l'horloge système pour mesurer le temps. À chaque incrémentation du tick, le noyau vérifie si des tâches bloquées doivent être réveillées. Lors d'une interruption de tick, une tâche réveillée peut avoir une priorité plus élevée que la tâche interrompue.
États ...
Publié le 27 juin à 23h06
Gestion de la mémoire dynamique dans uCGUI
La zone du tas pour la mémoire dynamique
/* Définition de l'union pour la zone du tas */
typedef union { /* Permet d'accéder au tas par blocs de 4 octets ou octet par octet */
int tableauHeap[GUI_ALLOC_SIZE / 4]; /* Assure un alignement correct */
U8 octetsHeap[GUI_ALLOC_SIZE];
} GUI_HEAP;
/* Données représentant le tas */
GUI_ME ...
Publié le 14 juin à 00h09