logo

View all jobs

Firmware Engineer

Montreal, QC

Responsibilities 

 
  • Design, development, integration, debugging and verification of embedded firmware application in C and/or C++;
  • Analyze firmware performance in real-time acquisition/control systems for medical simulation;
  • Develop logical and physical design documents. Use Data Modeling techniques to define, expand and enhance current Firmware Architecture;
  • Establish specifications of features and firmware architecture Troubleshoot and resolve complex software/hardware problems in embedded real-time systems;
  • Ensure business requirements and system requirements are complete and translate them into design, implementation and verification guidelines;
  • Contribute to the establishment of coding, design and architectural standards and procedures to ensure solutions are in compliance to the project goals, policies and principles;
  • Engage with the development team to resolve challenging design issues;
  • Participate in planning and estimating for potential projects;
  • Contribute to product architecture.
 
 

Basic Qualifications

 
  • A Bachelor’s degree in Electronics or Computer Engineering or equivalent;
  • A minimum of 8 years of professional experience in firmware development;
  • Proficient in C and C++ for embedded microcontrollers and devices;
  • Demonstrated ability to conceive, design, implement and document complex firmware systems;
  • Knowledge of RTOS constructs including processes, threads, semaphores, scheduling, synchronization mechanism and memory management;
  • In-depth working knowledge of microprocessor families and sensors;
  • Knowledge in the use of hardware debugging tools including logic-analyzers and oscilloscopes;
  • Highly motivated, setting personal goals and achieving goals with minimum supervision;
  • Experience in configuration management and code version control (CVS);
  • Must be able to work in a fast pace environment and be committed to release deadlines;
  • Knowledge in designing hardware/FPGAs is an asset;
  • Familiarity with STM32F3/F4 families and/or imx6 CPUs.
  • Familiarity with Xilinx Microblaze CPUs is an asset;
  • Familiarity with embedded software development environment: IAR, Keil or similar is an asset;
  • Experience with Linux device driver architecture is an asset;
  • Bilingualism (French and English) is an asset; 
  • Excellent verbal and written communication skills.
 
_____________________________________________________________
 

Ingénieur Firmware

 

Responsabilités

 
  • conception, développement, intégration, débogage et vérification d'applications logicielles intégrées en C et/ou C ++;
  • Analyser les performances des microprogrammes dans les systèmes d'acquisition / de contrôle en temps réel pour la simulation médicale;
  • Développer des documents de conception physique et logique. Utiliser les techniques de modélisation des données pour définir, développer et améliorer l’architecture micrologicielle actuelle;
  • Établir les spécifications des fonctionnalités et de l'architecture du micrologiciel. Résoudre et résoudre les problèmes logiciels/matériels complexes dans les systèmes temps réel intégrés.
  • S'assurer que les exigences opérationnelles et les exigences système sont complètes et les traduire en directives de conception, de mise en œuvre et de vérification;
  • Contribuer à l'établissement de normes et de procédures de codage, de conception et d'architecture afin de garantir la conformité des solutions aux objectifs, aux politiques et aux principes du projet;
  • S'engager avec l'équipe de développement pour résoudre les problèmes de conception difficiles;
  • Participer à la planification et à l'estimation de projets potentiels;
  • Contribuer à l'architecture du produit.
 
 

Qualifications de base

 
  • Un baccalauréat en électronique ou en génie informatique ou l’équivalent;
  • Un minimum de 8 années d'expérience professionnelle dans le développement de microprogrammes;
  • Maîtrise du C et du C ++ pour les microcontrôleurs et les périphériques intégrés;
  • Capacité démontrée à concevoir, concevoir, mettre en œuvre et documenter des systèmes de micrologiciels complexes.
  • Connaissance des structures RTOS, ycompris les processus, les threads, les sémaphores, la planification, le mécanisme de synchronisation et la gestion de la mémoire;
  • Connaissance pratique approfondie des familles de microprocesseurs et des capteurs;
  • Connaissance des outils de débogage matériel, notamment des analyseurs logiques et des oscilloscopes;
  • Très motivé, fixant des objectifs personnels et réalisant des objectifs avec un minimum de supervision;
  • Expérience dans la gestion de la configuration et le contrôle de version de code (CVS);
  • Doit pouvoir travailler dans un environnement rapide et s'engager à respecter les délais de publication;
  • Connaissance de la conception de matériel/FPGA est un atout;
  • Familiarité avec les familles STM32F3/F4 et/ou les processeurs imx6.
  • La connaissance des processeurs Xilinx Microblaze est un atout;
  • Familiarité avec l'environnement de développement de logiciels embarqués: IAR, Keil ou similaire est un atout;
  • Une expérience de l’architecture de pilote de périphérique Linux est un atout;
  • Le bilinguisme (français et anglais) est un atout;
  • Excellentes compétences de communication verbale et écrite.
More Openings
Software Analyst
Software Analyst
Share This Job
Powered by