Les options IO de debug, une a ne pas choisir ! [Forums - Kinetis]
Les options IO de debug, une a ne pas choisir ! [Forums - Kinetis]
Pseudo Pass se souvenir de moi     Créer un compte
ARTICLES et TELECHARGEMENTS ~ FORUMS ~ LIENS  
 
             
 
Recherche
 
   
 

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: 1930
Hors Ligne
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
Transférer la contribution vers d'autres applications Transférer



 Haut   Précédent   Suivant



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.

[Recherche avancée]


Powered by XOOPS© The XOOPS Project
Contacter les administrateurs

Les options IO de debug, une a ne pas choisir ! [Forums - Kinetis]