Skip to content

Latest commit

 

History

History
16 lines (9 loc) · 2 KB

2012-2014-t.p.s..md

File metadata and controls

16 lines (9 loc) · 2 KB

Thought Technology - T.P.S. (2012-2014)

Tâches Technologies
  • Conception du micrologiciel principal, utilisation de configurations dynamiques (PSoC).
  • Conception d'applications de démonstration ainsi que librairies multi-platforme ainsi que des outil maison permettant de compiler certaines librairies pour les plateformes Windows, iOS et Android, à partir du même code source.
  • Conception banc de test complet et outils interne en soutien au département de production.
  • Documentation détaillée du micrologiciel (plus de 200 pages).
  • C (Cypress PSoC)
  • C++, COM, COM+, (Windows)
  • Java (Android)
  • Objective-C (iOS)
  • LabView (National Instrument)
  • Doxygen
  • Spécifications Bluetooth

Notes et détails

Dans ce projet, les requis n'ont cessé de s'ajouter et il n'était pas possible dans ce cas ci d'utiliser une autre version avec plus de RAM ou d'espace Flash. Il devenait très difficile d'ajouter quoi que ce soit dans ce micrologiciel tant il était dense. À tout moment, je n'avais guère plus qu'une dizaine d'octets libre en Flash, je devais constamment trouvé comment rendre le code plus compact. En ce qui concerne la RAM, là aussi je n'avais en moyenne que 4-6 octets de libre avant d'exploser la pile.

Pour ce projet j'ai aussi dû optimiser le code purement pour économiser des microampères. C'était nécessaire pour étirer la durée de vie d’entreposage des appareils puisque la pile n'était pas facilement accessible et nous ne désirions pas avoir à recharger l'ensemble des appareils tous les N mois.

J'ai développé des outils permettant de compiler certaines librairies pour les plateformes Windows, iOS et Android, à partir du même code source en faisant usage des ressemblances des langages C++, Java et Objective-C tout en limitant l'usage des spécificités moins portable.

Le micrologiciel était si dense, que ma documentation interne faisait près de 200 pages.