Les différentes puces de microcontrôleur LPC ont un mode de démarrage qui accepte la communication série et écrit le programme reçu dans Flash. Je veux faire un PCB avec et LPC1114 qui doit être programmé dans le circuit, avec seulement un minimum de circuits d'interface sur le PCB. Existe-t-il un connecteur standard pour fournir les signaux requis (GND, RxD, TxD, Reset, BootModeEnable)?
microcontroller
lpc
icsp
in-circuit
Wouter van Ooijen
la source
la source
Réponses:
J'utilise la carte USB vers UART de Sparkfun. Je mets UART0, reset et isp aux en-têtes. Je connecte reset et isp à la terre avec des cavaliers, puis utilise FlashMagic. Cela ne semble fonctionner que si j'alimente également l'appareil à partir d'USB, les motifs sont donc courants.
Tableau de Sparkfun:
https://www.sparkfun.com/products/718
la source
Si vous configurez un connecteur pour être compatible avec la version d'en-tête d'un câble série USB FTDI basse tension, vous avez la possibilité de ne pas avoir besoin de passer un contrat pour la fabrication de câbles personnalisés.
Vous pouvez piloter le mode de démarrage sur une ligne d'état et coupler la réinitialisation à celle-ci avec un capuchon (pensez que j'aurais peut-être utilisé un transistor comme onduleur lorsque je l'ai fait avec une partie ST). Désélectionner et resélectionner le mode de démarrage réinitialisera la puce et la préparera pour le téléchargement.
la source
Puisqu'aucune norme ne semblait exister, j'ai fait mon propre choix: un en-tête de broche à angle droit 2x4 pour la carte cible et un connecteur femelle idem pour la carte `` programmeur ''. Le programmateur a un FT232RL ou similaire, un régulateur 5V-> 3,3V et un interrupteur pour désactiver l'alimentation de la carte cible (requis pour forcer la puce cible en mode de programmation lorsque la broche de réinitialisation a été réutilisée comme GPIO).
brochage du connecteur
schéma de circuit du programmateur («dongle»)
Programmeur avec une carte cible LPC1114 peu peuplée.
J'utilise lpc21isp comme outil de programmation sur le PC (open source, facilement compilé pour Windows ou Linux), mais j'ai dû ajouter une ligne au code car la façon dont il démarre l'application après un téléchargement (aller au début du code) ne fonctionne pas pour un Cortex.
la source
Je n'ai pas travaillé avec LPC1114 auparavant, mais jetez un œil à l'adresse ci-dessous. Sur la gauche, vous verrez un lien vers un fichier schématique ...
http://www.keil.com/mcb1000/
la source
Je suis en train de construire quelque chose avec le même micro. Je viens d'en prendre un: http://ics.nxp.com/lpcxpresso/ pour ~ 20 $ chez digikey, couper le côté "cible" de la carte et brancher un connecteur personnalisé du côté "LPC link" de travailler avec mon en-tête de programmation. L'environnement créé par CodeRed est ennuyeux depuis sa base Eclipse (je déteste Eclipse) mais il fonctionne sous Windows, Linux et peut-être Mac. Ils ont des instructions pour que tous les programmes de ligne de commande fonctionnent avec l'interface LPC Link.
J'ai un environnement configuré sous Linux pour qu'il s'exécute
make dl
et il initialisera le lien, le programmera et activera les bits de sécurité, le tout via USB et les connexions SWD au LCP1114. Peut même être utilisé pour le débogage à condition de ne pas réutiliser l'un des signaux SWD.Ce n'est pas une série comme vous le recherchez, mais cela fonctionne comme un charme.
la source
Si vous voulez une programmation en série avec le connecteur standard (c'est-à-dire RS232), pourquoi ne pas implémenter UART normal (MAX3232 ou quelque chose) avec une connexion mâle DB9 standard du côté LPC? Ensuite, vous utilisez simplement le câble DB9 d'extension (mâle à femelle) vers le PC (ou utilisez le câble série vers USB si votre PC n'a pas de port série). Dans tous les cas, mettez une DB9 femelle sur votre carte PLC, et vous n'aurez jamais à fabriquer votre câble série :-). N'oubliez pas de câbler correctement les broches, les câbles d'extension sont droits (1-1, 2-2, ... 9-9).
Si l'espace sur la carte était problématique (pas assez de place pour DB9), vous pouvez fournir uniquement un en-tête 2 x 5 broches.
Bien sûr, vous pouvez également utiliser des commutateurs de niveau MAX3232 de rechange pour forcer votre carte en mode de réinitialisation / démarrage comme je l'ai fait sur ma carte basée sur NXP / AT89C51Rx2 en utilisant également Flashmagic. Même principe, Falshmagic prend le contrôle de l'entrée de démarrage via une ligne série.
Cela dit, j'irais avec SWD / JTAG et j'aurais un débogage à ma disposition.
la source