Parcourir ce sujet :
1 Utilisateur(s) anonymes
Les options IO de debug, une a ne pas choisir ! |
||
---|---|---|
Pilier de la communauté
![]() ![]() Inscrit:
23/10/2005 11:40 De Aix les Bains (73)
Messages:
1943
![]() |
Bonjour
Vous avez tous remarquez qu'à la création d'un projet vous pouvez choisir différentes options de débug. Sur Kinetis (je ne me souviens pas si c'est pareil sur les 08) vous avez le choix entre UART(defaut) debuggerConsole No IO Petit retour d'expérience... En choisissant la valeur par defaut (UART) qui correspond à "Ewl" dans propriété du projet->C/C++ Build->Settings->Librarian->Model. (ca se change à volonté) Vous pouvez utiliser des Fonctions avancées comme printf sprintf scanf... mais il vous faudra mettre en oeuvre un driver de bas niveau pour accéder à l'UART choisi. En choisissant NO IO qui correspond à "Ewl_noio" vous vous retrouvez avec un projet dépourvu des fonctions avancées de formatage de chaine (printf et autres). Ça gagne de la place en flash, même si la fonction n'est pas appelée. En choisissant Debugger console ("Ewl_hosted") vous avez accès aux fonctions avancées printf etc et le printf s'affichera directement dans l'onglet console de CW, qui devient en plus actif au moindre message à afficher pendant le debug. C'ette fonction est géniale, je m'en suis servi 2 mois pour faciliter le debug et je croyais que ça m'aidait sauf que NON !!! c'est de la mfjqsdfqsdfqsdfqsdfqsdfqsdfqsdfqs en puissance ce truc ! 1) Le projet se met à ramer, CW en débug passe de fluide à un éléphant boiteux. J'ai cru que cela venait de processor expert et MQXlite que j'utilise en même temps mais non, ça vient du debuggage sur console. 2) Le debug de CW ne sait pas gérer la latence liée aux transfert de message sur la console, le debug ne s’arrête plus sur les lignes concernées par les problèmes, le debug devient un enfer, on a l'impression que tout est buggé de partout, autant dans son appli que dans CW. 3) C'est surement le plus allucinant : En mode "Ewl_hosted" votre application ne peut pas tourner sans CW connecté via le débugger ! Autant dire que ça n'a pas de sens et donc pas le moindre intérêt. Conclusion >Mode NO_IO ("Ewl_noio")a choisir si vous avez besoin de place en flash ET que vous n'avez pas besoin de printf sprintf scanf etc >Mode par defaut "UART" ("Ewl") si vous avez à utiliser printf scnaf etc >Mode Debugger Console à fuir (même si la fonctionnalité recherchée serait géniale si ça fonctionnait). A noter qu'au même endroit dans les paramètres du projet propriété du projet->C/C++ Build->Settings->Librarian Vous avez accès à "print formats" et "Sacn formats" qui définissent la capacité des printf et Scanf à gérer les nombre à virgule et/ou les long long, avec un impact sur la taille du code occupé par ces fonctions évidement.
Posté le : 11/09/2015 10:21
|
|
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
|
||
![]() |
Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.