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...
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...
To może zacznijmy od początku. Od samych mikrokontrolerów. Nieco wybiórczo i subiektywnie. 1. MCS-51 - Wielu z nas rozpoczynało od tego w latach '80 ubiegłego wieku. Prosta konstrukcja, niewiele peryferii: GPIO, liczniki, UART. Programowanie praktycznie tylko w kodzie maszynowym, potem ewentualnie w języku C dzięki raczkującemu jeszcze SDCC. Firma Atmel...
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...
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...
https://obrazki.elektroda.pl/5597652300_... Dzisiaj testujemy kolejną stację lutowniczą na groty T12. Yato YT-82462 75W z zewnątrz wydaje się być nieco bardziej masywna i stabilna niż testowany wcześniej Ksger, zainteresowała mnie również obiecana możliwość szybszej wymiany grotów niż w przypadku podobnych produktów tego typu. Sama...
https://obrazki.elektroda.pl/6347997200_... Cześć. Od jakiegoś czasu chodził mi po głowie projekt dzięki któremu mógł bym sobie sterować światła w domu i w ogrodzie poprzez wifi. Funkcjonalność banalnie prosta i spotykana w zapewne tysiącach rożnych projektów, jeszcze jeden nie zaszkodzi. :) W trakcie rozmyślania i projektowania kilka...
Typowa pamięć flash w ESP32 wytrzymuje od 10 000 do 100 000 cykli zapisu/kasowania na sektor. NVS w ESP32 implementuje mechanizm wear leveling , który automatycznie rozdziela zapisy na różne sektory pamięci flash, co wielokrotnie wydłuża żywotność pamięci. Jeden "zapis" w NVS nie oznacza jednego cyklu kasowania sektora. Partycja NVS jest dzielona na...
https://obrazki.elektroda.pl/9032300100_... Witajcie moi drodzy. Przedstawię tutaj unikalny zestaw płytek uniwersalnych pod elementy w obudowach SMD, obejmujący TQFP100, TQFP64 i TQFP48, różne SSOP, SOIC itp. Płytki te wyróżnia sprytne i uniwersalne poprowadzenie ścieżek, ułatwiające uruchomienie dowolnego mikrokontrolera (gotowe zworki...
https://obrazki.elektroda.pl/8760486500_... Po przygodach z matrycami zbudowanymi na max7219, przyszła pora na coś bardziej zaawansowanego. Miałem w planach zrobienie własnej matrycy z 1500 jednokolorowych ledów 0603, 3 rejestrów przesuwnych i paru elementów dyskretnych, ale jak już ją zaprojektowałem, to przypadkiem trafiłem na matryce...
https://obrazki.elektroda.pl/9151185000_... Autor poniższego zestawienia jest inżynierem i konsultantem wsparcia dla systemów wbudowanych. W swojej karierze poznał on szereg różnych architektur mikrokontrolerów, różniących się wydajnością, wyborem peryferii, poborem zasilania etc. Wybór odpowiedniego układu stanowi zawsze o sukcesie...
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"...
https://obrazki.elektroda.pl/9151185000_... Druga część artykułu o najtańszych nowych mikrokontrolerach z roku 2017. Ekosystem developerski Środowisko developerskie mikrokontrolera ma ogromny wpływ na jakość pracy z nim i w konsekwencji - na produktywność. Na to składają się różne czynniki – jakość IDE, dostępne biblioteki, płytki...
https://obrazki.elektroda.pl/2759406900_... 8-bitowe mikrokontrolery nadal można znaleźć w wielu projektach, ale dzięki nowemu, niedrogiemu 32-bitowemu z rdzeniem AMR Cortex-M0+ taktowanym 48 MHz — STM32C0 — firma STMicroelectronics dąży do wyparcia 8-bitowych jednostek. Co może się odbyć wskutek: „ograniczonego wpływu...
Ja w takich przypadkach stosuję metodę którą na swoje potrzeby nazwałem "split objects". Obiekt u mnie składa się po prostu z dwóch części - stałej i zmiennej. Zwykle "główny" obiekt jest stały, a ten "zmienny" fragment jest podrzędny, jednak są sytuacje w których robię to odwrotnie, głównie wynikające z polimorfizmu lub dlatego że łatwiej/lepiej jest...
Jest to płytka STM32F103RB NUCLEO. Podpięcie pinu BOOT0 pod masę nic nie daje nadal program zanika Sprawdziłem pamięć flash poprzez STM32 ST-LINK Utility i jest w niej program aczkolwiek nie działa http://obrazki.elektroda.pl/5116944600_1... Dodam jeszcze, iż kiedy połączę się płytką w STM32 ST-LINK Utility to wciśnięcie przycisku reset...
https://obrazki.elektroda.pl/5728376300_... Black Pill to nowa płytka prototypowa. Black Pill to następca popularnej i niedrogiej Blue Pill. Sercem Black Pill jest układ STM32F401CCU6 lub STM32F411CEU6 firmy STMicro zawierający jednordzeniowy procesor ARM typu Cortex-M4F o taktowaniu odpowiednio 84MHz lub 100MHz. Kompatybilność Black...
Bardzo często EEPROM jest emulowany w pamięci FLASH w sposób niewidoczny dla użytkownika. Nie można emulować funkcjonalności takiej jak wytrzymałość na ilość cykli zapisu/kasowania albo możliwość nadpisania pojedynczego bajtu. Jak nie można? Potrzeba 1kB EEPROM 100'000 zapisów (jak np w AVR), przeznacza się na pamięć 10kB FLASH, która ma ograniczenie...
Witam. Mikrokontrolery STM32 mają w sobie embedded flash memory. Jest to pamięć EEPROM, NAND Flash czy NOR Flash? Nie znalazłem tego w manualu.
Temat poruszony: https://www.elektroda.pl/rtvforum/topic3... Jeśli chodzi o podstawową funkcjonalność to jest podobna. GD32 bazuje na innej konstrukcji gdzie pamięć programu jest kopiowana z szeregowego flash do SRAM i stamtąd uruchamiana (co ma szczególne znaczenie przy wyższych prędkościach zegara). Wada - dłuższy coldstart. Co do...
Z racji że STM32 ma liniową pamięć oraz możliwość zapisu do flasha danych z poziomu aplikacji postanowiłem wykorzystać go do symulacji eeprom. Zapis danych do flash działa OK. Natomiast mam problem z zainicjowaniem struktury pod konkretnym adresem. const D DFLASH __attribute__ ((section(".variables&q... = { {{40,20},26},...
Witam :) Posiadam zestaw uruchomieniowy EB-STM32_04 zakupiony z kamami. Postanowiłem na nim uruchomić obsługę pamięci nand flash wykorzystując FSMC czyli rzecz generalnie prosta :) Praktycznie skopiowałem przykład z obsługi usb z bibliotek stm32 i oczywiście pamięć nie działa. Kod wygląda następująco, inicjacja pamięci: http://obrazki.elektroda.pl/6759897100_1...
Firma jest z Chin która mi się zaoferowała sama że produkuje tanie klawiatury do produkcji pianin cyfrowych 88klawiszowe po 60USD i 80USD 1163663 podaje link do tej firmy oczywiście produkuje owa firma również elektroniczne keyboardy i pianina cyfrowe oprócz samych klawiatur https://www.alibaba.com/product-detail/M...
Sercem Arduino Nicla Vision jest układ STM32H757AII6 firmy STMicro A dokumentacja mówi coś innego i podaje STM32H747AII6, czyli układ bez wsparcia dla szyfrowania danych. https://obrazki.elektroda.pl/4590502800_... Arduino Nicla Vision (układ STM32H757AII6) ma 2MB pamięci PSRAM A gdzie tutaj jest jakaś pamięć PSRAM? STM32H747AII6...
No to wyjątkowo słabo tą dokumentację przeglądałeś (; Na pierwszej stronie manuala masz coś takiego: For information on programming, erasing and protection of the internal Flash memory please refer to: ● PM0075, the Flash programming manual for low-, medium- high-density and connectivity line STM32F10xxx devices ● PM0068, the Flash programming...
Witam ,Posiadam pilot od łódki Viking Boat. Podczas próby wgrania oprogramowania przez pomyłkę została usunięta cała pamięć z układu. Mam pytanie: Czy istnieje możliwość zgrania całej zawartości flash z układu STM32L dawcy i wgrania go ponownie? Nadmienię, że posiadam kopie plików BIN i HEX, ale po próbie ponownego wgrania programem STM32 ST-LINK UTILITY...
https://obrazki.elektroda.pl/7613860700_... Arduino Opta to nowa platforma wbudowana z dwurdzeniowym mikrokontrolerem STM32 (STM32H747XI) z ARM Cortex M7 i M4. System dedykowany jest do zastosowań przemysłowych działających w czasie rzeczywistym. Urządzenie oferowane jest w trzech wariantach posiadających interfejs Ethernet, RS485...
https://obrazki.elektroda.pl/8071235800_... Firma STMicro zaprezentowała właśnie swój pierwszy mikrokontroler z linii STM32 wyposażony w interfejs bezprzewodowy. STM32WB to rodzina dwurdzeniowych procesorów z rdzeniami ARM (M4 i M0+) wyposażona w transceivery Bluetooth 5 i 802.15.4. Producent tych mikrokontrolerów mówił już o nich...
Z nagrywaniem jest kwestia "na co?" - ale to zależy od tego, czego użyjesz. Można programowo wygenerować wzorce sygnałów, jakie są potrzebne, i na jakimś Pi odczytywać z karty SD (czy mikroSD - różne bywają tam gniazda na kartę) odpowiednie wzorce i puszczać je na pin, który będzie połączony z wejściem wzmacniacza. Na każdy sygnał trzeba będzie ze 200kB,...
https://obrazki.elektroda.pl/8989501300_... Większość systemów wbudowanych opartych na mikrokontrolerach jest wyposażona w oprogramowanie układowe napisane w asemblerze, C lub C++. Ale jak wspomniano w artykule opublikowanym w 2000 roku zatytułowanym „Punkt widzenia: Lisp jako alternatywa dla Javy”, funkcjonalne języki...
LPC11E i parę innych serii. W rodzinie STM32F też się parę serii znajdzie. Można też użyć zewnętrznej pamięci na I2C lub SPI za grosze - to po pierwsze. A po drugie: Pamięć Flash w STM32 może być programowana pojednyczymi słowami, więc nie ma żadnych problemów w użyciu jej do przechowywania często zmienianych danych. Jesta na to parę sposobów, w zależności...
https://obrazki.elektroda.pl/7232055200_... [uC zidentyfikowany jako stm32f401. Zacznijmy od początku , urządzenie to papieros elektroniczny. Uszkodzony podczas flashowania. Po podłączeniu do programatora musiałem wykasować pamięć flash żeby usunąć ROP Level 1. Po ponownym wgraniu oprogramowania do pamięci uC urządzenie niestety nie...
https://obrazki.elektroda.pl/2723666300_... Firma STMicroelectronics wprowadziła do sprzedaży pierwsze bezprzewodowe mikrokontrolery STM32 w 2018 roku z rodziną STM32WB z rdzeniami ARM Cortex-M4 i M0+. Układy te wyposażone były w radia Bluetooth 5.0 i 802.15.4, a na początku tego roku zaprezentowała rodzinę STM32WL Cortex-M z interfejsem...
Nie da się - STM32 z zewnętrzną magistralą do podłaczenia pamięci dopiero mają wejść do produkcji w tym roku...
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...
Dlatego proponowałem Tobie rozwiązanie z STM32 oraz FPGA. Niech mikrokontroler trzyma całość na karcie SD czy Flash szeregowym, które są tanie i szybkie. Tutaj obejdzie się Mico32. albo wstawić jakiś mały soft-procesor w roli maszyny stanów jak Mico8. Druga opcja to równoległy Flash oraz mały CPLD do rozruchu. Nie będzie tu potrzebny mikroklocek. Od...
https://obrazki.elektroda.pl/7997005300_... Elias Bakken pracuje nad płytką sterującą drukarki Recore 3D opartą na procesorze Allwinner A64 od 2019 roku, a dzięki wersji „A5” PCB, Recore jest teraz uważany za stabilne i będzie wysyłane do klientów. Czy Allwinner A64 nie jest tylko czterordzeniowym procesorem Cortex-A53...
Witam Rozbierając ecigaret Aspire Typhon 100 zauważyłem że na pcb jest układ stm32f072c8t6 i złącze do programowania SWD 5 pinowe (SWDIO-3.3V-NRST-SWCLK-GND). Na stronie dystrybutora znalazłem soft do wgrywania upgradu i 2 pliki bin z softem. Pierwszy plik to oryginał a drugi to upgrade, gdzie poprawiono pewne rzeczy. Po podłączeniu urządzenia pd usb...
Pudło. Przy uruchomieniu aplikacji z Flash, pamięć Flash jest mapowana na adres 0, a domyślnie VTOR zawiera 0 (a przynajmniej powinien), nie ma więc potrzeby ruszania go w aplikacji. Jeśli, jak nakazuje zdrowy rozsądek, tablica jest na początku programu, to skrypt linkera załatwia wszystko.
Eee... No ale bez sbrk() malloc() nie ma prawa działać... Chyba że jest to gdzieś w reszcie plików zaimplementowane. Pooglądaj wynikowy plik .map - tam zobaczysz co wylądowało w RAM a co we flash. Pliki które masz w tym przykładzie nie są zbyt dobre - szczególnie skrypt linkera... Składnia która jest tam zastosowana wg mnie w ogóle jest niejasna i dziwna...
STMicroelectronics to jeden z najpopularniejszych producentów mikrokontrolerów w Polsce. Swoją renomę zawdzięcza nie tylko udanym konstrukcjom, ale i wdrażaniu najnowszych technologii oraz bogatej ofercie. W niniejszym artykule prezentujemy niektóre z ostatnio wprowadzonych układów ST oraz wybrane ciekawe modele, które od jakiegoś czasu cieszą się dużą...
http://obrazki.elektroda.pl/5847962200_1... Dzięki Szwedzkiej firmie Oberon Microsystems Inc., która przeportowała Microsoft.NET Micro Framework (NETMF) możliwe jest pisanie programów dla mikrokontrolerów SMT32 w popularnym języku C#. NETMF wykonuje kod bez pośrednictwa systemu operacyjnego tak jak to jest w przypadku tradycyjnego komputera...
O.K. Sam sobie poradziłem z problemem :). Sprawa z zapisem danych na pamięć flash tak aby po ponownym załączeniu zasilania dane tam wciąż były (EMULACJA PAMIĘCI EEPROM) okazuje się być bardzo skomplikowana. He pewnie dlatego nikt na forum nie wiedział ;). Zacznijmy od tego, że jeśli chcemy zapisać coś do pamięci flash to musimy dokładnie wiedzieć pod...
Najpierw napisz do czego będziesz go wykorzystywać? Do programowania pamięci NOR Flash o rozmiarze 64MB (512mbit). Tylko i wyłącznie do tego. JTAGiem przez STM32 z OpenOCD trwa to dwie godziny. Seggerowski J-Flasher jest z 10 razy szybszy ale ten rozmiar go akurat przerasta i się wysypuje. Z 16MB i 32MB sobie radzi, z 64MB już nie. Poza tym mikrokontrolery...
dziękuje za pomoc teraz prawie wszystko jasne :D zrobiłem tak: telnet localhost 4444 reset halt stm32x unlock 0 flash protect 0 0 3 off flash banks flash erase_check 0 flash erase_address 0x08000000 0x00040000 pamięć odblokowana i chroniona no i mam wyczyszczoną całą pamięć teraz posostaje sprawa wgrania programu w postaci hex Dla flash write_image...
Już poprawiłem, czytam na temat tego co napisał BlueDraco Dodano po 47 BlueDraco wertuje dokumentację AN2606 ale z tego co widzę to Boot mode to własnie bootloader o który mi chodzi, więc jeśli go wyłączę to stracę możliwość aktualizacji software. Ogólnie jeśli dobrze rozumiem, to aby wyjść z tego trybu należy dokonać sprzętowego restartu procesora...
Zaczynałem na AVRach, później przesiadłem się na STR7xx, ugryzłem LPC, a teraz tworze projekty na STM32 i są to naprawdę świetne uC. Łatwo zacząć, bo jest dobre darmowe środowisko bez konieczności godzinnych konfiguracji, tutaj instalujemy i jest gotowe do pisania programu dla STM32 lub odpalenia przykładów zawartych w IDE. Na początek dobra też jest...
choć wydaje mi się że wskazane obszary pamięci są poprawne (0x80000000 przy BOOT0 ustawionym na 0 powinien wskazywać początek flasha). Co do tego żebym zerknął do noty to nie bardzo rozumiem, jedyne do czego można by się na upartego przyczepić to podciąganie NRST do zasilania, bo jest ono i tak podciągane przez wewnętrzny układ mikrokontrolera, także...
To już wiem, że mam zablokowaną pamięć Flash. Chyba nawet domyślam się, że mogłem tego dokonać próbując wgrać binarkę przez vsgui dołączonym do versaloon'a. OpenOCD wypluwa: Open On-Chip Debugger 0.8.0-rc2 (2014-04-15-16:15) Licensed under GNU GPL v2 For bug reports, read http://openocd.sourceforge.net/doc/d... xsvf adapter...
Moim zdaniem problem jest znacznie prostszy niż się wydaje. Mikrokontrolery mają znacznie okrojone zasoby sprzętowe. Skupmy się na pamięci. C bez używania bibliotek umożliwia napisanie programu z narzutem na pamięć FLASH porównywalnym z assemblerem. Z ich użyciem (startup, printf itp) to kilkanaście kb (dla rzeczonego Cortexa) C++ podobnie ale tylko...
za 200$ masz zawartość każdego AVRa razem z fusami i eepromem Jeśli procesor jest lepiej zbudowany tzn. warstwa flash jest na wierzchu a lockbity są głęboko zakopane to trudno będzie je brutalnie skasować nie uszkadzając pamięci programu. Tak jest ponoć w STM32 (zapytaj inżynierów aplikacyjnych) Nie ma zabezpieczeń nie do złamania. Rzecz w tym by bardziej...
//wlaczenie opoznienia FLASH FLASH ->ACR |= (FLASH_ACR_LATENCY_1); Dla częstotliwości 72 MHz, żeby pamięć Flash działała musisz ustawić jej dwa cykle opóźnienia a nie jeden.
"kontroler przerwań" nazywa się NVIC, ma coś takiego jak tail-chain przydatne gdy dwa przerwania przychodzą blisko siebie. Thumb2 - lepszy DMIPS/MHz i DMIPS/mW architektura harvard sprzętowe mnożenie i dzielenie dla procesorów ST teoretycznie pozwala na prace z prędkością 2x większą niż pamięć flash (u innych producentów pewnie też) dodatkowo u ST (u...
Proszę wytłumacz dlaczego w świetle wymogów autora STM32 ma być najlepszy? Bo moim zdaniem: 1. STM ledwo (lub nie) zapewnia 1Msps (Tak, przy określonym generatorze czas próbkowania to 1us, ale oprócz tego jeśli będziesz np. chciał w tym tempie wyprowadzić na port to musisz się nagimnastykować). - proponowany PIC zapewnia margines 100% 2. Warunek cenowy...
Swietny pomysl, mi sie bardziej podobalaby podobna plytka ze wsparciem dla arduino(np. mega), Wraz ze zgodnoscia z tamtym IDE. Wtedy naprawde bylby to uniwersalny modul Myslisz ze bylbys w stanie lekko ja zmodyfikowac pod arduino? Nie wiem o co chodzi. O kształt płytki? Chodzi o te całe shieldy? MegaEthernet miał być w zamyśle autonomicznym układem....
Proszę bardzo.
Ja mam tak: __attribute__ ((section(".bootloader&... int program_page(unsigned short *data, unsigned int adr) {... } i linker: .bootloader 0x08000000+128K-1K : { *(.bootloader) } i działa
Aby wyjaśnić Ci Twój problem, podaję Ci metodę "czytania" typów zmiennych, który wyjaśnia wszystko. Jest kilka zasad: 1. Czytanie zaczynamy od nazwy zmiennej 2. Czytamy w prawo dopóki nie dojdziemy do "końca", po osiągnięciu "końca" czytamy w lewo od nazwy zmiennej 3. Obowiązują nawiasy, które są "lokalnymi końcami" Tak więc: const char * const l_wartosc[]...
Odpowiedź na Twoje pytanie jest dosyć prosta - protokół SWD nie ma rozkazu zapisu do flash i tego się po prostu nie da tak zrobić jak zapisu do RAM. Oprogramowanie na PC, które się komunikuje przez SWD z układem (np. program do ST-Linka, OpenOCD) wgrywa do RAMu specjalną procedurę, która fizycznie realizuje zapis (poprzez odpowiednią sekwencje zapisów...
No ale jakto? Wszędzie piszą, że BOOT0 powinno być podciągnięte do masy podczas startu procesora żeby odpalił się z pamięci flash :/
Właśnie generacji z Excel'a chciałem uniknąć bo jak napisałem będzie to nie wygodne przy dużej liczbie elementów tablicy. Musi być wyliczony cały sinus ponieważ operacje które muszą się wykonać jak najszybciej. Jak na razie zostaje tylko Excel. Bądź Pan Pro-Inżynier, użyj Pan fid = mopen('probki.c', 'w'); if (fid == -1) error("upss...
Flash musisz kasować blokami, to nie działa jak EEPROM, że możesz skasować pojedynczą komórkę. Gdzieś widziałem przykład emulacji pamięci EEPROM za pomocą pamięci flash... O, już wiem, w książce p. Lucjana Bryndzy o ARMach 9 jest przykład, który wykorzystuje 2 bloki pamięci flash. Jest tam zrobione wirtualne adresowanie itp. Ale można zrobić też tak,...
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!!
To od razu zapytam, czy przy STM32F103VC można obsłużyć pamięć nand flash?
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ż....
Masz rację - wydaje Ci się... (; Latencja to nie jest jakiś delay czy preskaler, po prostu przy nie-sekwencyjnym wykonywaniu rozkazów (skoki), potrzebne są te 2 cykle na załadowanie bufora. Spadek wydajności przez taką latencję oscyluje pewnie w rejonie kilku procent, więc nad czym się tu zastanawiać? Jeśli podniesienie częstotliwości "nic nie dało"...
Moja funkcja, po poprawieniu błędu (brak &) zapisuje wersję pierwszą powyżej.
Być może da się pokombinować z wyzwalaniem transferu timerem. Z drugiej strony nie bardzo rozumiem, jaki miałby być z tego pożytek - przesadzenia całego oprogramowania do RAM łatwe nie jest, a na czas zapisu procesor zatrzyma się przy dostępie do Flash, chyba że to model z dwoma bankami.
uC zapisuje za każdym razem 64 bajty danych do pamięci flash
Dzięki DXFM za odpowiedź :) Tzn. wiem i potrafię zadeklarować tablicę na sztywno w pamięci FLASH - z tym jest wszystko ok. Ale mnie chodzi o coś takiego: mam pewną funkcję, która w swoim argumencie ma zmienną - może ona być modyfikowana przez użytkownika (coś w stylu sin(a*x), gdzie a jest tą zmienną od usera). Teraz... wyliczam np. 512 wartości funkcji...
Tak się nie da. Chyba, że kod programu zostanie podzielony na dwie sekcje i jedna będzie umieszczona przed tablicą a druga za tablicą.
Zwykle nie mają i zwykle nie jest to problemem, gdyż można bezproblemowo zapisywać wbudowaną pamięć flash, aby sobie taki EEPROM "emulować". Często układy te mają też podtrzymywana bateryjnie pamięć (np. do 4kB w STM32F4), która również może zastąpić EEPROM.
Integracja SPX3819 z STM32 dla ulepszonych rozwiązań USB do rozpoznawania linii papilarnych Pamięć flash USB jest jednym z tych narzędzi, których często używamy w naszym codziennym życiu i pracy. Pomaga nam przechowywać i kopiować ważne pliki i dane. Jest mały i łatwy do przenoszenia, ma dużą pojemność, jest niedrogi i działa niezawodnie. Rozmiar dysku...
No to posłuchajmy merytorycznych argumentów przemawiających za dodatkowymi elementami, większą płytką, większymi kosztami montażu i dłuższym kodem I2C, zwłaszcza w przypadku F1xx z małymi stronami pamięci Flash.
Na obecną chwilę już mam wrzucone teksty i obrazki do flasha i ładują się tylko te które są potrzebne to zwolniło pamięć w procku teraz jak wrzucę procedury do flash to będzie można będzie trochę jeszcze wrzucić programów. A na zmiany w sprzęcie nie koniecznie mam wpływ. Ma gdzie wracać bo moduł wie gdzie ma wrócić. wystarczy przyjrzeć się listą dwukierunkowym...
(...) ustawiłem wektor przerwań i początku pamięci flash w linkerze z odpowiednim offsetem (0x3800) Co to za magiczny offset? :D
Jeśli tablica jest zainicjowana, to jej wartość początkowa musi być we Flash. Jeśli nie ma atrybutu const, to jest kopiowana z Flash do RAM przy starcie programu. Jeśli ma const - zostaje we Flash. Proste?
Wybierz jedną z poniższych opcji: 1. używać do tego celu "option bytes" 2. współczynniki zapisywać na specjalnie przeznaczonej do tego stronie pamięci flash, której bootloader nie kasuje, a firmware nie używa 3. zapisywać te wielkości w pamięci podtrzymywanej bateryjnie (nie zawsze dobra opcja)
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...
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...
Witam, Mam kilka pytań do znawców odnośnie pamięci FLASH w uC STM32. Chciałbym zapisywać dane do FLASH z poziomu działającego programu. Czy wstępne czyszczenie pamięci jest konieczne i dlaczego jest ono stosowane? (skoro i tak zapisujemy tu komórki) Jaka jest rzeczywista szybkość odczytu z FLASH w porównaniu do SRAM w kontrolerze? (jak rozumiem granicą...
Jest jakiś ratunek dla tego procka ? Czy lutować nowego ? Flash loader demonstrator - spokojnie "odratujesz" ale będziesz musiał usunąć aktualny program. Przed podłączeniem programatora sprawdź ustawienie pinów BOOT. Jeśli nie możesz się połączyć, to coś nie tak jest ze sprzętem. Czy z poziomu programu użytkownika można ustawić bity odpowiedzialne...
Przykładowy linker dodany do cubef4 dla mikrokontrolera np. stm32f439NI ma tak podzielone obszary pamięci: We fragmencie kodu który pokazałeś widać "jak na dłoni", że pamięć flash _NIE_ jest podzielona, więc nie wiem w czym problem... Czy używając pamięci 2MB z dual bankiem mogę zapisać program na obydwu obszarach pamięci bez żadnych dodatkowych kroków...
Witam, Mam pewne pytanie dotyczące zmiennej globalnej wyspecyfikowanej jako const. Taka zmienna nie może zostać zoptymalizowana i jest trzymana w sekcji nazywanej .rodata, która to znajduje się w pamięci FLASH. (W mikrokontrolerach stm32) W takim razie jeżeli zadeklaruje np. tabelicę: [syntax=c]const uint8_t tablica[1000]; [/syntax] to oznacza, że taka...
No fakt, kilkadziesiąt linii deklaracji tablicy stałych zadeklarowanych jako zmiennych ajmującej pamięć RAM jest o niebo czytelniejsze niż: #define PAGEADDR(n) ((void *)(0x8000000 + (n) * 0x800)) Parę innych rzeczy też jest dziwnie, np. pisanie Flash stronami zamiast słowami, przekształcenia int na adresy itd. Czy jesteś pewny, że nie próbujesz pisać...
Ależ jest i to znacznie lepszy mechanizm bo zabezpieczyć procesor można zarówno programatorem jak i z poziomu programu a odbezpieczenie wymaga skasowania całej pamięci i odblokowanie nie nastąpi do momentu kiedy cała pamięć nie będzie wykasowana (algorytm sprawdza wszystkie komórki - zabezpieczenie przed trikiem z wyłączeniem zasilania po rozpoczęciu...
Chodzi cały czas o grafiki typu interfejsu użytkownika - przyciski, suwaki itp. Nie o wyświetlanie skomplikowanych animacji czy filmów, nie ma tu przesyłu dużego strumienia danych, a więc nie ma znaczenia w jakiej pamięci są grafiki i czy są przesyłane przez procesor czy nie - mogą być i przez procesor, i przez DMA, np. SPI->FSMC. LCD_WriteRAM_Prepare();...
Witam Dodałem trzy usprawnienia do programu radioodbiornika internetowego. Pierwszym usprawnieniem jest już możliwość odtwarzania strumienia AAC-LC nadawanego przez część radiostacji internetowych. Drugim usprawnieniem jest możliwość samoczynnego wznowienia odtwarzania wybranej radiostacji przez program radioodbiornika w przypadku, gdy serwer radiowy...
Jak już korzystasz z bibliotek ST to masz chociażby funkcje: FLASH_Status FLASH_ProgramHalfWord(uint32_t Address, uint16_t Data) i FLASH_Status FLASH_ProgramWord(uint32_t Address, uint32_t Data) Operując na wskaźnikach możesz tam zapisać zmienne dowolnego typu, czy całe struktury.
extern należy dodać wtedy gdy dołączamy ten sam plik .h kilka razy (zresztą kompilator nas o tym uprzejmie poinformuje). Wskaźnik jest zmienną wskazującą na dane w obszarze flash i jest umieszczony w RAM'ie'. Wskaźnik może wskazywać również na dane w RAM'ie.
Witam! Chcę wgrać parę danych do pamięci mikrokontrolera STM32F107 (ustawienia domyślne). Nie wiem za bardzo jak powinien wyglądać kod linkera do takiego zapisu? Korzystam z CodeSourcery ze strony Freddiego. Nie posiadam debuggera, więc kod mogę wgrywać tylko poprzez bootloader na USART. Pamięć chciałbym zapisać paroma danymi 32bit, a następnie mieć...
Swoją drogą to ciekawe ile FLASH w chińczyku wytrzyma cykli, datasheet oryginalnego ST podaje że na bank ponad 1000 i 10000 standardowo. Między innymi właśnie to bym chciał sprawdzić - wybrać sobie jakiś obszar pamięci Flash w MCU i go zajechać ;).
No to by też tłumaczyło, dlaczego kalibracji nie robią raz i zapisują trwale do pamięci nieulotnej. Ale dlaczego manual o tym nie wspomina ? Jaki jest czas retencji danych w pamięci flash tych ARMów ?
Przeczytaj sobie np ten temat: http://www.elektroda.pl/rtvforum/topic17... Od siebie napiszę tylko tyle, że jak porównasz kody bez bilioteki ze źródłem biblioteki to zauważysz jedną rzecz: coś co często można zrobić w dwóch linijkach (konfiguracja) tam jest robione w dwustu. Jest tam mnóstwo niepotrzebnych obliczeń do sprawdzania jaki bit gdzie...
Nie ma właśnie nic więcej wspomniane o tym, przewija się raz jeszcze na początku ta fraza, ale żadnego objaśnienia Jest w DS objaśnienie (koło strony 500, "Theory of Operation" ) The EEPROM operates using a traditional Flash bank model which implements EEPROM-type cells, but uses sector erase. Additionally, words are replicated in the pages to allow...
TO masz pecha. BO początku pamięci flash nie da się tak wykorzystać.
https://obrazki.elektroda.pl/5145556100_... Portal Electronic Products podał zwycięzców konkursu Produkt Roku 2020 . W Zwycięzcy: wielordzeniowy procesor ECM3532 AI firmy Eta Compute oraz zintegrowany akcelerator sieci neuronowej MAX78000 firmy Maxim. https://obrazki.elektroda.pl/1295824000_... W tym roku w kategorii...
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.
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...
Możesz rozwinąć tą myśl? Dlaczego miałyby być miejsca niewidoczne skoro to świeżo zakupiony procesor bez jakiś zabezpieczeń. A może pamięć ma być uszkodzona?
zapis pamięć flash stm32 stm32 zewnętrzna pamięć flash programator pamięć flash stm32
podcisnienia wezyki podnosić obrót silnik rozmieszczenie czujek alarmu
Wymiana rolki podawania papieru w Epson L365 Schemat instalacji elektrycznej Renault Mascott 2.8 2000