Czy to oznacza że nie ma potrzeby uruchamiać bootloadera w RAM, gdy będę kasował/zapisywał na sektorach na których nie ma kodu bootloadera? Uruchomienie kodu w RAM jest konieczne tylko gdy chcesz aktualizować kod samego bootloadera. Jeśli nie masz tego w planie, to nie jest Ci to potrzebne i cały bootloader może być w pamięci flash. 4\/3!!
Karta SD też opiera się na pamięci FLASH, więc jeżeli chodzi o trwałość to nie ma znaczenia czy użyjesz karty SD czy układu scalonego pamięci SPI FLASH. Karta SD wymaga odpowiedniej inicjalizacji oraz funkcji obsługi systemu plików. Pamięć SPI FLASH nie. Nie mniej jednak gdybyś choć raz miał przeprogramować tą pamięć to użycie karty SD jest jednak korzystniejsze.
Dla przykładu część mojego ostatniego projektu w wykorzystaniem TANG Nano 9K Tang Nano 9K + wyświetlacz LCD IPS 800x480 Bitmapy przechowywane są w zewnętrznej pamięci SPI FLASH, podczas inicjalizacji następuje przepisanie z FLASH do wewnętrznej pamięci PSRAM (tryb BURST128). Podczas samego wyświetlania dodatkowo wykorzystywany jest bufor wideo w pamięci...
To wiele interesujących próbek, ale na razie skupmy się na mikrofonie. driver_mic readme przetłumaczone na angielski przez GPT: Mikrofon Wprowadzenie Mikrofon jest powszechnym urządzeniem wejściowym używanym do konwersji sygnałów dźwiękowych na sygnały elektryczne. To demo pokazuje, jak przechwytywać dane audio z mikrofonu i zapisywać je w wewnętrznej...
Witam, Od jakiegoś czasu próbuję uruchomić obsługę pamięci data flash. Kupiłem moduł MMsam7s64-2 z Propoxu - do PA12-14, 31 podłączona jest pamięć AT45DB321C. Korzystałem już chyba ze wszystkich "sposobów" inicjalizacji SPI ale żaden nie przynosi rezultatu. Ze strony propox przykładowa inicjalizacja (przerobiona na bibliotekę AT91SAM7S64.h, korzystam...
Język C nie pozwala na inicjalizację "zmiennych" globalnych czymś innym niż określona wartość, w tym makra. Pozwala. Po prostu __DATE__ to string, a nie uint32_t.
Witam, Mam następujące definicje: [syntax=c]#define M1_PIN PIND #define M2_PIN PINC[/syntax] ...itd zaś później deklaruję tablicę w pamięci Flash adresów portów PIN mikrokontrolera: [syntax=c]uint8_t *memKeysPINreg[5] PROGMEM = {M1_PIN, M2_PIN, M3_PIN, M4_PIN, M5_PIN}; [/syntax] Niestety dostaję błąd: ../main.c:20: error: initializer element is not...
Hej faktycznie zapominałem o masie ;) ale teraz mam tylko napis "test z pamięci flash "
Tam powinien być scalak ,stabilizator 3,3V koło procka -scalera TSUM56AK-LF *b.wadliwe są TSUM Zobacz czy wymiana kwarcu 14,318 nie pomoże EEPROM =24C04 Flash Pm25LV010 Ukł. Resetu koło procka : albo scalak U406 albo elementy RC C418 (10uFx16V) + R404 (10k) Zobacz czy nie możesz zrobić inicjalizacji pamięci w tr.serwisowym : przytrzymaj "+" i"-" i wł....
Na pewno nie brakuje mi pamięci flash (64KB) Na pewno. Komunikat błędu mówi, że kod (sam kod!) zajmuje 0x11b3b (72kB), a dane stałe - rodata - 0x1443 (5kB). Do tego jeszcze kilka sekcji tak naprawdę jest potrzebnych - choćby inicjalizacja sekcji data. W typowym kompilatorze gcc na ARM (używającym newlib) funkcja sprintf zajmuje 20kB kodu i kilka kB...
Zgoda. Jednak i tak ekonomiczniej umieścić tablicę we Flashu a potem ją przepisać do ramu. Jeśli jej rozmiar jest duży, to można zaoszczędzić w granicy do 100% zapotrzebowania na flash. Tak też pomyśleli twórcy kompilatorów (przynajmniej CodeVision) i w ten sposób realizowana jest inicjalizacja tablicy w ramie. Zatem popieram kol. elektryka w tezie...
(...) (*(char **)(param_1 + 4), "rb"); if (pFVar1 == (FILE *)0x0) { lVar3 = 0; } else { fseek(pFVar1,0,2); lVar3 = ftell(pFVar1); fclose(pFVar1); } printf("nowy rozmiar %d\r\n",lVar3); } (at)__security_check_cookie(at)4(local_4 ^ (uint)&pFStack_28); return; } Wstępna ocena dostępnych informacji Pytanie dotyczy wielu kwestii: 1. Potencjalne wady...
To nie tablica tylko struktura. Ponieważ tworzysz ją na stosie to jej wartości nie są ustawiane w żaden sposób. Są niezdefiniowane i mają taką wartość, jaka akurat w danym momencie jest w obszarze pamięci jaki zajmuje owa struktura. Nie używam tej biblioteki więc nie odpowiem na pytania jak się zachowa gdy nie wypełnisz wszystkich pól struktury, tam...
:arrow: markosik20 Konstruktor jest wykonywany w czasie wykonania. Popełniasz błąd logiczny w założeniach. Stała inicjalizowana w definicji klasy musi mieć tą samą wartość (jak to stała :))dla wszystkich obiektów danej klasy. Natomiast adres pola jest z definicji inny dla każdego obiektu, wiec nie może być stałą klasy. Chyba, żebyś zrobił pole statyczne...
Czy to wina openocd? Najprawdopodobniej tak. Wygląda na to, że OpenOCD traktuje tą pamięć jako Flash i w ten sposób próbuje ją kasować i zapisywać, co zapewne nie jest możliwe. Jeśli pamięć ta jest "zapisywalna" jak RAM, to osobiście skonfigurowałbym sekcję EEPROMu jak sekcję .data w RAM, czyli kopia we flash, inicjalizacja w startupie. Aby uniknąć...
Już wiem jaki jest tam typ pamięci - jest Flash AT29C010A firmy Atmel. Czy ktoś wie jak zciągnąć zawartość tej pamięci lub jak ją zaprogramować.
Zaczniemy od początku: Warm Restart - po wykonaniu którego program realizowany jest od początku. Obszary pamięci, które nie zostały zadeklarowane jako podtrzymywane zostają wyzerowane. Hot Restart - pozwala na wykonywanie programu od momentu, w którym jego realizacja została przerwana np. w wyniku zaniku napięcia zasilającego (obszary pamięci pomocniczej,...
już wiem czemu działa [; myślałem, że w STM32 jest tak jak w ARM7 - że jedynie kawałek pamięci jest remapowany w obszar wektorów przerwań. Doczytałem właśnie, że jednak cały FLASH jest dostępny zarówno pod adresem 0 jak i adresem 0x8000000. Właśnie dlatego całość działa. Cofam więc to co powiedziałem - układ będzie działał poprawnie, bo inicjalizacją...
A więc tak : Co do odczytu z czujnika: to odczytujesz pojedyncze próbki wartości stężenia. Żeby sporządzić następnie wykres stężenia-czas musisz zapamiętać te próbki lub przynajmniej ich część. Tutaj nasuwa się pytanie ile próbek i czy po zaniku zasilania mogą one zostać utracone kiedy będziesz miał te informacje możesz zdecydować jakiej pamięci użyć...
Czytanie jej z kolei na bieżąco z pamięci FLASH stałoby się słabym punktem programu, powodując spowolnienie procesu poszukiwania Toż to jakaś herezja jest!! Początkowo zmienna ta miała być ładowana wartościami zapisanymi w pamięci EEPROM, jednakże bez wątpienia powoduje to pochłonięcie sporej części pamięci SRA A char x nie zajmie? + zajęcie flash...
Myślę, że źle przeprowadzasz testy. The CFG_setDefultConfig jest uruchamiany tylko wtedy, gdy konfiguracja OBK w pamięci flash nie jest obecna lub jest nieprawidłowa (nieprawidłowe CRC). Jeśli próbujesz ponownie sflashować już sflashowane urządzenie, nie dostaniesz CFG_setDefultConfig call, ponieważ po prostu uruchomi konfigurację, która jest już zapisana...
Cześć maniacy, Właśnie bawiłem się moim nowym inteligentnym przełącznikiem USB. Skonfigurowałem długą nazwę na bardzo specjalną. Usunąłem główny SSID i hasło i zrestartowałem urządzenie. Po tym urządzenie przestało być osiągalne. Ponieważ długa nazwa była traktowana jako nazwa SSID dla punktu dostępowego. I ten identyfikator SSID nie będzie propagowany....
Co do umieszczania kodu w odpowiednich przestrzeniach to trzeba zmodyfikować skrypt linkera oraz użyć atrybutów do danych i kodu aby kompilator odpowiednio stworzył obiekty. Ale to nie jest wystarczające. Trzeba dopisać trochę kodu w startupie jeżeli mają być zainicjalizowane (zerowanie też uznamy dla uproszczenia za inicjalizację aby nie tworzyć dodatkowych...
Witam serwisantów Koniki. Dostałem do serwisu kopiarkę 7035 z kontrolerem IP-421. Maszyna "widzi" kontroler, jednak nie przechodzi inicjalizacji kontrolera. Winę maszyny wykluczam - tak samo zachowuje się druga - 7022. Po rozebraniu IP-421 i wyjęciu a/kraty sieciowej, b/płyty z dyskiem, dalej nie inicjalizuje się. Na płycie kontrolera jest puste (!),...
Witam, Załóżmy, że mamy zdefiniowaną globalnie tablicę: memmove pod adres w ramie. Chodzi mi o to czy istnieją jakieś czystsze formalnie rozwiązania typu przeładowanie pod pewnymi warunkami wskaźnika tab .
Dorzucę jeszcze linka o tej inicjalizacji, o której pisałem, myślę, że warto poczytać: http://www.informit.com/guides/content.a... W sumie inne rozdziały też są nie najgorzej napisane. Polecam! Albert
Jeśli nie chcesz używać resetu to można zainicjalizować rejestry zwięźlej: [syntax=verilog]reg [7:0]iadr = 8'h0; reg [7:0] byte_count = 8'h0;[/syntax] Po załadowaniu FPGA z pamięci flash, rejestry zostaną ustawione na wartość zerową - chyba że w kodzie masz inicjalizacje inną wartością. Pozdrawiam
Dokładnie tak, interesowało mnie dlaczego kod nie działa w takiej sytuacji. Miałem takie problemy z testowaniem własnego kodu po wrzucaniu do ram lub flash naprzemiennie, niestety nie dotarłem do przyczyny i sobie darowałem. Płytka to olimexino stm32 z STM32F103RBT6. Zasadniczo wszystko ma swoje źródło w tablicy wektorów, znajdującej się w pamięci...
Wiesz co, u "majfrendów" ATMega328P w wersji SMD kosztuje koło 8-10zł za sztukę. LGT8F328P kupiłem teraz za 3.90zł. Ma większe taktowanie i co najważniejsze przy tym projekcie - posiada wyjście DAC. Generalnie odtwarzam już pliki *.wav 8-bit 22.05kHz i działa prawidło z tym PetitFS. Ten projekt wcześniej działał na ATMega328P przy użyciu PWM a z racji...
Witam Miałem (nie)przyjemność z tym problemem, sa dwie opcje, fajna i mniej fajna Fajna, wysypała ci się flash ale możesz go zformatować z urządzenia. Prosty proceder Włacz drukarke Jak będzie sprawdzać ram naciśnij i przytrzymaj MENU Jak się wszystkie 3 LEDy zapala puść (może będziesz potrzebował kilka prób na to by trafić w odpowiedni czas) Nacisnij...
Nie spodziewałem się, że to zadziała, ale oto wynik OpenBK7252 OTA
ad c) Czy jeśli mam 10 zmiennych, którym w momencie deklaracji nadaję wartość 0, to muszę się liczyć ze stratą 10 bajtów pamięci? Wartości inicjalizacyjne zmiennych są oczywiście, jak to powiedziano, przechowywane w pamięci stałej (np. flash). Można tu jeszcze zwrócić uwagę na następujące szczegóły: 1. Trudno dać głowę, że liczba bajtów zajętych przez...
Na swoją stronkę wrzuciłem najnowszą kompilację OpenOCD dla Windows, problem na który się natknąłeś powinien tam być rozwiązany. 4\/3!! Dziękuję, sprawdzę wieczorem czy to działa... i dam znać. P.S. Próbowałem skompilować pod Linux'em OpenOCD z bieżących źródeł (0.8.0-dev). Ale po konfiguracji i kompilacji i uruchomieniu mam błędy już na poziomie inicjalizacji...
Ale w czym masz problem? Oczywiście możesz skoczyć instrukcją jmp na początek bootloadera i zacząć jego wykonywanie. Pamiętaj tylko, że bootloader musi w takiej sytuacji zrobić pełną inicjalizację peryferii procesora, bo będą w stanie nieustalonym (pozostawionym przez aplikację) i koniecznie trzeba zadbać o właściwą obsługę przerwań - najpewniej je...
Witam wszystkich, w tym temacie wyjaśnię wam, jak można flashować https://obrazki.elektroda.pl/5707779400_... Osobiście oceniłbym, że trudność flashowania OpenBeken do tego urządzenia jest dość wysoka w porównaniu do innych inteligentnych wtyczek, więc możesz chcieć ponownie rozważyć. W każdym razie, upewnij się, że przeczytałeś ten...
Witam! Mam następujący problem do rozwiązania... Stworzyłem strukturę napisaną w C, która jest szablonem menu wielopoziomowego pewnego programu. Początkowo projektowana była jako klasa w C++ na PCcie, teraz przenoszę ją jako strukturę do C pod AVR. Klasa była prosta, taka żeby łatwo na C przerobić. Problem polega na tym, że składniki struktury menu...
Witam. Mam problem z dyskiem SSHD 2.5" (ST500LM000, PN: 16J162-039), pochodzi z komputera DELL (jest kod części Dell DP/N: 0N7GG6 oraz firmware jest w wersji DEMC). Dysk nie uruchamia silnika talerzy. PCB w okolicy procesora delikatnie się grzeje, ale nie parzy. Odrabiając "zadanie domowe" i szukając rozwiązania problemu doszedłem do wniosku, że część...
Sprawdź pamięci Flash. Niedobrze że nie wiesz jaki był to błąd. Mógł się wysypać firmware. najlepiej spróbuj go odpiąć od zasilania, wyczyść styki na pamięciach i zobacz czy komputer w ogóle widzi urządzenie. Jeśli nic nie poskutkuje to masz elektronikę zabitą. Sam już tego raczej nie podniesiesz. Jeśli komputer zobaczy urządzenie to spróbuj wgrać nowy...
Port konsoli masz przecież z przodu. Potrzebujesz przewód DB9-RJ45. Akurat Drayteka nigdy nie reanimowałem, ale inne sprzęty się zdarzały. Zazwyczaj łączysz się z routerem poprzez port szeregowy, wstępnie konfigurujesz (adres IP, maska, inicjalizacja flash itp) a następnie pobierz potrzebne pliki z serwera TFTP lub HTTP. Czasem pobiera się obraz przez...
No to po kolei. 1. Wszystko co jest związane z tym drugim obszarem RAMu przenieś na sam koniec skryptu linkera (za stackarea). 2. Sekcja od Twojej dodatkowej pamięci powinna wyglądać mniej więcej tak: .ramII : { . = ALIGN(4); __ram2_init_start = LOADADDR (.ramII); PROVIDE(__ram2_init_start = __ram2_init_start); __ram2_start...
Sprawdziłem w godbolcie, opkod się zgadza. Może to kwestia endianess? Zapisz bajty do pamięci w odwrotnej kolejności i sprawdź. Próbowałem różnych adresów oraz wprowadzania instrukcji beq w Big Endian i Little Endian. Zawsze jest wyjątek. Zauważ, że eCos był ładowany od 0x80000180. Może znajduje się tam tabela wektorów przerwań, inicjalizacja wskaźnika...
Swoją drogą macie może pod ręką jakieś dobre i sprawdzone źródła (nie chodzi mi tylko o gotowe kody ale także o opisy lub artykuły np. w czasopiśmie - więcej mogę zrozumieć :)) na temat wyświetlania .bmp oraz .jpg? Z tymi pierwszymi jest łatwiej, z tego co słyszałem, ze względu na sposób zapisu informacji, natomiast do .jpg zaciągnięta jest wyższa...
oraz limit pamięci (~30kB flash, oraz ok. 300 bajtów ram wolnego). No niestety, korzystanie z bibliotek arduino odpada jeśli chce się osiągnąć taką funkcjonalność przy 32kB flasha i 2kB ramu. problemem była inicjalizacja samego układu (czas kiedy wstawał sam w5100 był dłuższy niż Arduino) A od kiedy to długość Arduino wyraża się w jednostkach czasu?...
Witam, no i jeszcze po wektorach przerwań, 34 bajty - inicjalizacja stosu oraz puste ciało funkcji main() . :) Tak jak zauważył kolega powyżej, nie przejmuj się tym, to niecałe 6% (zakładając, że to bardzo skąpo obdarzony we FLASH mikrokontroler) pamięci programu. Jeśli zabraknie ci pamięci, to albo zmienisz mikrokontroler na pojemniejszy bo projekt...
Witam Pomocy panowie bo juz tydzien sie z tym mecze. Prubuje napisac zapis do Flash. Odczyt mi dziala ok Natomiast cos niebardzo chce zapisac . Pisze w keilu procedura wyglada tak : void AT91F_Flash_Write( unsigned int Flash_Address ,int size ,unsigned int * buff) { unsigned int i,status; unsigned int * Flash; AT91C_BASE_MC->MC_FMR =...
Witam szanowne forum. Chciałbym poprosić o wyjaśnienie zagadnienia odnośnie prawidłowego korzystania z pamięci ram, flash, oraz eeprom. Jak doczytałem na forach i w notach katalogowych, ilość zapisu do pamięci flash i eeprom jest ograniczona.Rozumiem, że chodzi tutaj o moment kasowania i ponownego zapisu np, wsadu do procesora ( tu chyba nie przekroczymy...
Tablica partycji i tablica alokacji plików, to dwie różne rzeczy. O to chodzi że nie można utworzyć partycji bez utworzenia tablicy alokacji. - zbyt daleko idący wniosek. Sprawdź zawartość w hex - edytorze. Spróbuj ją edytować zapisując cokolwiek. Odłącz dysk od zasilania, podłącz ponownie i sprawdź, czy zapis się powiódł. Niby jak mam cokolwiek zapisać,...
Jeśli zadeklarowałem zmienną prog_char data=10; wewnatrz funkcji main to sledząc tą zmienną okazało się że został jej przydzielony rejestr R24. Wyłącz optymalizację to też dostaniesz błąd. Kompilator "stwierdził", że zmienna nie będzie "widziana" spoza main(), ma wolny rejestr i w niczym nie przeszkadza używanie tej zmiennej jako rejestru (być moze...
Bardzo upraszczając: są dwa obszary w zmiennych globalnych 1. Zerowany 2. Inicjalizowany wartościami z pliku startowego (pamieci flash w uC) - ale jest to zwykłe kopiowanie wartosci. 3. Static mogą być w innym segmencie np po to aby móc discardować w przypadku gdy funkcja przestanie być potrzebna - ale to tematzupełnie inny i bardzo zaawansowany nie...
Inicjalizację masz OK, ale resztę do bani. O czytaniu zmiennych z pamięci programu poczytaj /* deklaracja */ uint8_t pgm_data[10] PROGMEM = {1,2,3,4,5,6,7,8,9,10}; /* odczyt */ uint8_t bajt = pgm_read_byte(&pgm_data[5]... /* zapis */ /* poczytaj w datasheecie procesora */ Poza tym pamięć flash nie za bardzo nadaje się...
Dzień dobry W celu zaoszczędzenia kol. NowyArm wydatków i procesów sądowych takie oto to to : Poniższy kod działa na NUCLEO F091RCT6. Funkcja IsUint32StoredInFlash() sprawdza czy w określonym miejscu pamięci FLASH jest cóś różne od 0xFFFFFFFF. [syntax=c] uint8_t cmd_execute(uint32_t data) { uint32_t cmdBufferRd; uint32_t cmdBufferWr; uint32_t cmdBufferDiff;...
ot cały kod, żadna tajemnica :) osiągnięto: nazwa widziana w siecu ESPDevice zmiana z poziomu WiFiManager (WMG) czas AP trybu i czas skanowania sieci WiFi Łączenie z automatu do sieci zapisanych tryb AP po przytrzymaniu 3 sek. klawisza wyboru kontrolki stanu AP i WiFi na OLED ssd1309 na OLED wyświetla IP adr klienta albo IP konfiguracyjnej sieci trybu...
Mam analogiczny problem. PQI 16 GB. MPInfoCheck pokazaje urządzenie USBest z admotacją "no CIS" i nic więcej. USbest_Urescue również wykrywa urządzenie, pokazuje brak firmware i proponuje jego update z informacja o tym, że procedura usunie wszystkie dane. W tym przypadku to dane sa dla mnie znacznie bardziej istotne niż sam pendrive... Dlaczego transplantacja...
Ciekawe jest to zachowanie. Wynika z tego, że pierwsza komórka pamięci nie może być pusta, wystarczy samego "nop"-a umieścić na początku pamięci flash i wszytko chodziło aż miło. Skorzystałem sobie z bootloadera kolegi TokamakPl, a dokładniej z funkcji działających na flashu :) Jedyna taka uwaga, że w sekcji appspace.s dla procków o większej pojemności...
Dziękuję. (at)ElektrodaBot Compilation error: 'class RC5' has no member named 'begin' Czego mi brakuje w Arduino ? Bezpośrednia odpowiedź Komunikat class RC5 has no member named ‘begin’ oznacza, że posiadasz inną wersję biblioteki RC5.h niż ta, do której odwoływał się mój przykład – w Twojej wersji metoda `begin()` nie istnieje. Najprostsze i w...
No więc zasadniczo w każdym przypadku (w sensie niezależnie od tego jakiego ARMa masz) musisz zmienić skrypt linkera. Z grubsza wywalasz z niego definicję pamięci rom, a następnie wszystkie sekcje umieszczasz w ram ("... } > ram AT > ram"). Poniżej różnice między skryptem dla rom i dla ram z projektu STM32: >diff -u stm32f103rb_rom.ld stm32f103rb_ram.ld...
Spróbuj zamiast bitu RNE w rejestrze SR sprawdzać bit BSY (tyle że on ma odwrotną "polaryzację" niż RNE). Sprawdź czy problem nadal występuje gdy wstawisz opóźnienie przed ustawienie SS na stan wysoki i po ustawieniu SS na stan niski - tak aby na oscylogramach wyraźnie było widać że stan tej linii zmienia się "daleko" od wszelkich zmian na liniach danych...
Witam Używam do celów testowych uk z rdzeniem ARM7TDMI flash 32kB RAM 8KB. Niestety nie są to porażające wartości stąd chciałbym możliwie optymalnie je wykorzystać przed ew. zmianą uk. Bardzo często program ląduje w uchwycie ldr pc, =Data_Abort_Handler // Data Abort exception ... Inicjalizacja pamięci: Zgodnie z dokumentacją aby uk z rdzeniem ARM7 mogły...
Zwykle program doliczy inicjalizatory dla .data do sekcji która mu najbardziej pasuje, strzelam że będzie to sekcja znajdująca się w odpowiedniej pamięci jako ostatnia przed .data - jeśli taką sekcją jest .rodata, to właśnie tam Ci ją może doliczyć. Zauważ jednak, że w skrypcie linkera nie ma wcale zadeklarowanego, że te inicjalizatory mają być w .rodata...
Właśnie ja używam teraz GCC na ARM. Nie sprawdzałem jednak jak jest ze stałymi, deklarowanymi jako const . Myślę, że tutaj będzie wszystko zgodnie z oczekiwaniami :D Dlaczego ... Kompilator GCC rozwinął się pierwotnie, jako kompilator dla PC. Dla tej platformy charakterystyczna jest jedna przestrzeń adresowa dla pamięci programu i danych (wszystko jest...
Witam. Mam bardzo nieprzyjemny problem z układem scalonym Morotola MC98HC908GP32 w obudowie QFP44. Nieprzyjemny jest on dlatego, że zamówiłem jego 3 nowe sztuki z eBay i z żadnym z tych trzech sztuk nie mogę uzyskać dostępu do pamięci flash w celu zaprogramowania. Zbudowałem programator do niego na podstawie tego dokumentu: http://obrazki.elektroda.pl/6229032700_1...
odpisałeś w trakcie edytowania przeze mnie pierwszego posta. Użycie zmiennych pomogło na błąd debuggera lecz problem tego samego adresu pozostał. Co ciekawe, podglądając pamięć okazuje się że wartości inicjalizacji są zapisane do pamięci prawidłowo. Problem polega na przypisaniu złych adresów do wyrażeń słownych określających zmienne. Nie bardzo orientuje...
Nie bardzo mam czas aby dokładnie sprawdzić inicjalizację rejestrów, ale jeżeli niczego nie schrzaniłeś to po prostu używasz tej pamięci poprzez standardowe adresowanie pamięci . Inicjalizacjia dla CS0 wyznacza w jakim obszarze adresowym tą pamięć masz. Możesz tam np. wrzucic program i też zostanie on wykonany, albo użyć dkla danych. Potraktuj to tak...
Cześć, czy ktoś ma problem z wykrywaniem pendrive'a po odłączeniu od prądu miBoxa? Muszę odłączyć i ponownie podłączyć pendrive'a przy każdym ponownym uruchomieniu Mi Boxa. Jeśli użyję przycisku „wyłącz” na moim pilocie (powoduje to, że miBox zasypia, ale tak naprawdę się nie wyłącza), to pendrive jest nadal wykrywany. Czy to zatem właściwe...
Kontroler blokuje się zwykle ze względu na uszkodzenia pamięci flash. Jeśli nawet uda się zrobić aktualizację firmware, to tych uszkodzeń ona nie naprawi. Nawet jeśli ten dysk się ponownie uruchomi, to przechowywanie danych na takim dysku nie będzie bezpieczne. Tak jak napisał Kolega Łukasz w linkowanym wątku, wgranie FW najprawdopodobniej wymusi i...
Problem jest już w języku C. Wartość w zmiennej można zapisać tylko przy inicjalizacji zmiennej. Czyli można zrobić: char napis = "siemano" a nie można już zrobić napis = "nie siemano" Twój problem możesz rozwiązać w taki sposób że np deklarując zmienną przypisujesz odrazu wartość: unsigned char str[16][16][16] ={{"bleble","bleble2","bleble3 .. "bleble16"},{"bleble","bleble2","bleble3...
Normalny start dla procesora zaczyna się od reset'u. Podczas podpięcia zasilania jest to 'power on reset'. Adres procedury resetu znajduje się pod adresem 0x00000000( początek flash'a), procesor pobiera go, skacze pod ten adres i wykonuje znajdujący się tam program. Jaki adres będzie pod 0x0000000 i jaki program pod tym adresem zależy tylko od tego...
Zapomniałem że to DataFlash a nie CF, już wiem dlaczego wg mnie procedury dotyczą kart CF, a DataFlash bardziej przypomina MMC. no moze ;) jak narazie sie bawie na pc'tku ruruchomic ten skrypcik i zamiast zczytac z karty zczytuje dane z pliku :) i narazie doszedlem do tego ze zrobilem bardzo dobra partycje FAT, ale ja wsumie potrzebuje nie tylko partycje,...
(...) iple issues. For instance, a USB flash pen drive may contain less capacity than its original state for unknown reasons; the flash device might have less capacity after it is cloned as a USB bootable drive from an ISO file. In other cases, the USB drive might lose capacity after it is formatted on yet a different device, such as a smart TV or...
Zadeklarowana jest globalnie StaticMem_Init(&config); od NXP. Pobieżnie wzrokowo jej ciało dla Keil'a i dla LPCXpresso wygląda tak samo.
co najwyżej możesz spróbować zamienić inicjalizator na inicjalizację w kodzie (x To już wypróbowałem wcześniej. Kompilator i tak umieścił na początku identyczny kod. Dokładnie w tych samych miejscach pojawiła się różnica. Ta newralgiczna część jest odpowiedzialna zapewne za utworzenie tablicy a nie za jej wypełnienie. Prawdopodobnie jest jak to napisałeś....
Witam. Włączam dzisiaj moduł i okazuje się, że podczas inicjalizacji U-Boota zatrzymuje się. Dokładnie wygląda to tak: RomBOOT >AT91Boot-20081201 U-Boot 2009.01 (Mar 20 2009 - 13:43:24) DRAM: 64 MB NAND: 1024 MiB In: serial Out: serial Err: serial Net: Brak reakcji na klawiaturę i całą resztę. Nie mam pojęcia...
Witam Może ja też podzielę się swoimi obserwacjami odnośnie procesora ATLAS3. Mam nawigację Manta 060 i próbuję na niej postawić sobie linuxa, zupełnie hobbystycznie. Mam już kernel który się uruchamia, ale dosyć szybko umiera jeszcze podczas inicjalizacji platformy, na razie działa mi tylko konsola, a i to tylko w jedną stronę, działa wypluwanie logów...
Cześć :) W związku z tym, że w miejscu w którym pracuję istnieje potrzeba programowania pamięci SPI których wsad jest taki sam, stwierdziłem że zbuduję urządzenie, które będzie kopiowało zawartość jednej kości do drugiej. Niby nic, ale z czasem chciałbym zająć się zawodowo projektowaniem oraz programowaniem mikrokontrolerów, więc jako pierwszy projekt...
const uint32_t data = (uint32_t)(&RCC->APB2... int main(void) { ... Gdzie RCC to wskaźnik na strukturę, a APB2ENR to jeden z jej elementów. #define RCC ((RCC_TypeDef *) RCC_BASE) -> ((RCC_TypeDef *) ((((uint32_t)0x40000... + 0x20000) + 0x1000))...
Taki kod jest po prostu bezsensowny i tyle. Kod z inicjalizacji _jest_ sensowny i _działa_. Jak napiszesz: #define STALA 12345 char* ptr=&STALA; to wydaje Ci się, że to jest poprawne? To nie jest poprawne i nie skompiluje się z prostego powodu - twoja stała jest dyrektywą preprocesora, czyli zostanie rozwinięta jeszcze przed kompilacją programu. Kompilator...
Na pytania odnośnie debugowania nie odpowiem - obraziłem się! Nie wiem, nie znam się - mi zazwyczaj działa:) Podpowiem, że przydatny jest fakt jednocyklowych operacji na ITCM i DTCM ( stm32H7 ) - efektywność użycia pamięci Flash spada w rzeczywistych ( czyli, nie tylko sekwencyjnych ) zastosowaniach, wraz z f większą od ok. 1.5xHSI ( większość stm32...
o no widzisz, opanowales temat ;) co do stlinka nie pomoge, nigdy w zyciu go w rekach nie mialem... wprowadzając w programie blokadę SWD i JTAG Znam to ;] Jednak jesli chcesz maximum security, to dopisujesz druga instrukcje w rozbiegowce (tuz po inicjalizacji stosu) ktora wylacza SWD/JTAG (jeden zapis stalej pc-relative do AFIO->MAPR). Wtedy jest hardcore...
Witam, Próbuję napisać program wpisujący do wewnętrznej pamięci EEPROM procesora ATmega8 napis 'czesc', a następnie wyświetlić go na LCD 2x16. Po przeczytaniu informacji w helpi'e do CV odnośnie EEPROM i LCD udało mi się napisać program, jednak nie kompiluje się on. Nie wiem jak odczytać zawartość EEPROM na LCD (znalazłem funkcję odczytu z pamięci FLASH...
OK to teraz jeszcze jedna sprawa :) Ktoś wie jak obejść problem z deklarowaniem w pamięci flash ?? Kompilator wymaga inicjalizacji tego co wkładamy do flasha w momencie definiowania. A czy jest opcja najpierw zdefiniować a potem zainicjować ?? Kod : [syntax=cpp] /* typedef struct menus { const struct menus* right; const struct menus* left; const struct...
Sprostowanie, bo gdzieś dzwoni, ale nie do końca wiadomo gdzie. Oprogramowanie układowe dysków składa się z wielu modułów odpowiadających za różne rzeczy. Zawiera m. in. kod wykonywalny, ale też różnego rodzaju moduły parametryczne, zazwyczaj indywidualne dla konkretnego dysku, jak np. listy defektów i translator odpowiadający za tłumaczenie adresów...
Np. jeśli wyłączysz dostęp do pamięci FLASH z poziomu aplikacji i bootloadera, to wszelkie stałe umieszczone w FLASH staną się niedostępne. Możesz to rozwinąć ? Bo np. dla Mega8 BLB02 i BLB01 ogranicza LPM ale tylko jeśli jest wykonywana w sekcji Boot loader i sięga do aplikacji. LPM executing from the Boot Loader section is not allowed to read from...
A może tak zamiast karty SD zastosować szeregowy flash z serii 25 Akurat przed SD oprogramowałem podobny dataflash 45DB161B, Zaletą tego rozwiązania było by uproszczenie programu - myślę, że ze 200B mniej. Procedury inicjalizacji karty SD jednak trochę zabierają. Niestety rozwiązanie z taką pamięcią jest nieekonomiczne. 4MB to koszt w najlepszym razie...
OK. To moze tak: #include <avr/io.h> #include <avr/pgmspace.h> #include "tab.h" char wysylaj = 0xAA; uint8_t i = 0; uint32_t j = 0; uint8_t licznik = 1; void SPI_MasterInit(void) //inicjalizacja SPI { /* Set MOSI and SCK output, all others input */ DDRB = (1<<DDB2)|(1<<DD... /* Enable SPI,...
Witam, Od kilku dni próbuję uruchomić pamięć SDRAM na płytce jak w temacie postu. Napisałem funkcję do konfiguracji FMC, korzystając z noty pdf mikrokontrolera. A dokładnie z tej instrukcji https://obrazki.elektroda.pl/8765069500_... Napisałem też funkcję do LTDC która działa, skonfigurowałem (myślę że prawidłowo) zegar mikrokontrolera....
W twojej książce znalazłem również zapis równy temu MCUCR |= (1<<SM1) czy jest on równoznaczny z MCUCR = (1<<SM1) czy używa się ich w zależności od czegoś ? :) Mam nadzieję, że po przeczytaniu książki znasz już operatory dwuargumentowe i wiesz co to oznacza |= ??? Ja z przyzwyczajenia wszędzie przy inicjalizacji bitów w rejestrach konfiguracyjnych...
Na czym polega - w jaki sposób Secure Erase może rozwiązać te problemy? - czy do tego jest konieczne Secure Erase? Dlaczego zwykłe usunięcie lub sformatowanie partycji miałoby nie wystarczyć? - w jaki sposób? Secure Erase jest bardziej zaawansowanym procesem niż zwykłe formatowanie lub usuwanie partycji. Oto różnice i powody, dla których może to być...
Kompilator ładuje tam inicjalizatory dla zmiennych w pamięci zewnętrznej. Aby tego uniknąć, musiałbyć zmienić lekko skrypt linkera i do startupa dopisać kopiowanie danych z flasha do tej pamięci, tylko że najpierw trzeba by ją włączyć <: A która konkretnie linia wymusza umieszczanie tam inicjalizatora? W sumie to ja nawet nie potrzebuję inicjalizacji...
czyli twierdzisz że to powinno pomóc? zaraz sprawdzę :P hmmm, no i dalej się nie komunikuje z tym programem, ma być komunikacja synchroniczna? Na synchronicznej nic nie śle do terminala nawet aktualny kod .INCLUDE "m128def.inc" ; SEGMENT DEKLARACJI .EQU OSC_FREQ= 11059200; częstotliwość pracy w Hz .EQU RS_BAUD= 57600 ; prędkość transmisji...
Wróciłem ponownie do tematu startupu dla LPC2xxx. Analizowałem sobie przykład kolegi Freddie Chopin dla LPC2103. Posiłkowałem się też ciekawym dokumentem który w dość dużym stopniu rozwiał moje dylematy związane z sekwencją startową dla tych mikrokontrolerów. Freddie'go o te 72MHz do których rozkręca LPC2103. Ja w dokumentacji dla tego MCU doczytałem,...
Rozwiązanie o którym mówimy przedstawił Dean Camera, który obecnie pracuje dla Atmela i patrząc po jego projektach (m.ni. LUFA) można śmiało powiedzieć, że jest niezły. To tak ad vocem guru. Nikt nie twierdzi, że jest to rozwiązanie idealne. Ale nie jest złe. 1. Po pierwsze aplikacja o niczym mnie musi wiedzieć i żadnych konfliktów z bootloaderem nie...
między ale i jedną nóżką kwarcu mam 8,3MHz lecz między ale i drugą nóżką kwarcu 1,3kHz i cały czas spada. Obydwie nóżki są podpięte prawidłowo pod dallasa więc nie wiem o co chodzi. C do układu to jest to układ irda przez rs232. Więc powinien chyba mrugać w celu wyszukiwania innego nadającego sprzętu. Dodano po 2 Główny plik programu wygląda tak: Plik:...
Korzystam z CooCox 1.7.7, używam Discovery z STM72RBt6 (128k FLASH) Realizuję wg ST programową implementację EEPROMa. Ustawiłem start adres w bibliotece: [syntax=c]#define EEPROM_START_ADDRESS ((uint32_t)0x0801F800)[/syntax] i zmniejszyłem dostępną pamięć dla linkiera o te 800 bajtów: [syntax=c]MEMORY { rom (rx) : ORIGIN = 0x08000000, LENGTH = 0x0001F800...
A nie ma tam czasem MSP 3415G *z takim zestawem widziałem Daewoo 15" DSL-15C1T był tam ten Twój procek + dwie pamięci U101-24c32 U103 - flash zaklejona z wer. oprogramowania (LV65E ) * z manuala ACES 85218-320L PLCC-32 - - &U103 FL 512K8 PLSST39VF040-70-4CNHE - - U103 -mozna wstawić "czystą pamięc" i procek przepisze pod fabryczne ustawienia inicjalizacja...
Witam wszystkich serdecznie jak w temacie poważny problem z motorolą c975 r245........80I bot 6.3.6 Posiadam smart clipa org. Troche nie tak zabrałem sie do tej motki (zrobiłem tp i unlock i telefon padł) Wiem że najpierw powinienem zaniżyc wrsje bota na 5.f.1 a potem usunąć RSA i unlock ale dopiero po fakcie sie o tym dowiedziałem w tej chwili po podłączeniu...
samsung galaxy s21 FE aktualizuję go do one ui 7 i przy aktualizacji zamarzł na ekranie włączania co mam zrobić ? Dodano po 2 Szybka odpowiedź 1. Wymuś ponowne uruchomienie – przytrzymaj jednocześnie Przycisk Boczny (zasilanie) + Głośność ↓ ≈ 10 s. 2. Jeżeli dalej zatrzymuje się na logo, wejdź do Recovery (Vol ↑ + Boczny, trzymane gdy telefon jest...
(...) modelu wraz z plikiem password.bin 3. Ponawiałem kilka razy próby (nawet ponad 30 razy) i tak nie pomogło 4. Nie mam innego kabla, nikt inny też nie ma, w laptopie podłączałem pod każdy port, kabel jest tak mi się wydaje w 90 - 95 % dobry, ponieważ szybko wykrywa urządzenie i posiada przesyłanie plików Bezpośrednia odpowiedź na pytanie Biorąc...
Witam Forumowiczów. Od dłuższego czasu staram się uruchomić wyświetlacz LCD GDM1602a , jednak nie udaje mi sie , problem leży w inicjalizacji jego , bo podłączenie mam poprawne. czytam na forach ze niby GDM1602a jest kompatybilne ze sterownikiem HD44780 , lecz chyba nie do końca bo w GDM1602a jest sterownik o nazwie : Built-in controller (S6A0069 or...
Cześć, Postanowiłem w końcu podzielić się projektem systemu automatyki domowej, który u siebie zrealizowałem i działa z powodzeniem od kilku lat. Na początek chciałbym opisać założenia i ogólny zarys całości a w dalszych częściach skupię się na konkretnych fragmentach. https://obrazki.elektroda.pl/8960961700_... https://obrazki.elektroda.pl/2956907700_...
Pierwsza ocena dostępnych informacji Użytkownik wspomina tylko "Marka: Toshiba", "Model: 1410" i zauważa "Pamięć programu bez funkcji". Z nazwy modelu nie wynika jednak jasno, czy chodzi o telewizor (np. Toshiba TC-1410), notebook (np. Toshiba Satellite 1410 lub 1410-S174) czy inne urządzenie. Przykładowe odpowiedzi zawierają odniesienia zarówno do...
inicjalizacja pamięci samsung inicjalizacja pamięci zapis pamięci flash
właściwości karty sieciowej zmywarka amica silnik akumulator kwasowy akumulator zasadowy
stacja pogodowa auriol stacja pogodowa auriol
Transformator Nikko NA-890 jako zasilacz warsztatowy Elementy z Nikko NA-890 do zasilacza warsztatowego