 Juste pour vous expliquer ce que l'on va faire. Donc, ici c'est pour le vcp-device virtual-comport. Ok, donc j'ai déjà un couple de mots. C'est juste pour voir la connexion USB comme une connexion UART. Donc vous pouvez recevoir et envoyer des données. C'est généralement utilisé par beaucoup de gens. Juste pour obtenir des traces de USB ou obtenir des informations. C'est assez facile à utiliser. Donc il y a beaucoup d'applications de vcp-terminale pour PC. Ok, no play and play supports, no measures. Ok, ici les propos seront juste pour faire un exemple de loopback. Je veux dire que quand nous sommes finis, nous devons connecter notre STM32 à la PC. Vous verrez cela comme un comporte. Ensuite nous allons utiliser des emulators terminaux et nous envoyons des données. Et le vcp-device va les envoyer. Ce sont les propos de cette training. Donc d'abord, nous allons créer un nouveau projet sous QBMX. Donc, nous allons le faire ensemble. Ce nouveau projet. Et ensuite, nous allons sélectionner notre forme. Donc ici, vous pouvez juste mettre F446ZH, pour exemple. Oh, je suis désolé. Je suis en capsox. F446Z. Vous pouvez voir la liste. Et ici vous avez la chose avec votre nucléaire. Ok. Donc je vais juste double cliquer là-bas. D'abord, nous allons aller dans le TAPS de pinout. C'est à dire ce que nous allons définir, quel periphere nous allons utiliser. Pour sûr, ce que nous allons utiliser est, à la fin, USB OTG Full Speed ou iSpeed. J'ai proposé pour cette training. Nous allons... Ok. Je veux activer. Et je serai seulement un vcp-device. Ok. Donc, je vais juste aller dans le USB OTG Full Speed et dire, ok, je veux être un vcp-device. Comme je l'ai fait, vous pouvez voir ici, les deux pins sont bloqués. Nous allons voir un réservoir. C'est à dire, maintenant, nous avons configuré, et ce sont les deux pins, les PLUS et les MINUS, et je vais juste configurer sur ces pins. Ok. Donc, maintenant, ce que nous avons, vous vous souvenez, nous avons des constraints sur le cloc. Nous devons avoir un cloc circulaire pour pouvoir communiquer en USB. En ce cas, nous n'avons pas des oscillateurs internes qui peuvent répondre à cela. Nous avons besoin d'un external. Sur ce bordel, sur ce nucléaire, si vous vérifiez le manuel d'utilisation, je ne vais pas le faire pour vous, il n'y a pas de cloc external. Mais il y a un lien avec l'autre pièce. Vous pouvez voir sur le bordel qu'il y a deux pièces. La grande pièce, c'est la F4046, c'est la pièce que nous travaillons. Mais sur le... sur le bordel, il y a un autre STM32. C'est ce que nous appelons le ST-Link. C'est un autre STM32 que nous utilisons pour débarguer, débarguer des codes sur ce genre de choses. C'est un moyen de communiquer avec notre target. Et cette pièce, j'ai un external de oscillateurs, et je vais juste sortir le cloc sur les pins et il pourrait être sélecté sur Hunter dans l'autre pièce. Donc, nous savons que le cloc est venu par une pièce, mais nous devons configurer dans notre pinout. Donc, il y a... je vais aller vers l'Upper et je vais dans le CC. Et je dis, ok. Maintenant, le SSU, c'est une source de bypass. Ce n'est pas... Si je mets les oscillateurs de cristal, c'est à dire qu'on n'a pas de oscillateurs et qu'on doit débarguer. Ici, nous avons déjà une source de cloc. Et on va boire le right pin. Ok? Donc maintenant, vous devez avoir les USB. Le cloc qui sera utilisé pour l'input, qui va être configuré après, c'est configuré. Et maintenant, c'est, je dirais, le periphery que nous allons utiliser. Mais vous pouvez voir que par le point de vue du milieu, nous pouvons faire des configurations. Nous activons un ordinateur. Et maintenant, nous pouvons sélectionner le class de l'application. Ici, vous avez les différents possibles et l'audio-application. Il pourrait être un class de communication, Virtual Comport. Nous sommes intéressés. DfU, download firmware update class, unit interface class, custom humanifier class, et master wage. Donc, ici, nous avons décidé de quel type de class sera supporté par nos targets. Dans cet exercice, nous allons utiliser Virtual Comport, donc, communication device class. Si vous avez mis quelque chose dans cet exercice, vous avez le slide, ok? Lab1, c'était le lab.pdf, vous avez toute l'information sur beaucoup plus. Donc, maintenant, nous avons préparé, je dirais, notre pinout. Nous sommes heureux avec ça, mais vous pouvez voir quelque chose d'accord. Il y a des rèdes. Et le problème, c'est que maintenant, nous devons configurer, je dirais, le cloc. Donc, ici, just click on it. Il dit, ok, il y a quelque chose, peut-être que j'arrive automatiquement? Juste answer no for the moment. Et ce qui s'est passé, ne vous affairez pas, c'est juste de vous montrer tous les clocs 3 de notre système. Donc, sur la gauche, vous avez l'input external. Vous avez le possible low speed external oscillators. Et ici, nous avons l'input fréquence. Nous devons correcter ces valeurs. Je dis que nous avons un oscillateur sur la partie esthétique qui, je dirais, a propagé le signal à l'autre. Mais celui-ci est à 8 MHz. Donc, nous sommes juste à correcter ces valeurs. On dit que celui-ci est à 8 MHz crystal. C'est ok pour vous? Juste changer l'input fréquence juste là-bas. Je vais juste changer l'input fréquence juste là-bas. Je vais juste changer la configuration de clocs. On dit que vous ne voulez pas que cela soit solué par lui-même. Et puis, mettre l'input fréquence à 8 MHz. La première zone est, vraiment, je dirais, la façon dont nous allons travailler. Après, on va changer cette partie parce que c'est toujours le même. Parce que c'est juste la configuration basique. Donc, maintenant, on dirait, que nous allons utiliser la crystal externe. Ok? Et ensuite, je peux décider quel est le système cloc à quelle vitesse je veux aller. Pour nous, nous allons aller à 168 MHz. Et si je fais ça, je vais juste faire l'input et tout de suite, je cherche une solution. C'est à dire, dans l'input, qu'est-ce qu'il y a différentes coefficients dans la PLL pour atteindre cette solution. Oh, sorry. J'ai eu ce genre de windows. Vous voulez une source d'utilisation? Ok? Et il a trouvé quelle configuration vous avez ici. Le USB à 48 MHz. Le système cloc est à 168 MHz. Et nous avons le assistant. Ok? Ça vous montre quelle configuration vous devez atteindre. Donc, une question sur ça? Personne ne veut atteindre le 180 MHz. Parce qu'une seule personne dit que pourquoi 168 MHz? Pourquoi pas le 180 MHz? Nous pouvons atteindre ça, mais pour ça, nous devons choisir une autre PLL pour le USB. Donc, il y aura une autre. Nous pouvons le faire, mais c'est juste une additionnelle PLL pour juste quelques MHz. Donc, nous préférons avoir juste une PLL activée et une autre PLL. Et ce 168 MHz est assez pour ce que nous faisons ensemble. C'est ok? Donc, maintenant, nous avons fait le pinout. Nous avons fait le cloc. Maintenant, nous allons faire la configuration. En fait, nous ne ferons pas beaucoup de choses là-bas, mais je veux juste vous avoir un look. Donc, dans ça, vous pouvez configurer les différentes choses. Donc, vous pouvez configurer, pour exemple, l'interrupte, la priorité de ce genre de choses. Je vais juste vous donner une overview pour ceux qui ne savent pas ce tool. Vous pouvez faire des configurations de DMA. Pour la full speed, comme vous pouvez le voir, vous pouvez faire des modifications. Le point de vue sur moi, si j'ai élevé l'interne IP-DMA, ce n'est pas valable sur cet ordinateur, mais c'est possible. Il y a un peu de mots, il y a des sensions sur le start of frame. Vous pouvez dire, ok, je veux générer le premier start of frame sur une pin. Par exemple, vous avez votre ordinateur, et vous voulez générer un signal du start of frame sur la pin de votre ordinateur pour cliquer quelque chose d'autre. Je ne sais pas. Et vous allez avoir quelque chose avec 1 millisecondes. C'est très utile pour un autre driving. C'est une possibilité. Nous ne allons pas l'utiliser là-bas. Et sur le point de vue de l'USB, ici, vous avez des choses que vous savez, c'est lié aux descripteurs. Vous avez des interfaces, des configurations. Vous avez un constructeur de dévise que vous pouvez modifier. En fait, la PID que vous avez choisi sera détectée par l'IOVCP. Donc, ne l'utilisez pas. Mais, si vous développez votre propre produit et vous avez 2 PIDs, vous pouvez le installer là-bas. Et cela sera installé dans le code génératif. Donc, pour vous montrer que vous pouvez faire quelque configuration de votre dévise. Ici, nous ne faisons pas mal. Ok. Et maintenant, nous allons générer. Donc, d'abord, nous allons configurer. Donc, c'était le set de projet. Et nous allons configurer où nous allons générer ce genre de choses sur comment ça devrait être installé. Donc, notre premier nom. Donc, peut-être je fais beaucoup en zone. On va le faire de l'autre façon. Donc, je vous laisse décider que je vais le mettre. Il est entre le Milano. Ah, oui. Donc, je l'ai juste installé. Et on va le coller, par exemple, sur le devise CDC. Donc, nous voyons le nom, où nous allons générer. Je dirais, le dos de chaine ne le compter. Et ensuite, il faut savoir quelle idée il veut générer. Donc, vous pouvez utiliser Scale, True Studio, Assex, Makefile, ou les 2 chaines. C'est warm, pour sûr. Mais aujourd'hui, nous allons installer ceci. Merci, True Studio. Ensuite, vous pouvez faire les outils de linker pour décider l'épreuve et le stack. Lorsque, augmentez le size à 600 pour l'épreuve. Ce sera nécessaire pour soutenir ce profil. Ce sont des choses qui sont très importantes. Vous devez assurer que votre site est correcte pour tout profil en dépendant de l'un ou l'autre que vous utilisez. Vous verrez que pour d'autres zones, parfois, nous allons à 2000. Parce que le stack USB va allocer de grandes structures en dépendant de l'un ou l'autre profil que vous utilisez. Pour le BCP, il va y avoir des données ou quelque chose comme ça. C'est vraiment important de savoir ce genre d'épreuve que je dois mettre là-bas. Est-ce que c'est ok pour tout le monde ? Juste pour cet état-là, je vais juste, pour les cultures, vous donner d'autres options que possible. Ici, c'est où vous utilisez votre firmware CubeMix. Je ne sais pas si vous vous souvenez, vous utilisez CubeMix, mais CubeMix utilisez d'autres ressources avec le firmware CubeMix. Le firmware CubeMix a invité tous les stacks, tous les exemples de library et d'autres choses. Mais il a aussi invité un exemple de code que vous pouvez aller voir. Vous savez, ou pas ? Ok, peut-être. Je vais avoir un couple de mots pour ceux qui ne le savent. Mais, dans ce firmware CubeMix, vous pouvez juste voir avec des explorateurs de file. Et vous pouvez voir ce que vous avez à cette location. Vous trouverez beaucoup d'informations. Vous pouvez trouver le library, mais vous pouvez aussi trouver beaucoup d'exemples qui ont été écrit pour USB et pour tous les IPs de notre produit. Donc, il pourrait être vraiment utile quand vous avez besoin d'une route ou une DMA, vous avez un exemple de code là-bas. Donc, sur les co-generateurs, ici, nous avons différentes options. Je ne vais pas aller dans la nette maintenant. Je peux faire le file nécessaire, l'advent setting. Ok. Juste pour vous d'informations, on le sait, on ne le sait pas. Dans notre library, nous avons différentes niveaux d'actuations. Nous avons l'HL. Donc, l'HL, c'est des layers qui vous permettent d'utiliser l'application de l'IP sans connaître quelque chose sur le registre ou quelque chose comme ça. Donc, je pourrais vous être heureux, pour sûr, si vous êtes justement les registres et que vous ne savez pas ce qui est là-bas, mais ça fonctionne très rapidement. Le code size n'est pas très bon parce que c'est adressé à chaque case d'erreur et quelque chose comme ça. Et parfois, il y a des bugs, pour sûr. Mais, nous avons aussi un autre libraire qui est un haut niveau qui est plus près que les registres. Donc, ça vous permettra d'avoir un code qui est moins readable, peut-être, moins understandable à l'envers, mais plus près que les registres. Et, plus près sur le size, pas plus près, c'est plus petit sur le size. Donc, ici, nous pouvons dire que pour chaque device, je veux être généré dans la laitière ou la laitière HL. Pour les USB, vous n'avez pas la choice parce que c'est tellement compliqué, c'est un plug sur l'HL, vous ne pouvez pas utiliser directement les registres. Mais, c'est juste pour vous savoir que, si vous vous sentez confortable avec ce niveau de la laitière HL, changez la laitière HL à 600. Juste dire OK. Et puis, ici, nous avons un bouton générer le code. Donc, cette fois, vous allez prendre toute l'information qu'il y a. Vous allez prendre un template dans le firmware. Coupez tout dans un bon endroit. Ici, nous avons un bouton ouvert, ne choisissez pas, s'il vous plaît, pour l'Atolyc. Pour l'Atolyc, nous devons importer afin d'assurer qu'il fonctionne bien. Ce bouton peut être utilisé avec plus de l'air sur Kyle sans problème, mais pour l'Atolyc, je vous recommande juste de dire OK, fermez-vous pour le moment. Tout le monde a réussi à générer ou je vais trop vite. Le bouton généré est juste là-bas. Ou vous pouvez faire le projet de générer le code. Donc, maintenant, je vais vous montrer ce que je génère, pour sûr. Donc, ici, j'étais dans l'USB Training, sur le Milano. Et ici, on peut trouver ce que j'ai généré. C'est vraiment ce que vous pouvez trouver. Le file IOC est la configuration de la Cubamix. C'est à dire que tout ce que nous avons fait est juste dans ce file IOC. Ce que vous pouvez voir c'est que le code que j'ai généré pour Atolic. Je vais juste avoir un petit look dans la Cubamix. C'est à dire que nous allons générer Atolic maintenant. OK, je suis désolé mais je vais fermer tout le projet. Nous allons le retirer. Donc, quand vous génirez Atolic, vous devez être dans cette configuration. Je ne dirai pas rien, pas un projet Atolic. Tout le monde a ça. C'est à dire que vous avez réussi à générer Atolic. Non? Oui, oui, bien sûr. C'est à dire que c'est le temps pour le premier projet. Donc, je ne vais pas adresser comment utiliser Atolic. Nous allons juste compiler, juste débugner un petit peu. Donc, c'est... C'est pas si compliqué de l'utiliser, c'est juste un événement comme un autre. Mais, c'est vraiment intéressant des outils. Pour mon point de vue, vraiment mieux que l'AC6. Mais c'est vraiment personnel. C'est dépendant. Je préfère l'AC6 aussi. J'aime aussi plus. Personnellement. Mais celui-ci est vraiment une bonne solution. Oui. Je l'aime. Oui. Beaucoup de gens, parce que, si vous savez comment utiliser l'AC6, vous savez comment utiliser celui-ci. Et celui-ci, j'ai un projet débugné plus avancé ou plus facile pour mon point de vue. Mais c'est vraiment personnel. Je veux dire, si vous êtes used à Atolic pour beaucoup de années, peut-être que vous êtes pas malade. Ok, donc, tout le monde a réussi à utiliser l'AC6. Ok. Donc, nous allons importer notre projet. Donc, pour cela, c'est un fil et un importe. Et nous allons importer d'un général existing projet fil dans le travail. Donc, vous avez dit qu'il vous propose de créer le travail. Donc, nous allons importer d'un contenu dynamique ou quelque chose d'autre. Ne vous inquiétez pas avec cela, c'est juste élevé. Et vous verrez que vous pouvez déléter un projet à l'intérieur d'Atolic, mais ce n'est pas déléter vos sources, c'est juste déléter, je dirais, la configuration sur le co-generé. C'est tout. Ne soyez pas fiers avec cela. C'est un peu confus quand vous commencez, mais après, vous vous forgettes et c'est très utile. Donc, c'est importe. Sélectez la direction de route. C'est à dire où vous avez créé votre code. Donc, ici, juste dans le micro, USB training, Hands on Milano. Je prends les routes, les folders. Et ici, vous proposez que vous voulez importer celui-là à cette location. Je dirais, finir. Vous pouvez voir ici le projet qui m'appelle. C'est OK pour tout le monde? Nous avons juste importe notre premier projet. OK. Juste vérifier que je n'ai pas oublié n'importe quoi. Donc, maintenant, nous allons avoir un plus le look de ce qu'est le co-generé. Ici, nous avons les sources. Je dirais, c'est où est-ce votre code, ou je veux dire, le code qui est créé pour vous d'utiliser l'espace. Et, nous avons le milieu de ST avec l'USB libraire. Ici, nous avons un core et le classe. Le classe est pour le CDC, je dirais. Le core est juste, je dirais, un core générique pour le USB. Donc, principalement, celui-là va prendre, et si c'est pour le CDC, il va envoyer l'information pour celui-là. Alors, nous allons revenir sur tous les détails de cette stack, juste pour vous donner des points de vue où nous sommes. Ici, vous pouvez voir que dans notre partie, nous avons des devices USB, des interfaces USB CDC, des comptes USB et des descripteurs USB. D'autres choses que nous avons utilisées, comme je l'ai dit, sont les différents droits. Donc, les droits HL. Donc, c'est nos layers d'abstraction des interfaces avec des registres et juste d'abstraction. Mais pour les premières termes, les propos seront juste d'utiliser pour ne pas comprendre tout ce que je dirais sur notre stack et nous allons revenir après. Donc, nous allons savoir comment vendre et recevoir des données sur la VCP. Donc, cette fonction, elle sera installée dans l'opération dans le file de la génération d'interface CDC. Il y a d'autres fonctions qui sont des contrôles CDC. Donc, si vous espérez les bus, vous ne pouvez pas juste plugger, détecter comme VCP et juste vendre des données ou recevoir des données. Windows, et c'est vraiment les droits dans les Windows, nous demandons d'établir la configuration de la ligne, la vente, ce genre de choses. Donc, Windows vend vous cette configuration. Vous devez vendre des données ou des données si vous voulez pouvoir discuter. Cela est vraiment, je dirais, un truc standard avec la VCP sur les Windows. Nous avons des réquisitions dans le passé, pas sous le biais, mais avec mon collègue Loubos. Les gars disent, ok, je utilise juste une connexion de VCP sur les Windows. Je peux voir la trafique sur la ligne, mais je n'ai pas reçu de quelque chose. Je ne le coutais pas. Et juste par regard avec les débugures, je ne vois pas la trafique sur la ligne. Vous voyez que la trafique, ok. Qu'est-ce que c'est la configuration de la ligne? Et si la dévise n'a pas reçu de ces réquisitions, il n'a pas accepté d'avoir des paquets. Vous n'avez pas réussi à ouvrir vos portes, ok? Donc, nous devons faire ça dans notre zone. C'est pour envoyer juste une configuration à l'horst de la ligne de VCP. Alors, ce sera dans la function de la file de Cdc. Et puis, on a reçu des paquets. Donc, nous allons encore dans les interfaces. Nous pouvons faire cette fonction de reçu des paquets. Nous verrons qu'on a reçu des paquets. Et ce que nous allons insérer, c'est juste la saison de la valeur qu'on a reçu. Donc, ici, dans les deux slides, je vais juste soumettre qu'est-ce que c'est la prochaine étape. Tout d'abord, nous devons reculter la configuration des portes. Et puis, nous devons reculter les caractères sur l'Athè6. Ok. Vous avez le temps. Alors, nous allons dans les interfaces. D'accord. Juste un incliné. Donc, ici, vous avez les interfaces qui sont disponibles. Vous avez des des contrôles reculés. Et vous avez des paquets. Donc, ici, nous allons sur les contrôles. Et vous avez les codes de la line. C'est exactement ce que je disais. Nous recevons des codes de la line de la poste. Et nous devons envoyer ça à les portes. Donc, ici, c'est l'arrêt de 7 bits. 7 bytes, pardon. Donc, nous allons créer un buffer de 7 bytes. Et juste prendre la valeur que nous recevons et envoyer ça aux portes. C'est ok pour vous. Donc, nous allons le faire ensemble. Donc, ok. Juste pour votre information, dans les codes de la line, vous pouvez voir beaucoup de commentaires. Et vous avez des codes d'utilisation, des codes d'utilisation, des codes d'utilisation. Quoi que les codes vous portez entre ce genre de tags, des codes d'utilisation, des codes d'utilisation, des codes d'utilisation, ce sera préservé si vous vous régenerérez encore avec QBMX. Vous vous souvenez, nous faisons la configuration de la pince. Nous faisons la configuration de la clouette. Nous générons le code. Maintenant, nous allons ajouter les codes d'utilisation. Si vous ne le mettez pas entre les zones d'utilisation, si vous régenerérez le code, vous avez perdu votre modification. Donc, nous allons mettre le code à la place droite, juste pour assurer que si nous régenerons encore ce projet, il sera bien sous. Ok. Ok, donc, pas du micro privé, du type privé, du variable privé. Ça ressemble bien. Et, je ne vois pas le écran. type buffer de 7. Donc, nous avons juste déclaré ce buffer de 7. Et, nous allons mettre mon mot. Pardon pour cela. Donc, maintenant, nous revenons sur le contrôle. Et, quand nous recevons la pince, nous allons juste déclarer ce que nous avons fait par Windows. Nous revenons sur le contrôle. Donc, vous pouvez voir, nous recevons la pince. Ok. Donc, nous allons prendre l'information dans la pince. Nous allons le mettre dans nos buffers tempérables, et ensuite, nous allons le mettre quand nous avons besoin. Donc, ici, sur la ligne 3. Ok. Donc, sur la ligne 3, nous allons déclarer ce que nous avons reçu. Donc, nos buffers. Oui. Et nous allons le faire pour la pince. Je dois avoir un mur. Non. C'était juste 7. Je suis sûr. 3. Oh, je l'ai mis. Pardon. 5. Ok. Donc, nous devons premièrement déclarer ce que nous recevons de la pince par Windows. Et nous allons le renseigner. Ça veut dire qu'on a besoin de la pince simétrique. C'est plus clair. 6. Ok. Et 6. 4. 5. Et 6. C'est ok pour tout le monde. Donc, ici, nous avons juste reçu la configuration par Windows et en repassant. Et en faisant ça, nous assurons que la communication fonctionne. Nous pouvons voir cela avec la pince. Donc, maintenant, nous avons la configuration ok. Nous savons où nous recevons les personnages. Vous pouvez voir dans les files que vous avez ouvert, les interfaces. Vous avez quelque chose qu'on a reçu. Et dans cette fonction, nous allons ajouter juste, c'est à dire ok, je suis prêt à dire quelque chose. Donc, vous avez trouvé la fonction qu'on devrait recevoir par votre maison. C'est aussi compliqué. Oh, à recevoir Fs. Donc, je pense que c'est un bon candidat. Ici, nous pouvons dire qu'il y a un set de buffer et de données à recevoir. Donc, maintenant, nous allons prendre ces données qui ont été reçues et les envoyer. Alors, comment nous devons transmettre la fonction qui est juste en bas. Donc, nous avons juste reçu la fonction. Ok. Nous avons juste reçu ces données. Qu'est-ce que le protocole? Le buffer et le length. Nous avons reçu un buffer et le length. Donc, pas trop compliqué aussi. Juste prendre le buffer et juste prendre le length que nous voulons attendre. Ok. Donc, nous avons fait la configuration. Ici, nous avons juste installé le look-back. Cela veut dire que dès que nous avons reçu quelque chose, nous avons juste envoyé le look-back à la PC. Donc, quand nous allons ouvrir nos portes virtuelles et quand nous étendons A, nous devons avoir un A qui vient de l'écran. Pour construire, nous avons juste sélectionné le projet. Nous avons utilisé ce bouton ou nous avons right-click et nous avons justement installé le projet. Dans le console, nous devons avoir les traces. Ici, nous avons déjà compilé donc nous avons rien. Et puis, nous allons pluger nos portes. C'est déjà sur mon côté. Donc, le USB, donc, le nucléaire de deux connecteurs, celui-là, qui nous utilisons pour le débat, c'est celui de l'Astelink. Donc, ce sera celui-là au-dessus, avec un petit STM32. Ok. Donc, nous allons connecter celui-là. Le connecteur qui est là-bas c'est celui que nous avons justement configuré. Donc, notre PCP va venir rembourser cette porte. Ok. Donc, plagez-le dans votre PC et j'espère que le débat est installé et que ça fonctionne. Quand vous plagez, vous devez avoir ce microcontroller d'Astelink Virtual Compos. Donc, ça veut dire que vous pouvez communiquer avec l'Astelink. Donc, ici, nous sommes prêts pour, je dirais, pour ça, vous pouvez juste le right-click et faire débat-Az Embedie l'application. En faisant ça, il sera flash-u-code, ouvrir le débat-gigling et juste arrêter sur le main. Je suis désolé, je m'envoie. Débat-Az. Ok. Et vous devez dire qu'il va changer d'une autre vue. Donc, c'est quelque chose proper de Atolik ou Assex. Vous avez un vue pour débat-gigling et un vue pour le développement. Donc, nous allons juste switch de l'un à l'autre. Nous pouvons voir le débat-gigling. C'est là où c'est top. Vous êtes juste au début de l'application et puis tout est prêt. Donc, là, vous pouvez juste commencer l'application. Donc, maintenant, nous avons, je dirais, un R&D sur les targets. Donc, on va essayer de l'utiliser. Donc, si vous avez l'application, maintenant, vous pouvez l'utiliser d'un second câble de les connecteurs en bas pour les windows. Parce que maintenant, nous allons connecter notre débat. Il est prêt. Il est en train. Nous avons l'application. Nous allons juste l'utiliser et voir ce qui s'occupe. Juste, nous allons garder ces windows. Je vais l'utiliser sur mon côté. Donc, si je l'utilise, sur mon côté, ce qui s'occupe, je vois un nouveau virtual-comport qui s'occupe. Le premier, c'était un ST-Link, et celui-ci, c'est celui que nous avons créé ensemble. Le numéro n'est probablement pas le même pour vous. Vous pouvez juste utiliser d'autres portes emulators. Vous avez un nouvel PC. Si vous n'avez pas, il y en a un dans le matériel que nous avons donné pour vous, et juste ouvrir ce link HATY1. Donc, j'utilise des portes et des portes. Et juste, la date des portes d'E4 est 155-200. Ok. Et sur mon côté, dès que j'ai envoyé un 0, un litre, vous pouvez le voir sur l'écran. Ce n'est pas un écho local. Je veux dire, si j'en occupe mon bord, si j'en occupe mes keyboards, il n'y a rien. Si j'en occupe, j'en occupe encore. Donc, j'ai besoin d'ouvrir les portes. Donc, Hasloubou m'a dit, éviter des portes et des portes de des portes virtuales parce qu'il y a une issue que vous avez des difficultés avec les softwares qui vont ouvrir les portes. Donc, j'ai besoin d'en ouvrir, d'en ouvrir, d'en ouvrir, avant de détecter les bons portes. Si on retourne dans les interfaces, ce n'est pas une bonne idée que ça va arrêter l'exécution. Donc, ça va être incroyable après, mais c'est juste pour vous montrer où nous venons de plus en plus à ce niveau. Donc, j'ai juste mis un point quand j'ai reçu les correcteurs. Puis, je retourne dans mon terminal. J'adresse juste ça. Vous pouvez voir que j'ai été arrêté. J'ai reçu ma caractère juste ici, dans mon buffer. Vous pouvez trouver le A que j'ai juste type. Ok. Et puis, je peux juste résumer. Nous allons juste faire un petit modifié. Nous verrons qu'on va ajouter juste des traces. Ce n'est pas du tout avec le USB. Je vous montre comment faire des traces, parce qu'il peut être utile pour vous débarguer. Donc, juste des conseils. Ce n'est pas du tout avec le USB. Il peut être utile pour d'autres projets. Et on va utiliser des traces d'interface. Donc, ici, nous revenons sur QBemix. Nous allons utiliser un link de débug pour ça. Dans le pinout dans le système. Donc, je suis revenu sur QBemix dans mon projet que je n'ai pas fermé. Si vous l'avez fermé, juste ouvrez-le. Et puis, sur le débug, je vais dire je veux avoir des traces de softwares synchroniques. C'est que j'ai utilisé un link de débug pour envoyer les traces de votre STM32. Donc, je vais juste sélectionner trace synchronique de softwares. Et vous pouvez voir plus sur votre PC. Ici, le PL13 a été écrit pour ça. Donc, je suis revenu sur le pinout dans le système et dans le système débug. Ici, j'ai configuré les traces de softwares synchroniques en ce moment. C'est bien pour vous. Juste cette configuration. Je génère le code, encore. Si on a mis notre code à un bon endroit, il sera là-bas. Donc, c'est un bon test. Si ça ne marche plus, c'est-à-dire qu'on n'oubliera pas de mettre le code entre le begin et le fin de la flèche. Donc, je suis fermé. Ici, je vais arrêter le débug. Donc, je suis revenu sur Hatholic, pardon. Pour arrêter le débug, juste le right-click et faire un terminé et remouvelé. Ça veut dire OK, Hatholic, j'ai fini de débug. Cléz le lien, mais aussi fermez la configuration pour ce débug. C'est prévenu pour vous, beaucoup de configurations débuggées en même temps et ça pourrait vous dans une configuration instable. Juste en faisant ça, vous remouvez tout. Et vous revenez pour la C++ view. OK. Je peux aller manualement sur le débug. Il n'y a pas de débug n'importe quoi. Mais ici, je suis en C++ view. Maintenant, je vais revenir sur ce file. Je voudrais faire des traces chaque fois que je recevrai un correcteur. Donc, je vais revenir sur le top parce que je veux ajouter une fonction pour ça. Donc, j'ai trouvé le goût. Oui. User code, begin, function prévue, déclaration. Ça pourrait être bien de le mettre là-bas, pour exemple. Donc, on déclare notre fonction débug. On dit OK. C'est un débug correct. Le prototype sera un pointeur sur char type. Puis, il y a pointeur texte type. Puis, il y a le length. Donc, vous pouvez le dire comme vous voulez, bien sûr. Et là, on va juste passer mes pointeurs et envoyer ça sur les traces ITM. En 16 type. Oh. Sorry. type. Il s'appelle 0 3R length. OK. OK. Plus, plus. OK. Puis, je vais juste coller cette fonction ITM char résistant ptr plus. Puis, on le retournera. Donc, juste par définir une fonction, on le déclare les caractères, les caractères qu'on envoie, par caractère, par caractère, sur ce lien de débug. Donc, ce sont juste les tips. Il n'y a rien à voir avec l'USB, mais c'est quelque chose que vous avez besoin sur notre plateforme, parfois. Et puis, on va juste le coller et vérifier l'output. Donc, je reviens sur où nous transmettons notre code. Et là, je vais juste faire mon droit de débug. Le droit de débug. Humpty ou seulement en- peut-être bien. OK, je vais juste dire Il a 16 type et il y a 7 caractères. OK, je vous laisse séliter le message vous voulezести, Juste un project. Et après, sur vos targets. Ok, je suis désolé pour le typo. Ok, c'est terminé. Puis pour la download, d'abord, j-bug a invité l'application. Donc, j'ai downloadé le code, je peux le downloader. Et maintenant, nous avons besoin de définir comment to under these traces. Donc, vous avez vu que ces traces ont été envoyées à un pin. Donc, pour sûr, nous ne verrons pas sur le port de l'USB ou quelque chose comme ça. Nous allons utiliser l'utilisation de l'Astéling pour pouvoir voir ces traces. Mais pour ça, nous devons connecter le debugger. Parce que nous avons deux links de debugging, celui d'Atolic et celui de l'Astéling. Donc, ici, nous allons juste retirer ou arrêter le debugging ici, par terminé et retiré. Ça ne veut pas dire que votre device n'est pas en train, parce que vous pouvez le replacer, vous pouvez le resetter et ça va marcher. Donc, juste en faisant ça, et après, juste coller l'Astéling. Donc, l'Astéling Utility est un outil qui vous permet de flasher le port. Merci d'avoir regardé l'Astéling pour activer cet outil de traces. Il y a beaucoup de réplices par un nouveau outil qui est un Q-programmer. Mais, dans le Q-programmer, pour le moment, nous n'avons pas la fonctionnalité de l'outil des traces de software. C'est pourquoi nous avons toujours utilisé cet outil durant cette train. Ça devrait arriver très vite, mais pour le moment, ce n'est pas possible. Donc, ici, on peut avoir des traces de software ou d'outils. C'est exactement ce qu'on veut faire maintenant. Et ici, j'ai besoin de sélectionner l'outil. J'ai déjà fait le test, moi-même, donc la valeur est correcte. Mais vous devez le mettre là-bas. Parce que vous voyez que vous avez seulement une pin, qui va envoyer l'information et vous devez être à la même vitesse que la clé de votre device. Donc, vous devez mettre la clé de système à 168,60 MHz. Puis, si vous avez fait ça, vous devez commencer. Et puis, ça devrait être commencé. Donc, si je retourne à mon temps réel, si je mange... ou encore, je devrais être à une bonne vitesse. Ah, j'ai beaucoup de connexion, encore une fois. Donc, ici, vous pouvez voir que j'ai eu un peu de coucou dans mes yeux sérieux.