WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Les systèmes embarqués

( Télécharger le fichier original )
par Ramzi BOULKROUNE
Université de Annaba - Ingénieur d'état en électronique option télécommunication 2009
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

II.7.4.1.2. La diversité des connaissances liées au ciblage logiciel :

Le ciblage requiert des domaines de compétence très divers ; nous allons ici en donner une liste des principaux et explique en quoi ils sont nécessaires.

Connaissances sur les processeurs

Il est important de bien connaître le processeur cible lorsque l'on veut adapter le logiciel qui doit être exécuté dessus. Il faut notamment connaître :

- les « dimensions » du processeur : la taille de ses registres, la taille de ses bus adresse et donnée, pour savoir quels types de données utiliser ;

- les modes de communication du processeur : utilise-t-il une mémoire commune données/programme (von Neumann) ou distincte (Harvard), quels protocoles utilise-t-il pour lire/écrire les données (exemple : programmation particulière de certains protocoles du 8051 [HOA]), quel est son système d'interruption ? Chaque système se programme de manière différente et la plupart du temps en langage d'assemblage uniquement ;

- le langage d'assemblage du processeur : pour pouvoir écrire toutes les parties du code spécifiques au processeur, comme la gestion des interruptions ou le changement de contexte ;

- les performances du processeur suivant les cas (vitesse d'exécution, temps de réaction aux interruptions, etc.) pour choisir les meilleurs algorithmes et réalisations ;

- l'architecture du processeur (pipeline, RISC ou CISC, etc.) cela aidera aussi au choix des algorithmes et des réalisations.

Connaissances sur les communications

Une partie du ciblage consiste en la réalisation des communications entre le logiciel à cibler et le reste. Pour ce travail, il est nécessaire d'avoir des connaissances en communication, et plus précisément :

- protocole : il faut connaître leurs caractéristiques ;

- langage de description de communication : très souvent les communications sont décrites dans un langage qui leur est propre (par exemple SDL), qu'il faut donc savoir interpréter ;

- méthode de réalisation des communications : il existe un certain nombre de méthodes pour réaliser des communications, certaines complètement logicielles, certaines faisant appel à du matériel (par exemple un DMA).

Connaissances en description d'application

Connaître l'application permet de faire de meilleurs choix lors du ciblage. Cela implique de connaître également :

- le langage dans lequel l'application est décrite : très souvent c'est du C ou du C++, cependant d'autres langages peuvent être utilisés comme Ada, SDL, etc. ;

- les algorithmes habituellement utilisés dans une application donnée, pour savoir quelles sont les implémentations optimales ;

- les paramètres de ces applications : nombre de données à traiter, nombre de tâche possibles,

etc.

Connaissances en architecture

Le ciblage sur une architecture implique la compréhension de cette dernière, il est donc nécessaire de connaître ;

- les langages de description d'architectures (VHDL, System C, etc.) ;

- les principes utilisés dans les architectures comme la modularité, l'instanciation, etc. ; - les différents types d'architectures et les conséquences sur l'implémentation [ARM].

Connaissances en électronique

Bien qu'il s'agisse de ciblage logiciel, la cible est une architecture matérielle comprenant des éléments électroniques. Si de vastes connaissances en électronique ne sont pas nécessaires, il est important d'avoir des notions sur :

- les bases de l'électronique numérique (portes), sachant que le processeur cible peut être

connecté à un peu de logique ;

- quelques circuits électroniques comme les DMA, les arbitres de bus, et autres contrôleurs ;

- les bases de l'électronique analogique pour être capable de prendre en compte les problèmes liés à la consommation.

Connaissances sur les systèmes d'exploitation

Une bonne part du ciblage consiste dans le choix et l'adaptation du ou des systèmes d'exploitation qui seront utilisés. Il est donc important de bien connaître les principes liés aux systèmes d'exploitation.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Je voudrais vivre pour étudier, non pas étudier pour vivre"   Francis Bacon