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...
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"...
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.
Jedyne "pewne" podejście do tej kwestii, to zmniejszenie rozmiaru flash w skrypcie linkera o rozmiar przynajmniej dwóch ostatnich stron i użycie właśnie tych dwóch ostatnich stron. Każda inna opcja to proszenie się o kłopoty.
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.
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ę...
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...
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.
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ć.
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ś.
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...
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...
chce go uruchomić na tym: http://allegro.pl/stm32-plytka-prototypo... Kodu w sumie zadnego nie spłodziłem. W przykładzie choppina zakomentowałem jedynie samą zawartość pętli while by nie mrugała diodami. | Yagarto w sumie działało to co miało działać. Kod w całości debugował się. była praca krokowa itp. A w tym...
Czy jedynym rozwiązaniem jest próba zapisu RAMu i sprawdzanie czy wystąpił Hard Fault? To akurat nic by nie dało. dla przykładu 32kB wersja i tak ma 64kB flash, ale tylko połowa jest testowana. Dodano po 1 Ale chodzi o RAM :D Padonsik. Zdekodować na podstawie rozmiaru flash? Zdaje się, że wygadało by to dość banalnie.
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...
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...
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....
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.
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...
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...
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...
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,...
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...
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...
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ś...
Jak pisałem nie znam CooCox'a więc nie pomogę z jego konfiguracją. Czy wystarczy zmienić definicję STACK_SIZE? Jeśli tak to na jaką? Nie, jak sama nazwa wskazuje jest to rozmiar stosu, a nie jego położenie. Co do wektora przerwań w funkcji ... W aplikacji bootloadera nic nie zmieniasz w projekcie - skrypcie linkera. Przed wywołaniem głównej aplikacji...
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...
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...
przyswojenia sobie z punktu widzenia początkującego całkiem pokręconych koncepcji architektury ARM może być odstraszające Raczej nie o to chodzi. Rdzeń ARM zasadniczo nie ma nic do tego. Trochę ma podłączenie peryferiów (w tym w niektórych przypadkach PAMIĘCI) poprzez wspólną magistralę peryferyjną. Ostatecznie reszta to już kwestia samych peryferiów....
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ą...
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...
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...
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,...
Tutaj w kodzie linkera. [syntax=c] /** * Linker script for STM32F4xx Devices with 1MB FLASH, 192KB RAM (64KB CCM) */ /* Entry Point */ ENTRY(Reset_Handler) #ifdef OPENMV1 #define FLASH_ORIGIN 0x08000000 #define FLASH_LENGTH 512K #define ISR_ORIGIN 0x08000000 #define ISR_LENGTH 16K #define TEXT_ORIGIN 0x08010000 #define TEXT_LENGTH 448K #define RAM_ORIGIN...
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...
Tak OpenOCD Korzystam z Twojego przykałdu stm32_blink_LED, wszytskie pliki są .c, w pliku lnkiera zmieniłem tylko rozmiar ramu, flasha pod STML151CC Jedno mnie zastanawia bo mam w projekcie pilk vectors.c czy on jest taki sam dla tych procków i czy to moze miec znaczenie
Offset powinien być wielokrotnością rozmiaru tablicy wektorów zaokrągloną w górę do najbliższej potęgi dwójki. W moim przypadku to: 59 wektorów, a po zaokrągleniu w górę to 64. 64 należy pomnożyć * 4 (bo 4 bajty na wektor) i mamy 256 = 0x100. Tyle także wymaga funkcja NVIC_Set_VectorTable. Wracając do rejestru. Nie mogę po prostu zrozumieć jego budowy....
zwiększenie rozmiaru powoduje błąd kompilacji z powodu niewystarczającej ilości pamięci To na początek zacznij od poznania różnicy między sin() a sinf(), potem do rozważań dodaj też to, że M_PI jest typu double, podobnie jak wszystkie inne stałe w formie "x.y". http://en.cppreference.com/w/c/numeric/m... 16 kB RAM i 128 kB flash to oczywiście nie...
Sprzęt jest zbyt wolny do wypełnienia całego ekranu w ułamku sekundy. Absolutnie !!! Błędnie Wysyłasz informacje o kolorze piksela ( w sensie wydajności). Nie tak, jak powinno to wyglądać, jeśli chodzi o prędkość wyświetlania grafiki. LCD_SetPoint to masakra dla dla wyświetlania bitmap (grafiki). Nie wiem, jaki Posiadasz sterownik wyświetlacza itd....
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ę,...
Wg mnie nie trzeba nic zmieniać. Konfiguracja układów peryferyjnych typu RCC czy GPIO raczej się nie zmieniła, w startupie na pewno nic się nie zmieniło (przecież to wciąż Cortex-M3). Rozmiary pamięci można zmienić, ale nie trzeba (w końcu kod zajmuje ułamek flash i ułamek RAM, więc nic to nie zmienia w zasadzie). Adresy pamięci na 99,666% się nie zmieniły....
Dobra, to ja się podczepię: odpaliłem w końcu semihosting, natomiast nie bardzo wiem, co zrobić ze skryptem linkera - bo nie do końca łapię pewne rzeczy: /* Linker script to place sections and symbol values. Should be used together * with other linker script that defines memory regions FLASH and RAM. * It references following symbols, which must be...
Ja też zaniże poziom. Jaki jest najpepszy na świecie mikrokonroler pod wsekimi względami. Cud miód malina (at)ElektrodaBot Bezpośrednia odpowiedź na pytanie Nie istnieje uniwersalny, absolutnie „najlepszy” mikrokontroler pod każdym względem. Każda rodzina mikrokontrolerów ma swoje mocne i słabe strony, a wybór zależy od konkretnych wymagań projektu:...
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...
Zamiast rzutować na u8 cały czas, prościej zrobić funkcję przyjmującą wskaźnik amorficzny - void* - wtedy funkcja "łyka" wszystko co jest wskaźnikiem. Wynik sizeof() technicznie jest typu size_t, a nie u8 (w końcu rozmiar może być większy niż 256 bajtów. Po skasowaniu strony nie musisz jej całej zapisywać, wystarczy zapisać tyle ile chcesz, a reszty...
Cześć Zabrałem się za zabawę z ethernetem na zestawie butterfly (STM32F107) + ZL2ETH. Pracuję na najnowszej wersji code sourcery, makfile i startup by Freddie Chopin + stos LWIP. Po początkowych problemach udało mi się zaininicjalizować PHY i na switchu zaświeciła się diodka, i to był początek problemów. Po dokładnym sprawdzeniu wszystkiego i wyeliminowaniu...
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();...
Witam, Programuje ten mikrokontroler w środowisku Eclipse. Program wgrywam za pomocą OpenOCD 0.5.0 bezpośrednio wpisując parametry w wierszu poleceń. Już na samym początku zauważyłem że po kompilacji pliki hex mają dużą wartość. Identyczny program skompilowany przy pomocy Keila zajmuje 9kB natomiast skompilowany w Eclipsie 18kB. Po wgraniu tegoż programu...
Witam! Timer generuje przerwanie periodyczne. W procedurze obsługi testowo chciałem przełączać stan na jednej z linii portu GPIO (prymitywny debug na LED), ale... okazało się, że nie działa. W pierwszej chwili szukałem błędów w inicjalizacji timera, ale później się okazało, że przerwania się generują, tylko ja tego nie widzę, bo nie wykonuje się przełączenie...
Mogłem się nieprecyzyjnie wyrazić z "modelem pamięci". Ale uderzyło mnie to, że w STM32 mam totalnie inaczej porozkładane sekcje "peryfiera-flash-ram" aniżeli np. w LM4F. Zwróc uwagę jak zaczynają w STMach sekcje rom(rx), jak w LPC, a jak w LM. W STM od 0x08000000, od LM od 0, w LPC nie wiem bo ich nie używam ;). Jasne, różni producenci i różne realizacje,...
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...
Witam, Nie mogę rozwiązać jednego problemu, może będziecie w stanie mi pomóc. Próbuję na STM32F042 uruchomić biblioteki dla czujnika VL53L (biblioteki ULD), ale problem w sumie raczej nie w tym. Kompilacja przechodzi bez problemu, ale przy próbie wywołania funkcji wpada w HardFault i nie mam pojęcia czemu. https://obrazki.elektroda.pl/7548785900_...
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...
Witam. Realizuje projekt urządzenia przeznaczonego do samochodu ciężarowego zawierającego moduł GPS oraz GSM i procesor STM32. Zadaniem urządzenia jest (w uproszczeniu) zatrzymywanie pojazdu w wypadku przekroczenia za programowanej uprzednio strefy oraz logowanie stanu pojazdu. Urządzenie oparte jest o: * moduł GPS Quectel L70 z zewnętrzną anteną aktywną...
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...
W ramach nauki postanowiłem zrobić urządzenie na stm32f1 (512kB Flash, 64kB RAM) funkcjonalnie przypominające Palmtopa z WinCE. W miarę rozrastania się programu zacząłem zbliżać się do granic pojemność RAM. Na początku nauki pominąłem pewne aspekty dotyczące zarządzaniem pamięcią ale program zaczyna się już powoli sypać więc najwyższa pora żeby usystematyzować...
Maxe: Twoja metoda nie działa już jej próbowałem co więcej po wprowadzeniu takiej lini: Dodano po 4 fantom: używam makefile'a Lucjana Bryndzy w którym miejscu powinienem dodać -I./lcd bo też nie dało mi to żadnych efektów. [syntax=c] # Automatic makefile for GNUARM (C/C++) # Copyright (C) Lucjan Bryndza <lucjan.bryndza(at)ep.com.pl> # http://www.boff.pl...
Z tym stosem to tez za bardzo nie wiem. W skrypcie linkera, który sobie pożyczyłem z TrueStudio nie było nigdzie rozmiaru stosu. Trochę przerobiłem skrypt ale nawet jak wpisze rozmiar stosu 0 to program się uruchamia. Tutaj fragment linkera: [syntax=text]/* Linker subscript for STM32F051 definitions with 64K Flash and 8K RAM Copyright RAISONANCE 2007...
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...
No a przez bootloader? Istnieje szansa, że w jakiś sposób się uszkodził rejestr podający ilość dostępnej pamięci flash - chyba wszystkie programy używają tego rejestru do poznania tego rozmiaru. W OpenOCD na pewno da się jednak wymusić rozmiar pamięci - wtedy program nie używa tego rejestru i programowanie powinno pójść. Chodzi o podanie rozmiaru pamięci...
Z rzekomymi ograniczeniami Keila też bym nie przesadzał - ograniczenie 32 KiB jest na rozmiar binarnego obrazu Flash, czyli bez wliczania w to danych niezainicjowanych i inicjowanych na 0. Mam kilka projektów pod Keilem, które mają zadeklarowane dane po ponad 300 KiB i mieszczą się w wersji darmowej Keila. Podpisuję się pod zdaniem przedpiszcy - na...
Możesz podać wartości adresów i rozmiarów które kopiujesz?
Proponowałbym po prostu te dane stałe wyrzucić na sam koniec pamięci flash (uwaga - najlepiej zrobić tak, żeby dane zaczynały się na początku strony!) - wtedy Twój program może się rozrastać w miarę dowolnie, bo jeśli dojdziesz do ostatniej strony (lub stron), to tak czy siak będziesz musiał ciągle programować wszystko. Dzięki takiemu umieszczeniu,...
http://obrazki.elektroda.pl/6945964700_1... Przedstawiamy robota klasy Line Follower o nazwie Impact. Jest to ulepszona wersja Moduł z czujnikami Jest to element najdalej wysunięty od środka obrotu. Moment bezwładności jest duży (masa pomnożona przez kwadrat odległości od środka obrotu), dlatego też aby móc wysunąć daleko czujniki,...
np nie ma tam możliwości zapisania zmiennej o innym rozmiarze niż 2 bajty, co jest dosyć sporym ograniczeniem... Pozatym cała idea jest OK, tylko można ją poprawić [; 4\/3!!
http://obrazki.elektroda.pl/6299012600_1... Firma STMicroelectronics zaprezentowała nową linię mikrokontrolerów STM32F446, łączącą w sobie jednostkę obliczeniową ARM Cortex-M4, kompaktową pamięć Flash o pojemnościach od 256 kB do 512 kB, 128 kB RAM, wydajne interfejsy rozszerzenia pamięci, jak również rozbudowane opcje komunikacji i...
1. Biorę przykład projektu ARM (akurat ten dla STM32, bo posiadane przezemnie LPC2103 ma za mało pamięci flash na te okrutne funkcje printf()) z mojej strony - http://www.elektroda.pl/rtvforum/topic13... 2. Wrzucam do main() następujący kod: #include <stdio.h> #include <math.h> #include <errno.h> #include <sys/types.h>...
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...
Zakładam wówczas, że Cube albo jakiś inny "kreator templatek" będzie dostępny zawsze, uaktualniony, z najnowszymi procesorami etc etc.. Skrypty z Cube i tak nie obsługują połowy rzeczy które są dostępne w STM32F7 (ot choćby wykonywania kodu z flash przez magistralę ITCM, dodatkowych pamięci takich ITCM czy BKPSRAM), więc naprawdę mała to strata jak...
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ć...
W skrypcie linkera. Kompilator tworzy jakieś sekcje (pewnie coś z obsługi wyjątków, takich sekcji jest kilka), które nie mają wpisów w skrypcie linkera, a więc domyślnie trafią one do RAM (tak jakbyś zrobił SECTIONS ... { ... } > RAM AT >RAM), ale zawartość tej sekcji jest inna niż same zera. Linker wypełnia więc obszar od flasha (adresy 0x8000000)...
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...
Pomocy kochani jaką 7 wrzucić i czy da rade w ogóle, proszę o pomoc albo jakiś link :) Tutaj dane z aid'y: System operacyjny Microsoft Windows XP Professional 5.1.2600 (WinXP RTM) Komputer: Typ komputera Wieloprocesorowy komputer PC z interfejsem ACPI System operacyjny Microsoft Windows XP Professional Dodatek service pack systemu operacyjnego [ TRIAL...
Mając w ręku STM32MP157 Mini, moim celem było przeportowanie dystrybucji Linuksa. Jednak dostarczony podręcznik oferował tylko wersję Debiana dostosowaną przez Linaro. Postanowiłem więc zaadaptować do tego celu Ubuntu. Biorąc pod uwagę niedobór szczegółowych artykułów online, udokumentowałem cały proces w niniejszym dokumencie. Wyrusz w zaawansowaną...
http://obrazki.elektroda.pl/1456479900_1... http://obrazki.elektroda.pl/6187906200_1... http://obrazki.elektroda.pl/2739548100_1... Netduino 3 to kolejna seria płytek należących do otwartego środowiska deweloperskiego wykorzystującego framework .NET Micro. .NET Micro Framework (NETMF) autorstwa Microsoft...
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...
Na działającym kodzie opcja Resume powoduje wystąpienie komunikatu eclipse Target not avaliable ale debuggowanie działa. To jest jakiś błąd wynikający z połączenia nowej wersji Eclipse'a i nowej wersji GDB - bez znaczenia, niczemu nie przeszkadza. Tak jak pisałem wcześniej - zacznij wywalać po kawałku fragmenty problematycznej funkcji i zobacz kiedy...
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ść...
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 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:...
Próbuje osiągnąć maksymalny możliwy czas próbkowania (2.4MSPS) z STM32F407ZET6 Inicjalizacja ADC i DMA: ADC_SampleTime_3Cycles lub ADC_SampleTime_15Cycles powoduje że wartości odczytane z przetwornika są 0. Niższe prędkości próbkowania działają poprawnie lecz mi chodzi o "wyciągnięcie" tych 2.4MSPS Dla ADC_SampleTime_84Cycles : 982648 Dla ADC_SampleTime_56Cycles:...
Cześć, Próbuję się skomunikować pomiędzy RPi i stm32f4. Na RPi korzystam z biblioteki bcm2835 a na stm32f4 z HAL. Być może nie do końca rozumiem zasadę działania SPI i sta te problemy. RPi jest masterem i co 1000ms wysyła dane w postaci tablicy o rozmiarze równym 4 elementy. Te dane są w poprawny sposób odbierane na stm32f4. Na stm32f4 korzystam z DMA,...
(at)BlueDraco Ja też tak jak kolega (at)Freddie Chopin wolę własnoręcznie poresetować to co jest mi potrzebne, szczególnie że w tych procesorach o rozmiar kodu się nie bijemy za mocno (szczególnie takiego inicjalizującego co we flashu siedzi)
No więc tak, problem jest narazie z samym DMA. Czy DMA1 jest jakieś szczególne? Inaczej się konfiguruje niż DMA2? A może po prostu DMA1 nie może przesyłać danych miedzy pamięcią i pamięcią. Z Figure 20 na stronie 163 RM0090 wynika, że są takie same. Problem jest w tym, że przy takiej samej konfiguracji DMA2 przesyła mi dane między pamięciami a DMA1...
Firmowy bootloader mi nie wystarczy. Potrzebuje SPI i prawdopodobnie USB. Ustawiłem w pierwszym programie na: NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x00003000); i w drugim na: NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x00000000); Więc tablica wektorów powinna się przełączać, ale dalej miga tylko czerwona dioda. Uruchomiłem dodatkowo TIM4 i przeniosłem...
https://obrazki.elektroda.pl/4017510500_... Renesas Electronics RL78/G15 to 8-bitowy mikrokontroler klasy podstawowej z 1 KB pamięci SRAM, 4 KB lub 8 KB Flash na kod. Oferowany jest w różnych rozmiarach z obudowami od 8 do 20 pinów. Najmniejszy z nich, mający osiem wyprowadzeń, mierzy zaledwie 3 mm × 3 mm. Firma STMicro właśnie Kluczowe...
Co ciekawe - paczka została wysłana z Polski kawał czasu po tym jak zamawiałem na ali-e (nadawca to światprzesyłek czy jakoś podobnie - pisane jednym słowem). Znam sprawę. Firma z Nysy. Też tak dostałem kilka przesyłek i to właśnie zamawianych z darmowa wysyłką. Ciekawa była też etykieta pod spodem tej nalepionej w Polsce. Na moje nazwisko, poczta...
Tak wygląda skrypt linkera po poprawach [syntax=c] /***************************************... * author: Freddie Chopin, http://www.freddiechopin.info/ * file: STM32F4xxxG_rom.ld * last change: 2012-03-15 * * chip: STM32F4xxxG * compiler: arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.6.2 * 20110921 (release)...
No ale przecież nie masz skryptu linkera - bez tego to po prostu nie ma prawa działać... A ta wtyczka z której korzystasz kompiluje pliki assemblera tylko jeśli mają rozszerzenie .S, a nie .s. Zestaw porad jest taki: http://www.elektroda.pl/rtvforum/topic13... http://www.elektroda.pl/rtvforum/topic13... Weź przykładowy projekt dla STM32,...
Program IAR jest jednym z podstawowych, dostępnych narzędzi do tworzenia oprogramowania na mikrokontrolery. Posiada kolorowe i wygodne środowisko graficzne, wraz ze zestawem zoptymalizowanych, standardowych bibliotek. Poniższy samouczek ma na celu pokazanie, jak skonfigurować te środowisko do wydajnej pracy. W autora praktyce sporym utrudnieniem są...
https://obrazki.elektroda.pl/8717321000_... Cena $5 (20zł) dotyczy oczywiście producenta, u nas jeszcze VAT, ale i tak powinniśmy się zmieścić w 30zł. Ale do rzeczy, co się zmieniło w porównaniu do RP2040: 1. Jest teraz do wyboru płytka 7×7mm, QFN60 (RP2350A) z 30 GPIOs lub 10×10mm, QFN80 (RP2350B) z 48 GPIOs 2. 4 MB pamięci QSPI flash,...
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ń....
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...
Cały projekt został wygenerowany przez CubeMX, po zmienieniu wartości w wyborze algorytmu (Cortex-M Target Driver Setup) (pierwotne możecie podejrzeć w moim poprzednim poście) - program ruszył. Zmiana jest widoczna na poniższym obrazku: http://obrazki.elektroda.pl/9153923800_1... Parametr size został zmieniony z 0x8000 na 0x1000. Co...
W25Nxxx to zwykła pamięć SPI/qSPI kompatybilna z pamięciami 25xx. Możesz zaprogramować dowolnym programatorem który obsługuje pamięci o rozmiarze 1Gbit, wybierasz dowolny numer kostki o takiej pojemności i wyłączasz opcje sprawdzania ID. W miare tani programator do spi-flashy to program flashrom + jakikolwiek adapter, np serprog https://github.com/dword1511/stm32-vserp...
Po zainstalowaniu ubuntu i skonfigurowaniu eclipse+codesourcery pod niego okazało się że mój archaiczny makefile nie "zbuilduje" mi projektu. Po zainstalowaniu plugina ARM do eclipse okazało się że wygenerowany kod nie mieści się w pamięci. Próbowałem na różne sposoby konfigurować ustawienia kompilatora i linkera ale nie dało to efektu. Poniżej wywołanie...
gaskoin: ale zapominasz, że do realizacji bufora obrazu dla tego LCD potrzeba prawie 400 kB RAM, chyba żaden ARM tyle na pokładzie nie ma, czyli potrzeba zastosować zewnętrzną pamięć co pociąga dalsze koszty (kilka złotych pamięć + trochę więcej za PCB) i komplikuje układ. Na końcu otrzymamy coś co działa, za cenę gotowego porządnego modułu LCD - no...
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...
https://obrazki.elektroda.pl/2161369300_... Nie można zaprzeczyć, że Internet Rzeczy zrewolucjonizował wiele rynków i już jest dookoła nas. teraz pytanie brzmi: "Jaka technologia łączności IoT doprowadzi do ery dalszych zmian?" Jedną z głównych technologii w tym wyścigu jest LoRa. Duży zasięg, niska moc, niewielka powierzchnia na PCB,...
Cześć! Po kilku małych projektach opartych na Nucleo i Discovery postanowiłem wykonać trochę bardziej skomplikowany i praktyczny projekt - odtwarzacz plików WAV z karty SD i... zwracam się do Was z prośbą o pomoc 😄 Projekt oparty jest o STM32F103RCT6 do którego podłączone jest gniazdo kart microSD i DAC (PCM1780). Za pomocą FatFs odczytuję plik WAV...
rozmiar stm32 flash stm32 stm32 flash
zamel roleta corsa drzwi silnik szczotkowy
technika radiowa technika radiowa
Toyota Auris 2.0 D-4D 2009 – check engine po wymianie czujnika i listwy, zawór SCV/DRV nie upuszcza ciśnienia Mastercook – dziwny dźwięk z piekarnika, wentylator, grzałka, modele MF-8x, MB-6xx, ME-5xx