Podłączenie programatora UART i wykonanie flash read nie zepsuje chipa, ale trzeba by było wlutować RX i TX aby poprawić ślady na płytce. Nie widzę żadnych padów programisty na płytce, twardo. Czy chcesz spróbować? zrobić zrzut oprogramowania bkWriter? Dzięki, spróbuję jak będę miał czas na rozłożenie rzeczy i podpięcie wszystkiego. Te zdjęcia zostały...
https://obrazki.elektroda.pl/8808596700_... Pokażę tu jak łatwo uruchomić MAX31855 z Arduino a potem omówię jego protokół komunikacji. MAX31855 oferuje 14-bitowy pomiar temperatury z zakresu zależnego od użytej sondy, od -270°C aż do 1800°C. MAX31855 oferuje prosty protokół komunikacji oparty o SPI, zasadniczo odczytujemy z niego tylko...
Rzeczywiście, ta metoda nadaje się znacznie więcej niż dla Wemos D1, nie chciałem nic takiego sugerować, po prostu na Wemos D1 będzie kilka tematów stąd taki tytuł. Tutaj jest nieco więcej szczegółów: https://github.com/JAndrassy/ArduinoOTA ArduinoOTA wspiera: - classic ATmega AVR with at least 64 kB of flash (Arduino Mega, MegaCore MCUs, MightyCore...
Mały krok do przodu. Udało mi się identyfikować co powoduje tak duże zużycie pamięci. Winowajcą jest biblioteka "Regular expressions library" <regex>. Na szczęście jest ona wykorzystywana tylko w jednej mało ważnej funkcji którą udało się zmodyfikować tak aby korzystała z <string> zamiast <regex>. Zajętość pamięci flash spadła ze 140kB...
Pomijając sensowność używania sprintf do SKOPIOWANIA stringa do jakiejś zmiennej, to błędów jest bardzo dużo. 1. Skasowałeś stronę którą chcesz zapisywać? 2. Odblokowałeś zapis do flasha? 3. Twój zapis jest dziurawy, bo jak zero będzie na nieparzystej pozycji, to pętla nie zakończy się wtedy kiedy będziesz chciał 4. Odczytujesz FlashStatus, to sprawdź...
Szanowni Forumowicze, Mam problem z Virtual Port COM. Używam procesora STM32F103VBT6. Na nim chcę zrobić taki sterownik uniwersalny kilka wejść wyjść oraz USB do wysyłania komend i odczytu stanu wejść i wyjść. Chcę zrobić to tak że np mam wyjście powiedzmy PA0 i jest tam podłączona dioda i po wysłaniu komendy "LEDON" włączy się. Niestety mając do dyspozycji...
Dodając na koniec wskaźnik na ten twór to: const char * const (*string)[]; Dzięki i pozdrawiam
Chodzi mi o umieszczeni np: static const uint8_t myArray[] = "taki sobie string"; we FLASH ale gdy się nigdzie tego nigdzie nie użyje. Żeby kompilator umieścił to we FLASH to muszę to gdzieś użyć.
Występuje wyjątek bo nastepuje dostęp RW do pamięci flash ktora jest tylko do odczytu a wszystkie stałe umieszczane są bezpośrednio we flash. Najprościej do funkcji dodać jeszcze jeden argument ze wskaźnikiem na bufor wyjściowy. [syntax=c]char *STRING_DeleteStr(char * dst, const char *string, const char *del, u8 mode)[/syntax]
Witam. Szkole się w programowaniu zacnych STM32 i od razu na poczatku mam problem z funkcja printf(); Po wywołaniu tej funkcji procesor się zawiesza. Mam zrobiony proste nadawanie i odbieranie danych przez UART. Używam Keila MDK ARM V5 biblioteki HAL wygenerowane w STM32CUBEMX. Korzystam z płytki Kamami Zl27ARM. Na razie chcę uzyskać następujące efekty:...
Witam, Panowie, konkretne pytanie: Czy opłaca się stosować kopiowanie pamięci przy użyciu DMA zamiast memcpy? System jest wielowątkowy na FreeRTOS. Mam bardzo dużo kopiowania pamięci średnio po 15 bajtów. Wątek mógłby wstrzymać pracę i czekać na semafor z przerwania. Czy to sie jednak opłaca wydajnościowo? Przy okazji: Czy da się zmusić kompilator,...
Witam wszystkich. Uzywam Eclipse + OpenOCD (0.9.0) + GCC. Do tej pory używałem STM32F103 (Cortex-M3), a teraz przesiadłem się na STM32F373 (Cortex-M4). Wziąłem ze starego programu skrypt linkera, startup, vectors.c i posklejałem do kupy odpowiednio je modyfikując. Program generalnie odpala się, mogę sterować GPIO. Następnie spróbowałem uruchomić SysTicka....
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...
PS. co to jest RISC-V toolchain A co RISC-V ma wspólnego z STM32 i mikrokontrolerami ARM (a jest to dział, w którym zadajesz pytanie. Pytanie zatagowałeś STM32. STM32 nie sa RISC-V) Poważnie? Aż tak bardzo trudno napisać że toolchain do RISC-V to zestaw narzędzi potrzebnych do zbudowania na danej platformie kodu dla procesorów RISC-V? Pamiętaj że jesteś...
Tak, jestem 100% pewien bo sobie porobiłem debugger na wyświetlaczu LCD. To jest kod: [syntax=c]#include <stdint.h> #include <string.h> #include "stm32f10x_map.h" #include "LCD.h" #include "Init.h" #include "RESET_SYSTEM.h" #include "FLASH.h" int i = 0; uint32_t useroptionbyte = 0, WRPR = 0; int main(void) { rcc_init(); //RCC init włączający...
Witam, Podłącze się pod watek. Korzystam z tego samego kodu ze strony: http://www.stm32.eu/node/66 Jedyna zmiana w kodzie jest WakeUP_PIN. Procek STM32F103VET6. Mam następujący problem: Po uruchomieniu softu, w pliku boot.c w funckji boot_force jest warunek: [syntax=c]if(MSM_GetNumInstalledDevices(... { boot_process(MSM_GetDeviceByID(0)->strin...
Dzięki za schemat widziałem jakieś na chińskich stronach, ale mi się nie udało tego ściągnąć, bez logowania. Jeśli chodzi o JTAG to jeśli udałoby się go uruchomić to mógłby być przydatny. Ale też na początek prostsze może wydawać się przetestowanie tego SERDB po I2C po pinach UARTU, który też daje dostęp do rejestrów RIU. Więc możnaby je monitorować...
Tzn, że program może działać dalej poprawnie a debuger wskazuje na to, że jesteśmy w np HardFaultHandlerze ? Mógłbyś nieco rozwinąć myśl ? Czasem może być jakiś problem sprzętowy/programowy/systemowy, który może spowodować wywalenie się debuggera, który będzie np. uparcie twierdził, że jesteśmy wciąż w jakiejś linii, choć mikrokontroler sobie wtedy...
Witam! Napisałem taki oto kod... w teorii powinien zmieniać nazwę urządzenie BT, ale nie zmienia ;) Komendę kończę zwrotem "\r" ponieważ tak jest napisane na stronie Microchipa: "A variety of universal asynchronous receiver/transmitter (UART) commands are used to control and configure the RN4870 module. All commands contain one, two or three case-insensitive...
Budowa toolchainu pod systemem LINUX dla urządzeń z rdzeniami: CM0+ ( instrukcje są generyczne-czyli uogólnione i działają na procesorach: CM0+/CM0+F/CM3/CM3F/CM4/CM4F/CM7/CM7F ), oraz CM4F. Całość jest w postaci wizardu konsolowego i została fajnie opisana na stronie http://www.iwasz.pl/electronics/toolchai... Generowany kod jest kompaktowy...
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...
Chciałem najpierw trochę oswoić się z eclipsem. Postanowiłem przenieść kod testowy z keila. make all Linking target: out/stm32f4_blink_led.elf arm-none-eabi-g++ -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -ffast-math -TSTM32F4xxxG_rom.ld -g -Wl,-Map=out/stm32f4_blink_led.map,--cre... -Wl,--gc-sections -nostartfiles out/startup.o...
Opcja -S, o której pisałem to opcja kompilatora, do użycia w komendzie ...-gcc ..., Z tym, że tak wprost się tego raczej nie da dodać. Niestety, CubeIDE nie znam, więc od ręki nie odpowiem, jak tej opcji użyć. Dobra to po kolei :) To już znam odpowiedz na to co mnie interesowało( czyli że to jest po prostu jakiś śmieciowy rozkaz, którego procek nie...
Pytanie proste. Mam zdefiniowany String we flashu. Jak dostać się do każdego znaku z osobna? Jak chcę coś wydobyć z pamięci to mi pokazuje co czwarty znak. Przesunięcie bitowe typu "adres << 8" też mi nie chce działać. Robię parser a ponieważ string ładuję do flasha funkcja strtok nie chce mi działać. a[0] = (*(vu16*) Addr);...
Witam! Posiadam moduł wyświetlacza LCD 3.2", prawdopodobnie na sterowniku SSD1289 (sprzedawca twierdził, że na HX8347-A, jednak dopiero metoda inicjalizacji do SSD1289 zadziałała). Próbuję nim sterować przy pomocy mikrokontrolera STM32F103RBT6. Wszystko zdaje się działać dobrze, do czasu gdy chcę wyświetlić jasny kolor, np. RGB(240,240,240). Wtedy sterownik...
http://obrazki.elektroda.pl/3796073600_1... I Opis ogólny urządzenia: Chciałbym przedstawić mój projekt bazujący na mikrokontrolerze STM32 dokładnie na modelu STM32F11RET6 http://www.st.com/content/st_com/en/prod... Jest to sterownik dla urządzenia...
Witam, mam problem z komunikacją z czujnikiem ciśnienia HP02S. Szukałem swojego problemu na forum, ale nie znalazłem. Udało mi się bez problemu odczytać dane z EEPROMu. Udało mi się też skomunikować z czujnikiem, ale do czasu. Sekwencja odczytu ciśnienia wygląda następująco (pseudokod): [syntax=c] i2c_start(); i2c_write(0xEE); i2c_write(0xFF); i2c_write(0xF0);...
Witam, Ostatnio miałem trochę mało czasu żeby się zająć tą sprawą, lecz teraz z powrotem wracam do tematu. Uruchomiłem debugowanie dzięki tutorialowi napisanemu przez Freediego (jeżeli chodzi o tutorial, to super, wszystko ruszyło za pierwszym razem :) ) Będę omawiał przejścia tylko te które prowadziły do problemu. I debugowanie wygląda tak, zaczynamy...
Tych instancji to będzie około 100 i dlatego kombinuję jak zaoszczędzić trochę pamięci, bo każda z tych instancji posiada własną, unikatową nazwę w postaci stringa, więc static i constexpr nie pomogą. 4 bajty na wskaźnik to i tak lepiej niż przechowywanie całego stringa w RAM-ie
Witajcie, dziękuję za wszystkie posty. Większość okazała się bardzo pomocna. Swoją modyfikację chciałam zacząć od najprostszej zmiany, tj. zmiany konfiguracji modułu bluetooth poprzez komendy AT. Najpierw jednak chciałam przetestować odbiór danych z terminala. Znalazłam program i nieco go zmodyfikowałam, którego celem jest odebranie wpisanej danej w...
Używam bluepill. Tam jest teoretycznie stm32f103c8t6 czyli 64k flash, ale w prkatyce programator znajduje mi w nim 128k flash. Wobec tego chyba nie muszę zmieniać eeprom.h? Przesyłam aktualny kod. Mam nadzieję, że dobry. efekt taki, że miga diodką a następnie zawiecha.[syntax=c] #include <string.h> #include <eeprom.h> #include "stm32f1xx.h"...
Proponuję się zwrócić do producenta kompilatora którego używasz, bo zapewne nie jest to GCC. Swoje przypuszczenie opieram na tym, że w GCC twój kod działa (sprawdziłem teraz), a coś podobnego działa od lat (bo od lat sam używam makr do parsowania __DATE__ i zamiany tego stringa na wartości liczbowe). ... SYMBOL TABLE: ... 002001f8 l O .ARM.__at_0x08001F00000000004...
Zademonstruję Ci: Nowy projekt w Atollic for STM32: Bez modyfikowania skryptu linkera: https://obrazki.elektroda.pl/4714547300_... A teraz Twoje przezroczyste przypisanie: https://obrazki.elektroda.pl/8906289200_... Dopiero po dodaniu do skryptu linkera: https://obrazki.elektroda.pl/4995382700_...
Cześć, Projekt zaraz będę konfigurował od początku. Fakt, podałem za mało danych, wybaczcie, skrajna nerwica mnie na to wzięła. Od początku: Używam SW4STM32, ale chciałbym od tego odejść mocno, bo za dużo automatów i za mało szczegółów, może dlatego, że nie potrafię tego wszystkiego ogarnąć. Kompilatora używałem poprzez naciśnięcie "build". W ustawieniach...
Serdecznie dziękuję za odpowiedź rb401. Zmodyfikowałem kod: https://obrazki.elektroda.pl/7556589300_... warningi znikają po usunięciu volatile sprzed deklaracji zmiennej buf1, ale nic się nie pojawia w terminalu Dodano po 36 To trochę dziwne, bo wychodzi na to, że kompilator krzyczy, że zmienna uint8_t buf1 jest niezgodna z tą którą...
ładnie. nowa kompilacja pierwszy rozruch Wchodzę do initLog()... Polecenia zarejestrowane! initLog() wykonane! Ostrzeżenie: Sprawdzanie nagłówka sektora nie powiodło się. Sformatuj ten sektor (0x001db000). Ostrzeżenie: Sprawdzanie nagłówka sektora nie powiodło się. Sformatuj ten sektor (0x001dc000). Ostrzeżenie: Sprawdzanie nagłówka sektora nie powiodło...
Czy znane są wam inne skuteczne algorytmy pomiaru amplitudy PWM? Pracuje na STM32F072CB i tylko taki mam do dyspozycji wedle założeń projektu więc przesiadką choćby na F1 nie wchodzi w grę... Do tego celu jest więcej niż wystarczający. Metoda pomiaru jest dobra. Dodatkowe pytania: 1. Czy oglądałeś ten przebieg na oscyloskopie? Może po prostu nie jest...
[syntax=bash]00000002 T __cxa_pure_virtual 00000002 T NOP_Process 00000004 T _ZN9USBSerial9availableEv 0000000c T atexit 0000000c T main 0000000e T _Z5setupv 00000010 T usbGetInterfaceSetting.8433 00000010 T usbSetDeviceAddress.8439 00000014 T gpio_init 00000014 t register_fini 00000016 t usb_cdcacm_data_available.4675 00000018 T __exc_systick 00000018...
Poniżej program do obsługi wyświetlacza TFT: Interesuje mnie dlaczego funkcja LCD_Clear(WHITE) na STM32 działa wolniej niż na Atmedze32 z kwarcem 16MHz. Wydawało mi się że powinno czyścić ekran szybciej na STM32 a już na pewno nie wolniej. Tylko nie zwracajcie mi uwagi na temat pętli opóźniającej;) ponieważ i tak nie jest wykorzystywana w LCD_Clear....
Wygenerowany jest bezpośrednio z CooCoxa Linkera tutaj nie ma chyba jest zaszyty w środowisku. Wersja CoIDE to: Version: 1.7.8 [syntax=c] /** ****************************************... * (at)file startup_coide.c * (at)author Coocox * (at)version V1.0 * (at)date 20/07/2010 * (at)brief M0 M3 Devices Startup code. *...
Dzień dobry, Napisałem sobie program (korzystam z: STM32CubeMX oraz Atolli TrueStudio, mam BluePill STM32F103C8, port szeregowy podłączony za pomocą UART2 oraz konwertera FT232RL (ustawionego na 3,3V - bo w dokumentacji wyczytałem że te wejścia nie tolerują 5V) do portu USB, gdzie łączę się za pomocą BrayTerminal). Na BluePill mam wbudowaną jedną diodę,...
czy w ogóle jest sens korzystać z Arduino, czy nie prościej ściągnąć FATFS, dodać obsługę I2C (kilkanaście linii kodu) i sprawa załatwiona. Skoro autor używa Arduino to raczej nie jest ekspertem od uC. Skoro tak, to na 99% bez Arduino nie da rady. Zapewne Arduino jakoś implementuje FATFS, warto się temu przyjrzeć, bo ten moduł można skonfigurować na...
Witam temat podobny do http://www.elektroda.pl/rtvforum/topic23... Lecz sprawa wygląda troszkę inaczej. Z racji tego, że atollic udostępnił wersję litte postanowiłem przesiąść się z keila. Dotychczas korzystałem z example usb hid na keila. W Atollicu skonfigurowałem sobie nowy procesor, wrzuciłem kod z uvision i po małych przeróbkach (dostosowanie...
Przeczytałem wątek z dużym zainteresowaniem, wracam do uP po paru latach natomiast jestem starym programistą C Nie będę redagował jednolinijkowych cytatów, wypowiem się w punktach mam nadzieję każdy wyczyta co pochwalam / czemu się sprzeciwiam 0) nie zmienimy starego albo nie swojego kodu (np AVR czy innego) ale nowy możemy pisać lepiej. a) makra to...
Cześć, Znalazłem u siebie w szafce stary wyświetlacz LCD 2x16(QC PASS, 1602FZA 2014.2.17), jako że mam też Nucleo, postanowiłem uruchomić sobie ten LCD. Pobrałem bibliotekę do LCD2x16 ze strony controllerstech, która była napisana na sterownik HD44780 (a przynajmniej tak mi się wydaje). W moim wyświetlaczu siedzi ST7066U Link poniżej: https://controllerstech.com/interface-lc...
Cześć, od 2 dni zmagam się z modułami NRF24L01 i dwoma płytkami STM32. Płytki STM32 NUCLEO L053R8 i STM32F103 wykorzystujac biblioteki HAL i cubemx. Niby oba układy zwracają poprawne rejestry : https://obrazki.elektroda.pl/1575646300_... Ale sama komunikacja w sobie nie działa. Nie odbieram żadnych pakietów. PYTANIE - czy w biblioteka...
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...
Świetna edukacja. Napisz od razu odpowiedź na pytanie "czemu we flash zapisuje się tylko >to jest test zapisywania w pamięci flash<, a nie cały string >to jest test zapisywania w pamięci flash 1234567890<?".
Jak chcesz aby ktoś Ci pomógł, to podaj więcej szczegółów. Nie napisałeś nawet, jaki to dokładnie układ. Jeśli włączenie read-out protection sprawia problemy Twojemu programowi, to musisz się zastanowić, co takiego ten program robi, że może to być problemem. Przykładowo funkcjonalność read-out protection sprawia, że kod wykonywany z RAMu nie może już...
Najprościej wygenerować przez jakieś darmowe środowisko, np.: Atollic TrueSTUDIO. [syntax=asm] /* ****************************************... ** ** File : stm32_flash.ld ** ** Abstract : Linker script for STM32F373C8 Device with ** 64KByte FLASH, 32KByte RAM ** ** Set heap size, stack size and stack location according...
string stm32 string flash stm32 usart string
rozebrać pilota sharp kodowanie wtryskiwaczy peugeot rezygnacja usługa orange
interfejs delphi fotowoltaika instalacja
Błąd "nie można znaleźć pliku skryptu dll.js" - rozwiązania Ustawienie koła zamachowego w Iveco 50C15 3.0 HPI