projet boot loader avec le pic16f887_ppt

29
Filière d’Ingénieurs d’Etat en Systèmes Electriques et Télécommunications (ISET) BOOTLOADER avec le Pic 16F887 Réalisé par : Encadré par: NID BELKACEM Mouhcine RAIOUH Ihsane Mr.Ayad RAIOUH Hassana KAMBOU Célestin 2013_2014 ISET3 1

Upload: mouhcine-nid-belkacem

Post on 29-Jun-2015

562 views

Category:

Technology


1 download

DESCRIPTION

BOOTLOADER

TRANSCRIPT

Page 1: Projet boot loader avec le pic16f887_ppt

1

Filière d’Ingénieurs d’Etat en Systèmes Electriques et Télécommunications (ISET)

BOOTLOADER avec le Pic 16F887

Réalisé par : Encadré par:

NID BELKACEM Mouhcine

RAIOUH Ihsane Mr.Ayad

RAIOUH Hassana

KAMBOU Célestin

2013_2014 ISET3

Page 2: Projet boot loader avec le pic16f887_ppt

2

Plan

I. Introduction

II. Principe

III. Fonctionnement

IV. Bootloader coté matériel

V. Bootloader coté Programmation

VI. Etablissement de la connexion entre PIC-PC

VII.Conclusion

Page 3: Projet boot loader avec le pic16f887_ppt

3

I-Introduction:

Qu'est-ce qu'un bootloader?

Un bootloader est un petit programme dans le microcontrôleur à programmer.

Role:

Pour modifier un programme dans un microcontrôleur placé dans une carte industrielle, enlever le microcontrôleur, le placer dans le programmateur, le reprogrammer, le remettre dans son montage.

Ce qui entraine des risques d’endommagement des équipements.

Solution :La technique du BOOTLOADER est faite pour résoudre ce problème.

Page 4: Projet boot loader avec le pic16f887_ppt

4

I-Introduction:

Page 5: Projet boot loader avec le pic16f887_ppt

5

II-Principe:

• Le BOOTLOADER n’est qu’un programme installé par le programmateur dans la mémoire flash, qui va jouer par la suite le rôle de programme qui installe les programmes utilisateurs sans avoir besoin du programmateur.

• La taille de la mémoire Flash du pic 16F887 est de 8ko= l’adressage se fait sur 13 bits (ADRRH=5 bits, ADRRL=8 bits), l’adresse de l’instruction donc codées sur deux octets ADRRH et ADRRL et l’instruction (la donnée) de largeur 14 bits sera aussi codée sur 2 octets (DATAH et DATAL).

Page 6: Projet boot loader avec le pic16f887_ppt

6

II-Principe:

mémoire du pic avant Bootloader mémoire du pic aprés Bootloader

Vecteur Reset adresse 00000

Vecteur Interrupt. adresse 00004

prog utilisateur adresse 0x1FA0

BOOTLOADER adresse 01F10

Vecteur Reset adresse 0x0000

Vecteur Interrupt. adresse 0x0004

prog utilisateur

Page 7: Projet boot loader avec le pic16f887_ppt

7

III-Fonctionnement :

• Une fois le nouveau programme utilisateur écrit, assemblé et testé dans un simulateur on obtient un fichier contenant du code exécutable avec l’extension « .HEX »

• Ce fichier « .HEX » est écrit dans un format spécial qu’il faut savoir décoder pour extraire, les instructions à écrire dans le pic et les adresses dans lesquelles il faut les écrire, et les envoyer vers le PIC.

• Une fois le transfert terminé, et après une remise à zéro, le pic redémarre en mode d’exécution du nouveau programme utilisateur qui a été chargé.

Page 8: Projet boot loader avec le pic16f887_ppt

8

III-Fonctionnement:

donnée

donnée

MEMOIRE

FLASH

Fin

MODE EXECUTION

Page 9: Projet boot loader avec le pic16f887_ppt

9

VI. Bootloader coté matériel

Microcontrôleur type PIC 16F887 :

Le 16F887 est un PIC qui est en particulier facile en programmation (jeu

d’instruction réduit) permettant de faire une communication série grâce au module

intégré USART.

PORTC (RC6 et RC7):

USART :

Page 10: Projet boot loader avec le pic16f887_ppt

10

IV. Bootloader coté matériel

Liaison RS 232 :

• Pour établir une communication effective via RS-232, il est nécessaire de

définir le protocole utilisé.

• En pratique on utilise souvent des UART qui découpent le flux en trames

d'un caractère ainsi constituées :

1 bit de départ ;

7 à 8 bit de données ;

1 bit de parité optionnel ;

1 ou plusieurs bits d'arrêt.

Page 11: Projet boot loader avec le pic16f887_ppt

11

IV. Bootloader coté matériel

Liaison RS 232 :

- Trame:

Page 12: Projet boot loader avec le pic16f887_ppt

12

IV. Bootloader coté matériel

Adaptateur MAX 232 :

• La première étape pour la connexion d'un périphérique sur le port RS-232 est de transformer les niveaux de tensions utilisés par RS-232 en 0 et 5 Volts.

•  Le MAX232 inclut deux récepteurs transformant les signaux RS232 en signaux TTL, et deux émetteurs transformant les signaux TTL en signaux RS232.

Page 13: Projet boot loader avec le pic16f887_ppt

13

IV. Bootloader coté matériel

Adaptateur MAX 232 :

la liaison entre le port RS-232 et le MAX232

Page 14: Projet boot loader avec le pic16f887_ppt

14

IV. Bootloader coté matériel

La configuration minimale nécessaire pour établir la connexion entre le PIC et PC est comme suit  :

Page 15: Projet boot loader avec le pic16f887_ppt

15

V. Bootloader coté Programmation

-communication PIC - PC:

La communication PC – PIC nécessite deux phases :

Connexion

Transfert

Page 16: Projet boot loader avec le pic16f887_ppt

16

V. Bootloader coté Programmation

Initialisation du module de transmission :

• Mettre USART en service • Réception, émission sur 8bits• Réception continu• Mode USART asynchrone en haute vitesse• La vitesse de transmission 9600 BAUDS

Page 17: Projet boot loader avec le pic16f887_ppt

17

V. Bootloader coté ProgrammationInitialisation du registre SPBRG et du bit BRGH

• La vitesse de transmission est 9600 bauds / seconde, avec un quartz de 8 MHz :– SPBRG = D‘51' (valeur du registre SPBRG)– BRGH = 1 (bit 2 du registre TXSTA)

• SYNC = 0 (bit 4 du registre TXSTA) : mode asynchrone • SPEN = 1 (bit 7 du registre RCSTA) : utilisation du port série Autorisation des interruptions

• GIE = 1 (bit 7 du registre INTCON) : autorisation globale des interruptions• PEIE = 1 (bit 6 du registre INTCON) : autorisation des interruptions des

périphériques• TXIE = 1 (bit 4 du registre PIE1) : autorisation de l'interruption d'émission de

l'USART• RCIE = 1 (bit 5 du registre PIE1) : autorisation de l'interruption de réception de

l'USART

Page 18: Projet boot loader avec le pic16f887_ppt

18

V. Bootloader coté Programmation

• Autorisation de la réception et de la transmission du port série– CREN = 1 (bit 4 du registre RCSTA) : autorise la réception– TXEN = 1 (bit 5 du registre TXSTA) : autorise la transmission

• Dans la routine d'interruption :

– Ecriture dans le registre TXREG des 8 bits de données à transmettre

– Lecture des 8 bits de données reçus (registre RCREG)

• Si OERR = 1 (erreur d'overrun) : CREN à mettre 0 puis à 1

- On désire une vitesse de transmission de 9600 bauds par seconde.

BRGH = 1 : SPBRG = (Fosc/(16 x Vitesse de transmission)) - 1 SPBRG = (8 000 0000 /(16 x 9600)) - 1 = 51

=> SPBRG = 51

Page 19: Projet boot loader avec le pic16f887_ppt

19

V. Bootloader coté Programmation

Organigramme du programme principale:

Page 20: Projet boot loader avec le pic16f887_ppt

20

V. Bootloader coté Programmation

Essai de connexion au PC :

Page 21: Projet boot loader avec le pic16f887_ppt

21

V. Bootloader coté Programmation

La fonction Bootloader :

Page 22: Projet boot loader avec le pic16f887_ppt

22

VI. Etablissement de la connexion entre PIC-PC

Une Programmation avec bootloader se faire par 4 etapes :

- Etape 1 - Port Choisir COM 1 et configurer les paramètres de liaison- Etape 2 - Connexion avec le Pc- Etape 3 - Chercher fichier Hex.- Etape 4 - Téléchargement du fichier Hex.

Page 23: Projet boot loader avec le pic16f887_ppt

23

VI.Etablissement de la connexion entre PIC-PC

Etape1:

Page 24: Projet boot loader avec le pic16f887_ppt

24

VI. Etablissement de la connexion entre PIC-PC

Etape2:

Page 25: Projet boot loader avec le pic16f887_ppt

25

VI. Etablissement de la connexion entre PIC-PC

Etape3:

Page 26: Projet boot loader avec le pic16f887_ppt

26

VI. Etablissement de la connexion entre PIC-PC

Etape 4:

Page 27: Projet boot loader avec le pic16f887_ppt

27

VI. Etablissement de la connexion entre PIC-PC

Avant le chargement du programme utilisateur

Après le chargement du programme utilisateur

Page 28: Projet boot loader avec le pic16f887_ppt

28

Conclusion

Page 29: Projet boot loader avec le pic16f887_ppt

29

Merci pour votre attention