Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Aucun prérequis n’est obligatoire pour accéder à cette formation

  • Exploiter et administrer l’environnement Linux
  • Renforcer les bases de la programmation structurée en langage C et développement bas niveau
  • Renforcer le développement objet en C++
  • Appréhender le langage Python
  • Utiliser les outils indispensables au bon développement d’applications
  • Être capable en fin de session de concevoir une application bas niveau sur environnement embarqué
  • Acquérir le savoir être du consultant

À la suite de votre inscription, un mail vous sera adressé au plus tard 1 semaine avant la formation pour vous indiquer comment vous connecter.

À l’issue de la formation, le formateur évaluera chacun des participants en fonction des cas pratiques et exercices effectués.

Alternance d’exercices, cas pratiques, QCM et de notions théoriques, projet Fil Rouge avec une répartition du temps de travail : 40% théorie, 60% pratique. Des présentations théoriques des concepts clés illustrés par des démonstrations du formateur (Ex : code live…) seront suivies de mises en pratique des apprenants.

Évaluations régulières et retour du formateur sur les points moins bien assimilés. ; les apprenants réaliseront tout au long de la formation des exercices, QCM, mises en situation, TP, TD qui seront corrigés pour faciliter l’acquisition de compétences.

En classe virtuelle, accès à notre plateforme à distance, à des machines virtuelles en local ou dans le cloud contenant les logiciels utiles et les supports de cours en français seront mis à disposition via notre la plate-forme de téléchargement AJC Classroom.

Accès à notre plateforme à distance de Classe Virtuelle : mêmes possibilités et interactions avec votre formateur que lors d’une formation présentielle: votre formation se déroulera en connexion continue 7h/7 :
– Échanges directs avec le formateur et l’équipe pédagogique à travers la visioconférence, les forums et chats ;
– Vérification de l’avancement de votre travail et évaluation par votre formateur à l’aide d’exercices et de cas pratiques ;
– Suivi pédagogique et conseils personnalisés pendant toute la formation.

Vous recevrez les informations de connexion par mail dès votre inscription. En cas de problème de connexion, vous pourrez joindre notre équipe à tout moment (avant ou même pendant la formation) au 01 82 83 72 41 ou par mail (hotline@ajc-formation.fr).

En présentiel, mise à disposition d’ordinateurs portables (16Go RAM, SDD); nos salles sont équipées de matériels pédagogiques (Tableau blanc, vidéo projecteur, tableau tactile…) et informatiques.

Les personnes en situation de handicap sont invitées à nous communiquer leurs besoins spécifiques. Nous ferons tout pour les mettre dans les meilleures conditions de suivi de la formation possibles (compensation, accessibilité…).

Une attestation de fin de stage sera remise à tous les participants à l’issue de leur parcours.

Demandeurs d’emploi issus d’une filière scientifique

Rôle et comportement du consultant

Pourquoi s’intéresser aux comportements en tant que consultant ?

  • Qu’est-ce qu’un comportement ? Qu’est-ce qu’un rôle ?
  • En quoi les comportements peuvent faire la différence ?
  • Pourquoi choisit-on d’adopter un comportement ? Le processus d’apprentissage d’un « savoir-être »

Adopter la meilleure stratégie de coopération pour mieux travailler en équipe

  • Comment agir pour des développer des relations positives et durables ?
  • La théorie CRP

Savoir communiquer et éviter les malentendus

  • Pourquoi la communication passe-t-elle mal : les filtres, le cadre de référence ?
  • Savoir utiliser l’écoute active : questionnement ouvert et reformulation
  • Savoir convaincre : comment influencer positivement les échanges

Comment faire évoluer ses comportements

  • Qu’est-ce qui conditionne nos comportements ?
  • Sur quel levier agir pour ajouter des « cordes à son arc »

Comprendre sa personnalité et mieux cerner celle des autres

  • Savoir se situer et comprendre en quoi notre personnalité se traduit à travers nos comportements
  • Situer les autres et comprendre leur mode de fonctionnement pour mieux coopérer

Développer son intelligence émotionnelle pour modifier ses comportements

  • Qu’est-ce que l’intelligence émotionnelle ?
  • En quoi notre QE est-il déterminant par rapport à nos comportements
  • Apprendre à gérer son stress pour éviter les comportements inadaptés
  • Le stress : de quoi parle-t-on ?
  • Comment prévenir le stress et le gérer ?

Appréhender le rôle des croyances et de l’éducation dans nos comportements

  • Qu’est-ce qu’une croyance ?
  • Pourquoi conditionnent-elles nos comportements ?

L’assertivité et l’empathie pour mieux travailler en équipe

  • Qu’est-ce que l’assertivité ? Qu’est-ce que l’empathie ?
  • La notion de respects des besoins et de gagnant-gagnant
  • Savoir recadrer un comportement qui ne nous convient pas et renouer avec des relations positives

Algorithmie

Maîtriser les outils de l’algorithmique (Schémas de programme, types et structures de données, modules)

Acquérir les bases des méthodes de programmation structurée nécessaires à l’apprentissage de tout langage de programmation

Apprendre à raisonner sur un algorithme

Maîtriser les notions de fichiers

Découvrir et mettre en œuvre la traduction d’un algorithme dans un langage de programmation

 

Commandes Linux

Introduction

  • Présentation des shells
  • Premières commandes
  • Les différents Shell
  • Comparaison de sh, bash, ksh et dash

Aide 

  • L’aide locale
  • À savoir
  • Freenode
  • Usage IRC

Commandes de base

  • Accéder au contenu des fichiers
  • Commandes de compression, d’impression et de gestion du temps
  • Gestion administration
  • Commandes composites pipes et redirections

Variables

  • Présentation
  • Variables utilisateur
  • Prompt
  • Substitutions

Commandes internes

  • Set
  • cd, pushd, popd, umask, type, enable
  • Historique et Alias
  • Commande sur les processus : kill, jobs, wait, ulimit

Utilitaires

  • Commandes cut, tr, uniq, sort, wc, find, grep
  • Commandes de transformation : iconv, od, nl, basename, diff
  • Commandes utilitaires : xargs, tee, cmp, comm, paste, sed
  • Expressions régulières

Shell script

Introduction

  • Rôle d’un Shell
  • Présentation des différents shell sous Unix/Linux
  • Types et syntaxes

Aide

  • Les man
  • Help
  • IRC freenode

Paramétrage de l’environnement

  • Options du Shell
  • Variables et fichiers d’environnement
  • Historique des commandes

Utilisation du Shell en mode interactif

  • Énumérer les commandes essentielles par thème
  • Substitution de nom de fichiers
  • Protection des caractères spéciaux
  • Redirections et tubes de communication
  • Regroupement des commandes

Base de la programmation

  • Structure d’un script
  • Commentaires
  • Exécution d’un script
  • Débogage d’un script et code de retour

Variables et constantes

  • Variables et Constantes
  • Tableaux
  • E/S de données
  • Commandes de substitution
  • Pushd et popd

Structure de contrôle

  • Instructions conditionnelles
  • Choix multiples
  • Boucles et Sauts inconditionnels

Alias et fonctions

  • Alias
  • Sous-programme sous forme de script
  • Sous-programme sous forme de fonction

Arithmétiques

  • Syntaxe
  • Commande expr

Expressions régulières

  • Meta-caractères des expressions régulières
  • Utilisation des expressions régulières avec Grep

Chaîne de caractères

  • Manipulation de chaînes de caractères
  • Expressions de variables
  • Commandes basename et dirname

 

Filtre Sed

  • Principe de fonctionnement
  • Commandes de sed
  • Utilisation des expressions régulières
  • Présentation des sous-expressions

Processeur de texte AWK

  • Principes de fonctionnement
  • Structure d’un programme awk
  • Critères
  • Variables et les expressions
  • Tableaux
  • Instructions et Fonctions prédéfinies

Administration Linux

Installation

  • Philosophie Debian
  • Préparation de l’installation
  • L’installeur Debian
  • Enchaînement des écrans d’installation

Utilisateurs

  • Commandes de base
  • Fichiers utilisateurs
  • Gestion des groupes
  • Réglage du shell

Mise à jour

  • Mise à jour via les dépôts
  • Mise à jour via des paquets
  • Installation d’un paquet
  • Mise à jour via les sources

File system

  • Organisation des fichiers
  • Système de fichiers
  • Commandes
  • RAIDS logiciels
  • LVM

 

Démarrage

  • Description du processus de démarrage
  • Init et upstart
  • Processus
  • Gestion des processus
  • Gestion des signaux
  • Tâches avant et arrière plans
  • Planification de tâches

Sauvegarde

  • Présentation des principales commandes d’archivage
  • Création d’une stratégie de sauvegarde
  • Automatisation des tâches de sauvegarde
  • Outils de sauvegarde

Journaux

  • Lectures des journaux textes et binaires
  • Rotation des journaux
  • Effectuer une synthèse avec Logwatch

Réseau

  • Gestion des pilotes d’interfaces
  • Démarrage et arrêt du firewall (iptables),
  • TCPIP
  • Outils de diagnostic

À distance

  • Configuration du serveur et du client OpenSSH

Architecture Linux

Architecture

  • Architecture Linux
  • Les différents éléments d’un système Linux
  • Le BIOS et le boot
  • Le boot
  • Introduction au noyau
  • La librairie LibC

Le noyau

  • Présentation
  • Versions
  • Les sources
  • Configuration du noyau
  • Module / Kernel / None
  • Avantage / Désavantage des modules
  • Commandes sur les modules

Init et démons

  • Inittab et init
  • Niveau d’exécution
  • Exemple fichier `/etc/inittab`
  • Les différents types de démon

Init et shell

  • Les commandes de base et programme
  • Le Shell
  • Les gestionnaires de fenêtre
  • Qt

Git

Les gestionnaires de version

  • Histoire de GIT
  • Gestionnaires de version centralisés vs distribués
  • Les différents gestionnaires de version
  • Gestion shapshot vs gestion différentielle
  • Les avantages de GIT
  • Git mise en oeuvre
  • Installation sous Linux
  • Premières configurations
  • Installation à partir des sources
  • Installation sur MacOSX
  • Installation sous Windows
  • Commandes d’aide

Créer un dépôt Git

  • Initialisation, clonage
  • Status
  • Les différents états d’un fichier
  • Commandes add et commit
  • Commandes rm et mv
  • Visualisation de l’historique
  • Outil graphique gitk
  • Annuler des actions

Travailler avec un dépôt distant

  • git remote
  • git fetch
  • git pull
  • git push

Etiquettes et branches

  • Étiquettes légères, annotées, signées
  • Propagation des étiquettes
  • Complétion et Alias
  • Les branches
  • Ajout d’une branche
  • Checkout d’une branche

Fusion de branches

  • Avance rapide
  • Fusion triangulaire
  • Résolution de conflit dans la branche
  • Gestion des branches
  • Travailler avec les branches
  • Branches distantes

Rebaser les branches

  • Principes et dangers

Git sur le serveur

  • Les protocoles
  • local, https, git
  • Installation de git sur un serveur
  • Dépôts nus
  • Copie de dépôts
  • Génération de clés publiques ssh
  • Mise en œuvre du serveur
  • Accès public

Extensions serveur

  • GitWeb, Gitosis, Gitolite, Démon Git, Git hébergé

Git Distribué

  • Développements distribués
  • Contribution à un projet
  • Maintenance d’un projet

Utilitaires Git

  • Sélection des versions
  • Indexation interactive
  • Le remisage
  • Réécrire l’historique
  • Deboguer avec Git
  • Sous-modules
  • Fusion de sous-arborescences
  • Migrer de SVN à Git

Programmation C

Présentation du langage

  • Historique, utilisation, organisation des fichiers, éditeur, compilation, environnement de développement, domaines d’utilisation, la norme ANSI

Le langage

  • Caractères autorisés, la fonction main, blocs et instructions, commentaires, initiation préprocesseur, types de données élémentaires

Les variables

  • Déclaration, déclarations globales et locales, initialisation des variables
  • Sorties formatées d’un programme
  • Entrées/sorties formatées
  • Formatage numérique, formatage caractère, entrées formatées

Les opérateurs

  • Opérateurs arithmétiques
  • Mécanismes d’évaluation des expressions
  • Post et pré-incrémentation de décrémentation
  • Précédence et associativité des opérateurs

Expressions logiques

  • Instruction d’affectation
  • Mécanismes de fonctionnement des expressions logiques

Opérateurs de comparaison

  • if, switch, while, do, for, break, continue

Opérateurs de type

  • Cast, sizeof, malloc, delete

Opérateurs travaillant au niveau du bit

  • ET, OU, OU exclusif, complément à 1
  • Décalages

Tableaux, pointeurs et chaînes de caractères

  • Définition
  • Tableau à une dimension
  • Initialisation
  • Tableau multi-dimensionnel
  • Chaînes de caractères
  • Copie de chaînes de caractères
  • Opération sur les chaînes de caractères.

Les fonctions

  • Présentation, définition, déclaration, paramètres de fonction, retour d’une fonction, appel, passage de l’adresse d’une fonction

Compléments sur les directives de compilation

C bas niveau pour l’embarqué

  • Typage strict et portabilité
  • Modificateurs critiques
  • Manipulation de bits et MMIO
  • Sections linker et mémoire sans OS
  • Pointeurs avancés et callbacks

Temps réél

Le terrain de jeu : un calculateur embarqué

Définition du temps réel

Interruptions et DMA

Tâches et OS Temps réel

Politiques d’ordonnancement et déterminisme

Communication inter-tâches : sections critiques, mutex, sémaphores, boîte de message, signalisation d’évènement

Famines et blocages

Polling ou dirigé par évènements

Pattern sensor/control/actuator

Le temps réel sous linux

Autres microcontrôleurs (STM32 …)

Gestion de la mémoire (allocation, libération)

Tests unitaires

Les méthodes Agiles

  • Présentation des méthodologies Agiles
  • Approche en cascade vs approche itérative
  • Le manifeste Agile
  • La définition de « Terminer »
  • Ce qu’il faut mettre en place pour itérer sur un projet
  • La méthode SCRUM

Initiation au TDD

  • Présentation du TDD
  • Tests traditionnels et TDD
  • Impact sur la documentation
  • Impact des tests sur la conception
  • Le développement orienté comportement
  • Coûts et bénéfices

Mise en place du TDD dans une équipe

  • Signaux externes de qualité d’un produit
  • Résistances fréquemment rencontrées
  • Mise en place d’un processus vertueux
  • Rétrospectives
  • Mythes et incompréhension

Présentation des outils de test

  • Les outils xUnit
  • Les Matchers Hamcrest
  • Mock/fake/stub/dummy
  • Différence entre simulacre et bouchons
  • Présentation de l’outil easy-mock
  • Bonnes pratiques

Re-factorisation

  • Principes
  • Niveaux de re-factorisation
  • Quand doit-on re-factoriser ?
  • Évaluer la qualité du code par des métriques
  • La couverture de tests
  • Les règles d’un design simple

Aller plus loin

  • TDD et interfaces utilisateurs
  • Spécificité de TDD et le développement d’une base de données
  • L’intégration continue
  • Exemple d’usine logicielle
  • Les tests de charges

Dev Open Source

Connexion à distance

  • Connexion via une liaison série
  • Connexion non sécurisée via IP
  • Connexion sécurisée via IP
  • ssh permanent
  • Connexion ssh et déport de l’affichage X

Administration élémentaire de l’OS

  • Le super utilisateur
  • Les commandes de base
  • Sauvegarde
  • cron et tâches automatisées
  • KDE, Gnome, XFCE
  • Installations de la distribution, d’un paquetage, synaptics, logithèque, en ligne de commande, ajouter des dépôts
  • Installation via les sources
  • Dépendances
  • Les Makefile
  • Syntaxe de base
  • mode enrichi
  • Autotools, automake, autoscan, aclocal
  • qmake
  • Les gestionnaires de versions
  • Principe
  • SVN, utilisation gestion de conflits
  • Git
  • Sourceforge
  • Créer un serveur SVN

Documentation avec Doxygen

  • Principe
  • Installation
  • Configuration
  • Syntaxe
  • Les environnements de développement
  • Eclipse
  • QtCreator
  • Clion
  • Emacs
  • Code::Block
  • Techniques de débugage
  • gdb
  • débugueurs graphiques ddd, débugueurs intégrés
  • Autres outils : electric fense, strace,ltrace, nm
  • Débugage par fichier core
  • Tuning des fichiers core
  • Débugage à distance sur machine cible

Déploiement des logiciels

  • Philosophie des paquets Debian
  • Création de paquets Debian
  • Debhelper dpkg-buildpackage
  • Contrôle qualité des paquets
  • Création d’un dépôt de paquets

Programmation C++

Programmation Orientée Objet

  • Modélisation
  • Abstraction
  • Encapsulation
  • Classe et Objets
  • Instanciation d’objet
  • Les membres, attributs, méthodes
  • Héritage
  • Polymorphisme

Du C au C++

  • Préambule
  • Définitions
  • Types
  • Paramètres de fonctions par référence
  • Fonctions inline
  • Appels de fonctions C
  • Entrées et sorties simples

Les classes

  • Déclaration dans le fichier cpp
  • Méthodes
  • Paramètres par défaut
  • Masquage
  • Surcharge

Les constructeurs

  • Exemples d’utilisation
  • Types de constructeurs
  • Constructeur par copie
  • Constructeurs par transtypage
  • Usage du mot clé explicit
  • Constructeurs à arguments multiples
  • Liste d’initialisations
  • Le destructeur

Qualifieurs

  • Constance
  • Variables statiques
  • Méthodes statiques
  • Autres types de classe de stockage
  • Constance
  • Fonctions amis
  • Classes amies

Surcharge des opérateurs

  • Liste des opérateurs qui peuvent être surchargés
  • Surcharge d’un opérateur par une fonction membre
  • Surcharge d’un opérateur par une fonction non-membre
  • Surcharge de l’opérateur d’affectation `operator=`
  • Opérateur de conversion vers un autre type
  • Symétrie

Les exceptions

  • Exemple d’exception
  • Remarques
  • Attraper une exception
  • La classe exception et sa dérivée stdexcept
  • Réponses
  • Laisser échapper une exception
  • Déclaration de fonction avec exception non traitées
  • Faire/défaire

Espaces de nommage

  • Présentation
  • Déclaration
  • Définition
  • Utilisation
  • Exemples connus
  • Exclusion de méthodes d’un namespace
  • Espace de nommage anonyme

Préprocesseur

  • Les directives
  • Directives include et define simple
  • Instructions conditionnelles
  • ifndef define ifdef
  • identificateur
  • Les macros
  • Macros prédéfinies

Dérivation – Héritage

  • Classe fille
  • Déclaration de la classe fille
  • Encapsulation
  • Particularité amusante
  • Héritage multiple
  • Portée d’héritage
  • Redéfinition vs surcharge
  • Problématiques des classes dérivées

Polymorphisme

  • Méthodes virtuelles
  • Contrainte sur les fonctions virtuelles
  • Fonctions virtuelles pures et classes abstraites

Pointeurs

  • Rappels
  • Définition d’un pointeur
  • Difficultés de notation
  • Pointeurs et allocation mémoire
  • Désallocation
  • Organisation de la mémoire
  • Pointeurs et classes
  • Le pointeur *this*
  • Arithmétique sur les pointeurs
  • Cas d’utilisation des pointeurs : pas

RTTI

  • Définition
  • Exemple pratique
  • Règles à respecter
  • TypeId
  • Utilisation

Templates

  • Présentation
  • Patrons de fonction
  • Utilisation
  • Remarques
  • Piège sur les pointeurs
  • Patron de fonction à l’intérieur d’une classe
  • Instanciation implicite et explicite
  • Spécialisation

Patrons de classe

  • Exemple
  • Fonctions exportées
  • Template sur les opérateurs
  • Foncteurs
  • A quoi servent les foncteurs ?
  • Cas d’utilisation
  • Performance

Pointeurs intelligents

  • Problématique des pointeurs
  • Présentation des pointeurs intelligents
  • unique_ptr
  • Exemple de unique_pointer
  • shared_ptr
  • Exemple de shared pointer
  • weak_ptr
  • Avantages et inconvénients des pointeurs intelligents

Introduction au Design Patterns

Modern C++ 11

Présentation

  • Les standards 11, 14
  • Support et activation dans les principaux compilateurs

Approfondissement C++03

  • SFINAE
  • RVO
  • Pointeurs intelligents
  • STL algorithmes

Nouveautés & changements de C++11

  • Particularités du langage
  • alignof, alignas, Références rvalue constexpr
  • Alias de type
  • Attributs standards
  • Nouveautés sur les constantes
  • nullptr
  • constexpr
  • Chaînes de caractères / string
  • Type utilisateur
  • Enumération typées
  • Généralisation de begin/end et boucle for étendue
  • Listes d’initialisation & initialisation unifiée
  • Nouveautés sur les types
  • Mots clefs auto et decltype
  • Nouvelle syntaxe de fonctions
  • Alias de types et templates
  • Nouveaux types génériques
  • std::array
  • list unidirectionnelle
  • tuples
  • tables de hachage
  • smart Pointer
  • Assertions statiques
  • Fonctions lambda et fermetures
  • Nouveautés dans les classes
  • Mots clefs override, final, delete, default
  • Move constructor/assignment, delegate)
  • Template variadiques
  • Attributs de fonctions, types et variables
  • Support multithreading
  • thread
  • mutex
  • condition
  • atomic
  • Support des expressions régulières
  • Gestion des nombres aléatoires

Les changements apportés par les versions suivantes

  • Déduction automatique des retours de fonctions
  • Decltype(auto)
  • Constantes, nombres binaires
  • Séparateur numérique
  • Lambda génériques
  • Initialisation par agrégat
  • Plus de souplesse dans les constexpr
  • Template pour les variables
  • Attribut deprecated
  • Accès aux tuples par type (get<>)
  • Suffixes standards (s, h, min, i, etc.)

Python

Syntaxe du langage Python

  • Les Identifiants et les références. Les Conventions de codage et les règles de nommage
  • Les blocs, les commentaires
  • Les types de données disponibles
  • Les variables, l’affichage formaté, la portée locale et globale
  • La manipulation des types numériques, la manipulation de chaînes de caractères
  • La manipulation des tableaux dynamiques (liste), des tableaux statiques (tuple) et des dictionnaires
  • L’utilisation des fichiers
  • La structure conditionnelle if / elif / else
  • Les opérateurs logiques et les opérateurs de comparaison
  • Les boucles d’itérations while et for. Interruption d’itérations break / continue
  • La fonction range
  • L’écriture et la documentation de fonctions
  • Les Lambda expressions
  • Les générateurs
  • La structuration du code en modules

Approche Orientée Objet

  • Les principes du paradigme Objet
  • La définition d’un objet (état, comportement, identité)
  • La notion de classe, d’attributs et de méthodes
  • L’encapsulation des données
  • La communication entre les objets
  • L’héritage, transmission des caractéristiques d’une classe
  • La notion de polymorphisme
  • Association entre classes
  • Les interfaces
  • Présentation d’UML
  • Les diagrammes de classes, de séquences, d’activités, …
  • Notion de modèle de conception (design pattern)

Programmation Orientée Test en Python

  • Manipulation de fichier excel
  • Manipulation Base de données
  • Introduction au XPath
  • Web Scraping avec python
  • Automatisation de test avec Python
  • Mise en place d’un framework de test sous excel
  • Les bonnes pratiques et les modèles de conception courants
  • L’utilisation du mécanisme d’exception pour la gestion des erreurs

Travaux pratiques

Bibliothèques Python pour l’embarqué

  • Python embarqué — Réalités
  • Accès matériel Python
  • asyncio pour l’embarqué
  • ctypes — binding C
  • MQTT et protocoles

Debug

Problèmes rencontrés

  • Mauvais adressage mémoire
  • Problèmes de cadrage des informations
  • Perte de mémoire

Profilage sans source

  • strace et ltrace
  • La mémoire
  • lsof, netstat
  • Sonde Nagios

Debug graphiques

  • ddd
  • Eclipse cdt

Cas avancés

  • Débuguer un programme en exécution
  • Débuguer plusieurs programmes simultanément
  • Débuguer via un core dump
  • Débuguer à distance

Outils code

  • Valgrind
  • Exemples
  • Profile de code
  • Electric Fence

Trace32

Hardware

License Model

Configuration File built with

Trace 32 Start

Setup your Debug Session

Introduction into PowerView

  • User Interface, Modify Menu- and Tool Bar, Command Structure & built-in Help System, Registers, Peripheral Registers, Memory Access, Flash Programming

High Level Language

Debugging

  • Load the Application Program, Symbol Data Base, Display, Variables, Variable Monitoring,Variable Logging, Isolated Function, Test, Optimized Code

Breakpoints

Trace32 Kernel Awareness

Multicore Debugging

  • SMP Concept, AMP Concept

Sample based Profiling

Trace Introduction

  • Basic Features, Context Tracking System, Profiling & Timing Analysis, Code Coverage

Script Language Practice

  • Introduction into Practice Language Use, Elements, Flow Control, Create and Debug a Script, Parameter Passing,Host OS Interaction, UI I/O Commands, Event Control, Dialog Programming,Designing Robust Practice Scripts

Linux embarqué

Uboot

  • Présentation et utilisation de Uboot
  • Les chargeurs de démarrage (Bootloaders)
  • Licences
  • Les distributions
  • Les distributions
  • Les outils de mise à jour
  • Les licences
  • Objectif
  • Free vs Open Source
  • Avertissement
  • L’objectif
  • Les formes de licence
  • Les principales licences de logiciels libres

Applications et bibliothèques légères pour systèmes embarqués

Systèmes de fichiers pour stockage de type bloc

Le noyau

  • Présentation
  • Présentation
  • Versions
  • Les sources
  • Configuration du noyau
  • Module / Kernel / None
  • Avantage / Désavantage des modules
  • Commandes sur les modules
  • Configuration
  • make xconfig
  • make gconfig
  • make menuconfig
  • make nconfig
  • Autres possibilités
  • Les options de compilation du noyau
  • Options de compilation (fin)
  • Options de compilation
  • La compilation
  • Exercice : compiler un noyau
  • Installation du noyau
  • Installation des modules
  • Disque minimal en RAM
  • Fichier config

Busybox

  • Busybox: présentation
  • Busybox: configuration
  • Les commandes Busybox
  • Ajouter des commandes à Busybox
  • Finalisation d’ajout d’une commande

Raspberry

  • Architecture ARM
  • Les processeurs ARM
  • Quelques termes à connaître
  • Les familles de processeurs ARM
  • Les processeurs ARM9 et ARM10
  • Les Cortex
  • Présentation de la carte
  • Les cartes Raspberry
  • Carte Raspberry PI 2
  • Légendes
  • OS disponibles
  • Installation de base
  • Principe d’installation
  • Formatage via fdisk
  • Copie de Raspbian sur la carte

Compilation croisée

  • Présentation
  • Compilation croisée
  • Machine Hôte
  • Les compilateurs C et C++
  • Le compilateur GCC (suite)
  • Contenu d’une chaîne croisée
  • Les binutils
  • Binutils (suite)
  • Les librairies de traitement mathématique
  • Les entêtes du noyau
  • Compilation du compilateur
  • Chaîne de compilation croisée
  • Alternatives à la compilation croisée
  • Les chaînes précompilées
  • Les chaînes de fabrication de cross compilateurs
  • Les composants de la chaîne
  • Processus de fabrication de la chaîne soi-même
  • Appels compilateurs/compilateurs croisés
  • Édition de lien
  • Les étapes de compilation
  • Exemples
  • Mise en pratique dans l’EDI ECLIPSE ou autre EDI

Buildroot

  • Présentation
  • Utilisation de BuildRoot
  • Buildroot: principe
  • Paquetages nécessaires à Buildroot
  • Compilation de Buildroot
  • Les paramètres qu’on peut ajouter
  • Utilisation
  • Exécution
  • Les fichiers générés
  • Les fichiers .conig
  • Utiliser la toolchain générée
  • Utiliser une chaîne de compilation externe
  • Installation de la distribution
  • Préparation de la carte Micro SD
  • Agrandir la partition à toute la mémoire SD
  • Divers réglages
  • Customiser la cible
  • Paramétrage Linux temps réel Linux RT, XENOMAI

Yocto Project — Architecture

  • BitBake
  • Layers
  • Recettes .bb
  • Classes
  • Bbappend
  • Cycle do_fetch → do_image

Divers

  • Paramètres spécifiques
  • Configuration de l’ordonnanceur
  • Exemples lignes cron
  • Clavier français
  • Notes à propos des modifications de configuration buildroot
  • Services réseau supplémentaires
  • Connexion sécurisée avec SSH et transferts de fichiers par SCP
  • Serveur httpd de Busybox
  • Ajustement d’horloge système avec NTP
  • Autres astuces et documentations
  • Ajout de programmes tiers
  • Ajout de programmes spécifiques
  • Les patches
  • Niveaux de patch

gdb

  • Suivre l’exécution
  • Breakpoint – watchpoints – catchpoints
  • gdb : point d’arrêt
  • Watchpoint
  • Gestion des points d’arrêt
  • Les commandes pas à pas
  • Signals
  • Affichage des variables
  • Revenir en arrière
  • La pile d’appel
  • Modification du contexte
  • print variable
  • Autres affichages
  • Printf dynamique
  • Break avec liste de commandes

Cas avancés

  • Debuguer à distance
  • Debug croisé
  • Installation sur l’équipement distant
  • Mise en route sur l’équipement host
  • Remarques sur le debug croisé

Présenter ses nouvelles compétences

Les bases de la communication

  • Ecoute active
  • Le questionnement
  • Reformulation et feedback

La communication verbale et non verbale

  • Importance de la communication non verbale
  • Savoir se présenter à l’oral
  • Postures – Attitudes – Discours

Les profils comportementaux

  • Les 4 profils
  • Auto-évaluation
  • Développer son adaptabilité relationnelle

Développer son Capital Talents

  • Définition d’un talent
  • Talent vs points forts

5 stratégies pour gérer ses points faibles

 

 

Référence :
Formation :
LLS
Lieu :

Classe à distance

Durée :
64 jours (448 heures)
Dates :
7916.16 € HT
<span data-metadata=""><span data-buffer="">Je suis une entreprise qui embauche
Je suis un candidat intéressé par cette formation
Conserver & partager le programme
Email
Imprimer

Cette formation vous intéresse ?

Découvrez les formations incontournables dans ce domaine disponibles en classe et à distance

Cursus métier : Qualité nucléaire clock 64 jours
Langages de développement
LLS
64 jours (448 heures)
7916.16 € HT
S'inscrire
DEV C++ Linux Embarqué clock 60 jours
Développement
FPGA
60 jours (420 heures)
7421.40 € HT
S'inscrire
clock 2 jours
Développement
BSP UBoot
2 jours (14 heures)
5000 € HT
S'inscrire
clock 64 jours
JAVA
Java Spring React
64 jours (448 heures)
7916 € HT
S'inscrire
clock 3 jours
JAVA
Développer des web services en Java
3 jours (21 heures)
3198 € HT
S'inscrire
Cursus métier : Technicien support de proximité clock 57 jours
Développement
Développeur Grands Systèmes
57 jours (399h)
5586 € HT
S'inscrire
Cursus métier : Technicien support de proximité clock 64 jours
Développement
Développeur C# COBOL
64 jours (448h)
7916.16 € HT
S'inscrire
Cursus métier : Technicien support de proximité clock 64 jours
Développement / Test / Test Logiciel et Automatisation
Testeur recette QA
64 jours (448h)
7916.16 € HT
S'inscrire
Cursus métier : Technicien support de proximité clock 57 jours
Développement
Concepteur Développeur .Net
57 jours (399h)
5586 € HT
S'inscrire
Formation - Conception de Cisco Data Center Unified Computing v5 clock 5 jours
Microsoft / Microsoft
Développer des Applications Windows Azure et des Web Services
5 jours (35 heures)
3895 € HT
S'inscrire
Formation - Conception de Cisco Data Center Unified Computing v5 clock 5 jours
Microsoft / Microsoft
Développer des solutions Microsoft Azure
5 jours (35 heures)
3895 € HT
S'inscrire
Formation - Conception de Cisco Data Center Unified Computing v5 clock 5 jours
Microsoft / Microsoft
Microsoft Developing Microsoft Azure Solutions
5 jours (35 heures)
3895 € HT
S'inscrire

Demande de devis

Formation :
LLS
Lieu :

Classe à distance

Durée :
64 jours (448 heures)
Prix :
7916.16 € HT

Laissez-nous un message et notre équipe commerciale vous répondra trés rapidement.
Vous pouvez également nous contacter par téléphone, du lundi au vendredi de 8h30 à 18h30.

1 Step 1
Vous êtes ?
keyboard_arrow_leftPrevious
Nextkeyboard_arrow_right
FormCraft - Générateur de formulaires WordPress
Ce formulaire n'existe pas

Je postule et dépose mon CV

Dates :
Formation :
LLS
Lieu :

Classe à distance

Durée :
64 jours (448 heures)
Prix :
7916.16 € HT

Laissez-nous un message et notre équipe commerciale vous répondra trés rapidement.
Vous pouvez également nous contacter par téléphone, du lundi au vendredi de 8h30 à 18h30.

Comment financer votre formation chez AJC

Entreprises/Salariés secteur privé

Actions collectives

Certaine de nos formations font partie des Actions Collectives campusAtlas. Elles sont accessibles à toutes les salariés des entreprises adhérentes à l’OPCO Atlas

Entreprises/Salariés secteur privé

POE

La Préparation Opérationnelle à l’Emploi est le dispositif qu’il vous faut si vous ne trouvez pas assez de «talents» pour combler vos besoins de recrutement sur le marché du travail (particulièrement sur les métiers en tension et les métiers émergents).

Salariés/Demandeurs d’emploi

CPF

Tout salarié ou demandeur d’emploi bénéficie d’un Compte Personnel de Formation depuis 2015 qu’il peut mobiliser directement. Il représente un montant en euro.