Hi Leute, ich hab ein seltsamen Bug bei meiner FW (mcuxpresso ide). Variablen aus einem crosscompelierten Archiv werden von falscher Adresse gelesen, obwohl diese an der richtigen Adresse vom linker platziert und vom Debugger gelesen/verändert werden können. Ich sehe diese auch im RAM an der richtigen Add stehen. Wenn ich mir über einen Pointer die Add der Variable hole, dann zeigt dieser irgendwo hin. Auch außerhalb jedweder vorkommender Adresse. Setze ich ein Static davor, funktioniert das Programm ohne Probleme.
Wird der c code im Projekt kompiliert, dann funktionier er auch wie er soll.
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 |
|
29 |
|
30 |
|
Hat wer ein Tipp zur Lösung?