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"...
A co chcesz konkretnie robić z tą pamięcią? Tylko zapis/odczyt w run-time? Czy chcesz rozszerzyć pamięć na program?
w caałym kodzie nigdzie nie jest ponownie uruchamiane zabezpieczenie stron. Jak usuwam zabezpieczenie - tak go niema i sprawdzając programem ulink zgadza się - zabezpieczenie zapisu stron jest cały czas wyłączone .
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...
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.
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...
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...
-- EDIT -- W sumie założyłem, że te funkcje dotyczą emulowanego we flash eepromu wg pomysłu ST. W sumie jednak nie wiem co to za funkcje i co robią, ponieważ ich związek z tematem jest dosyć nikły... Tak więc nie jestem w stanie precyzyjnie odpowiedzieć na pytanie, a to co napisałem poniżej może być zupełną bzdurą. -- EDIT END -- 3. Koledze Freddie...
Witam Czy obsługa przerwań STM32F1 od UARTa nie koliduje z jednoczesnym zapisem do pamięci flash mikrokontrolera (czy podczas zapisu do pamięci flash nie są blokowane przerwania) ?
Tutaj udokumentuję moją podróż z tanią płytką deweloperską / hobbystyczną STM32F103C8T6 "blue pill" zakupioną w Ali Express. Pomimo układu scalonego oznaczonego jako "STM32F103C8T6", wewnętrzna pamięć flash wydaje się mieć 128k zamiast 64k, co czyni go bardziej podobnym do STM32F103CBT6. Wydaje się, że nie jest to nieoczekiwane w przypadku podróbek/klonów...
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ć...
Czy można to zrobić? - Oczywiście. Pytanie, czy trzeba? W miarę łatwo uzasadnić to, że np. jakieś dane konfiguracyjne są zapamiętywane w stałym miejscu pamięci Flash albo dane nie mają mocnego związku z kodem i są ładowane niezależnie od kodu dla każdego egzemplarza urządzenia, ale Twój przypadek jest zupełnie inny. Zamiast uczciwie wstawić dane do...
Ponieważ nie zdradziłeś tajemnicy jakiegoż to STMa używasz to poniższa funkcja może być błedna (np L4 programuje się podwójne słowa a można też programować sekwencje 32 podwójnych słów za jednym zamachem). Czasami RM sugeruje odczytanie zapisanie słowa a czasami tylko sprawdzanie EOP. Zakładam że już właczyłeś w rejestrach programowanie i wykasowałeś...
Witam. Mam płytkę STM32F0discovey na której jest programator STLink/V2 i mikrokontroler STM32F051R8T6. Od kilku miesięcy bez problemu wgrywałem na niego kod, a dzisiaj nagle napotkałem problem. Środowisko po próbie wygrania nie napisało żadnego komunikatu, ani o powodzeniu ani o błędzie. Natomiast STLink Utility wyrzuca błąd "[0x00000000]: Invalid adress"....
(at)JacekCz Przejrzyj ofertę pamięci dataFLASH, są pamięci z intgefejsem SPI (obudowy zazwyczaj SO08) lub równoległym (większe obudowy). Odczyt sekwencyjny jest szybki (do kilkunastu MB/s), zapis odbywa się blokami o stałej długości dla danego typu pamięci i jest raczej wolny (do kilkuset kB/s przy zapisie do wcześniej skasowanych bloków). Masz też...
Ostatnio rzadko bywam na elektrodzie. Ale widzę, że i inni się wyprowadzili. Jeszcze z 10 lat temu na pytanie w dziale mikrokontrolery zawsze znalazło się kilku, kilkunastu chętnych do podpowiedzi, zawsze pojawiały się jakieś pomysły pod rozwagę a tu cisza. Cześć, Zapewne są po temu pewne powody... Co do pytania. Pamiętasz zapewne że żeby zapisać 1...
Z tym rzutowaniem to wolę jednak "ręcznie" to robić....jakoś tak wydaje mi się bezpieczniej. U mnie akurat sizeof zawsze będzie mniejsze niż 256 gdyż jest to po prostu ilość bajtów do zapisania jednej zmiennej/tablicy/struktury i nie zamierzam robić większych :wink:. Biblioteki z ST są zakręcone..niestety. Zaletą mojego pomysłu jest to że struktura...
Odpalasz ST-Link utility Podłaczasz się uK. Przegladasz pamięć, a jak chcesz ją zapisać klikasz Save as
Embedded flash brzmi dokładnie tak samo jak zielona trawa. To tak jakby wątek był o rodzajach trawy a byś rozprawiał o tym tym dlaczego jest zielona. A co do aluzji do AVR, to tylko niektóre wynalazki muszą czytać flash za pomocą dedykowanych instrukcji i w tym przypadku ten wątek też nie jest o tym. W w AVR też masz pamięć "embedded" flash na kod i...
Pamięć NAND nie jest mapowana w przestrzeń adresową FSMC. Pamięć NAND wymaga wysyłania jej durnych rozkazów, i jest to ekwiwalentnie pokręcone jak obsługa kart SD/MMC (tyle że prościej). Dodatkowo zapomnij, że będziesz sobie w stanie tą pamięć ot tak zapisywać jak słowo pod wskaźnik do RAMu czy FRAMu. FSMC definiuje ci tylko adresy pod które mozesz...
Bazując na https://obrazki.elektroda.pl/4178510200_... https://obrazki.elektroda.pl/8769073400_... main.c [syntax=c] /* Virtual address defined by the user: 0xFFFF value is prohibited */ uint16_t VirtAddVarTab[NB_OF_VAR]={0}; uint16_t Virtval[NB_OF_VAR]={0}; uint16_t VarValue= 0; int main(void) { HSE_init(); //systick_init();...
Już od wielu lat znam problem ale nigdy nie chciało mi się do niego przysiąść. Czyli lenistwo poziom expert. Do obsługi FLASHa używam nieznacznie przerobionych kodów autorstwa w123456xy (nie z elektrody, tylko gdzieś w internecie znalazłem). I problem taki: Dam optymalizację -O0, działa. Dam -Os, nie działa. Do tej pory radziłem sobie po prostu pozostawiając...
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...
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...
Kontroler karty operuje na sektorach 512B nie blokach 128kB Czytaj uważnie. Ja pisałem o blokach w pamięciach NAND flash, a nie o tym co emuluje kontroler karty SD. Zbych_: skąd masz taką informację? Z lektury datasheetów pamięci NAND flash, które są wkładane do kart SD, np. pamięci ST (obecnie numonyx) 8Gb (1GB) mają bloki w rozmiarze 128kB.
Co oznacza to że mam czegoś szukać we flagach - co to flagi? Niestety nie poradziłem sobie jeszcze z zapisaniem zmiennej na stałe w pamięci. [syntax=c]short int d; short int *c = &d;[/syntax] [syntax=c]if((GPIOA->IDR & 0x1) == 0) { //FLASH->WRPR; //Ochrona zapisu jest standardowo nie włączona. Więc nie dotykam jej. //************ Czyszczenie...
No to już jakaś pocieszająca informacja, choć raz już miałem problem wprowadzając w programie blokadę SWD i JTAG, musiałem trochę pokombinować z programatorem i przyciskiem RESET, żeby programator załapał kontakt z procesorem przed wykonaniem pierwszych rozkazów. Dodano po 7 Mam pytanie bardziej praktyczne - jak tego używać w ST_Link Utility. W Option...
Próbowałem najpierw skopiować "na głupiego" kod z drugiego linku, niestety zawieszał się w EE_Init(); Spróbowałem ten cały przykład z mbed przenieść do SW4STM (ale bez biblioteki mbed, tylko do szablonu z CubeMX) i po drobnej kosmetyce chodzi całkiem dobrze. Kod jest dobry a przyczyną zawieszania pod SW4STM jest, jak się obawiałem, nieskuteczność tego...
o tyle nie wiem w jaki sposób zapisać do pamięci FLASH np na i2c wymagane dane. Przydał by się więc system plików na dysku Flash. O ile zrobienie prostego systemu plików nie stanowi jakiegoś większego wyzwania, o tyle należy zwrócić uwagę, że "surowa" pamięć typu Flash ma szereg problemów: - często możliwy jest na niej zapis nawet pojedynczego bajtu,...
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...
Ja tak obecnie robię w STM32, tyle że na tych prockach zapis do pamięci Flash jest bardziej niż prosty, na LPC2xxx jest gorzej, a na Atmelach nie wiem jak jest. Generalnie można wykorzystać sprytne algorytmy "wear leveling" i pamięć jest praktycznie nie do zajechania... pdf: http://www.st.com/mcu/download2.php?file...
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...
W przypadku pamięci NOR Flash prędkość zapisu jest głównie ograniczona niską prędkością kasowania sektorów. W przypadku pamięci NAND Flash prędkość zapisu jest ograniczona prędkością interfejsu (np. 166 lub 133 MHz) i źródła danych (DMA i system arbitrażu). Interfejs QSPI w F7 i H7 może spokojnie przesłać przynajmniej 10 MB/s w krótkich seriach lub...
NOP-y nie służą do tego w tych procesorach. To nie tak jak w AVR-ack. NOP jest od razy wywalany z pipelin-a i może nie spowodwać żanego opóżnienia. W takich zaawansowanych peockach jak H7 (M7 core) przy czytaniu 128 bitów z FLASH nawet 4 mogą nie spowodować żadnego opóźnienia. NOP-ów używa się do "paddingu". Używaj innych instrukcji do tego np barierowych...
0. Konfiguracja FMC wymaga poprawy. Wszystkie czasy masz ustawione domyślnie, więc interfejs niepotrzebnie czeka z wykonaniem każdej operacji. Popatrz na parametry MEMxSET, MEMxWAIT, MEMxHOLD i porównaj z tym co może pamięć. Przykład: MEMxSET jest ustawiony na 0xFC, czyli jakieś 252 x 4,63ns = 1,16us. Pamięć potrzebuje około 20ns -12ns = 8ns. Dostosuj...
Liczę na to, iż rzeczywiście jest dobrze zainstalowany ten bootloader w moim STM-e... Jeśli Flash Loader Demonstrator nie wyrzucił błędu to masz zainstalowany dobrze. Inna sprawa to jest czy ten plik boot20_pc13.bin masz w odpowiedniej wersji do kompletu z driverem i obsługą w Arduino. Przez Manager Bibliotek nie udaje mi się z ciągnąć i zainstalować...
To nie jest tak ze problem pojawia sie zawsze ale na powiedzmy 5 tys zapisów. Przy duzej ilosci zapisow do flash wychodza dopiero problemy. Sa jednak bardzo nieregularne - czasem czesciej niemal co chwila a czasem bardzo rzadko A nie jest przypadkiem tak, że już udało Ci się zamęczyć tą pamięć Flash taką ilością zapisów? Dodano po 2 Ponowię pytanie...
Witajcie, właśnie się bawię pamięcią Flash w STM32F0DISCOVERY (chcę się nauczyć obsługi). Efekt? Chyba zablokowałem możliwość zapisu... Kod (dopiero się uczę, więc komentarze mogą zawierać błędy): [syntax=c]#include "stm32f0xx.h" #include "stm32f0_discovery.h" int main(void) { RCC -> AHBENR |= RCC_AHBENR_GPIOCEN;//LEDY GPIOC -> MODER |= GPIO_MODER_MODER8_0...
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...
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...
(at)BlueDraco: Zgadzam się z Tobą i też się zastanawiam na czym polega ta dziwna maniera polecania zabytkowych, 8-bitowych AVR'ów? Pomijając ich ograniczenia strukturalne, za każdym razem wchodząc na Forum widzę problemy typu: jaki programator, programator nie działa, błędy zapisu, program jest dobry, a jednak nie działa... i tysiąc tego typu problemów...
Chciałbym ulepszyć pewien produkt zbudowany w oparciu od STM32F101. Udało się zrzucić pamięć FLASH procesora, nie był zablokowany. Zawartość pamięci wygląda na poprawną, widać napisy wyświetlacza, można wyodrębnić funkcje. Mam problem ze zrozumieniem wektora startu. Obszar pamięci FLASH zaczyna się następująco: 0x08000000: 0x20000400 0x08000004: 0x080586F5...
W sumie racja, bo wygenerowac sobie wartości potrafie tylko nie wiem właśnie jak ugryźć zapis do pamięci FLASH.
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.
Jak doczytałem w dokumentacji, dla procesorów STM32F1 pamięć Flash zaczyna się od 0x0800 0000. Czy zapis danych w komórce 0x08008000 czyli 32KB dalej zapewni mi gwarancję, że nic sie nie stanie dla programów o mniejszej wielkości aniżeli 32KB?
A te pamięć jakoś wyłączyłes z zasobów dostępnych dla programu albo zarezerwowales? Bo jakoś tego nie widzę (żadnych segmentów czy w najgorszym razie jakaś tablica jak to tmf woli)
Mass Erase to kasowanie całej pamięCi Flash. W jakim celu kasujesz całą pamięć przed zapisaniem każdego małego bloku danych? Dlaczego nie kasujesz jednej strony - tej, do której chcesz zapisać dane? No i pomyśl, co ma się dziać z programiem, kiedy każdesz kasować całą pamięć, czyli również program.
http://obrazki.elektroda.pl/5451075700_1... Jakikolwiek ST-Link (tutaj St-LinkV2 z płytki testowej). Ustawienie tej opcji powoduje zablokowanie odczytu z FLASH aż do pełnego skasowania pamięci do 0xFF. Poniżej jest tabela z prawami zapisu do stron pamięci flash. Ustawienie tych opcji powoduje brak możliwości zapisu do pamięci flash...
Witam, Po paru dniach ślęczenia udało mi się - tak myślę :) , skonfigurować rcc na 72MHz. : void rcc_init(void) //RCC init włączający procesor na 72MHz { RCC->CR|=0x1; //wlacz HSI wewnętrzny oscylator, włączany jako pierwszy po zasilaniu. while(!(RCC->CR&0x2)); //poczekaj na HSI sprawdza czy HSI się włączyło RCC->CFGR|=(0xF<<18);...
Wystarczy jeden bootloader w pamięci Flash, obecny tam na stałe. Kasowanie całej pamięci Flash w nadziei, że przez parę sekund nie padnie zasilanie i zdąży się zapisać pamięć od nowa nie za dobrze rokuje dla niezawodności.
W wyszukiwarce wpisz "stm32 eeprom emulation".
Zlinkować do projektu? Nie za bardzo wiem o co chodzi. A ten plik obiektowy jak zrobić? Czytałem wczoraj o zapisie danych do FLASH i to wydawało się trudne. Trzeba odblokować możliwość zapisu potem skasować całą stronę, zapisać dane, zablokować możliwość, oczywiście jeszcze po drodze sprawdzać czy pamięć jest gotowa do użycia, i to się wydawało trochę...
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/1647269200_1... Witam wszystkich Tym razem chciałbym przedstawić jeszcze programowy projekt odtwarzacza i dyktafonu zrealizowany na STM32F4Discovery. Pisząc ten program, sporo rozwiązań wykorzystałem z mojego poprzedniego projektu małego odtwarzacza MP3 na ARM-ie, ale dołożyłem też dużo nowości i usprawnień....
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.
ze sterownika sczytuję wartości enkoderów i zapisuję je do pamięci flash. (powinno to być wykonywane timerem co 10ms). Następnie odczytuję te wartości z flasha w celu odtworzenia ruchu i odpowiednie wartości zadaję do sterowania krokiem silnika. nie wiem czemu ale niektóre strony nie dają się zapisać Zobacz jaka jest żywotność pamięci Flash... Typowo...
Witam, mam problem z zapisywaniem danych do pamięci Nand Flash komunikującej się z STM32F746IG za pośrednictwem interfejsu FSMC. Gdy wygeneruję projekt z CubeMx konfigurujący tylko pamięć flash wszystko działa, tzn. zapis, odczyt, kasowanie, czytanie ID itp. Problem pojawia się gdy do projektu dodam TIMER (w sumie cokolwiek co generuje przerwanie),...
Pamięć raczej nie jest blokowana po zapisie. Do programowania jest używany Rlink + środowisko Ride7. Jeśli chodzi o BOD (POR, PDR), są to domyślne ustawienia dla procesora (2V). Poniżej schemat zasilania, układu resetu i zasilania procesora. http://obrazki.elektroda.pl/7763086400_1...
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...
Zgadza się. Dlatego każdy plik .h w moim projekcie został podzielony na dwie części. Jedna która dołącza się jeżeli pewien ciąg został zdefiniowany, a druga jeżeli nie. W pliku c dołączam bez definicji i wtedy mam wszystkie zmienne globalne i prototypy funkcji. Jeżeli będą mi one potrzebne w innym pliku c do przed include robię define i wtedy mam tylko...
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ąć...
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...
Ciekawe jak działa emulowanie EEPROM w FLASH, ale skoro Mechanizmu zapisu do FLASH działają na prawdziwym FLASH i na SRAM jednocześnie. W końcu kontroler FLASH to oddzielne peryferium. Pytanie, czy RAM przeznaczona na program to ten sam RAM co dla danych? Raczej nie, bo dane i program są rozdzielone a trochę szkoda. Jakby była to ta sama pamięć to...
Ok. Płyta czterowarstwowa w stosie sig-Gnd-Power-sig - program KIcad. Żeby ruszyć dalej musze wybrać pamięci. Pytanie: czy pamięci powyżej i sposób bootowania będzie dobry - chodzi o mozliwości. Do tego jaka pamięć zazwyczaj stosujecie do zapisywania danych podręcznych typu głośność, jasność wyświetlacza itd. która działa po wyłączeniu zasilania. Flash...
Witam, nigdy nie kombinowałem ze skryptami linkera ale tym razem zaszła taka potrzeba więc zwracam się z poradą do Was. Moim celem jest odseparowanie pewnej pamięci FLASH tak abym mógł sobie tam coś zapisywać bez utraty danych po odłączeniu zasilania. narzazie zrobiłem co takiego: w pliku stm32_flash.ld zmodyfikowalem : MEMORY { FLASH (rx)...
bo SD każdy użytkownik może sobie wyjąc i odczytać, a chciałem utrudnić taką zabawę :) W takim razie lepiej chyba dać do flash-ki ale bez systemu plików. Komunikaty nie muszą mieć stałej długości, zawsze można na początku zrobić tabelkę z adresami poszczególnych komunikatów żeby miejsca nie marnować i móc zapisywać dowolnej długości komunikaty (oczywiście...
Tylko tu pojawia się pytanie czy mogę się na tym opierać i stwierdzić że jak adresy są z zakresu Ram to jestem w Ramie? Generalnie tak, tyle że prawdziwym problemem jest wskaźnik stosu MSP - to w nim znajduje się niepoprawny adres. Zobacz sam: http://obrazki.elektroda.pl/2023666400_1... Sytuacja: 1. We flashu znajduje się działający...
Od kilku dni walczę z niby banalnym tematem. Przewałkowałem krok po kroku dokumentację, noty aplikacyjne i dostępne przykłady ale nadal nie mogę ruszyć. Chcę przesłać przez SPI5 wykorzystując DMA2 (strumienie: 3 do odczytu i 4 do zapisu na kanale 2) dane do/z układu ADE7953 . Sama transmisja SPI robiona programowo (sprawdzanie flag TXE i RXNE) działa...
http://obrazki.elektroda.pl/1208484300_1... Projekt OpenMV ma na celu stworzenie niedrogiego i łatwego w obsłudze modułu wizyjnego, który dałoby się oprogramowywać w języku Python. Docelowo OpenMV ma stać się "Arduino wśród modułów wizyjnych", jak opisuje autor przedstawiający aspiracje tego projektu. Realizacja projektu rozpoczęła...
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...
Karol966 - mówisz że z pliku .bin dane trzeba najpierw zaszyfrować żeby mogły trafić do flash ? Ale ja nic nie mówię a się dopiero pytam ;) Generalnie wygląda to tak, że po stronie PC z pliku np *.hex poprzez szyfrowanie otrzymujemy inny plik (może to też być *.hex jak i zapewne *.bin). Dalej przez jakiś program ładujący czy też prosto przez kartę...
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/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...
rb401, bardzo dziękuję za obszerną odpowiedź. Myślałem nad STM32, ale wydawał mi się wtedy zbyt duży kolos do nauki. Kupiłem więc ATMega 128, ze względu na dużą pamięć flash, nie biorąc pod uwagę pamięć RAM. Swój wybór uwarunkowałem też tym, że ludzie na ATTiny robią odtwarzacze *.wav, z podpiętą kartą SD. Cały problem polega na tym, że nie potrafię...
Kod trochę niekompatybilny z moją wiedzą, ale spróbuję go przegryźć ;) No chyba, że można poprosić o bardziej "ludzki" zapis kodu ;) Przy okazji się zapytam: Czy podczas programowania STM32 jest kasowana cała pamięć ? Pytam, ponieważ chcę zrobić "eeprom" we flashu, a chcę żeby zawartość ta pozostała po wgrywaniu programu. ____ Wyjaśniła się sprawa PA11...
Witam, Stanąłem pod sianą . Muszę dorobić do urządzenia coś takiego jak monitor zasilania, tak by zapisywać flash tylko w momencie wyłączania urządzenia. Do tej pory zapis flash wykonywał się w pętli, ale pamięć flash ma ograniczoną ilość cykli zapisu. Nie mogę już nic zmienić w hardware, podłączenie czegokolwiek do ADC-ka nie jest już możliwe. Czy...
To nie jest dobry pomysł. Bootloader nie powinien dzielić żadnych danych z aplikacją i powinien być kompilowany oddzielnie. Najpierw uruchamia się bootloader, który albo coś robi, albo przekazuje sterowanie do aplikacji. W tym momencie dane bootloadera powinny zginąć i zginą, bo aplikacja zainicjuje pamięć danych na nowo. Aplikacja musi być kompletnym...
Skoro tak, to mimo zastosowania się do Waszych porad na pinach A nadal panuje stan niski. Dlaczego przy włączaniu bitu GPIOAEN należy zastosować sumę? Jeśli chodzi o bit FLITFEN to co mam rozumieć przez power down dla FLASH? Pamięć flash może przechodzić w tryb power down? Dobrze się domyślam, że chodzi tu o proces zapisu?
Dodam, iż problemem jest to, że program tak jakby znikał po zaniknięciu zasilania, gdyż po ponownym podłączeniu mikrokontroler nic nie robi. Sprawdź czy BOOT0 (pin 60) masz konkretnie gdzieś podłączony (zworka, rezystor na masę). Zweryfikuj pamięć flash za pomocą STlink Utility czy masz w niej ten program, który wcześniej zapisałeś. A może masz po...
A są może gdzieś jakieś szczegóły tego rozwiązania (idea) w necie? Przeglądałem kilka not aplikacyjnych, ale rozwiązania tam pokazane bazują jedynie na zapisie "bloków" danych po kolei do FLASHa i szukaniu wolnego miejsca przy zapisie lub ostatniego zapisanego bloku przy odczycie. Czy rozwiązanie z tamtej książki jest tego samego typu? 4\/3!!
Jeśli ADC wykonuje konwersje to nie zabiera czasu procesora. Jeśli chodzi o zapis do pamięci do procesor i DMA mogą jednocześnie czytać/zapisywać pamięć FLASH bo procesor jest połączony bezpośrednio z pamięcią poprzez I-BUS. Jeśli procesor i DMA będą w jednym momencie chciały uzyskać dostęp do SRAM, APB1/2 to włączy się arbiter i procesor dostanie 1/3...
Mam przed sobą Cortex™-M3 Revision r2p1 Technical Reference Manual i tam napisane jest iż MLA trwa dwa cykle a np ADD, MUL jeden czyli ja zysku nie widzę przy wykorzystaniu tego rozkazu (Czasowego bo to tylko chyba objętościowy zysk). Staram się w sposób świadomy pisać w C tak aby kod wykonywał się jak najszbiciej. ale jeśli nie ma różnicy w czasie...
Witam, czy ktoś z forumowiczów wie jak umieścić w pamięci flash tablicę z wartościami przeskalowanego sinusa (wartości stałoprzecinkowe). Chcę, aby tablica miała np. 1024 elementów (od 0 do 2pi) dla tego zapis na sztywno wartości będzie nie wygodny. tj. [syntax=c]const s16 tab_sin[1024] = {wartosci}[/syntax] Wolałbym zapis: [syntax=c]const s32 tab_cos0[1024]...
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...
W tej części skupię się nad samym modułem głównym. Główne funkcje tego modułu to: -Obsługa modułów wykonawczych, czyli wykrywanie ich, konfiguracja i cykliczne sprawdzanie stanu. -Obsługa danych z modułów wykonawczych, np z przycisków i wykonywanie zaprogramowanych akcji, np ustawianie odpowiedniego wyjścia -Sprawdzanie aktualnego czasu w celu realizacji...
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...
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...
Można zrobić odtwarzanie dźwięku nagranego - jeśli użyty uC ma DAC (STM32F103C8 nie ma, musiałby być taki, który zamiast 8 miałby co najmniej C), to nawet z niezłą jakością. Ale wymaga to użycia dużej ilości danych (może da się je zastąpić jakimiś skompresowanymi, np. przez eliminację powtórzeń - nie zapisywać wielu powtórzeń jednakowych sekwencji,...
http://obrazki.elektroda.pl/3002969800_1... Dzień dobry! Chciałbym opisać mój projekt sterownika do układów WS281x, czyli coraz bardziej popularnych pasków diodowych (i nie tylko) z indywidualnie, szeregowo sterowanymi diodami. Do wykonania samego projektu skłoniła mnie potrzeba sterowania takimi paskami, które kupiłem u chińczyka....
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/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...
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...
http://obrazki.elektroda.pl/5049806000_1... NadajnikGPRS NadajnikGPRS to urządzenie do układów alarmowych i układów sterowania. Posiada programowalną logikę wejść i wyjść, coś na wzór sterowników PLC. W podstawowej wersji mamy do dyspozycji 8 wejść analogowo-cyfrowych, 2 wyjścia open-drain wysoko-prądowe, modem GSM z obsługą CLIP, SMS,...
Intel Edison (a na nim system Linux) odpowiada za komunikację przez Wi-Fi lub Bluetooth oraz za funkcje multimedialne (kamera na USB, dźwięk). Zamiast Intel Edisona RoboCORE może współpracować z telefonem komórkowym lub tabletem, który będzie pełnił te same funkcje. STM32F4 zawiera system operacyjny czasu rzeczywistego FreeRTOS. Opdowiada za wszystkie...
Simon stworzenie własnego sterownika rzeczywiście daje sporo satysfakcji. Chciałbym go jeszcze wykorzystać do sterowania jakimś prostym układem, bo do tej pory testowałem go tylko na biurku podłączając na wyjście niewielki wentylator. Co do konstrukcji to masz rację - jest minimalistyczna, ale właściwie to takie były moje założenia. Nie zamierzam wyprzeć...
https://obrazki.elektroda.pl/4082468000_... Firma STMicro zaprezentowała nowy układ, korzystający z mało znanego rdzenia z rodziny ARM SecurCore. Dedukowany jest do kart inteligentnych i wbudowanych aplikacji zabezpieczających. ARM SecurCore SC000 (rodzina oparty na Cortex-M0) i ARM SecurCore SC300 (oparta na Cortex-M3) istnieją od...
witam uklady wyykonawcze to uklady z rownolegla szyna danych (8 bitow) - tylko do zapisu (odczytanie tych rejestrow zawsze zwraca 0x00) tak wiec piszac aplikacje obslugi tych ukladow trzeba operowac na pamieci ram i wyniki transferowac do rejestrow - w ten sposob zawsze moge sprawdzic co bylo i jest w danym rejestrze. uklady posiadaja tez rownolegla...
Użyłem niezmodyfikowanych plików. Przy wywołaniu: openocd -f C:\openocd\scripts\board\stm32ldisco... Problem ze startem cały czas istnieje. Ale pracuję też na wirtualnym systemie - jak skończę eksperymenty to sprawdzę czy problem istnieje na rzeczywistym sprzęcie. Pracuję na WinXP - może to ma jakieś znaczenie? Jeśli chodzi o dziwne opcje -...
Witam ponownie Wprowadziłem poprawki do dekodera WMA, które pozwoliły na odtwarzanie plików CBR oraz VBR z fsample od 8kHz do 48kHz i bitrate od 8kb/s do 320kb/s. Ponadto wprowadziłem odczyt strumienia WMA z 1kB bufora RAM uzupełnianego na bieżąco danymi odczytywanymi z pliku WMA zapisanego we Flash (poprzednio był odczyt danych wprost z pamięci Flash)...
http://obrazki.elektroda.pl/8861043000_1... WSTĘP Chciałbym podziękować wszystkim pomocnym mi użytkownikom z działu "Mikrokontrolery ARM" którzy przyczynili się do powstania tej pracy. W szczególności Freediemu Chopinowi :) Cześć, Dzisiaj chciałbym wam zaprezentować urządzenie które powstało w ramach mojej pracy inżynierskiej na Politechnice...
stm32 zapis flash zapis flash stm32 stm32 flash zapis
schematy laptopów poszukiwane magneto naprawa ładowarka akumulator latarka
sharp tylko biała kontrolka schematy instrukcje serwisowe
Wzmacniacz Sony TA-F690 nie działa po wymianie końcówki mocy - możliwe przyczyny Ciśnienie doładowania Volvo XC90 2.4 D5: Specyfikacje i Diagnostyka