Table des matières
Kit de développement cy8ckit-049-41xx
Microcontroleur : CY8C4125AXI-483
Famille : PSoC 4
Architecture : ARM - Cortex-M0 - 32bits
Ce petit kit de développement est vendu par Farnell pour 4€
Téléchargement et installation de l’environnement de développement
- Télécharger PSoc Creator (587Mo) - La création d'un compte utilisateur sur le site sera nécessaire.
- Télécharger le CY8CKIT-049-41xx Example Projects.zip qui correspond au projet du programme chargé par défaut dans le microcontrôleur. Il servira pour les premiers essais.
- Télécharger le USB-Serial Software Development Kit- Il s'agit du driver USB de la carte de développement.
- Installer le USB-Serial Software Development Kit
- Installer le PSoc Creator
Démarrage de Psoc Creator
Première impression : L'environnement de développement n'est vraiment pas dégueux.
Déziper le fichier CY8CKIT-049-41xx Example Projects.zip dans un C:\Projets_Cypress\ par exemple
Ouvrez le fichier de projet dans PSOC Creator et là, il va déjà commencé à vous embeter avec des question compliqué.
Il vous propose de mettre à jour des composants de votre projet.
(What ? mise à jour du soft ??)
En fait, si j'ai bien compris, Cypress utilise des modules logiciels que vous mettez dans votre projet, que vous paramétrez et interconnectez.
Si Cypress améliore ou corriger un bug dans ce module, l'environnement de développement vous proposera sa mise à jour dans votre projet.
Donc on va faire “Next” pour être à jour.
Vous pouvez voir également que dans votre solution que 2 projets apparaissent. Un bootloader, qui sert à charger le programme via l'USB, et le projet “utile” qui sert à faire clignoter une led
Pour finir, il vous proposera d'archiver votre ancien projet.
Et là TADAM ! Pas de code source en C. On a deux blocs fonctionnels, un PWM et le Bootloader !
Test de la carte
Brancher la carte. Vous deviez voir la LED orange allumée et la LED bleue clignoter. Si c'est le cas, c'est qu'elle fonctionne !
Vous devriez également voir apparaitre un “USB Serial Port” dans votre gestionnaire de périphérique. Noter le numéro du port COM utilisé. Si comme moi vous avez Windows 8.1 et que le périphérique n'est pas correctement détecté. Vous pouvez télécharger le driver qui se trouve ici : CDC Driver Windows Win8.1 x64
Compilation du 1er projet
Dans PSOC Creator, double cliquer sur “Clock 1Khz”. Mettre dans Frequency 10Khz et valider. La LED devra donc clignoter 10 fois plus rapidement qu'initialement lors de la reprogrammation.
Aller dans le menu Build » Clean All Projects
puis Build » All Projects. Vous deviez voir en bas de votre écran : ————— Build Succeeded: 08/08/2014 20:48:52 —————
Programmation
Activer le Bootloader en maintenant le bouton de la carte appuyé au moment du branchement sur le port USB.
Aller dans Toos » Bootloader host
Sélectionner le port USB Serial Port (COMx)
Mettre un baud de 115200. Cliquer sur Actions » Programme
Si comme moi vous obtenez un message d'erreur 10:31:55 AM - Communication port reported error 'Unable to read data from the target device'.
:
- Vérifiez que vous avez bien appuyé sur le bouton de la carte avant de l'enficher dans le port USB
- Retournez dans le projet, faites un double clic sur le bloc bootloadable, dans l'onglet Dependencies et redefinissez le chemin d'acces au fichier Bootloader HEX file (Le fichier ELF devrait se mettre à jour automatiquement). Recompiler l'ensemble du projet et retenter la programmation.
Et là ca devrait fonctionner !
Modification du projet Blink Led
On va commencer par tout effacer sur le schéma sauf le bootloader.
Ensuite on va supprimer le code qui se trouve dans le fichier main.c pour ne garder que :
#include <project.h>
int main()
{
for(;;)
{
}
}
Recompiler. Pas d'erreur ? Félicitation votre programme ne fait plus rien.
Premier vrai projet
Aller dans File » New Project. Selectionner “Empty PSoc 4 Design”. Définissez un emplacement et un nom de projet
Cliquez sur Advanced et dans Device sélectionnez CY8C4125AXI-483.
Dans application Type sélectionnez Bootloadable
Validez
Allez dans le répertoire du projet Bootloadable Blinking LED et copiez le répertoire UART_Bootloader.cydsn. Coller ce répertoire dans le répertoire de votre projet.
Dans PSOC Creator, faites un clic droit sur “Workspace 'le nom de votre projet'” et faites Add » Existing project … Selectionner le fichier UART_Bootloader.cyprj dans le répertoire de votre projet.
Dans la fenêtre “Component Catalog”, tapez “bootloadable” et déplacez le composant sur votre schéma.
Double cliquez sur le module “Bootloadable” et dans dependencies selectionnez le fichier UART_Bootloader.hex qui se trouve dans C:\Projets_Cypress\projet_test\UART_Bootloader.cydsn\CortexM0\ARM_GCC_473\Debug
Ca devrait vous faire quelque chose du genre :
Lancez un Build » Clean and Build all Project pour vérifier que tout est OK
Ensuite on va ajouter une Digital Input Pin et une Digital Output Pin à partir du Component Catalog.
On va appeler l'input pin “BT” pour bouton, et l'output pin “LED”.
Pour l'entrée bouton, on va activer la résistance de tirage dans l'onglet “General”
Pour la sortie led, on va désactiver “HW Connection” pour qu'elle soit pilotable à partir du soft.
Sauvegardez votre schéma et ouvrez le fichier “le_nom_de_votre_projet.cydwr”
A droite de l'écran vous voyez votre entre BT et votre sortie LED qu'il faudra déplacer sur les pins du microcontrôleur.
La LED devra être placée sur P1[6] et BT sur P0[7].
Sauvegardez votre fichier
Faites ensuite un Clean and Build projects. PSOC creator va alors général tout le soft correspondant à votre shéma et à vos entrées/sorties.
Ensuite, on va taper notre soft.
Pour cela ouvrez le fichier main.c de votre projet qui se trouve dans le répertoire “Source Files”
PSOC Creator
Principe de fonctionnement
La programmation sur PSOC se décomposant en plusieurs étapes
- La mise en place sur le schema des modules dont vous aurez besoin dans votre projet (ADC, Timer, comparateur etc …)
- Le raccordement de ces modules entres eux
- Établir la liste des entrées sorties et leur donnes des noms
- Associer ces noms à des Pins du microcontrôleur
- Réaliser votre programme en C
Les composants
L'environnement de développement propose toute une série de composants qui peuvent être intégrés dans votre projet. (Des timer, des convertisseurs analogique, des bus I2C, UART, SPI etc …). Ces blocs fonctionnels sont simplement intégrés dans votre projet par un glissé déplacé dans le fenêtre schéma de votre projet.
Pour faire simple, dans un premier temps, nous allons simplement modifier le projet Bootloadable Blinking LED.
Avis
Les plus :
- La facilité d'utilisation de la programmation par module
- La modularité des Pin du microcontrôleur et leur facilité de configuration
Les moins :
- La mauvaise connexion de la carte dans le port USB
- Les plantages de Windows 8.1 lors de la connexion/déconnexion de la carte
- Les debuguage qui doit être réalisé dans un autre logiciel (Eclipse ou autre …)
Liens à voir
Video d'introduction à PCSoc Creator
PSoc Creator Lesson 1 : Introduction
PSoc Creator Lesson 2 : Introduction to PSOC
PSoc Creator Lesson 3 : Getting to know PSOC Creator
PSoc Creator Lesson 4 : Let's Get an LED to blink Part 1
PSoC Creator Lesson 5: Let's Get an LED to Blink Part 2
PSoC Creator Lesson 6: Let's Get CapSense Working
PSoC Creator Lesson 7: IDE Export
PSoC Creator Lesson 8: PSoC Resources