pic18 + external flash

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

Reply to
Dariusz Borowski
Loading thread data ...

wejdz na

formatting link
,jest tam polskie forum tylko o picach

Reply to
szlovak

formatting link
:)

Reply to
Rogher

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

Reply to
szlovak

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.