Ich habe noch eine Aufnahme vom Debugger eingefügt. Hier habe ich gerade
einen Unterschied im Symbol Icon von *tbl_ptr festgestellt. In der
Version mit "const" ist zusätzlich ein kleines "p" im Symbol zu sehen
(siehe Bilder Anhang). In der MPLAB Hilfe steht, dass es sich hierbei um
ein Objekt im Program Memory handelt.
Kann es sein dass bei
1 | tbl_ptr = (const uint8_type *)startaddress;
|
Der Zeiger auf die Adresse direkt im Flash-Speicher zeigt? Das würde
erklären, warum bei der anschliessenden Inkrementierung gleichzeitig die
Adresse in TBLPTR erhöht wird (dieser zeigt direkt auf den
Programmspeicher).
Bei
1 | tbl_ptr = (uint8_type *)startaddress;
|
ist das nicht so, hier wird auf eine Speicherzelle im RAM gezeigt???
Das verwirrt mich....