2013-02-08 3 views
-2

Je pense à créer un PCB avec un NXP-LPC1756FBD80. Il a une puce de cortex m3 dessus. Je veux être en mesure de programmer la puce sur la carte à l'aide d'un câble USB que je peux connecter directement à mon ordinateur portable. Mais je ne suis pas sûr que si je fais cela correctement, j'ai vérifié la feuille de données pour la puce et il a une section sur les solutions d'interface USB suggérées. Cette section a un circuit mais je ne sais pas si c'est suffisant pour implémenter la fonctionnalité que je veux. Toute contribution de votre part serait appréciée. merciconfusion dans la mise en œuvre de l'interface usb pour la programmation du cortex m3

+0

Pouvez-vous être plus précis sur ce que signifie pour vous «programmer la puce sur la carte à l'aide d'un câble USB»? Essayez-vous d'accéder au port de débogage ARM via une solution USB? –

+0

bien fondamentalement im en faisant mon propre conseil avec une puce de cortex m3. Je veux être en mesure d'écrire tout le code sur le m3 en utilisant USB. C'était juste que je dois brancher l'USB sur mon ordinateur portable et télécharger le code. Semblable à la façon dont nous téléchargeons un croquis sur des tableaux Arduino. – user2055491

+0

je voudrais accéder au port de débogage ainsi en utilisant la solution basée sur USB avez-vous des suggestions? – user2055491

Répondre

2

Pour une nouvelle puce, vous devez y insérer du code via quelque chose comme un port JTAG ou le chargeur de démarrage principal du port série (UART) & de la puce. "Out of the box", vous ne pouvez pas charger du nouveau code via USB.

Vous devez implémenter un chargeur de démarrage secondaire qui s'exécute après l'exécution du chargeur de démarrage sur puce du MCU.

Découvrez le App Note AN10866 de NXP - "Bootloader USB secondaire LPC 1700".

Ceci est le texte depuis le début de la note d'application:

Un bootloader secondaire est un morceau de code qui permet à un utilisateur code d'application à télécharger en utilisant des canaux alternatifs d'autres que le UART0 standard utilisé par le bootloader primaire (sur puce). Le chargeur de démarrage principal est le micrologiciel qui réside dans le bloc ROM d'amorçage d'un microcontrôleur et est exécuté au démarrage et réinitialise. Après l'exécution de la ROM , le chargeur de démarrage secondaire est exécuté. Le chargeur de démarrage secondaire exécutera à son tour l'application de l'utilisateur final.

Cette note d'application utilise le protocole USB comme exemple de développement d'un chargeur de démarrage secondaire sur un microcontrôleur série LPC1700.

Si cela ressemble à ce dont vous avez besoin (je crois que c'est le cas), félicitations. Aussi LPCWARE a quelques fichiers & informations pertinentes pour le sujet.

+0

hey merci cela ressemble à ce dont j'ai besoin :) est-il également possible d'utiliser simplement un USB ftdi pour le câble série et programmer la puce? Pour ma conception, garder le poids aussi bas que possible est très important. Si le câble peut faire le travail alors je n'aurai pas besoin de l'USB. – user2055491

+0

@ user2055491 Oui, c'est facile. Il vaut mieux utiliser un port USB vers série avec des niveaux de 3,3V, alors vous aurez seulement besoin d'un connecteur. Pour le fonctionnement automatique, vous aurez besoin de TXD, RXD, DTR (-> Reset) et RTS (-> sélectionne le mode de démarrage). Utilisez le logiciel FlashMagic ou lpc21isp. AFAIK qui fonctionne pour tous les contrôleurs NXP récents. – starblue

+0

génial merci beaucoup :) – user2055491

Questions connexes