Dzięki za odpowiedź, ale to chyba nie jest w HAL... Zgadza się. Nie jest. Ale STM przepisał te algorytmy również na HAL i te źródła znajdują się np. w repozytorium CubeMx w ścieżce: Repository\STM32Cube_FW_F1_V1.6.1\Projec... To jest akurat dla tego typu uC który jest na tym Nucleo, ale jeśli potrzeba...
Tyle że ja mam implementację EEPROMu podobną do tej od ST, tyle że przechowującą dowolny rozmiar w jednej "komórce". Moja implementacja jest dobra jeśli masz kilka-kilkanaście-kilkadziesiąt zmiennych do zapisywania w teorii dowolną ilość razy w dowolnej kolejności. Jeśli u siebie będziesz przechowywał te wartości razem i np ustawiał je tylko raz (nigdy...
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/5694434400_... Moduły zasilaczy warsztatowych, takie jak DPS5005, dostępne są od dłuższego czasum.in. na AliExpress. Doczekały się wielu recenzji, w większości pozytywnych. Jednakże często wskazywanym problemem z tymi modułami jest kiepskiej jakości oprogramowanie – interfejs użytkownika pozostawia...
Witam , Wracam do tematu . Zegar skończony i przetestowany . Podziękowania dla autora za pomoc . Kilka krótkich filmów z pracy zegara wykonane telefonem . https://filmy.elektroda.pl/11_1551555088... https://filmy.elektroda.pl/90_1551555174... https://filmy.elektroda.pl/15_1551555225... https://filmy.elektroda.pl/89_1551555287... Jedna z dwóch gier...
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...
OpenCV uruchamiany jest głównie na wysokowydajnych platformach obliczeniowych czy mocnych mikroprocesorach, ale pakiet ten może wykonywać kilka rodzajów aplikacji do przetwarzania obrazu na prostych mikrokontrolerach. Przetwarzanie obrazu stało się częścią naszego życia. Nikogo nie dziwi rozpoznawanie twarzy w smartfonie czy wykrywanie pasa ruchu przez...
Obawiam się, że rozmiar strony może zwiększyć tylko producent, i to na etapie projektowania układu. ;) Użytkownik może za to określić liczbę stron, których che używać.
Ponieważ dopuszczalne są też pytania z dziedziny, być może tych niemądrych Bynajmniej nie jest to żadne "niemądre" pytanie. Jest bardzo dobre i pokazuje właśnie jak bardzo zmitologizowane są RTOSy. czy taki STM32G070RBT6 z 36 KB ram oraz 128 KB flash (w detalu ok. 5.5 zł) to już się nada czy nie do RTOS? Jak najbardziej. Ilość flash jest zwykle mało...
Nie bardzo rozumiem. Testowana przez kogo? Flash testowany w fabryce. Mowiłem o flashu. Sorki. A RAM określisz na podstawie rozmiaru flash i DEV ID jeśli chcesz dla wszystkich STMów.
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"...
Znalazłem informację, że: text + bss = FLASH data + bss = RAM To powinno wygladac tak: text + data = FLASH data + bss = RAM Zmienne zainicjalizowanie (.data) powinny zostac przekopiowne z FLASH do RAM przed funkcją main. 1) Deklarujesz tablice i ja inicjalizujesz (bedzie zajmowala miejsce we FLASH oraz RAM) 2) Tylko flash. 3) Zadeklarowałeś tablicę...
W emulowanym EEPROMie najwygodniejszą opcją jest przechowywanie danych o stałym rozmiarze, który przy okazji w jakiś sensowny sposób pozwala wykorzystać rozmiar strony. Jeśli możesz się ograniczyć tak że KAŻDY wpis ma ten sam rozmiar, to emulowany EEPROM jest opcją. Choć wiele zależy od tego jaki dokładnie STM32 - w niektórych (np. STM32F4) najmniejszy...
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...
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...
Z kolei modyfikacja skryptu linkera ma tą wadę, że jeśli przeniosę kod na inny MCU to znowu bedę musiał ten skrypt modyfikować. Emulacja oparta na czystm C po prostu zadziała. No... bo każdy mikrokontroler ma dokładnie ten sam rozmiar strony i dokładnie ten sam kontroler pamięci, więc z pewnością zadziała Ci ten kod bez żadnych zmian... Ehe... Kupę,...
Mam prośbę-czy mógłbyś zerknąć na stronę 14-tą gdzie jest tabelka którą nie wiem jak rozumieć, czy wynika z niej pojemność czy nie? śli chciałbyś zapisać 2000 dwubajtowych niezależnych elementów, to ta emulacja eepromu się nie nada - potrzebowałbyś przecież 2000 x (2 + 2) = ~8kB, a tam pojemność ograniczona jest przez rozmiar strony (1 lub 2kB - zależnie...
Witam. Testuję właśnie środowisko System Workbench for STM32 i mam problem z debuggerem dla procka STM32F030F4P6. Wgrywanie do pamięci FLASH działa. Programator ST link z płytki stm32VL, połączenie przez SWD. Konsola odpowiada: Open On-Chip Debugger 0.9.0-dev-00415-g2d4ae3f-dirty (2015-06-12-17:54) Licensed under GNU GPL v2 For bug reports,...
Od pewnego czasu zauważyłem na forum zainteresowanie tematyką programowania mikrokontrolerów i mikroprocesorów ARM w języku C# z wykorzystaniem platformy .NETMF będącej córką słynnej platformy Microsoft .NET Framework, którą zna chyba każdy. Niedawno wpadła mi do rąk nowa książka wydawnictwa BTC na ten temat. Zauważyłem wiele nowych zestawów uruchomieniowych...
Witam Korzystam ze środowiska Eclipse. OpenOcd wydaje mi się, że działa poprawnie (widok konsoli): Open On-Chip Debugger 0.7.0 (2013-05-05-10:41) Licensed under GNU GPL v2 For bug reports, read http://openocd.sourceforge.net/doc/d... Info : only one transport option; autoselect 'jtag' adapter speed: 1000 kHz adapter_nsrst_delay:...
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...
To z rozmiarem rozumie i znalazłem. Uzupełnię ten wcześniejszy opis w poście #5, bo mi się wcisnął nie ten klawisz :oops: : Na początku swojego programu dajesz: Wychodzi na to, że moje obawy były uzasadnione (bałem się, że wpisując coś na chama do flash mogę naruszyć strukturę tego co tam docelowo ma być wgrane). Tam na mbed w pliku eeprom.c jest taki...
Nie musisz odblokowywać ani obsługiwać przerwań timera. Jeśli raz włączysz wyzwalanie ADC, będzie ono włączone (raczej - co prawda STM32F1 są strasznie skopane, ale chyba nie aż tak). No ale jak widać nie działa, nawet nie wchodził w przerwanie więc nie wiem już jak to powinno być poustawiane. DMA już chyba wysyła dobrze: 00 00 00 00 00 00 00 00 46...
Po długiej przerwie wracam do tematu bootloadera. Zrobiłem nowy projekt w Eclipse z pomocą tutoriala Freddiego i na podstawie projektu bootloadera z EP. Połączyłem projekt stm32_blink_led z plikami bootloadera wykorzystując makefile, startup i .ld z projektu Freddiego. Udało się uruchomić i debugować aplikacje bootloadera. W załączniku połączone projekty...
To wiem. Z rozmiaru programu to wynika. Ale chciałbym się też w jakiś sposób zabezpieczyć. A możesz się w sposób jasny wypowiedzieć? Zawsze możesz zmienić rozmiar pamięci flash w Keilu.
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...
No proszę. Z kolei ja mam płytki Blue Pill z identycznym prockiem jak na zdjęciu przy których ST-Link raportuje 128kB ROM i 20kB RAM. Podpowiesz gdzie można odczytać ilość RAM w ST-Link?? jedyne co udało mi się znaleźć to rozmar Flash.. Do odczytu rozmiaru flash i ramu użyłem st-info . Niestety wyniki dla wszystkich zakupionych BluePill wyniki są takie...
ponad 20 razy więcej niż to samo komilowane na atmege328 Doprawdy? Rozumiem, że program zajmujący na ATmedze 32k będzie na STM32 zajmować 640k? Jest to oczywista bzdura. myślę że im mocniejszy mikro kontroler tym więcej pamięci marnuje a szkoda Wniosek całkowicie błedny. A tak przy okazji jaki w tym problem? Czy zabrakło Ci FLASH? Jeżeli nie to czym...
Tak naprawdę, to ten wzór powstał z waszych :) Z lewej strony równania (at)stmx, a z prawej Twojego :) Page_127 to początek ostatniej strony flash = 0x0801FC00. U mnie w STM32F103 strony mają rozmiar 16x1024. Kompilator utworzony w Eclipsie na podstawie poradnika Freddie Chopin.
Najpierw wykonaj wszystkie kroki zawarte w opisie Pierwszy projekt w Open Source. Programy będą działać, ale po modyfikacjach. Trzeba zmienić rozmiar pamięci w skrypcie linkera (LENGTH). Zamiast STM32F10X_CL musi być STM32F10X_MD, bo STM32F103C8 ma 64KB Flash. Poza tym STM32F103C8 nie ma portu E, więc w programie musisz wszędzie gdzie jest GPIOE zmienić...
Witam, Długo już szukam i nigdzie znaleść nie mogę: Jak rozpoznać jaki jest rozmiar obszaru backup danego stm32? Niektóre mają 10słów (20bajtów), inne 42słowa (84bajty), ale nigdzie nie mogę znaleść klucza które są jakie, i czy może są jeszcze jakieś inne wersje. Przekopałem dużo dokumentacji, jedyne co zauważyłem to że procki z małym flash'em zazwyczaj...
Nie wiedziałem, że duży rozmiar pamięci obliguje programistę do pisania dłuższych i mniej czytelnych programów. ;) Poza tym większy flash większa cena znacząca.
Trzeba zmienić PROGRAM. Domyślnie w STM32 tablica wektorów znajduje się w flash, a to skąd uruchamiasz program czy jak jest skompilowany nie ma żadnego znaczenia. Manual: Boot from the embedded SRAM: SRAM is accessible only at address 0x2000 0000. Note: When booting from SRAM, in the application initialization code, you have to relocate the vector table...
niestety nie siedziałem nad tym ostatnio, nie miałem kiedy. Ale sam program skompilował mi się, włącznie z klasami i ze wszystkim, teraz tylko kwestia wrzucenia go na uC. Pewnie jutro się tym zajmę :) Jak mi się uda to odrazu dam znać. Jak też będziesz chciał to prześle ci cały projekt pod eclipse :)
Efekt dokładnie taki sam jak w przypadku moich wypocin. Zawiesza się i ląduje gdzie? Próbowałeś zmniejszyć w skrypcie linkera rozmiar dostępnej pamięci flash i RAM, np. każdą o połowę? Pokaż te pliki które zmieniłeś.
Na mojej stronce znajdziesz gotowy projekt który można zaimportować do Eclipse'a - użyj tego o nazwie "stm32_blink_led". W projekcie masz wszystko co trzeba, włącznie z poprawnym skryptem linkera. Aby dostosować go do Twojej płytki po prostu zerknij do pliku config.h i zmień częstotliwość docelową oraz port na którym jest diodka. W pliku z rozszerzeniem...
Niestety nie wiem o którą informację na początku skryptu linkera chodzi. :| O tą? * description: * Linker script for STM32F4xxxG chip (1MB Flash, 112kB SRAM, 16kB aux SRAM, * 64kB CCM RAM and 4kB backup SRAM). Only main block o SRAM (112kB) is used. Poza tym Twoja szklana kula działa wyśmienicie. :) Po wystąpieniu przerwania uint8_t...
od czasu opublikowania, przyjąłem inne podejście. Otworzyłem Upgrade_Tools_V1.5.9.exe za pomocą pyinstxtractor w poszukiwaniu głównego kodu flashowania. Najciekawsze rzeczy (które do tej pory widziałem) znajdują się w SerialThread.pyc icons_rc.pyc ImageThread.pyc MainWindow.pyc ConfigHelper.pyc po uncompyle6 na każdym z nich widzimy polecenia takie...
Coocox jest problematyczny dla początkujących??? Pierwsze słyszę. Większość zaczyna od Coocoxa:) Nie wiadomo o co tu chodzi, prawdopodobnie jakiś drobiazg, ale diagnozy na odległość są trudne. Coocox po instalacji i pokazaniu katalogu z toolchainem, działa z reguły bez problemu. Też zaczynałem od niego, mając zero wiadomości o ARMach, C i toolchainach....
Przeorganizowałem kod tak żeby był prostszy w uruchomieniu, rozdzieliłem kod własny od kodu wygenerowanego przez STM32CubMX żeby nie było wątpliwości kto jest czego autorem. Dodałem też sam projekt STM32CubMX oraz nowe instrukcje, są dwie zależne od tego czy bazujemy na FreeRTOS dołączanym przez STM32CubeMX czy tez dołączanym samodzielnie. Głównym minusem...
Cześć Od razu nadmienię, że jestem w tym początkujący. Posiadam mikrokontroler STM32F100C4T6B oraz moduł GY-50 L3G4200D. Próbuję nawiązać połączenie za pomocą interfejsu I2C i wyświetlić informację na komputerze kominukując się po UART, który na pewno działa. Jeżeli chodzi o połączenie to jestem na 99% pewny, że jest dobrze. Korzystam z programu STM32CubeMX...
Wszystkie muszą być const - to chyba logiczne, skoro będą znajdować się we flash, to nie da się ich modyfikować przez standardowe "x = y;". Mogą być "const volatile", choć nie wiem po co - chyba tylko po to, żeby sobie dołożyć problemów (; Muszą być const tylko z punktu widzenia użytkownika (żeby kompilator nie pozwalał skompilować kod w którym ktoś...
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.
Witam, Bawię się zestawem ZL27ARM i robię ćwiczenia z książki "STM32. Aplikacje i ćwiczenia w języku C" Jestem przy ćwiczeniu 18 i mam problem z DMA (pierwszy raz mam styczność z DMA). Zgodnie z przykładem wypełnienie PWM powinno zmieniać się od 0 do 100%. U mnie jest cały czas 50%. Dane z tablicy bufor_PWM nie są przekazywane do TIM1->CCR1 http://obrazki.elektroda.pl/9548353800_1...
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ą...
https://obrazki.elektroda.pl/4155804500_... Pod koniec ubiegłego roku firma STMicro zaprezentowała, jak twierdzi, pierwszy mikrokontroler na rynku wykonany w technologii 90 nm - STM32G0. Jest to układ z rdzeniem ARM Cortex-M0+ o taktowaniu zegarem o częstotliwości 64 MHz. W momencie prezentacji pierwszego układu, rodzina ta obejmowała...
Wszystko da się zrobić, ale nie wszystko ma sens. Moduły będą miały strukturę płaską tzn wywołując moduł z modułu nie będzie się zmieniał stos moduły wiedzą który jest kolejny a który poprzedni moduł. I tu chyba nie rozumiesz, o czym piszesz. Jeśli jeden moduł woła drugi, to ten drugi musi wrócić do tego pierwszego, a takie wywołanie zajmuje miejsce...
Jeżeli chodzi o ffconfig.h to próbowałem różnych ustawień a z desperacji ;) nawet zupełnie kosmicznych ich kombinacji. Jeżeli chodzi o ustawienia kompilatora to -O0 -> prawie najnowszy bleeding edge toolchain. Przed każdym buildem robię clean'a. Dodam, że dzieje się to na dwóch różnych kartach. Próbowałem też z różnymi typami zmiennych a uchwyt systemu...
Stosy są wyrównane do 8. A pamięci prawie nie używam, zmiennych globalnych jest jakieś 100b a stos jest ustawiony na 2000b. Trochę podłubałem w temacie i doszedłem do wniosku, że wykrzaczanie następuje gdy rozmiar kodu wynikowego zbliża się do 8kB (robię na F100c4t6b który ma 16kB). Dla testu zrobiłem [syntax=c]int sscanf_( char *src, const char *format,...
Cześć, potrzebuję mieć sekcję non-init w RAMie. Z racji tego że się średnio orientuję w skryptach linker, prosze o pomoc. Fragment yaml dla mojego STM32 wygląda tak: [syntax=bash]memories: flash: compatible: - on-chip-flash address: 134217728 size: 1048576 $labels: - flash SRAM: compatible: - on-chip-RAM address: 536870912 size: 131072 $labels: - SRAM...
rozmiar stm32 flash stm32 stm32 flash
peugeot emulator sondy odbiornik superreakcyjny peugeot partner filtr paliwa
pilot bramy zasięg odbiornik superreakcyjny
Mastercook KGE 7345X Plus instrukcja obsługi po polsku PDF, pobieranie, opis funkcji KE300A Modbus RTU – jak sprawdzić adres slave do komunikacji RS-485 z PLC Fatek