|
HC11 toujours : Pb vecteur Reset du E1 non modifiable
|
|
Re-bonjour à tous.
Est-il normal qu'il soit impossible de changer le vecteur Reset du 68HC11E1 ? Le but serait de pouvoir lancer automatiquement un programme (contenu dans l'EEPROM) en mode "circuit seul" et déconnecté du PC, sans intervention extérieure via des outils de développement. Je sais que le HC11E2 en est capable puisqu'on peut reloger l'EEPROM en fin d'espace d'adresses, et que donc un RESET provoque l'extraction du vecteur $FFFE..$FFFF dans l'EEPROM, E. Cependant, je n'arrive pas à me procurer le modèle E2 (tout comme les modèles courants A8, E8... et tout modèle autre que A1 et E1) au détail sur Paris.
De plus, dans les HC11E1 en ma possession, le vecteur Reset pointe en $D000, vers un programme dans une ROM d'usine, a priori non documenté (moniteur BUFFALO résident, comme vaguement évoqué au détour d'une des nombreuses docs PDF que j'aie pu lire ?)
Merci d'avance pour tout renseignement à ce sujet...
-- Thierry C.
Numéro de l'article: 84486
| De: Thierry
| Date: 2002-08-22 11:16:16
|
|
|
Re: HC11 toujours : Pb vecteur Reset du E1 non modifiable
|
|
Ce n'est sans doute pas idéal, mais voici une astuce que le code source des bootstraps révèle: en mode bootstrap, le controlleur envoit un break ($00) sur TxD. Si le premier caractère qu'il recoit en retour est aussi un break (au lieu du $FF d'etablissement de liaison), il passe immédiatement le controle au code EEPROM. Donc, en reliant TxD a RxD, et en démarrant l'µ en mode bootstrap (moda=modb=0), ton code EEPROM démarrera, avec tous les privilèges que t'accorde le bit SMOD en prime :)
Voila voila... Sinon je serais aussi interessé par un montage qui permettrait d'utiliser le SCI malgré ce loopback, parce que ce démarreur mode privilégié m'est sympathique :) Comment laisser passer un et un seul caractère par ce loopback avant de le condamner en gros...
David Anderson
Numéro de l'article: 84542
| De: David Anderson
| Date: 2002-08-22 23:24:55
|
|
|
Re: HC11 toujours : Pb vecteur Reset du E1 non modifiable
|
|
Salut David.
Waouh ! Quelle astuce !
Sans avoir planché profondément la question, je penserais à la solution suivante : - considérons une broche de sortie PXn inutilisée dont l'état X au démarrage est toujours le même (voir la doc). - dans le code du logiciel en EEPROM, inclure une initialisation de cette broche à l'état inverse de X - réaliser une partie matérielle (à l'aide de tout ce qui peut être utile : transistors bipolaires ou MOSFET, portes logiques ou analogiques, FPGA's...) qui : - connecte TxD à RxD et les rende indisponibles à l'extérieur de cette circuiterie tant que PXn=X - déconnecte TxD de RxD quand PXn=NOT(X), c'est-à-dire quand le programme en EEPROM vient de commencer, donc forcément que la séquence bootstrap s'est terminée
De plus, au cas où nécessaire, il pourrait être judicieux d'améliorer la circuiterie afin de rendre PXn définitivement disponible à un usage général : faire que si elle revient ultérieurement à l'état X, il n'y ait plus de rebouclage TxD vers RxD... Cette idée prenent déjà forme dans ma tête (sous forme d'un schéma non encore fabriqué et testé), je l'expédierais volontiers sur alt.binaries.electronics après l'avoir mise en schéma. Intéressé ?
Thierry C.
Numéro de l'article: 84574
| De: Thierry
| Date: 2002-08-23 17:03:21
|
|
|
Re: HC11 toujours : Pb vecteur Reset du E1 non modifiable
|
|
Salut,
je parle de mémoire, d'un truc que j'ai fait il y a très (très très) .. euh ... longtemps.
l'astuce consistait avec Buffalo à mettre PE0 à 1 (ou zéro, je sais plus
Numéro de l'article: 84585
| De: ##lepoivre@francis.com
| Date: 2002-08-23 19:58:38
|
|
|
Re: HC11 toujours : Pb vecteur Reset du E1 non modifiable
|
|
Très! C'est quelque chose qu'il me plairait d'avoir, puisque j'aimerais bien avoir le mode spécial actif en éxécutant mon code.
Et au passage, merci de m'avoir involontairement informé de l'existence de alt.binaries.electronics :-))
David Anderson
Numéro de l'article: 84591
| De: David Anderson
| Date: 2002-08-23 20:48:58
|
|
|
Re: HC11 toujours : Pb vecteur Reset du E1 non modifiable
|
|
général de (sous volontiers
Ca y est. Référence du message : news:3d66b660$0$18330$79c14f64@nan-newsreader-02.noos.net
Thierry C.
En fait, je m'étais trompé, car c'est + exactement news:alt.binaries.schematics.electronic
Numéro de l'article: 84601
| De: Thierry
| Date: 2002-08-24 01:25:23
|
|
|
Re: HC11 toujours : Pb vecteur Reset du E1 non modifiable
|
|
Pour poursuivre la discut', j'ai aussi réfléchi un peu de mon coté, et je pense avoir un truc sympa qui utilise un port du controlleur pour signaler la fin de l'execution du bootstrap, mais qui permet la réutilisation ulterieure du port.
J'ai posté un followup a ton schéma, et vu que l'envoi du fichier a merdé deux fois, je le mets online: http://ziggy.homelinux.net/eepromboot.png
Pour cette application, j'utilise un thyristor pour activer une fois pour toute les deux lignes vers le MAX232 tout en bloquant la ligne loopback avec un PNP. Comme le bootstrap met les broches en collecteur ouvert, il faut coller un pull up. Noter l'emplacement des deux alims, qui permet d'avoir un seul point d'entrée de courant en loopback et un par ligne en mode normal. Le tout (résistance 0.15¤ les 10) coute .9¤ avec les composants indiqués sur le schéma.
Ce qu'il manque a ce système, c'est un reset: pour reinitialiser le controlleur sans tout planter (enfin, pour reinitialiser le loopback quoi) il faut couper complètement l'alim et rallumer, ce qui fait qu'on perd toute les possibilités de reset par ladite broche du controlleur.
Bon, voila :) David Anderson
Numéro de l'article: 84604
| De: David Anderson
| Date: 2002-08-24 03:37:02
|
|
|
Re: HC11 toujours : Pb vecteur Reset du E1 non modifiable
|
|
Re
Bon, suite a mon dernier post, je me suis rendu compte que le reset logiciel était tout bête: un simple transistor raccordé au !RESET du controlleur (plus exactement, a la logique de reset, pour intercepter le signal envoyé a !RESET). Donc, version corrigée du schéma sur http://ziggy.homelinux.net/eepromboot2.png
Voila, a vous de m'engueuler parce que c'est encore plus archi faux que le premier :-))
David Anderson
Numéro de l'article: 84605
| De: David Anderson
| Date: 2002-08-24 03:46:59
|
|
|