Pomijając sensowność używania sprintf do SKOPIOWANIA stringa do jakiejś zmiennej, to błędów jest bardzo dużo. 1. Skasowałeś stronę którą chcesz zapisywać? 2. Odblokowałeś zapis do flasha? 3. Twój zapis jest dziurawy, bo jak zero będzie na nieparzystej pozycji, to pętla nie zakończy się wtedy kiedy będziesz chciał 4. Odczytujesz FlashStatus, to sprawdź...
Oczywiście, że można to zrobić bez użycia HAL, czy SPL. Kod, który tu przedstawiłeś wymaga bardzo wielu poprawek. Nie uważasz, że funkcja zapisu do pamięci jest zbyt skomplikowana? Długa na 88 linii, zawiera dziwne stałe typu: 1 << 14, 0xF3. Np co robi ta instrukcja: [syntax=c]FLASH->CR &= 0x1FFE;[/syntax], albo taka: [syntax=c]while(FLASH->SR...
Czy tak trudno odpowiedzieć na pytanie? Sam się czasami dziwie, że to taki trudne. Nie specjalizuje się w angielskim, a trudno przetłumaczyć/znaleźć zagadnienie w pdfie. Wszystko wynika ze specyfiki takiej pamięci. Pomijając aspekty fizyczne, czysta komórka pamięci flash odpowiada stanowi "1". Podczas zapisu do pojedynczej komórki można tylko i wyłącznie...
https://obrazki.elektroda.pl/9462291700_... Chciałbym zaprezentować rozwinięcie eksperymentalnego odbiornika SDR, jaki opisałem ostatnio: https://obrazki.elektroda.pl/6947080100_... https://obrazki.elektroda.pl/7046555300_... Najbardziej w tym momencie interesującym fragmentem płyty jest głowica: https://obrazki.elektroda.pl/9911930900_...
W wyszukiwarce wpisz "stm32 eeprom emulation".
Po zdjęciu nie trzeba odłączać zasilania. Tylko po włączeniu (zabezpieczenia). Dowodem na to jest np. w trybie automatycznym ST-Link zdejmuje zabezpieczenie (o ile jest poziom 1), programuje i ustawia zabezpieczenie bez konieczności wyłączenia zasilania. Korzystam z tego dość często jak muszę przeprogramować układy (np zmiana bootloadera).
http://obrazki.elektroda.pl/7258579400_1... Witam. Chciałem dzisiaj przedstawić kolejny projekt z cyklu "inni mają - mam i ja" ;) Tym razem jest to miniaturowy sterownik ethernetowy - " uWebServer ". Układ zbudowany został w oparciu o mikrokontroler Cortex-M3 - STM32F103C8T6, do tego kontroler ethernetu "znany i lubiany" - ENC28J60. Całość...
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...
Witam, Mam problem z emulowanym eepromem. Główną przyczyną są Gaskoin oraz Freddie Chopin :) gdyż oczywiście racjonalnie namówili mnie do niekorzystania z bibliotek lecz do pracy na rejestrach. Jest to teraz również i według mnie wiele leprze rozwiązanie lecz wiążą się z tym pewne problemy. Na temat tego jak w oparciu o same rejestry zapisywać trwale...
Cześć Chciałbym zrobić emulowanego EEPROM-a i mam problem z odblokowaniem zapisu do pamięci FLASH. Pierwsze co zrobiłem to FLASH->KEYR=0x45670123; FLASH->KEYR=0xCDEF89AB; Następnie sprawdziłem stan bitu LOCK w rejestrze CR i jest na 0 czyi dostęp do flasha jest możliwy. Chciałem zrobić zapis do pamięci zgodnie z diagramem na stronie 13 z STM32F10xxx...
Cześć, wczoraj testowałem program do zapisu danych w pamięci FLASH na STM32F051r8, korzystałem z programu przedstawionym w tym [url=http://www.elektroda.pl/rtvforum/to... Porgram jest pod STMa F103, który ma 128 kb pamięci, a mój tylko 64 no i przez przypadek nie zmieniłem adresu pod który maja być zapisywane dane, a więc pozostał...
Witam. Nie jestem pewien czy to prawidłowy dział, ale ten mi najlepiej pasuje - jako że mam problem z układem programowalnym. Potrzebuję jednorazowo zczytać flasha TE28F320 C3BD70 (intel TSOP48), najlepiej bez wylutowywania :D Posiadam jakiegoś starego willema 3.1 chyba, ale nie mogę się doszukać czy jest do niego przejsciówka która pozwala to zczytac....
Witam, mam problem z pamięcią nand flash (S34ML01G200TFI0) a mianowicie z prędkością zapisu/odczytu. Piszę własny sterownik i ogólnie wszystko działa tzn. zapis, odczyt, kasowanie, kopiowanie... Problemem jest to, że operacja odczytu jednego page'a trwa aż 7ms(mierzone przy pomocy oscyloskopu)! Zegar mam ustawiony na 216Mhz, poniżej ustawienia rejestrów...
Witam Potrzebuje odczytać zawartość flash aby później skopiować to do nowego procka. na płycie gdzie jest wlutowany dobry STM sa wyprowadzenia RX TX BOOT0 RST GND 3.3V. próbowałem przez flash loader czy w ogóle wykryje podłączając przez przejściówkę USB-RS 232 oraz przez st-link i tez nic. powiedzcie co źle robię i czy w ogóle da się odczytać zawartość.
https://obrazki.elektroda.pl/8808596700_... Pokażę tu jak łatwo uruchomić MAX31855 z Arduino a potem omówię jego protokół komunikacji. MAX31855 oferuje 14-bitowy pomiar temperatury z zakresu zależnego od użytej sondy, od -270°C aż do 1800°C. MAX31855 oferuje prosty protokół komunikacji oparty o SPI, zasadniczo odczytujemy z niego tylko...
Jestem nowy w STM32. Podłączyłem flash w25q128jv poprzez QSPI z poradnika https://controllerstech.com/w25q-flash-s... działa, ale podczas próby odczytu pamięci zwraca mi zawsze 0x88, lecz gdy odłączę GND do pamięci odczyt działa z artefaktami.
https://obrazki.elektroda.pl/3479042800_... Efektem nocnych dłubanin jest sterownik taśm RGB/RGBW. https://obrazki.elektroda.pl/6143799100_... https://obrazki.elektroda.pl/6487351400_... https://obrazki.elektroda.pl/8955729600_... Głównym przeznaczeniem jest sterowanie oświetleniem...
Kontroler flasha to nadal tylko peryferial memory-mapped, wiec SFR w ktorym ustawiasz protekcje niczym sie nie rozni od SFRów od np. SPI, i dokladnie tak samo mozna go zapisać przez SWD/JTAG . A to juz wprost odpowiedz na twoje pytanie. SWD/JTAG pozwala na rw dowolnego 32bitowego adresu w losowym momencie, niezaleznie od tego, czy rdzen wykonuje kod,...
Witam. Zaopatrzyłem się niedawno w aplikację zwaną Flash loader demonstrator. Umożliwia ona m.in. zapis i odczyt pamięci programu mikrokontrolera STM32 przez bootloader poprzez RS232. Gdy chciałem odczytać pamięć flash i zapisać obraz pamięci w pliku hex mocno się zdziwiłem, gdyż plik miał rozmiar 319744 bajtów, a flash mojego STM32F103RB ma "tylko"...
Próbował ktoś z was zablokować odczyt pamięci flash z poziomu programu ? Według not wpisanie do bitów 15-8 (RDP) rejestru FLASH_OPTCR dowolnego bajtu poza 0xaa 0xcc powoduje włączenie blokady odczytu, poziomu 1 zabezpieczeń. Z funkcji bibliotecznych można użyć funkcji FLASH_OB_RDPConfig(OB_RDP_Level_1); dodatkowo można zresetować urządzenie. Testowałem...
Czytałem o tym i faktycznie coś w tym jest, czyli podsumowując nie da się po prostu podłączyć kabelki TX RX jak w stm32 i jakimś flash downloaderem zgrać wsadu?
Witam, Zaczynam przygodę z mikrokontrolerami STM32, posiadam STM32F429IDISCOVERY. Zaczynam pracę z kursem na youtube: https://www.youtube.com/watch?v=kSVNG3sC... Wykonałem konfigurację środowiska jak w poprzednim odcinku, jednak gdy teraz próbuję wgrać program (zwykłe zapalenie diody) to w STM32CubeIDE 1.3.0 pojawia się komunikat: Debugger connection...
Hmm, chodzi o to, że Level 1 to cokolwiek oprócz 0xAA i 0xCC, czyli również 0xFF? Właśnie we flash programming manual to jakoś tak tajemniczo i krótko było opisane ;) Bo pomyślałem sobie jeszcze, że może jest odczyt bieżących RDP, WRP, Data0 itp., potem erase i zapis nowych, po czym dopiero po Launch (czyli chyba de facto soft reset?), jeśli RDP się...
tmf napisał: Kolego, kompilator nic nie wie o adresach, typach pamięci i całym tym bałaganie. Cóś jednak wie czasami - bo jak by nie wiedział to jak by avr-gcc generował poprawny kod dla NAS? Przecież nie generuje. NAS powoduje tylko związanie z danym obiektem jednobajtowego identyfikatora przestrzeni, a reszta leży po stronie frontendu. Każde odwołanie...
4,7k jest wyliczony raczej dla 5V, DS18B20 jak i STM32 może działać na 3.3V i wtedy proporcjonalnie to już jest ~3k. A jak zasilasz układ czujników jednak 5V to tym gorzej dla układu. Nie mam styczności z MacOS, sprawdzałeś to: http://macappstore.org/stlink/ ? Poza tym przy wgraniu bootloadera trzeba pamiętać o zworkach, bo się kasuje, może uległeś...
to tablicy unsigned charow w flashu stm32 juz nie mozna trzymać? sprawdzilem na tablicy uint8_t zarówno zapis jak i odczyt działa bez zarzutów. W takim razie nie wiem co mogło być przyczyną problemów w przypadku pojedynczych zmiennych. To, że ci nie działa tak jak trzeba to jest wina twojego softu, nie flasha ani kompilatora. Sprawdź jak zmusić GCC...
C-SKY Flash Programmer jest oprogramowaniem dostarczanym do pobrania przez XuanTie na stronie https://www.xrvm.cn/community/download?i... https://obrazki.elektroda.pl/1504579400_... Narzędzie to współpracuje z programatorami CK-Link do odczytu i zapisu w pamięci flash procesorów C-Sky z rdzeniem RISC. Procesory...
Hejka, robię właśnie przesiadkę projektu z kompilatora IAR'a do GCC'a i mam problem z przeniesieniem niektórych ustawień, konkretniej chodzi o nie wycinanie przez linker konkretnych, nieużywanych zmiennych globalnych wygenerowanych przez zewnętrzne narzędzie, zawierających informacje np. o dacie buildu, checksumie itp. które są potem w przypadku reklamacji...
Przepraszam , że nie dokończyłem wczoraj ale przysnołem. Nie poszło tak prosto bo nie otrzymuje zapisu na kartę , cały program kompiluje się mi w porządku tzn otrzymuje hex -a, zadaniem poniżej przedstawionego programu jest tylko odczyt jednej wartości z wejścia adc1 oraz zapisanie jej na karcie do pliku o nazwie plik, poniżej przedstawiam listing z...
Podałeś przykład z mnożeniem niedostosowanych do FFP liczb, to ja podam kontrprzykład: for(float i=0;i<10;i+=0.00000001); Zadziała z float? Oczywiście nie. O czym to świadczy? Wyłącznie o tym, że programując trzeba myśleć. Rozwiązanie problemu który przedstawiłeś zajmuje jakieś 3 sekundy - wystarczy zastosować typ double (lub po prostu zmienić wartości,...
Są jakieś mechanizmy odczytu flash, jednak to nie jest ani bardzo proste ani za bardzo legalne. Tutaj jakaś wstępna lektura https://sec-consult.com/blog/detail/secg...
========================================... Option Bytes Programming functions ========================================... This group includes the following functions: - void FLASH_OB_Unlock(void) - void FLASH_OB_Lock(void) - void FLASH_OB_WRPConfig(uint32_t OB_WRP, FunctionalState...
Witam! Mam pytanie o kwestię banalną przy pracy z programatorem, ale niewiadomą puki co dla mnie, przy pracy z j-tagiem. Jak włączyć zabezpieczenie przed odczytem flash-a?
Niezależnie od tego, co z nimi potem robisz, najwygodniej czytać je zwyczajnie przez adresy po jednokrotnym ustawieniu odwzorowania QSPI w przestrzeni adresowej, a nie poleceniami odczytu pamięci. W EP możesz kupić elektronicznie dowolny numer.
Nie mogę sobie poradzić z odczytem pamięci która jest podpięta pod stm32discovery. Funkcja którą mam odczytuje jedynie 1 stronę z pamięci NAND. Patrzyłem na przykłady które są dołączone do stlink utylity lecz przykładu do NAND nie znalazłem. Może ktoś posiada źródła do przykładu z kością NAND512W3A lub podpowie co dodać do mojej funkcji żeby czytała...
stm32f407vet6+st link i do tego ST-LINK Utility, i tak... po podłączeniu automatycznie ładuje program z procka klikam zapisz Upewnij się czy masz dobrze określony obszar flash do odczytu odpowiedni do danego uC, bo Stlink nie ustawia tego automatycznie. Może odczytujesz i wgrywasz później tylko część istotnego obszaru flash i stąd te dziwy. Przykładowo,...
Proszę bardzo! Wersja minimalna - zapamiętywanie jednej zmiennej na F0. No fakt, aż 36 wierszy. Nie no błagam... nie rozśmieszaj mnie. Chodziło o kod który dla DOWOLNEJ ilości zmiennych (oczywiście w granicach rozsądku tak aby wszystkie mieściły się w emulowanym EEPROMie) pozwala NA ŻĄDANIE odczytać/zapisać WYBRANĄ zmienną. A ty wrzucasz tu jakieś...
Zacznijmy od tego, że OpenOCD nie uruchamia się poprawie, wiec warto byłoby dochodzić do sprawy "krok po kroku". Przede wszystkim plik lpc2xxx.cfg NIE JEST przeznaczony do uruchamiania bezpośredniego, należy ZAWSZE użyć któregoś z konkretnych plików. Tymczasowo możesz użyć pliku lpc2148.cfg, ale najlepiej przerób go sobie na lpc2146 - komentarze w środku...
Aktualizacja z września 2025: zobacz tutaj, aby uzyskać szczegółowe informacje na temat konwersji STM32 przez UART zamiast J-Link (tj. J-Link nie jest wymagany) https://www.elektroda.com/rtvforum/viewt... (dzięki (at)max4elektroda!) zobacz tutaj, aby uzyskać wyższą wersję przekonwertowanego oprogramowania CK-Link Lite dla STM32...
No tak, bez funkcji HAL i LL nijak nie dałoby się odczytać trzech słów z pamięci Flash. Wiesz że masz tu rację. Gdybym akurat nie przeglądnął HALa dla F030F4 to bym dalej tkwił w błędnym przekonaniu (jak wielu ludzi, w tym autor wątku) że dla tych kostek UID akurat nie jest zaimplementowany. Czyli jednak korzyść z HAL jakaś się objawiła. A zasadniczo...
Witam, Jako że jestem początkujący w dziedzinie STM32 napotkałem problem nie do przejścia. Moim zadaniem jest wysyłanie inkrementowanej zmiennej "Dane" która jest wysyłana przez USART i odczytanie jej przez terminal. W konsekwencji wyrysowując otrzymane wartości powinienem uzyskać coś podobnego do piły o amplitudzie od 0 do 255. Bez DMA wszystko pracuje...
Widać, że coś się odczytało i jest czysta pamięć. Nowy układ nie będzie zabezpieczony przed odczytem. A jeszcze dopytam, z tego starego STM32 zero szans żeby coś odczytać? Jedyne co o nim wiem że robi zwarcie pomiędzy 3.3V a GND. Jeżeli jakiś np. port jest uszkodzony nie oznacza to, że na 100% rdzeń się uszkodził i interfejs do pamięci flash również....
Szanowni, Napotkałem na problem z zabezpieczeniem pamięci Flash przed odczytem. Pracuję na płytce testowej STM32F103 Nucleo, piszę w C z użyciem SPL, edytor: System Workbench for STM32. Mianowicie, po zaprogramowaniu procesora za pomocą ST-LINK Utility v4.1.0 swoim kodem, w opcjach oprogramowania Target->Option Byts ustawiam opcję Read Out Protection...
Znalazłem kod obsługi wyś 7-segmentowego, pozmieniałem rejestry pod swój mikro procesor (ATmega32). Tylko mam problem z linia " static const uint8_t __flash DIGITS To standardowy błąd eclipse i pluginu do AVR, nie wpływa ten błąd na kompilację, jedynie na "podkreślanie" składni w Eclipse. Rozwiązanie tego problemu znajdziesz m.in. w tym wątku: https://forum.atnel.pl/topic15543.html#p...
jakąś pamięć na ustawienia Możesz ustawienia przechowywać w NVS (wydzielona partycja we flash). Jest to o tyle wygodne, że konkretny obiekt do odczytu/zapisu jest szukany wg klucza i nie trzeba się martwić o jego konkretną lokalizację. https://docs.espressif.com/projects/esp-...
Nie mam żadnej płytki z STM32F072CBxx, dlatego sprawdzić na żywym nie mogę. Odczyt rejestru nie może generować błędu, jeżeli projekt jest skompilowany dla tego właśnie mikrokontrolera. Jeżeli błąd jest podczas odczytu, a projekt zawiera definicjami rejestrów dla stm32f072xb, to sprawdziłbym co jest podłączone do programatora. Czy to na pewno jest STM32F072CBTx?...
Yup. O wiele lepszy będzie jakiś odczyt z pamięci czy coś takiego. 4\/3!!
Jeszcze go nie otworzyłem, ale zrobię i porównam hardware. Zrobię też backup FW modułu WiFi, ale nie wiem jak zrzucić flash MCU. Mam narzędzia dla Atmel (USBASP) i STM32 (STLink), a także programator EEPROM oparty na CH341; Nie wiem, czy którykolwiek z nich można zastosować do MCU CH573... Dodano po 7 . Możliwe, że nowy wariant ma inny identyfikator...
Okazało się, że podszedłem do tematu z niewystarczającą wiedzą. Przed każdym zapisem, należy określony sektor wyczyścić instrukcja Sector Erase. Chcialbym móc kasować pojedyncze komórki i aktualizować tam niektóre dane, jednakże pamięci flash tego nie umożliwiają, cóż coś za coś. Może uda się niektóre zmienne zapisywać do flashu procesora. Coś wymyślę,...
zujnik jest podłączony bez rezystorów wzmacniających, ponieważ odczytałem ze schematu, że nie są potrzebne(próbowałem także z rezystorami 4k7). Przy sprawdzeniu bufora z danymi w programie Stm Studio, nic się nie zmienia a flaga busy jest ustawiona jedynie przy odłączeniu kabla SDA od czujnika. Proszę o pomoc w znalezieniu przyczyny braku odczytu i...
Czyli chodzi tutaj o to, że bez ustawienia opóźnienia może błędnie działać dalej opóźnienie FLASH i FLASH będzie źle programowany? To moja prywatna hipoteza, ale obstawiam, że jeśli nie ustawisz opóźnienia, to dane odczytywane z flash są błędne i program się wysypuje.
Pierwsza rzecz to ponowna próba odbezpieczenia "obszaru opcji" powoduje u mnie lądowanie w HardFault. Piszę o tym: [syntax=c] FLASH->OPTKEYR = 0x08192A3B; FLASH->OPTKEYR = 0x4C5D6E7F; while( FLASH -> SR & FLASH_SR_BSY ) {}; -> FLASH->KEYR = 0x08192A3B; -> FLASH->KEYR = 0x4C5D6E7F; -> while( FLASH -> SR & FLASH_SR_BSY ) {}; [/syntax] Po drugie po co...
Wcześniej użyłem volatile bo chciałem wymusić odczyt tych tablic za każdym razem z pamięci FLASH. A nie z jakiegoś rejestru gdzie wartość mogła by zostać zapamiętana. W tym celu, żeby po przeprogramowaniu pamięci, program na pewno operował na nowych wartościach. Ale mam rozumieć że w tym wypadku volatile nie pełni roli wymuszenia każdorazowego dostępu,...
Witam Ja bym to zrobił tak: 1. Kompiluje sobie moja funkcję- mam .bin. 2. W pliku .map lub debugując patrzę jaki funkcja ma adres. 3. Kopiuję bin'a na kartę SD i potem czytam .bin'a od adresu gdzie się zaczyna moja funkcja i kopiuję ramu procesora. 4. Wywołuje funkcję z ramu, przez wskaźnik. Jak nie zależy ci na szybkości to ok, bo trzeba odczytać z...
Podczas zapisu do Flash w uC, które mają jeden bank Flash, próba odczytu powoduje zatrzymanie procesora i poczekania do końca zapisu. Nie jest to problemem przy obsłudze przerwań UART, bo czas zapisu jest krótszy, niż czas transmisji znaku przez UART.
Wprawdzie program mojego bootloadera napisałem korzystając z bibliotek ST, ale odblokowanie dowolnych stron FLASH'a do zapisu bardzo ładnie działa i nie mam z nim najmniejszych problemów. Zrobiłem to w następujący sposób (kolejność jest ważna): 1. Odblokowanie FLASH'a: FLASH_Unlock(); 2. Skopiowanie ustawień bitów rejestru USER OPTION BYTES: KopiaOBR...
odczyt flash stm32 odczyt pamięć flash stm32 odczyt pamięci flash stm32
wykrywacz monety nawigacji becker kenwood 880sd
buderus logamaxbl frezowane ogrzewanie podlogowe
Seat Alhambra Mk1 1.9 TDI 1999 – brak rozruchu po naprawie drzwi, immobiliser, bezpieczniki, przekaźnik 109 Vectra TV Smart 4K – niezgodność czasu w menu z rzeczywistym, błędna synchronizacja TOT/TDT