PIC- C Hitech

Loading thread data ...

Nie możesz ustalić adresu poszczególnych zmiennych, możesz natomiast zmieniać adresy sekcji w czasie linkowania. Domyślnie zainicjalizowane dane eeprom (makro __EEPROM_DATA()) lądują w sekcji eeprom_data i możesz kazać umieścić jej linkerowi po jakimś wybranym adresem w pliku wynikowym. Jeśli teraz programator potraktuje dane znajdujące się powyżej adresów pamięci programu jako dane dla eeprom to wszystko powinno być zautomatyzowane. Wszystko masz opisane w dokumentacji kompilatora:

  1. Dane dla eepromu inicjalizujesz np. tak: __EEPROM_DATA(0, 1, 2, 3, 4, 5, 6, 7);
  2. A przesunięcie sekcji robisz przy pomocy parametru Psect linkera, np: picl.exe -O -12F629 -ASMLIST -Maaa.map aaa.c -L-Peeprom_data=2110h

IC-prog dla procesora 12f629 dane od adresu 2100h interpretuje jako dane dla eepromu więc w tym przypadku dane wylądują w eepromie od adresu 10h.

Reply to
Zbych

No nie tylko IC-prog, każdy (normalny) program wyśle te dane do EE jak będą siedzieć pod tym adresem (12F, 16F), dla 18F jest to adres 0xf00000

sword

Reply to
Adam Jurkiewicz

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.