Zmieniasz wektory w rejestrze MCUCR, a odpowiednie bity są w rejestrze GICR. Więc table jest nie tam gdzie trzeba.
Postanowiłem dziś zrobić upgrade NavRoad 750F. W trakcie upgrade'u ROMu wyłączyli mic (sic!) zasilanie w domu. Niestety teraz, w żaden sposób nie udaje mi się uruchomić BootLoader'a (działa tylko ładowanie) ani nawigacji. Ma ktoś pomysł co można zrobić z tym fantem oprócz odsyłania do serwisu? M.
nie takie proste: Flashing started Phone bootloader version is 0x07E0 Major boot supported by this file: 0x0823 Ram downloader sent in: 2 seconds. Cannot erase - Error: No reply i: Flashing started Phone bootloader version is 0x07E0 Major boot supported by this file: 0x0760 WARNING! *PROBABLY* this flash file contains loader that is incompatible with...
Wyłączyłeś przerwania przed skokiem do aplikacji.
Witam Mam TT Go910, który nie uruchamia się gdyż został uszkodzony bootloader zapisany w pamięci flash. Elektronika jest sprawna na 100%, dysk też, bateria naładowana. Zaczęło sie od tego że wymieniłem uszkodzony dysk i wkopiowałem nową wersję navcore zdjąłem tomka z doku i z rozpędu go zresetowałem podczas gdy ten bootował. Niefortunnie navcore zawierało...
I lipa. Albo walnięta kość albo bootloader
Podsumowując... Loader umieszczony jest we flash od adresu 0 i nie ma od tego odstępstw. Aplikacja umieszczona jest pod dowolnym adresem we flash z wyrównaniem do 512. Żadne biblioteki nie maja kodu na stałe przypisanego pod konkretny adres, nawet SPL, wszystkie startupy i tak zależą od linkera, no chyba, że ktoś sobie coś udziwił i coś na stałe przypisał....
Witaj, Ja popełniłem w przesłości bootloader dla tego mikrokontrolera ale mój własny bootloader musiał być umieszczony w pierwszych sektorach flasha. Jak będziesz chciał go wykonać to pamiętaj o przemapowaniu wektorów przerwań no chyba, że ich nie używasz. U mnie bootloader zajął 1 sektor 8k ale to na styk było a program który wgrywasz musisz zacząć...
MES Mariusz - w żaden sposób nie zagwarantujesz, że firmware się nie uszkodzi. W końcu zawsze można przerwać transmisję lub programowanie w dowolnej chwili, prawda? Jedyne co możesz zrobić to uodpornić się na takie sytuacje. Czyli przed startem firmware startuje bootloader i sprawdza jego integralność. Jeśli ok, to startuje firmware, jeśli nie to robi...
No po prostu przekierowujesz dane z USB do BootLoadera. Przykładowo masz jakiś przykład do zrobienia przejścówki USB-RS232. I masz BootLoader czytający z RS232. No to w tym kodzie z USB znajdujesz funkcje wysyłające na UART i zamiast do UARTu zapisujesz daną w jakiejś zmiennej i wywołujesz funkcję która normalnie wywoływana była przy przyjściu danej...
Pewnie wywalony bootloader.
Bootloader jeśli jest prosty, potrafi też zajmować o wiele mniej. U mnie w jednym z projektów procesor podrzędny jest przeprogramowywany przez procesor główny, protokół jest więc bardzo prosty (zakładam, że błędy transmisji nie występują), sam bootloader zajmuje 358 bajtów (załącznik: źródła, 5 plików, m8). Co do pierwszego postu: ad 1/ Przy linkowaniu...
Nic nie robiłem to czysty ardunio nano Więc jeżeli to klon to zapewne ma stary bootloader, który zawiera błąd z ustawieniem WDTON. Powinieneś zacząć od wgrania optiboot do tego Nano.
Pamiętaj o fusebitach, sprawdź wektory przerwań....
Nie. Bootloader jest oddzielną aplikacją, z własnymi segmentami danych. Skacząc do niej niszczysz wszystkie struktury danych aplikacji z której skaczesz. Powrót jest więc niemożliwy - chyba, że uruchomisz aplikację od nowa. Z tego też powodu przerwania uruchomione w aplikacji nie mogą być wykorzystane przez bootloader - konkretnie mogą, ale będą one...
Z tego co wyczytałem nie można zmienić adresu wektora przerwań jedynie możnawskazać czy jest we FLASHU (czyli bootloader zaczynający się od początku FLASHa) w RAMie (Początek pamięci RAM 0x10000000) czy też jakiś tam bootrom (sprzętowy bootloader we flashu). Nie ma w M0 rejestru SCB->VTOR... chyba. Faktycznie, w ARM Cortex-M0 akurat wektory trzeba...
Czy autor wątku poradził sobie z przerwaniami?? Pytam bo zamierzam napisać bootloader do programowania kulku uC po RS485 i planuje wykorzystywać w booltoaderze przerwania od UARTa oraz Timera.
Co do pierwszych dwóch uwag - zgadzam się, dodałem konkretne cytaty w odpowiednie miejsca. Co do ostatniej, tak, wyjaśniam już, że zwykle jest to początek pamięci flash, jednak w specyficznych przypadkach (konkretnie przy ustawieniu bitu IVSEL w rejestrze MCUCR w procesorach, w których ten bit jest dostępny) przenosi początek tej tablicy pod adres w...
Ludzie po co roibć test pointa ? !! szkoda go marnować !! Zrób tak połóż telefon wyświtlaczem do dołó (w strone biurka) policz od lewej 4 i 5 pin, wyciągnij baterie zrób zwarcie tych pinów i włóż baterie i bootloader sam się włączy i wtedy bezproblemu wgrasz softa :) przy każdej nieudanej próbuje zawsze to ratuje. Zapamiętajcie to serwisanci ! :)
Masz w routerze złącze do serial? Powinno być. Jeśli bootloader jest cały to jest duża szansa na uratowanie. Jakie są objawy w chwili obecnej? Diody świecą/migają? http://eko.one.pl/?p=openwrt-wrt160nl
a czy pamięć może się rozrosnąć magicznie? Masz to narysowane w DS Poniekąd może. W klasycznych AVR bootloader jest wykrojony z FLASH dla programu, ale w XMEGA jest to dodatkowy obszar FLASH, poza FLASH dla programu. Załóżmy, że piszę w języku C w Atmel Studio, chcę napisać program bootloadera i główny. Muszę tworzyć dwa osobne projekty i generować...
Jeśli założysz, że te dane są zawsze za obszarem wektorów przerwań ( niezależnie jakiej wielkości) to nie musisz przeszukiwać całego 1MB tylko ograniczyć się do pierwszych kilku KB. Jeśli bootloader nie znajdzie takiego paternu w tych pierwszych kilku KB to można przyjąć, że firmware nie jest wgrany lub jest uszkodzony. W takiej strukturze danych za...
W domowych warunkach raczej tego nie podniesiesz. Konieczne jest podłączenie do boxa.
Przerwanie sie wywoluje tylko raz, dioda gasnie i juz wiecej sie nie zapala. Warto chyba odkomentować kasowanie flagi i adresu VICa Pytanie poza konkursem, czemu procek startuje po puszczeniu resetu po ponad sekundzie? Wydaje mi sie ze jest to ogrom czasu. Może masz tam jakiś układ resetu? Albo jeśli masz podłączony JTAG i aktuwną sesję OpenOCD, to...
erfro : Nie łatwiej wgrać bootloader i za jego pomocą wgrać pierwszy firmware? Nie trzeba jednego z drugim łączyć przed wgraniem. Właściwy program nie musi posiadać kodu bootloadera przez którego jest wgrywany - bootloader zapisuje (zazwyczaj) maksymalnie całą pamięć flash aż do początku obszaru bootloadera pomijając wszystko co jest dalej. Ogólnie...
Czy ktoś może mi powiedzieć czy poniższy algorytm ma szanse na realizację? co o nim myślicie? http://obrazki.elektroda.pl/9694939500_1... Po tym jak nowe oprogramowanie znajdzie się w buforze (new soft ) zostanie wywołany bootloader który skopiuje starą tablicę wektorów przerwać pod nowy adres (isr tab 1) i ustawi offset na tą tablicę....
Zasadniczo wypadałoby zmienić skrypt linkera, tak aby rozmiar oraz adresy RAM i ROM odpowiadał twojemu układowi. Niemniej jednak nie ma to wielkiego znaczenia, bo adresy są takie same, a rozmiaru pełnego i tak nie wykorzystujesz w takim prostym programie - początkowo więc możesz tego pliku nie ruszać. W startupie będzie również inne przesunięcie dla...
Przeczytać dokładnie rozdziały w nocie procesora poświęcone wektorom przerwań, fusebitom i bootloaderowi? Niestety, innej opcji nie ma. Jeśli czegoś konkretnego nie zrozumiesz to pytaj, ale przemyśl o co pytasz. Pytania ogólne, typu "jak napisać bootloader" nie mają sensu - odpowiedź na nie to kilkanaście/dziesiąt stron tekstu. Który zresztą masz pośrednio...
Czy dołączyć źródła do projektu, czy wgrać sam bootloader jako inny projekt? Dwa osobne projekty. Kolejna sprawa to zmiana offsetu flash. W przypadku projektu Freddiego czy będzie to tylko zmiana w pliku _rom.ld na: Do przesunięcia dochodzi jeszcze konieczność zmniejszenia rozmiaru dostępnej pamięci. Kolejne pytanie to czy trzeba i ewentualnie jak...
Witam. Piszę BootLoader na procesor ATmega32 i nie wiem dlaczego układ nie chce zaprogramować pierwszej strony pamięci Flash. W symulatorze wszystko działa. Druga strona programuje się bezproblemowo więc wykluczam możliwość pomyłki w programie. Czy ma to związek z wektorami przerwań umieszczonymi na samym początku? Trzeba je jakoś wyłączyć? Program...
jaki to windows ? Aby przywrócić oryginalny bootloader win95 czy 98 wystarczy w trybie dos podać komendę fdisk /mbr natomiast jeśli to xp to najprościej odpalić instaler windowsa, zacząć teoretycznie instalację jednak nic nie formatować i już w momencie decyzji że chcemy instalować nowy system, przerwać instalację, wcześniej instaler przewraca oryginalny...
Odświeżę temat, bo problem nadal występuje i nie wiem jak go ugryźć. Przed uruchomieniem aplikacji przez bootloader rejestry peryferii ustawiam na wartości jak po resecie procka, wyłączam uruchomione przerwania, czy coś jeszcze trzeba zrobić?
Panowie mam jeszcze takie pytanie... Pisząc Bootloader przesunąłem cały program (main itp.) do obszaru Bootloader-a danego mikrokontrolera. W Bootloader nie korzystam z przerwań, a WinAVR automatycznie tworzy mi wektory do nich - tracę przez to cenne kilkanaście bajtów! Czy można zmusić kompilator żeby ich nie dołączał? Dziękuję i pozdrawiam.
Jak jest aplikacja to oprocz ustawienia predkosci kwarcu i skokiem do programu glownego nic nie robi,. Dosyć odważna teza... Całkowicie błędna niestety. Bootloader przed skokiem do aplikacji powinien wyłączyć WSZYSTKO co włączył/skonfigurował, Ty natomiast nie wyłączasz niczego: - RCC i PLL, - przycisk, - SysTick. Funkcja konfigurująca SysTick włącza...
poczatek ramu jest wykorzystywany przez bootloader. flash magic - zgodnie z nazwa - sluzy do programowania FLASHa, a nie RAMu. najprawdopodobniej masz w kodzie wlaczone tez remapowanie wektora przerwan na poczatek ramu (czyli od 0x4000000), a ze nic tam nie ma (bo twoj wektor przerwan zaczyna sie na 0x40000200), to program robi jakas blizej niezdefiniowana...
Witam, Naciąłem się na problem z przerwaniami z którymi nie mogę sobie jak na razie poradzić. Jeśli w bootloader'ze nie wykorzystam przerwać, to po skoku do aplikacji wszystko działa ok, jeśli natomiast zostanie tam wykorzystane, to aplikacja już ich nie wykonuje. Wydaje mi się że ma to związek z wskaźnikiem przerwania, ale nie mogę znaleźć rejestru...
Mała przestroga - w CrossWorks są szopki z przerwaniami ... Używam tego środowiska i nigdy nie miałem żadnych problemów z przerwaniami.
Pisząc o sekcjach INIT miałem na myśli to co standardowo robi kompilator języka C a nie bootloader. A skoro bootloader pisany był w C to musi zawierać takie sekcje ;) To nie jest żaden standard C, tylko sposób działania avr-libc i avr-gcc. No to już tylko takie czepianie się słowek, i nie ma to akurat tutaj wielkiego znaczenia, ale oczywiście tak,...
Żadna z powyższych metod nie pomogła. Oryginalny soft przywróciłem przy pomocy serial portu w routerze i klienta tftp. Złącze Serial (ttl) - 15200 8n1 1. VCC 2. TX 3. RX 4. nc 5. GND Trzeba podłączyć adapter serial ttl według powyższego schematu i łączymy się z routerem np. za pomocą putty. Przy ponownym starcie routera w konsoli putty należy...
Bootloader włącza się gdy układ jest "czysty" (pusty wektor przerwania nie zawiera odpowiedniej sumy kontrolnej, obecnej w prawidłowym kodzie) lub gdy przestawisz stosowny pin na stosowny stan. 4\/3!!
Napisać taki [url=http://www.elektroda.pl/rtvforum/to... to żaden problem: wystarczy pod jakimś warunkiem skoczyć pod jeden z dwóch adresów. Kod jednego z programów umieścić pod adresem 0, drugi pod innym adresem, skompilować go pod tamten adres. Jedyny problem jest taki, że tylko [url=http://www.elektroda.pl/rtvforum/to...
Witam Mam podobny problem z terminala dostaje taki wynik Nie mogę dostać się przez tftp. 08f?4 (v1.00.02) U-Boot 2.1.4 (Jan 28 2008 - 14:56:42) DRAM: 64 MB Flash: 8 MB In: serial Out: serial Err: serial Net: adm8668_net Hit any key to stop autoboot: 0 ADM8668 # ˙˙˙˙ Nie mogę nic wpisać. Jak przerwać i wydać komendę.
Generalnie urządzenie, które ma bootloader zawiera 2 oddzielne fragmenty programu - jeden to właśnie bootloader, który realizuje programowanie pamięci flash nowym programem i program właściwy ("program użytkownika"). Bootloader jest umieszczony w innej części pamieci flash - nie może być możliwości jego skasowania (no i oczywiście musi być napisany...
Mam jeszcze pytanie odnośnie samego działania SWD i programowania... Jeśli BOOT0 = 0 to startuje ten kod który jest we Flash. Jak to się dzieje, że mimo działającego programu OpenOCD potrafi przerwać jego pracę i zacząć wgrywać program ? Jeśli dobrze doczytałem to jest to tylko możliwe jeśli są włączone sygnały SWDIO i SWCLK ? i drugie pytanie: Jeśli...
Być może pomocny będzie temat: http://www.elektroda.pl/rtvforum/topic93... Tematem jestem zainteresowany. Jeśli uda Ci się rozwiązać problem to proszę o podanie rozwiązania, głównie chodzi mi o LCD w sekcji bootloader. A jak jest z przerwaniami w bootladerze. Czy można stosować przerwania tak jak w normalnej aplikacji czy trzeba je jakoś zmapować?
Po czym to rozpoznałeś? Powtarzające się bloki po 8 bajtów na początku pliku wyglądają na zaszyfrowaną tablicę wektorów przerwań. Nie zaszyfrowane powinny się powtarzać 4 bajty adresu we flashu lub ramie. Ktoś się nie przyłożył do szyfrowania. Jak by było zrobione porządnie to cały plik wyglądał by na losowy. Nie jest to AES ani prosty XOR. XTEA? Raczej...
BDM to nie jest tylko port komunikacyjny, tylko sterownik będący gateway'em dla magistrali i dla innych sterowników. A jeżeli jest gateway'em, zarządza procesami związanymi z networkiem. Istnieje Bootloader wewnątrz ECU lub tzw. Gateway bootloader , który jest w BDM
Trochę za mało informacji. Jak jest połączony H8S z komputerem? Jak jest wywoływany tryb aktualizacji oprogramowania? Czy wiadomo do czego służyła opcja "bootloader protection"? Czy była próba komunikacji poprzez Flash Development Toolkit? JarekC Jedyne wyjście bezpośrednie z H8S przebiega przez kartę komunikacyjną sterownika działającą na protokole...
mój pomysł, to wstawić najmniejszy możliwy bootloader, w którym będzie stały skok jmp (+stałe skoki wektorów przerwań) pod jakiś określony adres(dla wektorów adresy przesunięte) pamięci - wtedy w tym miejscu umieścisz sobie cały bootloader i niema problemu z dodatkowymi sekcjami. ps. po co aż taki duży bootloader?
Witam serdecznie Tematy bootloadera do ARM7 sa ciężko wyszukiwalne w sieci... Do sam7 jeszcze gorzej, a na tym poziomie platforma ma duże znaczenie, ale do rzeczy. Piszę właśnie bootloader którego zadaniem będzie odczytanie obrazu pamięci z pliku i zapisanie go we flashu. I właściwie to zadanie nie jest trudne. Jednak bootloader będzie na początku flasha,...
Przyczyn może być mnóstwo - źle napisany bootloader korzystający z procedur na kasowanych stronach, niezablokowane przerwania podczas operacji na pamięci Flash i sto innych, których nie widząc kodu nie sposób zdiagnozować.
Kabel konsolowy Cisco jest zakończony wtykiem RJ45 ale oczywiście nie jest to wtyk do karty sieciowej (ethernet) tylko złącze w standardzie RS232 czyli port szeregowy (Serial) , (rx,tx,masa itd) z inną wtyczką. Należy włączyć DB9 do komputera a rj45 pewnie zdewastować i podłączyć do goldpinów odpowiednio tylko kabelki RX TX i GND. Teraz uruchomić Putty...
Nie ma "przerwań synchronicznych", jest tylko błędna terminologia. SVC to jest właśnie pułapka, podobnie jak SYSCALL w innych procesorach, TRAP w jeszcze innych i INT w x86. Błąd to coś ciut innego - wszystkie Fault w ARM to właśnie błędy. Obsługa błędów ani pułapek nie zależy od priorytetu procesora. Ten "konfigurowalny priorytet" dla pułapek i błędów...
Może bootloader umarł. Jtag albo płyta do wymiany nie strasząc. HTC lubią mieć takie wyskoki niestety.
Każdy z tych plików trzeba wgrać pod odpowiedni adres w pamięci. Będą to "okrągłe" adresy typu 0x10000. Porównaj zawartość plików z zawartością zczytanej pamięci. Na początku (0x00000) będzie na 99% bootloader. a plik exe z załacznika to trojan: https://obrazki.elektroda.pl/2316565000_...
(o ile to co zostało to bootloader) Bootloader 0x7000 - 0C94F23E - jump 0x3ef2 (0x7DE4) i cały początek wygląda na tablicę wektorów przerwań bootloadera ( 5 instrukcji jump)
W Siemensie się nie da kodem. Wieki temu robiło się to kablem serwisowym (RS232–TTL z dodatkowym zasilaniem/z pinów sterujących modemem) i ruskim programem Freia. W pierwszych egzemplarzach C60 szło to zrobić bez kombinowania, w późniejszych zmodyfikowano bootloader i trzeba było robić nacięcie w płycie celem przerwania ścieżki, tzw. TP (testpoint)....
O co Ci chodzi? Przecież napisałem, że tak jest MI wygodniej. Jeżeli masz ochotę, to możesz sekcję danych zrobić nawet w środku pamięci. To nie ma znaczenia. Ja wybrałem taki podział: bootloader (ze swoimi wektorami), wektory przerwań aplikacji, kod aplikacji, dane. Aplikację uruchamiam z bootloadera. Przed uruchomieniem aplikacji ustawiam nowy adres...
Nie miałem prawie nic do czynienia z MAC, ale w dokumentacji wyszperałem: DMASR, bit 16, NIS: "This is a sticky bit and it must be cleared (by writing a 1 to this bit) each time a corresponding bit that causes NIS to be set is cleared" Może bit NIS masz ustawiony: ETH->DMAIER = 0x00010041 , sprawdź ETH->DMASR. Jeżeli jest, to nie dostaniesz przerwania,...
Wystarczy, że ma UART. Skoro i jedno, i drugie (uart/programator) trzeba podłączyć, nie lepiej użyć od razu programatora? Bootloader jak najbardziej można zrobić, sam pewnie jakiś z nudów napiszę. (xmodem?, będzie więcej w kolekcji) Chińczycy nawet dodali remapowanie przerwań, czego M0 nie ma. Tak że można bez marnowania RAMu.
Problem z przerwaniami a raczej ich brakiem był związany, wg mojej wiedzy/ obserwacji z nieprawidłowym przeniesieniem tablicy wektorów przerwań. Same instrukcji wg książki: [syntax=c] MCUCR|=(1<<IVCE);// Uaktywnij zmianę wektorów przerwań MCUCR|=(1<<IVSEL);// Przenieś przerwania do sekcji boot-loadera [/syntax] Nie działały, trafiłem na...
Mam Arduino Nano z bootloaderm ATmegaBOOT_168_atmega328.hex (dostarczanym z Arduino) . Pracuje z tym poza IDE Arduino, ale używam AvrDude do wgrywania moich plików hex. Jak sprawdziłem Fuse bity to tylko reset vector jest ustawiony na bootloader. Mój program sobie działa bez zarzutu, jedyne przerwanie jakie mam to od USART0, wszystko ładnie chodzi i...
Padł bootloader. Jedyna rada to zrobienie tp, wgranie bootloadera, naprawa pds i wgranie monstera. Obrazka z testpointem poszukaj w internecie.
Działa to poprawnie, czy są jakieś krytyczne uwagi co do tego? Ten kod można raczej mocno skrócić. Np. czekanie na dostępność EEPROM nie jest potrzebne, bo to już załatwiają funkcje odnoszące się do EEPROM. Ponadto, jeśli te zmiene wrzucisz w strukturę, to można to potem łatwo zapisać przez zapis blokowy od razu całości, co oszczędza kolejne wywołania....
Witam.czy moze mi ktos pomoc naprawic motke..a mianowicie podczas zmiany softu...zabraklo energi...:P....telefon teraz nie chce sie wlaczyc.nie wlacza sie BOOTLOADER i nic...probowalem juz na pare sposobow i nic...umialby ktos pomoc??
Może coś podczas aktualizacji OTA się posypało. Sprawa jest stosunkowo prosta. Niegdyś było narzędzie do pobierania ROMów (obecnie jest uznane za przestarzałe, ale powinno działać bez problemowo). Podajesz w nim model urządzenia i region (XEO dla Polski, chociaż każde europejskie państwo powinno mieć język Polski). Zaznaczasz opcję Binary Nature i pobiera...
Używam właśnie gplinka. Kompilator (chyba) jest ok. To raczej problem z linkerem. Po zlinkowaniu mam w 0x82A kod programu, w 0x800 tablice przerwań i pod 0x000 instrukcje skoku (chodzi chyba o przeskoczenie tablicy przerwań) pod pierwszą instrukcje programu!
Witam, podczas wgrywania programu (dosyć sporego bo zajmującego około 80% pamięci) do procesora ATMEGA328 niechcący pociągnąłem za kabel USB od programatora USBASP V2.0 i przerwałem wgrywanie. Od tego momentu procesor jest martwy, zgłasza sygnaturę 0x00 i nie ma z nim komunikacji. Już zgłupiałem od natłoku znalezionych w internecie informacji. Czy to...
Uszkodziłem bootloader w LGT8F328P LQFP32 miniEVB Dołączam się do pytania, precyzując: czy komuś udało się pogadać z tym procesorem po SPI? Szczególnie w wersji SSOP20, gdzie sygnały SPSS i MOSI wiszą na jednym pinie*? Moje programatory USBASP, USBtiny i Arduino(UNO3) as ISP nie dały rady. Ktoś tu wspomniał o zmodyfikowanym programie Arduino as ISP...
Witam, szukam jakiegoś bardzo prostego przykładowego bootloadera, na którym można opracować dostosowany do własnych potrzeb. STM32F1xx Potrzebuję przykładu bootloadera wrzucanego na początek / kasującego zawartość flesha / programujący i przemapowujący wektory przerwań. nie chce wyważać otwartych drzwi. Ze względu na potrzebę przeprogramowania własnym...
Program na ArduinoMega działa bardzo dobrze, więc postanowiłem przenieść go na procesor Atmega 328p - ten sam co w większości płytek Arduino. Układ pracuje na wewnętrznym oscylatorze 8MHz, bootloader wgrany, program też. Pojawił się niestety problem, którego nie potrafię zlikwidować - przerwanie od przycisku powoduje restart procesora... Jeżeli dodam...
To nie takie proste jak myślisz. Poczytaj o sekcjach w gcc, zastanów się jak wygląda kod startowy programu w C i w jakich sekcjach jest umieszczony. Przeniesienie sekcji .bootloader nic nie zmieni, ona nie do tego służy. Musisz też poczytać o przenoszeniu wektorów przerwań w tym szczególnie RESET. Co do kasowania - zazwyczaj programatory kasują cały...
Niveasoft miał rację, Twój pierwotny hex w obszarze niewykorzystanym (za kodem programu) wypełniał go 0xff (po kasowaniu flash cała jego pamięć zawiera 0xff) w tym również adresy zajmowane przez tinybld, dlatego tinbld się zbuntował i odmówił wgrania (by siebie nie nadpisać). To dość nietopowy hex, nie wiem dlaczego został tak wygenerowany by adresował...
LASH nie jest dostępny w dowolnej wielkości. Dlatego pisałem o zewnętrznej, taniej pamięci DataFlash. - poważniejszy problem - apka ściągnęła nowy wsad, odpaliła bootloader, flashowanie się nie powiodło. W efekcie jesteśmy w miejscu, w którym nie mamy Nie. W zewnętrznej FLASH czy w drugiej połówce flash uC mam program. Jak coś pójdzie nie tak podczas...
Zrobiłem to co podałeś trochę poprawiłem efekt ten sam. Poszedłem też na skróty i wyliczałem tylko okres resetując timer też ten sam błąd.. Zastanawiam się czy aby na pewno attiny ma 16MHz bo są źródła które podają 16,5MHz korzystam z Digispark Attiny85 i ze względu na USB jest tak taktowany, zastanawiam się o ile to prawda ze 16,5MHz jak uciąć te 0,5Mhz...
Masz wrzucony bootloader który uruchamia tą aplikację? Jeśli nie, to pozornie uruchomienie takiej aplikacji za pomocą GDB może się wydawać możliwe, ale właśnie krzaki zaczynają się zwykle w momencie wystąpienia pierwszego przerwania.
Tak, jest to możliwe - tak jak kompiluje się bootloader, tak można skompilować program, aby zaczynał się pod innym adresem w pamięci. Niedogodnością będzie to, że program znajdujący się gdzieś w środku nie będzie mógł obsługiwać przerwań (tablica wektorów przerwań może być umieszczona tylko pod dwoma adresami - 0 i w sekcji bootloadera). Co prawda można...
będę próbował przez RSa. z tego co analizowałem - nie ptrzeba kasować całego flasha i segment z bootloaderem zostawić w spokoju Przerabiałem juz ten temat, zawsze gdy ładujesz nowy program użytkownika po RS-ie nadpisywany jest bootloader, w pdf-kach wszystko jest opisane, ładowane są kolejno do pamięcia RAM (B2 chyba, tylko 512B) programy clear, erase,...
Co to jest pętla auto-baud? I czemu bootloader miałby ją wymuszać? Pewnie chodzi Ci o ISP? Albert Dokładnie chodzi mi o diagram "boot process flow chart". Wynika z niego, że jeżeli nie istnieje program użytkownika, rozpocznie on auto-baud czyli po prostu uruchomi ISP. No to on bada tylko sumę kontrolną w zarezerwowanym wektorze, nic więcej. Albert...
Proponowałbym przyjrzeć się Dallasowi DS89C450. Ma dwa UARTy, 64 kB Flash, 1kB SRAM, 13 źródeł przerwań (w tym 6 zewnętrznych) 16-to bitowe liczniki, 33 MIPS (przy pełnym taktowaniu), bootloader (programowanie przez UART), może pracować od -40C.
Kiedyś pisałem programy na uC w Keilu, ale dzisiaj jakoś nie mam ochoty krakować oprogramowania. Właśnie na początek KEIL to dobre rozwiązanie, a 32kB to sporo, zwłaszcza, że sa uC, które mają 32 czy 16kB pamięci. Dodano po 8 A wektory przesunąłeś? Robiłem wszystkie te czary mary z wątku, które rzekomo miały działać. Tylko tyle, bo za słaby jestem...
Dr_DEAD -> skoro wyłączam globalne przerwania (CLI) to nieważne jakie flagi są zgłaszane ponieważ przerwania w sekcji BootLoader nie są odblokowywane. Itp w tym przypadku oznacza ustawienie rejestrów i bitów używanych w BootLoaderze. atom1477 --> piszę w assemblerze początkowe linijki sekcji bootloadera: .org SECONDBOOTSTART Boot_loader: ldi_wsk...
Może trochę zmienię temat, ale błędy tego typu: main.c:1834: error: conflicting types for 'Pisz_32x32_transparent_ram' main.c:89: error: previous declaration of 'Pisz_32x32_transparent_ram' was here świadczą nie o tym, że funkcja jest we flashu zamiast w RAM, tylko o tym, że w dwóch różnych miejscach są zdefiniowane w różny sposób......
Tak jak napisał Jdsoul , trzeba się zapoznać dokładniej ze sprzętem i wszystko powinno się dać zrobić. Zamiast procedur wywoływanych z ROM-BIOS, stworzysz sobie własne procedury w C (dość szybko to się robi) i będziesz z nich korzystał. Nie pamiętam już struktury DSM51 (kiedyś czytałem o tym książkę Gałków, ale nigdy nie miałem tego w rękach), jeżeli...
Jeśli pokaże mi kolega ATMEGE 2560 w obudowie QFP64 to się zgodzę ... Ale zanim kolega coś więcej napisze może zapozna się z [url=http://www.atmel.com/Images/Atmel-2... , strona 339 To co napisał kolega dotyczy obudowy QFP64 występuje w niej mega 1281 i mega 2561 , atmega 1280...
Dzięki za pomoc. Problem rozwiązałem. Faktycznie udało mi się wyczyścić pamięć FlashMagic'em po poprawnym wejściu we wbudowany bootloader (doczytałem w dokumentacji LPC1788). Obecnie łączę się J-Linkiem z mikrokontrolerem i mogę go programować. Dokładnie o to mi chodziło.
Pisales kiedys bootloader? Jest on (a szczegolnie SPM) w sekcji bootloadera? Wektory przerwan sa w ktorej sekcji? Blokujesz przerwania na czas programowania? Pokaz program, bo bez tego to wrozenie z fusow. Jak przetwarzasz hex na dane do programowania? Czy nie lepiej przesylac obraz binarny FLASH, zamiast bawic sie w interpretacje hexa?
Mam problem z Mobil Panelem 177DP dokładnie mialem taki przypadek, że w trakcie przywracania backupu z ProSave do panela mialem zanik napiecia i teraz na panelu wyswietla sie tylko: Bootloader Version 1.01 Date: 09.02.2009 Czy mozna uratowac w jakis sposob ten panel jeszcze samemu czy tylko serwis siemensa moze pomoc??
Nie potrafię tego do końca wytłumaczyć, gdyż w dokumentacji nie ma (nie znalazłem) żadnej wzmianki o tym, żeby wpisywać do EECR wartość (1<<EERE) zamiast ustawiać tylko wybrany bit. Ustawianie bitu przez "|=" wymusza odczyt rejestru, aktualizację kopii a następnie wpisanie, przy "=" występuje samo wpisanie. Jeśli bity inne niż EERE były by ustawione,...
A jako bootloader wgrałeś ? Do A1 jest ap61 Jeśli ten wgrałeś na początku to jest jeszcze do odzyskania. Miałem problem, że przerwała mi się procedura i w pewnym momencie zupełnie nie małem nic oprócz bootloadera, ale udało się wybrnąć. Użyłem skryptu zamieszczonego w opisie instalacji. Uruchomiłem. A następnie podpianłem zasilanie i kabel do portu...
Czy komunikacja poprzez RS485 bez izolacji galwanicznej w takim układzie nie sprawia problemów? Bez problemów, RS485 toleruje napięcie wspólne do o ile pamiętam 12V. Poza tym układy na szynie mają wspólną masę, więc tym bardziej nie powinno być problemów. IMHO w znakomitej większości przypadków RS485 separacji nie wymaga. Czy zdradzi kolega tajemnicę...
Tym razem przedstawiam Bootloader USB MSC (Mass Storage Class) dla tanich modułów na mikrokontrolerze STM32F103C8T6. Mocno się muszę tu hamować by nie wykrzyczeć "rewelacja". I za to, że tylko cztery kilo. I za tą tak skrajnie minimalistyczną sprzętowo , lecz wygodną koncepcję użycia resetu jako aktywacji bootloadera. Choć ma to pewne uboczne konsekwencje...
Build started 6.4.2014 at 00:25:04 avr-gcc -mmcu=atmega16 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT Proba_10.o -MF dep/Proba_10.o.d -c ../Proba_10.c avr-gcc -mmcu=atmega16 -Wl,-Map=Proba_10.map Proba_10.o -o Proba_10.elf avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature...
(at)ElektrodaBot pomozesz w kwestii poniższej? „ Cześć Wszystkim, mam prosty układ elektroniczny który wykorzystuje Arduino UNO. Piny: 2,3,11 i GND. Potrzebowałbym skorzystać z mniejszej wersji Arduino, np. NANO. Niestety nie za bardzo wiem które piny w NANO są równoważne z UNO. Program ma jakies 50 linii kodu.‚ Bezpośrednia odpowiedź na pytanie -...
Witam, mam takie pytanie do bardziej doświadczonych forumowiczów. Pisze bootloader w C na uC jak w temacie, czy możliwe jest zrobienie 2 tablic wektorów przerwań? Jednej dla bootloadera, a drugiej dla normalnie wykonującego się programu ? Pytam ponieważ chcę wykorzystać DMA+SPI w bootloaderze i później w normalnym programie. Gdzieś przeczytałem, że...
sciaglem 14.0.16 TKDEUXM EEA , wybieram paczke, pobieranie info i po kilku sekundach NIE MOZNA FLASHOWAC TEJ PAMIECI ROM. dodam ,ze przez MiFlash flashowalem wczesniej na czysto (z formatem) roma 14.0.14 , bootloader zamkmiety. rom stock. Mam jeszcze 2 takie fony i to samo jest ( na 2 fonie flashowalem 14.0.18 a na 3 wersje 14.0.16 ) oficjalne stocki...
Mam urządzenie do którego nie będzie łatwego dostępu a chcę mieć możliwość zdalnego przeprogramowania. Będzie tam RS485. Z powodu utrudnionego dostępu żadne zworki uruchamiające bootloadera nie wchodzą w grę. Jedynie komenda po RS485 i coś co automatycznie uruchomi bootloadera gdyby główny kod nie był w stanie go uruchomić (np. gdyby poprzednie przeprogramowanie...
Dzięki za podpowiedź. Czytałem artykuł z STM32.eu i noty od ST. Po prostu wtedy źle/nie rozumiałem, gdzie ma skoczyć program. Po podpowiedzi Freddiego odświeżyłem wiedzę na temat wektora przerwań i już mi działa. W programie, do którego skaczę miałem jeszcze jeden kłopot, ale wynikał z mojego gapostwa. Wprawdzie w funkcji inicjującej zegary itp. miałem...
Skoro musiałeś usunąć fragment plików startowych c, żeby dało się skompilować kod, to znaczy, że coś mocno jest nie tak. W dodatku usunąłeś fragment odpowiedzialny za inicjalizację zmiennych, więc raczej istotny. To mogłoby tłumaczyć problemy. Reset z WD jest tożsamy z resetem przez pin RESET, czy BOD, jedyna różnica to inne ustawienie bitów sygnalizujących...
Teraz z mojej beczki, fakt braku możliwości kopiowania z zakładki "HEX"(w sumie to z żadnej się nie da skopiować jak kolega mirekk36 doświadczył), też mnie nurtował, ale nie chciałem dokładać kolejnego gwoździa do trumny, żeby autor nie padł na przedbiegach, ja zaobserwowałem jeszcze ciekawszy moment, aby powiększyć czcionkę w zakładce "HEX", to należy...
stm32 bootloader przerwać stm32 przerwać przerwać bascom przerwać przerwać
regulator napięcia przewody honda żarzyć kontrolka drzwi zagłuszyć sąsiad
śmieszne obrazki śmieszne obrazki
Głośnik Omnitronic DS-Series 500W do Radmor 5102 Spasowanie koła i cewki w silnikach i prądnicach