Microchip 32MX695F512H - BLOKOWANIE

Jul 17, 2013 32 Replies

Witam! Spêdzi³em trochê czasu na zaznajomienie siê z tym kontrolerem. Jak siê okazuje, to jest zupe³nie co¶ innego ni¿ dsPIC, gdy¿ ma w sobie rdzeñ firmy MIPS (tak jak w playstation itp.)



Uda³o mi siê to opanowaæ i napisa³em aplikacjê w asm na obs³ugê LCD RGB



480x272. Dzia³a mi to do¶æ ³adnie, ale... Ju¿ dwukrotnie uda³o mi siê go totalnie zablokowaæ. Przy próbie uruchomienia plików przyk³adowych Microchipa niefortunnie zapisa³em rejestry konfiguracyjne warto¶ciami domy¶lnymi, wziêtymi przez MPLAB chyba z kosmosu.

Pierwszy raz to nawet mi dzia³a³ oscylator. Dzi¶ zdaje siê, ¿e zaprogramowa³em go w trybie HS z kwarcem 8MHz i oscylator ju¿ nawet nie dzia³a. Poda³em mu sygna³ 10MHz na OSC1 i nic - nadal nie mo¿e nawet odczytaæ kodu ID kontrolera. Jak to uruchomiæ. Drugi raz moja p³ytka nie przetrzyma wylutowywania i ponownego wlutowania. U¿ywam: PGEC1 i PGED1. Czy pod³aczenie (podlutowanie siê) pod PGEC2 i PGED2 co¶ zmieni. Normalnie programowanie/debugging dzia³a tylko na PGEC1 + PGED1. Domy¶lnie jednak konfig ustawia siê na PGEC2 i PGED2 i tak zosta³ zaprogramowany. Jak wszystko jest dobrze, to dzia³a na komplecie z 1. Teraz nie. By³bym wdziêczny za jakiekolwiek porady co do mo¿liwo¶ci uruchomienia tego chipa bez jego wylutowywania.


Oczywiście stacją. No niestety. Zadziałał rachunek prawdopodobieństwa. 64piny/0,5mm.

3 piny są sztukowane "włoskiem". To jest płytka prototypowa bez solder maski, więc nie jest tak różowo. Na dodatek - nie mam tych 32MX695F512 na zapas. Zamówiłem już sample, ale nurtuje mnie znów pytanie ile jeszcze razy zdarzy się, że mikrokontroler z 512k FLASH+ 128k RAM wyrzucę do śmieci, bo sprawny scalak odmawia zaprogramowania oryginalnym programatorem. S.

czesc. Niestety nie pomoge, dopiero sie zapoznaje z tym wynalazkiem, (konkretnie to

32mx775f512l zamierzam go uzyc w tym samym celu co i ty tzn. do obslugi grafiki. Czy jego zasoby sa wystarczajace (775 ma tylko 64kb ramu, w sumie u ciebie 128 to tez nie szaleñstwo) ? Czy z tej calej biblioteki graficznej microchipa jest pozytek ? dzia³a to jako¶ ? Przyznam sie ze istnienie jej to jeden z powodów kontaktu z pic32. pozdrawiam. michal m. ps. Wydaje mi sie ze oscylator zewnetrzny nie jest wymagany do programowania pic32 a przynajmniej pobiezny wgl±d w
formatting link
sugeruje. Ale moge byc w bledzie nie mialem w reku tego mikrokontrolera.

U¿ytkownik "Sylwester £azar" snipped-for-privacy@alpro.pl napisa³ w wiadomo¶ci news:ks6cql$1f7$ snipped-for-privacy@mx1.internetia.pl...

Zale¿y co chcesz z tym zrobiæ. Ja u¿ywam do grafiki. I tak:

- zdjêcie 480x272 24bpp zmie¶ci siê jedno w BMP do FLASH

- zdjêcie 240x136 24bpp zmie¶ci siê do RAM Filmy mo¿na te¿ pewnie pusciæ z USB czy karty SD. Ja piszê w assemblerze. Jak zobaczy³em to co kompilator C wyprawia, to piszê w czystym asm. Te biblioteki graficzne przegl±dn±³em i wynika z tego, ¿e wymagany by³ sterownik LCD inny ni¿ ja posiadam ju¿ w LCG. Niestety przyk³ady w asm s± tylko 3 i to toporne. Biblioteki i przyk³ady w C mnie interesuj±, aby podpatrzeæ jak to robi±. Potem zagl±dam do okna Memory po kompilacji i wyci±gam z tego czysty kod, zmniejszaj±c go przy okazji o jakie¶ 30%. W zwi±zku z powy¿szym obs³ugê LCG spokojnie mam czas wykonaæ. Problem jest tylko z synchronizacj±, gdy¿ to przetwarzanie potokowe i prefetch to masakra. Nie rozezna³em w pe³ni mechanizmu sterowania pamiêci± cache, wiêc zegar pu¶ci³em sprzêtowo na module Output Compare, a dane (24 bity/pixel) ³adujê w programie g³ównym, synchronizuj±c je nieco z zegarem poprzez zerowanie timera bazowego.

Nie wiem. Nie mam tego sprzêtu (oni ca³± zabawê zestawiaj± z 3 p³ytek). Z pewno¶ci± warto podpatrzeæ.

Ja, jakbym mia³ wybieraæ ponownie, to wzi±³bym 16-bitowy dsPIC33, ze wzglêdu na ³atwo¶æ synchronizacji danych i zegara no i szybko¶æ.

Nie potrzeba. Programuje siê bez problemu, jednak nie znalaz³em przyczyny, dlaczego ca³a zabawa koñczy siê, gdy bity configuracyjne zostana niepoprawnie zaprogramowane.

Przecież ta biblioteka to dramat, widgety stylu win 3.11, kiedyś w akcie desperacji popełniłem własną bib na pic32 z obiektowoscia a'la GTK:

formatting link

ale braklo czasu na doszlifowanie i dokończenie kodu... :(

Kawał dobrej roboty. Po odświeżaniu widzę, że to w C jest pisane? Ten słownik T9 to też Twój kod? Jest tam znaczna baza wyrazów, czy tylko sample? S.

Tak, ale nie nazywaj go tak, bo nie chcę mieć problemów z prawami do nazwy ;). Robilem to 2 lata temu, o ile pamietam baza ma 10 tys najpoularniejszych słów, zbudowalem ją z znalezionych logów irca a potem sort|uniq...

Jeżeli średnio wyraz jest długi na pięć liter, to zmieści się do największego PICa. FLASH(512kB+boot) Jeżeli nie kompresowałeś, to chyba 10 tys. się nie zmieści. S.

Baza była na micro sd. We flashu mcu były tylko fonty.

A to zmienia postać rzeczy:-) Ja tam marzę i czekam, aby w jednym chipie był kontroler i 2GB Flasha. Po co tam jakieś złącza, karty, dziury w obudowie. A jaki transfer osiągałeś z karty SD? S.

Użytkownik Sylwester Łazar napisał:

Flash w końcu padnie, wolisz wymienić kartę czy proca?

Używam tylko trybie SPI, z tego co pamietam max ok 600-700 kB/s. Być może dałoby się więcej ale używałem sprzętowego spi (główny zegar

80Mhz) i wychodził BRG dla spi albo ok 12MHz albo od razu powyżej 20 przy których karta nie chciała działać. Te transfery to przy spi na poziomie ok 12Mhz.

Czyli filmu się nie odczyta. Zdaje się Microchip robi trick, że z 4 pixeli robi jeden poprzez aproksymację. Zdaje się, że wtedy i tak musi odczytać 4 pixele z karty podczas wysyłania obrazu. Ciekawe jak oni to robią? Może tam jest jeszcze spowolnienie odświeżania do x fps. S.

Lucio di Jasio odtwarzal filmy na pic32:

formatting link

chyba na jego stronie jest opis jak to zrobił.

Pan Krzysztof Gajdemski napisał:

To oczywiście oczywista oczywistość. Z tym że to już wymaga chwili zastanowienia, choćby nad wydzieleniem części tylko do odczytu, którą pakuje się na cramfs (skompresowane i szybkie dość). Jeśli chodzi o zabawy, to podane wskazówki są wystarczające.

Wracaj±c do w±tku. Rozpocz±³em dyskusjê (ju¿ ze 2 tygodnie) w Microchip Support. Jedyn± informacjê, jak± dosta³em, to ¿e mam spróbowaæ po³aczyæ PGEC1 z PGEC2 i PGED1 z PGED2. Jednak jest to niepotwierdzone, a ja jednak wylutowa³em i wlutowa³em (3 raz) chip i teraz uwa¿am, aby configuration bits ustawiaæ dok³adnie tak jak ma byæ. Wydaje mi sie, ¿e jest tam jaki¶ bag pozwalaj±cy zablokowaæ chip w taki sposób, ¿e procek nie daje objawów komunikacji z powodu braku taktowania. S.

PaN AlexY napisał:

Ten commit, to akurat kluczowy dla całej sprawy. Przy podanym ustawieniu może zwiększyć żywotność karty 60 razy, a pozostałe rzeczy są w takiej sytuacji głównie dla porządku. Ale i tak coś mi się widzi, że ta karta musiała być jakaś delikatna. Mnie się nigdy żadnej wykończyć nie udało, ale może słabo się starałem. Właściwie to nawet nie wiem w jaki sposób one zdychają. Nagły szlag je trafia, czy agonia jest długa? Od razu cała jest do bani, czy zawodzi tylko część, na przykład jedna partycja?

A tak formalnie zapytam, czy na pewno podlaczyles prawidłowo wszystkie piny wymagane do poprawnego programowania wg. opisu w dokumentacji (szczególnie avdd, avss itp.)?

Wydaje mi się, że tak. Wszystko zgodnie z karta katalogową. Projekt na tym etapie już ukończyłem i wszystko ładnie działa. Problem następuje po błędnym zaprogramowaniu słów konfiguracyjnych. Wtedy koniec. Komunikat: RIErr0035: Failed to get Device ID Poniżej korespondencja z Microchipem. Pierwsza odpowiedź:

***** AUTOMATED MESSAGE - DO NOT RESPOND ***** Hello Sylwester Lazar, Microchip Engineering Support has added comments to support Ticket 254885. Comments: HI Sylwester Please upload schematics and the configuration bits that you programmed wrong. Best regards, Horia

Problem Description: Hello! I had twice such a problem: When I was try to implement asm example with core Timer, the chip start to be" not answering" anymore. That is what I have received in MPLAB 8.91: MPLAB REAL ICE detected Connecting to MPLAB REAL ICE... Firmware Suite Version...... 01.28.74 Firmware type......................PIC32MX MPLAB REAL ICE Connected. Target Detected RIErr0035: Failed to get Device ID It happened probably after programing with not proper configuration bits set. That is second time, when I need to replace chip. How to program it again without desoldering chip? Best Regards, Sylwester

Użytkownik Jarosław Sokołowski napisał: [..]

Z commit'em wierzę, chciałem zmienić ale nie znalazłem jak. Co do zdechnięcia to nagle karta przestała istnieć, jest nieczytelna, nierozpoznawalna i ogólnie martwa, jako że to był domowy serwer nie ruszany czasem tygodniami to nie wiem czy były jakieś oznaki umierania.

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required