Hallo, ich bin zugegeben neu auf MPLAB umgestiegen und versuche dort einen Attiny826 mit einem MPLAB SNAP über UPDI zu debuggen. Das Programmieren und rudimentäres Debuggen funktioniert soweit auch gut. Auch die IO Ansicht funktioniert tadellos wie in AVR Studio. Was leider gar nicht funktioniert ist das Watch Fenster, wenn ich float Variablen sehen möchte. Ist das normal? Im allgemeinen scheint es schwer, dem Compiler das Optimieren auszutreiben, um möglichst alle Variablen zu bekommen. Ist das normal? Lässt sich das mit einem "besseren" Debugger wie dem PicKit lösen? Vielen Dank euch und Grüße Florian
Florian M. schrieb: > Ist das normal? Lässt sich das mit einem "besseren" Debugger wie dem > PicKit lösen? Ein PICKIT4 hat dem SNAP nur den Step-Up-Regler für die HV-Programmierung und die uSD-Karte voraus. Das PICKIT5 hat dazu noch ein BLE-Modul. Wenn Du das nicht brauchst, und das brauchst Du bei einem UPDI-AVR nicht, bringt Dir ein PICKIT nichts. PICKIT 3 und älter können nur PICs. PICKIT Basic ist quasi der Nachfolger des SNAPs im Gehäuse. Bringt Dir auch nichts. Und float ist oft vermeidbar. Ich verwende oft mV oder dezi°C oder so als Recheneinheiten und mache alles mit Integers. Das ist schneller und spart die float-Bibliothek. fchk
:
Bearbeitet durch User
Cool danke Dir. Das PicKit Basic hatte ich bislang nirgends gesehen.. hätte ich mir dann eher geholt. 10€ mehr und dafür ein Gehäuse finde ich fair. Klar, das lässt sich vermeiden, kostet aber immer etwas nachdenken und Zeit.
Florian M. schrieb: > Im allgemeinen scheint es > schwer, dem Compiler das Optimieren auszutreiben, um möglichst alle > Variablen zu bekommen. Du solltest Dir die Compiler- und Linkeroptionen genauer ansehen. Welchen Compiler verwendest Du, den (funktional kastrierten) XC8 oder gcc? Mplab X kann als IDE beide verwenden. > Ist das normal? s.o. > Lässt sich das mit einem "besseren" Debugger wie dem > PicKit lösen? Nö, die Debughardware hat damit nichts zu tun. Und wie Frank schon schrieb, PicKit und Mplab Snap sind fast identisch.
1 | MPLAB XC Compiler Optimizations |
2 | |
3 | The optimizations found on MPLAB XC C Compilers provide code-size |
4 | reductions and speed enhancements that benefit your design projects. |
5 | PRO license is available for designs that require maximum code |
6 | reductions and best performance. The MPLAB XC C Compiler contains a free, |
7 | 60-day trial of a PRO license for evaluation when activated. |
8 | |
9 | Are you looking for code optimizations? Our free MPLAB XC C Compiler comes |
10 | with the majority of the optimizations you need to reduce your code size |
11 | and increase its efficiency. If you're unsure which optimizations are |
12 | best for your design, our free MPLAB XC Compiler Advisor can help you |
13 | find the best optimizations for your project. |
14 | |
15 | Specifically, the free compiler contains these optimizations: |
16 | |
17 | * O0 - Ensures that your code is in its pristine state |
18 | * O1 - Invokes all optimizations that won't affect debugging |
19 | * O2 - Invokes a balanced set of speed and size optimizations |
20 | |
21 | When you purchase one of our PRO licenses, you also get the following optimizations: |
22 | |
23 | * Os - Gives maximum code size reductions |
24 | * O3 - Gives the best speed optimizations |
25 | * mpa (Procedural Abstraction) - Reduces code size even further |
26 | |
27 | When combined with our free and award-winning MPLAB X Integrated Development |
28 | Environment (IDE), the fully graphical frontend provides: |
29 | |
30 | * Editing errors and breakpoints that match corresponding lines in the source code |
31 | * Single stepping through C and C++ (C++ only available in MPLAB XC32++ compilers) |
32 | source code to inspect variables and structures at critical points |
33 | * Data structures with defined data types, including floating point, display in watch windows |
(https://www.microchip.com/en-us/tools-resources/develop/mplab-xc-compilers)
Harald K. schrieb: > Du solltest Dir die Compiler- und Linkeroptionen genauer ansehen. > Welchen Compiler verwendest Du, den (funktional kastrierten) XC8 oder > gcc? > > Mplab X kann als IDE beide verwenden. Wo gäbe es denn den passenden gcc für PIC18, PIC24, dsPIC33 und PIC32? Also das Adäquat zum xc8, xc16, xc32 und am besten natürlich noch den xcDSC.
Ste N. schrieb: > Harald K. schrieb: >> Du solltest Dir die Compiler- und Linkeroptionen genauer ansehen. >> Welchen Compiler verwendest Du, den (funktional kastrierten) XC8 oder >> gcc? >> >> Mplab X kann als IDE beide verwenden. > > Wo gäbe es denn den passenden gcc für PIC18, PIC24, dsPIC33 und PIC32? > Also das Adäquat zum xc8, xc16, xc32 und am besten natürlich noch den > xcDSC. Für die 8-Bit PICs gibts keinen gcc-Port, sondern nur das ehemalige HiTech-Zeugs, was jetzt xc8 ist. Und für die anderen lies das hier: https://github.com/cv007/XC3216 fchk
Frank K. schrieb: > Und für die anderen lies das hier: > https://github.com/cv007/XC3216 So etwas ähnliches kenne ich schon. Harald tat so, als ob es einen freien gcc für die PICs gäbe.
Ste N. schrieb: > Frank K. schrieb: >> Und für die anderen lies das hier: >> https://github.com/cv007/XC3216 > > So etwas ähnliches kenne ich schon. Harald tat so, als ob es einen > freien gcc für die PICs gäbe. Und er tut so, als ob man unbedingt die PRO-Features bräuchte, was in der Praxis nicht der Fall ist. fchk
Frank K. schrieb: > Für die 8-Bit PICs gibts keinen gcc-Port, sondern nur das ehemalige > HiTech-Zeugs, was jetzt xc8 ist. ... and medicine (patch program) to get all pro versions!
Frank K. schrieb: > Und er tut so, als ob man unbedingt die PRO-Features bräuchte, was in > der Praxis nicht der Fall ist. Also, als ich mal einen 16F84A mit C Programmieren Musste.... Die Lizenz hilt deutlich länger als 60 Tage (~4-5Monate) und ich bin überzeugt, das man sich da alle paar Jahre, ne holen kann, ohne gleich mit beiden Beinen... Egal, man(n) brauchts nicht.
Ste N. schrieb: > Harald tat so, als ob es einen freien gcc für die PICs gäbe. Der Threadstarter will einen Attiny826 debuggen. Von PICs war hier bislang nicht die Rede. Was soll das?
Harald K. schrieb: > Von PICs war hier bislang nicht die Rede. Was soll das? Sorry, das war keine böse Absicht. MPLABX, PicKit und XC8 hatten mich irgendwie auf PICs getriggert.
Ok, dann ist das ja geklärt. Es ging bei meiner Formulierung "kastriert" auch nicht um eine totale Abwertung des XC8, sondern nur darum, drauf hinzuweisen, daß der etliche Optimierungseinstellungen schlichtweg nicht versteht. Das wiederum ist ein Grund für viele, stattdessen den gcc zu verwenden, der beim (mittlerweile wohl nicht mehr unterstützten) Microchip Studio bereits als Alternative zu XC8 mitgeliefert wurde. Nur: Der hat andere Kommandozeilenoptionen. Und um genau die geht es, die sind der Grund, warum der Threadstarter ein teiloptimiertes Programm erhält, was sich eben nur eingeschränkt debuggen lässt, da Variablen und anderes Zeug schneller den "scope" verlassen als der Quelltext annehmen lässt.
Harald K. schrieb: > Das wiederum ist ein Grund für viele, stattdessen den gcc zu verwenden, Das war mal der Fall, als es nur eine rudimentäre, bzw. wirklich "kastrierte" Optimierung gab. Is seit gefühlt 10 Jahren nich mehr so.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.