Potrzebuje kontaktu z osobą która zapisywała dane do tego Flasha z zewnętrznego układu mikroprocesorowego ( nie chodzi mi o programatory uniwersalne, bo w tym mi działa pamięć). Dzieki z góry...
Kto programował Flasha AM29F...
Mar 22, 2005
13 Replies
Użytkownik snipped-for-privacy@neostrada.pl napisał:
Programowalem ja w systemie z procesora. Co nie gra ?
Adam
Użytkownik "Górski Adam" <gorskia@____wp.pl> napisał w wiadomości news:d1phj9$1rf$ snipped-for-privacy@nemesis.news.tpi.pl...
O fajnie, bo mam ogólnie problem z zapisem i wyczyszczeniem tej pamięci. W programatorze uniwersalnym chodzi ok, ale sterując mikrokontrolerem nie łyka mi sekwencji do zapisu(czy też do skasowania).
1.Czy do zapisu danej w trybie word (#BYTE-HIGH) używasz tej sekwencji: addr/data = 555/AA , 2AA/55, 555/A0, PA/PD, bo nie wiem czy nie ma błedu w manualu? 2.Czy resetujesz pamięć przed zapisem? 3.Czy tok rozumowania zapisywania tej pamięci jest oki? ;początek set_HIGH #CE (na początku ustawiam je na HIGH) set_HIGH #OE set_HIGH #WE ;zapis(word mode) address 555 data AA set_LOW #CE set_LOW #WE set_HIGH #WE set_HIGH #CEaddress 2AA data 55 set_LOW #CE set_LOW #WE set_HIGH #WE set_HIGH #CE
address 555 data A0 set_LOW #CE set_LOW #WE set_HIGH #WE set_HIGH #CE
address PA data PD set_LOW #CE set_LOW #WE set_HIGH #WE set_HIGH #CE Czy robisz podobnie? Czy za każdym razem robisz tak jak powyżej czy #CE mozna trzymać cały czas wysoko na poczatku programu #CE- high?
- Czy są jeszcze jakieś warunki które trzeba spełnić by zapisać daną do komórki?
- Czy można zapisać pojedyncza daną do jednej komórki czy trzeba zapisaywać cały sektor?
- Jak mozesz to wklej mi kawałek swojego programu związanego z zapisem danych do tej kośći? Ja to robie w asemblerze ale powinienem dojść mniejwiecej w innych jezykach?
Troche sie mecze z ta pamiecią i byłby oograomnie wdzieczny za pomoc. Dzieki z góry...
Użytkownik snipped-for-privacy@neostrada.pl napisał:
........................
1.Jaki procesor ? 2.Jak podłączona pamięć flash? Jedna kostka ? dostęp 8,16,32 bitowy ?Bez tego nie da rady.
Adam
Użytkownik snipped-for-privacy@neostrada.pl napisał:
Dokładnie. unsigned int BDM_Flash_Write_16(unsigned int Address,unsigned short Data) { unsigned short data=0; BDM_Write_Memory_16(0x555<<1,0x00AA); BDM_Write_Memory_16(0x2AA<<1,0x0055); BDM_Write_Memory_16(0x555<<1,0x00A0); BDM_Write_Memory_16(Address,Data); if (BDM_Flash_Pool(Address,Data)==BDM_ERROR) return BDM_ERROR; BDM_Read_Memory_16(Address,&data); if (Data==data) return BDM_SUCCESS; return BDM_ERROR; }
Tylko ja u siebie musiałem przesunąć o jeden bit adres bo miałem adresy podpięte od A1 bo organizacja 16 bitów. I pewnie Ty masz z tym problem.
Nie
Normalny cykl dostępu do pamięci. Ja używam CE,OE,WE.
Normalny cykl dostępu do pamięci. Jak w dokumentacji.
Nie.
Podział na sektory bardziej dotyczy kasowania. Zapisać można dowolna ilosc.
jak wyżej.
E no coś ty ?
Adam
Użytkownik "Górski Adam" <gorskia@____wp.pl> napisał w wiadomości news:d1r9v8$3p8$ snipped-for-privacy@nemesis.news.tpi.pl...
- Mam MSP430F149, Texasa
- Mam jedną kość i ustawiłem ją w tryb word,czyli 16bitów, natomiast połączenia to mam nastepujące: A0 - P2.0 (port I/O 2) lsb A1 - P2.1 . . A7 - P2.7 A8 - P3.0 . . A15 - P3.7 A16 - P1.7 msb D0 - P4.0 lsb \ . \ . \ D15- P5.7 msb \dane #RESET+#BYTE are connected to Vcc-5V #RY/BY pin podłączony do Vcc przez 5kohm
e.g.Wystawiając adres 555 : (lsb...msb = P2.0...P3.7) P2=55h P3=05h Powinno być ok. Niby nie skomplikowane a nie chodzi:(
Użytkownik "Górski Adam" <gorskia@____wp.pl> napisał w wiadomości news:d1rcsf$169$ snipped-for-privacy@nemesis.news.tpi.pl...
[cut]Ja u siebie podpiołem adresy zaczynając od A0 i to jest najmłodszy bit adresu. Własnie mnie coś olśniło... czy jesli mam ustawione na #BYTE-high, czyli pracuje w trybie word 16bitow, to musze podpiąć najmłodszy adres do A1, a nie tak jak u mnie A0?? I wtedy przy przesunietym połączeniu wystawiać te adresy 555..2AA..itd??
Użytkownik snipped-for-privacy@neostrada.pl napisał:
Ja bym proponował podłączyc reset do resetu systemowego lub zrobic go programowo. Kosc moze byc w dziwnym stanie.
Adam
Nie, A0 u mnie jest podpiete do A1 procesora. Ale to tylko moj przypadek
Adam
Użytkownik "Górski Adam" <gorskia@____wp.pl> napisał w wiadomości news:d1rplf$c7c$ snipped-for-privacy@nemesis.news.tpi.pl...
Ale twoj A1 procesora traktujesz jako najmłodszy bit, i poczawszy od tego bitu wystawiasz adresy w procku 555..2AA..?
Użytkownik snipped-for-privacy@neostrada.pl napisał:
Bo mam fizycznie podpiete A1 procesora do A0 po stronie flasha - jest to zwiazane z procesorem a nie z flashem. W twoim przypadku powinno byc bez tego shiftowania.
Adam
Użytkownik snipped-for-privacy@neostrada.pl napisał:
Udało sie ?
Adam
Użytkownik "Górski Adam" <gorskia@____wp.pl> napisał w wiadomości news:d1s2k6$k8a$ snipped-for-privacy@nemesis.news.tpi.pl...
Jeszcze nie:( nie mam pojęcia co robie źle, niby to jest prose, a jednak:(
Użytkownik snipped-for-privacy@neostrada.pl napisał:
Moj numer GG : 2346707 Lub skype : gorskia
Bede okolo 20:00 - 21:00 dostepny. Problem jest na pewno trywialny. Jezeli kolega chce mozemy podyskutowac nad rozwiazaniem.
Adam
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required