| |||||
| Dernière réponse | ||
|---|---|---|
| Sujet : Keil µvision - difficultés... | ||
| _pollux_ |
|
|
| Aperçu |
|---|
| Vue Rapide de la discussion |
|---|
| _pollux_ |
|
| 404 Not Found |
|
| _pollux_ | j'avais essayé les deux, pensant que c'était ça qui posait problème... mais au final, c'est bien l'optimisation du compilateur qui posait problème. Pour l'histoire du bas niveau, disons que je veux au moins l'aborder un peu avant d'utiliser un IDE (STM32Cube Ide) qui a tendance à permettre de tout paramétrer avec un wizard à la création du projet. https://i.imgur.com/Hi146c1.png |
| rat de combat | À première vue ton lien est pas mal focalisé sur l'assembleur ARM (qui découle du code C) / les trucs très bas niveau dans le système, à toi de voir si c'est utile pour toi. edit: Et attention où tu mets ta déclaration de variable: A l'intérieur de main() (->local) ou pas (->global). |
| _pollux_ | Et je confirme que ça marche ! [:obawi] edit : en virant une optimisation. |
| _pollux_ |
|
| _pollux_ | c'est pas les bases du C que je veux découvrir, ce sont les bases de la programmation µC :D
en particulier sur cette page : https://openclassrooms.com/fr/cours [...] mmable-arm Je ne peux pas tester ce qui est fait parce que je ne peux pas poser de breakpoint... |
| rat de combat |
Oui, généralement c'est dans cette direction (de plus en plus strict) que vont les compilos.
Deux choses: Pour ton histoire de breakpoint: Vu que ta variable est utilisée nulle part le compilateur l'aura simplement viré dans le cadre de ses optimisations. Donc soit tu désactives ces dernières (sous GCC: -O0), soit tu utilises ta variable genre en l'écrivant sur un port en sortie soit tu rajoutes "volatile" comme HB. |
| _pollux_ | Disons que tous ces warning n'apparaissaient pas il y a 2, 3 ans quand j'avais suivi pour la première fois ce cours :/ le compilo a pu devenir plus intransigeant... D'autant que le pire, c'est qu'à terme, je souhaite passer sur l'IDE de STM (STMideCube), mais je voulais revoir un peu le fond de la programmation µC (STMIDE a tendance à tout prémacher graphiquement... déclaration des interruptions, réglage des timers, etc ...). Si je passe sous GCC, outre le fait de démarrer de 0...( ça va me prendre des plombes, je suis pas une star du C ), ça va être difficile de suivre le cours qui présente les différents outils de debug de Keil µVision, etc ...:D Sachant que le pire, c'est le dernier point... le reste ce ne sont que des warning, mais l'impossibilité de mettre les breakpoints où je veux dans un programme ultra basique qui compile sans erreur ... |
| 404 Not Found |
|
| _pollux_ | Salut, Je suis en train de péter les plombs avec Keil µVision :DJe reprends un cours basique d'openclassroom sur la programmation de microcontrôleur et j'ai des soucis avec µVision que je n'avais pas eu il y a 2 ou 3 ans. Le premier exemple est celui-ci :
Ensuite, si je vais chercher plus loin dans les fichiers, genre \Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include\system_stm32f10x.h, je vois ce genre de trucs :
<< là, il m'indique qu'il ne connait pas uint32_t :cry: Ce qui me rassure guère pour la suite ... j'ai pourtant installé, il me semble, les dernières version des drivers pour mon nucleo. Mais ce qui me gène le plus, c'est que si je fais le programme suivant :
Je ne peux pas mettre de breakpoint dans la simulation au niveau de la boucle while ou de l'instruction que contient la boucle... https://i.imgur.com/RRJr6RW.jpg Il n'y a pas d'option dans le simulateur de keil, je rame depuis bine 3 heures sur ces conneries :/ |




