pic18 + external flash

May 28, 2006 3 Replies

Witam serdecznie



Zwracam sie do was z nastepujacym problemem. Pod procesor PIC18F8722 podczepilem pamiec flash A29800 w trybie "Byte Write Mode". W ww. procesorze sa dostepne predefiniowane polecenia sluzace do obslugi zewnetrznych pamieci, chodzi tu glownie o TBLRD* oraz TBLWT*



Napisalem krotki programik a asemblerze, ktory zapisuje jakas wartosc pod wskazany adres flasha a nastepnie stara sie ja odczytac. Program ten wyglada mniej wiecej tak (na razie nie bede wklejal calego kodu):


  1. do TBLPTR laduje adres 0x20000
  2. do TABLAT laduje np. 0xAB
  3. zapis z uzyciem TBLWT*+


  1. do TBLPTR laduje adres 0x20000



  1. odczyt z uzyciem TBLRD*+
  2. z TABLAT odczytuje moje dane

w wyniku tych operacji uzyskuje zawsze odczyt wartosci 0xFFFF.



Wszystkie rejestry biorace udzial w operacja i/o na flashu sa ustawione na pewno odpowiednio tj. MEMCON=0 a bity konfiguracyjne procesora na 'Extended Microcontroller mode'.



Obecnie uzywam kompilatora CCS dla PIC18. Dostepne sa w nim dodatkowo gotowe procedury zapisu/odczytu z zewnetrznych pamieci flash. Chodzi tu o procedury: setup_external_memory(); write_external_memory(); read_external_memory(); Jednak uzycie powyzszych powoduje identycznie odczyt zawsze 0xFFFF.



Czy ktos bylby tak mily i podpowiedzial o czym moglem zapomniec ?



z wyrazami szacunku Dariusz Borowski


wejdz na

formatting link
,jest tam polskie forum tylko o picach

no miałby problem ze znalezieniem bo nazwa z niczym się nie kojarzy

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required