No tak: [syntax=c] /************************* * stm32 uart main.c *************************/ #include "stm32f10x.h" #include "stm32f10x_flash.h" #include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h" #include "stm32f10x_usart.h" #include "stdint.h" #include "misc.h" #define CLK_FREQ 36000000 /* User defined function prototypes */ void GPIOA_Init(void);...
Witam wszystkich Czy spotkał się ktoś kiedyś z takim przypadkiem: Usart wysyła poleceniem USART_SendData(USART1, 0x55) do przejściówki wartość i po odczytaniu w progarmie np gtkterm uzyskuję literę "U" (czyli prawidłowo patrząc na tablice ascii). Niestety jest to jedyna wartość zgodna z tą tablicą :/ bo jak wysyłam np. wartość 0x5a to zamiast litery...
jesteś tego pewny to jak to się ma 24 MHz na moim do 74Mhz na 103 ruszy np taki program jak ten code #include "stm32f10x.h" #include "lcd4bit.h" #include <stdio.h> TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_ICInitTypeDef TIM_ICInitStructure; void RCC_Conf(void); void NVIC_Conf(void); void GPIO_Conf(void); uint16_t cnt; char I Proszę kod...
Przepraszam , że nie dokończyłem wczoraj ale przysnołem. Nie poszło tak prosto bo nie otrzymuje zapisu na kartę , cały program kompiluje się mi w porządku tzn otrzymuje hex -a, zadaniem poniżej przedstawionego programu jest tylko odczyt jednej wartości z wejścia adc1 oraz zapisanie jej na karcie do pliku o nazwie plik, poniżej przedstawiam listing z...
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...
Witam serdecznie po raz kolejny :) proszę o pomoc ze względu na fakt, iż troszeczkę się pogubiłem. Próbuje obsłużyć panel dotykowy TSC2046 (nigdy wcześniej tego nie robiłem) na wyświetlaczu 320x240 ze sterownikiem ILI9320. Używam trybu 8bitowego, ale w 12 bitowym dzieje się to samo. Problem polega na tym, że od czasu do czasu, pomimo moich zabezpieczeń...
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...
Wprawdzie program mojego bootloadera napisałem korzystając z bibliotek ST, ale odblokowanie dowolnych stron FLASH'a do zapisu bardzo ładnie działa i nie mam z nim najmniejszych problemów. Zrobiłem to w następujący sposób (kolejność jest ważna): 1. Odblokowanie FLASH'a: FLASH_Unlock(); 2. Skopiowanie ustawień bitów rejestru USER OPTION BYTES: KopiaOBR...
Firma zleci wykonanie fragmentów kodu w języku C/C++ dla mikrokontrolera STM32. Wymagania dla kandydata: -Znajomość mikrokontrolerów STM32 (STM32F4 i STM32H7) -Język programowania (C/C++) -Znajomosć środowiska Atollic TrueStudio -Znajomość bibliotek HAL Opis zlecenia: -uruchomienie ADC z wykorzystaniem DMA -uruchomienie DAC z wykorzystaniem DMA -uruchomienie...
Nie mogę sobie poradzić z odczytem pamięci która jest podpięta pod stm32discovery. Funkcja którą mam odczytuje jedynie 1 stronę z pamięci NAND. Patrzyłem na przykłady które są dołączone do stlink utylity lecz przykładu do NAND nie znalazłem. Może ktoś posiada źródła do przykładu z kością NAND512W3A lub podpowie co dodać do mojej funkcji żeby czytała...
Witam, Zaczynam przygodę z mikrokontrolerami STM32, posiadam STM32F429IDISCOVERY. Zaczynam pracę z kursem na youtube: Wykonałem konfigurację środowiska jak w poprzednim odcinku, jednak gdy teraz próbuję wgrać program (zwykłe zapalenie diody) to w STM32CubeIDE 1.3.0 pojawia się komunikat: Debugger connection lost. Shutting down... Nie bardzo wiem co...
Witam wszystkich !!! OKAZJA!!! Mam do zaoferowania bogatą w liczne peryferia makiete dydaktyczną z uC STM32F103VET6. Podstawowe parametry mikrokontrolera STM32F103VET6: * MCU,32BIT,CORTEXM3,512KFLASH,100LQFP * Series:STM32 * Flash Memory Size:512KB * RAM Memory Size:64KB * No. of I/O Lines:80 * No. of ADC Inputs:3 * No. of Timers:8 * No. of PWM Channels:16...
Witam wszystkich !!! OKAZJA!!! Mam do zaoferowania bogatą w liczne peryferia makiete dydaktyczną z uC STM32F103VET6. Podstawowe parametry mikrokontrolera STM32F103VET6: * MCU,32BIT,CORTEXM3,512KFLASH,100LQFP * Series:STM32 * Flash Memory Size:512KB * RAM Memory Size:64KB * No. of I/O Lines:80 * No. of ADC Inputs:3 * No. of Timers:8 * No. of PWM Channels:16...
Niestety nie mam oryginalnego wsadu demo żeby porównać to w podobny sposób jak kolega (swoją drogą możesz zmierzyć na oscyloskopie mniej więcej jakie tam są czasy dostępu) bo te w źródłach programu uCOS demo z Bootloaderem są szybsze niż wynikają z obliczeń, ale sam próbowałem we wszystkich kierunkach, w trybie SRAM jak i NOR Flash. Co do odczytu to...
Z tego co widzę masz tu ustawienia które są ok dla uVision v4. W v3 była taka różnica że w ustawieniach uLinka trzeba start zmienić z 0x8000000 na 0. Możliwe, że trzeba było tak samo zrobić w ustawieniach mapy pamięci (zakłada target). W v4 jest już to zrobione jak należy. PS. Ten komunikat może też chyba wyskoczyć gdy flash jest zablokowany przed odczytem....
Tak dopiero dzisiaj wpadł mi do głowy ten temat - czy procesory STM32 można jakoś zabezpieczyć przed odczytem/kopiowaniem programu? Tak jak to jest np. w AVRach? Nic na ten temat nie znalazłem w dokumentacji.
Witam Próbuje od jakiegoś czasu zmusić jeden procesor do zaprogramowanie części pamięci w drugim za pomocą protokołu swd. Bazowałem na początku na dokumentacji odnośnie EFM32 (jedyny cortex m3 który znalazłem w miarę opisany). Niestety zatrzymałem się na etapie, możliwości odczytu, zapisu do pamięci ram oraz odczytu z pamięci flash. Niestety nie jestem...
Wlutowałem nowy układ STM32F207VET6 na PCB i podłączyłem go przez ST-Link V2 do kompa. Odpaliłem STLink Utylity (najnowszy, soft programatora też) i przy próbie odczytu wyskakuje info, że procek zablokowany. Faktycznie po wejściu w Option bytes jest zaznaczone, że zablokowany jest Level 1. Przy próbie zmiany na Level 0 i ok, po kilku sekundach wyskakuje...
stm32f407vet6+st link i do tego ST-LINK Utility, i tak... po podłączeniu automatycznie ładuje program z procka klikam zapisz Upewnij się czy masz dobrze określony obszar flash do odczytu odpowiedni do danego uC, bo Stlink nie ustawia tego automatycznie. Może odczytujesz i wgrywasz później tylko część istotnego obszaru flash i stąd te dziwy. Przykładowo,...
Ok, dzięki za wskazówki. Nie chce mi się układać kodu bo to i tak zupełnie przebudować muszę. Wyślę taką kaszanę jaką mam ale działającą: FLASH_Unlock(); //printf("\n\rSend the file\n\r"); /* Start address for flash programming */ sprintf(RxBuffer, "Przykladowy string"); FlashAddress = 0x08040000; if (FLASH_ErasePage(FlashAddress...
Witam! Mam pytanie o kwestię banalną przy pracy z programatorem, ale niewiadomą puki co dla mnie, przy pracy z j-tagiem. Jak włączyć zabezpieczenie przed odczytem flash-a?
Generalnie adres w PC wskazuje na kilka instrukcji "po" faktycznym problemie, bo zanim problem "dojdzie" do wykonywania, to PC jest już nieco dalej. Przed PC na stosie masz odłożony też LR - możesz sprawdzić też tam czy czegoś dziwnego nie ma wcześniej. Generalnie ciężka sprawa zwykle jest z tymi HardFaultami... Sprawdzam stos -> w chwili wystąpienia...
Witam Zastanawiam się czy jest możliwe wydzielenie wbudowanej pamięci FLASH w STM32F4 do zapisu i odczytu np. ustawień ?? Często zmieniam ustawienia systemu i po resecie procesora wszystkie dane zostają skasowane.. Pozdrawiam Marcin
Jako że po uruchomieniu karty SD wpadłem na pomysł aby strona była wczytywana z karty SD. Używam uIP, więc strona to reprezentacja bajtowa, zapisana w pliku httpd-fsdata.c Czy komuś się udało odpali stronkę z karty SD? Pytanie zadałeś trochę źle... Najpierw zrób obsługę systemu plików (np FAT-Fs jest wystarczający). Potem zmodyfikuj sobie procedury...
Ciężko odpowiedzieć na tak zadane pytanie. To tak jakbyś zapytał jak sprawdzić wartość jakiejś komórki pamięci RAM (czyli powiedzmy jakąś zmienną). No po prostu odczytując ją :D Tak samo różne opcje zabezpieczeń. One są zapisane w pamięci, tyle że FLASH. Żeby je sprawdzić to trzeba je odczytać. No inaczej się nie na napisać. Ale mała podpowiedz: Option...
Szanowni, Napotkałem na problem z zabezpieczeniem pamięci Flash przed odczytem. Pracuję na płytce testowej STM32F103 Nucleo, piszę w C z użyciem SPL, edytor: System Workbench for STM32. Mianowicie, po zaprogramowaniu procesora za pomocą ST-LINK Utility v4.1.0 swoim kodem, w opcjach oprogramowania Target->Option Byts ustawiam opcję Read Out Protection...
(at)Sareph dzięki za wytłumaczenie. btw. Co to RDP? Read Out Protection, ochrona flasha przed odczytem. reszta rej , które powinny sie zmienić przed breakpointem zostają w stanie resetvalue Ze screena wynika, że sa ustawione dokładnie tak, jak chciałeś.
U mnie podobnie. Próbowałem odczytać chińskiego st-linka i też soft wyparował. Jakiś "feature" jlinka. Po wykryciu zabezpieczonego procka "odbezpiecza go" automatycznie. Tyle że cholera nawet o to nie pytał. Under Windows, there is an unlock dialog, which asks the user whether he wants to unsecure the device or not. In Linux this is always done without...
Dodanie odblokowywania i zablokowywania flasha po zapisie nie pomogło. W programie zakomentowana została funkcja zapisu do flasha. Niestety to także niewiele pomogło. Pamięc nadal ulega skasowaniu w sytuacjach opisanych w pierwszym poście. Kolejna dziwna sprawa. Program wgrany do procesora i odczytany z niego (bez wyłączana zasilania czy resetu procesora)...
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...
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 z poziomu programu. (o ile sobie nie odblokujemy tego w programie)....
Uzywam Keila 4.6 i bez unstrukcji ponizej u mnie laduje w HardFault. [syntax=c] -> FLASH->KEYR = 0x08192A3B; -> FLASH->KEYR = 0x4C5D6E7F; [/syntax] Jak to dodam to juz nie, dlatego to dodalem. Dzisiaj popróbuje z STLINK Utility, jak to nie pomoze to sprobuje przylutowac ULINKA. Dzieki za pomoc.
Witam :) Posiadam zestaw uruchomieniowy EB-STM32_04 zakupiony z kamami. Postanowiłem na nim uruchomić obsługę pamięci nand flash wykorzystując FSMC czyli rzecz generalnie prosta :) Praktycznie skopiowałem przykład z obsługi usb z bibliotek stm32 i oczywiście pamięć nie działa. Kod wygląda następująco, inicjacja pamięci: Nie wiem gdzie jeszcze ewentualnie...
Witam, Mam kilka pytań do znawców odnośnie pamięci FLASH w uC STM32. Chciałbym zapisywać dane do FLASH z poziomu działającego programu. Czy wstępne czyszczenie pamięci jest konieczne i dlaczego jest ono stosowane? (skoro i tak zapisujemy tu komórki) Jaka jest rzeczywista szybkość odczytu z FLASH w porównaniu do SRAM w kontrolerze? (jak rozumiem granicą...
Witam Uzywam procka G32f107 z flashem 1MB, pierwsze 256KB flasha są odczytywane z prędkością max 108Mhz, 0 waits, poźniejsze adresy flasha już wolniej. W projekcie mam użytą bibliotekę mbededTLS, dopóki kod programu był poniżej 256KB to TLS dziłałał dosć szybko, jak przekroczyłem 256KB to szyfrowanie mocno zwolniło. Po sprawdzeniu widać , że cześc funkcji...
Czytałem o tym i faktycznie coś w tym jest, czyli podsumowując nie da się po prostu podłączyć kabelki TX RX jak w stm32 i jakimś flash downloaderem zgrać wsadu?
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...
OpenOCD zaktualizowanie tak jak kompilator wcześniej. Przerabiam przykład od początku teraz na bazie tego o którym mówiłeś LPC Będe wklejał tutaj co dokładnie przerabiam. Jeśli coś robię źle to mam nadzieje że mnie poprawicie. Jeśli dobrze to mam nadzieje że komuś się przyda. 1.Import projektu lpc1114_blink_led i rename na stm32f0_blink_led 2. Zmiany...
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żą...
Witam niedawno rozpocząłem przygodę z STM32. Korzystam z zestawu uruchomieniowego olimexp103 w którym zamontowany jest przycisk normalnie otwarty podpisany "wake up". Chciałbym go użyć do moich prostych programików, jest to możliwe czy jest on przeznaczony do innych celów? Jeżeli jest możliwe użycie go do prostych programów to poniżej opisuję mój problem,...
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...
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! Chciałem sobie zrobić prosty Counter zliczający ilość wciśnięć przycisku podpiętego do wejścia PA0. Skorzystałem z przykładu który zamieszczam poniżej. Niestety mój prosty Counter nie zlicza naciśnięć i zmienna cnt cały czas wynosi 0. Mam takie podejrzenie że przycisk nie jest programowo połączony z TIM2 tzn w funkcja TIM_TIxExternalClockConfig(TIM2,...
Witam, Realizuję pracę inżynierską na zestawie uruchomieniowym ZL27ARM z mikrokontrolerem STM32. Praca jest w zasadzie gotowa, ale niestety nie działa do końca poprawnie. Praca jest tworzona głównie w oparciu o książkę STM32 Aplikacje i ćwiczenia w języku C. Środowiskiem programistycznym wykorzystywanym w pracy jest Keil uVision 5. W pracy wykorzystane...
Pytałem o sens rzutowania ze względu na to, że patrząc na wartości podane w tabeli amplituda powinna być zbliżona na wartości Vref czyli 3.3V, a teraz ledwo wyłania się z szumu... Powracając do mojej pierwotnej wersji z bibliotekami: [syntax=C] #include "stm32f10x.h" //rejestr 12-bitowy prawo-zorientowany #define DAC_DHR12RD_Address 0x40007420 void...
Witam mam taki problem, otóż mój STM32F4 bardzo dziwnie się zachowuje. Mój program ma odczytywać z 3 różnych czujników przez I2C dane i przeliczać je. I2C zrealizowane jest na przerwaniach (z najwyższym priorytetem), dodatkowo używam timera 2, by odmierzał czas. Oto kod: [syntax=c]#include "stm32f4xx.h" #include "stm32f4xx_conf.h" #include <stdio.h>...
Witam, muszę szybko ogarnąć pewien projekt a tak naprawdę nigdy nie bawiłem się mikrokontrolerami nawet nie jestem informatykiem więc jeśli popełniam niżej jakieś trywialne błędy to przepraszam. ogólnie projekt polega na zapisie na kartę SD danych z przetwornika. Układ który muszę zastosować ma wyjście SPDIF i aby uprościć sobie obsługę po drodze chcę...
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 . Jedna z dwóch gier Tetris Na dłuższy film zapraszam do oglądnięcia Dokonane zmiany . W matryc liter dodałem jeszcze jedno zero , gdyż wyświetlanie godziny zero ( północ ) nie bardzo wyglądało . Teraz...
Witam :) Chce zapisać zmienną do pamięci EEPROM w procesorze. Testuje peryferia dynamicznie i nie wiem co się z nimi dzieje w trakcie działania. Wysyłają do mnie dane po USARCIE i chciałbym je zapisywać w wewnętrznej pamięci. Znalazłem realizacje zapisu, lecz wszędzie bazuje się na bibliotekach HAL, których nigdy nie używałem i się przekonać nie mogę....
Walczę już kilka dni próbując różnych podejść i niestety się nie udaje, więc postanowiłem spytać, może ktoś miał coś podobnego. Mikrokontroler stm32F407VGT6, potrzebuję zapisać bajt w pamięci flash pod określonym adresem. Mam 2 funkcje do zapisu i odczytu jednego bajtu w sektorze 2 pamięci flash: void flash_init(void) { FLASH_PrefetchBufferCmd(ENABLE);...
Cała moja konfiguracja SPI jest w kodzie który zamieściłem... kod po zmianach z poprzedniego posta: [syntax=c]#include "stm32f4xx.h" #define EREVID (0x12|0x60) #define ENC28J60_BIT_FIELD_SET 0x80 #define ENC28J60_BIT_FIELD_CLR 0xA0 #define ECON1 0x1F #define ECON1_BSEL1 0x02 #define ECON1_BSEL0 0x01 #define ADDR_MASK 0x1F #define BANK_MASK 0x60 #define...
Bazując na 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(); FLASH_Unlock(); EE_Init(); //PLL_init(); uart_init(); uart_write("start"); uint8_t value = 0; for (uint16_t i =...
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 Jak że jest to mój pierwszy wpis tego typu to proszę o wyrozumiałość. Słowem wstępu. Chciał bym się z wami podzielić kilkoma moimi doświadczeniami w programowaniu mikrokontrolarów STM32F103 i STM32L152 (STMDISCOVERY) za pomocą otwartej biblioteki libopencm3 ( ). Ja pracuję tylko na Ubuntu 64bit. Jako toolchain używam Summon ARM (link do instalacji...
W niższych procesorkach (STM32F1xx) były rejestry BKP, w tych z Cortex M4 jest BKP_SRAM i mam kłopot z zapisem wartości do tego obszaru. Mam w tej chwili tak: [syntax=c] uint8_t *ram = (uint8_t *) 0x40024000; int main(void) { --- --- RCC->AHB1ENR |= RCC_APB1ENR_PWREN; PWR->CR |= PWR_CR_DBP; RCC->AHB1ENR |= RCC_AHB1ENR_BKPSRAMEN; FLASH->OPTCR &= 0xFFFF00FF;...
Witajcie, siedzę i szukam błędu w bibliotekach do obsługi NRF24L01. Skopiowałem je z biblioteki, którą wykorzystuje w ATmega8. Działa nawet dobrze tam, niestety na STM32F0DISCOVERY już nie chce. Będę bardzo wdzięczny za pomoc. To najpierw kody, które wyrażają więcej niż tysiąc słów ;) : main.c Czytałem już na tym forum w podobnym temacie, że SPI w STM...
Sam main.c raczej nic nie da ale proszę. /** ****************************************... * File Name : main.c * Description : Main program body ****************************************... * This notice applies to any and all portions of this file * that are not between comment...
W oknie debugera możesz zobaczyć ile czasu wykonują się poszczególne fragmenty programu. Czy możesz pokazać zrzut ekranu z taką informacją? Na pewno pomoże to wielu Kolegom, szczególnie tym początkującym. (at)bartosz.tarnowski Mowa jest o STM32F4, czyli Cortex-M4, nie M3. Poza tym, w tych układach jest akcelerator dostępu do pamięci programu, który...
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...
Każdy lubi Arduino, od najmniejszych modułów na Attiny85 po największe moduły oparte na mikrokontrolerach MEGA2560. Niestety, mają one swoje ograniczenia - jeśli potrzebujemy więcej mocy obliczeniowej, wyższej precyzji czy większej liczby wejść analogowych, to nie mamy zbyt wielkiego wyboru w rodzinie Arduino... Jest jednak pewne eleganckie wyjście,...
Znaczy że plik wgrywany jest większy od wielkości flasha. Na zdjęciu wyraźnie widać napis na procesorze STM32L071RBT6 czyli B = 128 Kbytes (8 = 64 Kbytes). Chyba że dawca i biorca mają różne flash-e. A co ciekawsze to program wyraźnie odczytuje wielkość flash_a jako 32kbytes. Twój odczyt flasha wygląda na poprawny, ale kończy się w okolicach 64kbytes....
Potrzebujesz: " RM0041: STM32F100xx advanced ARM-based 32-bit MCUs " -> www.st.com To też będzie potrzebne: " DS6517: Low & medium-density value line, advanced ARM-based 32-bit MCU with 16 to 128 KB Flash, 12 timers, ADC, DAC & 8 comm interfaces " i to (zakładam ,że to chociaż już masz) : " UM0919: STM32VLDISCOVERY STM32 value line Discovery...
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);...
A jak masz realizowane CS? Bo może w tym mam problem, że to nie do końca działa. Zmieniłem trochę program i teraz wygląda to tak: [syntax=c]/* Includes */ #include <stddef.h> #include <stdio.h> #include "stm32l1xx.h" //defined USE_STM32L_DISCOVERY #include "discover_board.h" #include "stm32l_discovery_lcd.h" #include "bma180.h" /* Private...
Dzieki wielkie za rady. Przepraszam że tak późno odpisuje ale mnie lekki wk**w złapał i musiałem to wszystko na kilka dni zostawić. Teraz wróciłem zrobiłem całe środowisko od nowa bo tak w starym namieszałem że już zupełnie nic nie działało. Na tworzenie nowego projektu zadziałało rename i clean z rebuild discovery option . Zmieniłem także kolejność...
Witam! Widziałem, że ten temat był już poruszany na forum ale pozostałe posty mi na razie nie pomogły więc zwracam się do was z prośbą o pomoc. Otóż chcę wypróbować działanie kodeka CS43L22 i mimo, że wydaje mi się, że dobrze go skonfigurowałem, ale nic nie słyszę na słuchawkach. Ogólnie mój plan wygląda tak, że przerwanie od timera generuje z częstotliwością...
Jeżeli w ST_Link Utility zrobisz blokadę odczytu - Option bytes - Read Out Protection - Enable - Apply, potem najlepiej zrestartuj procesor i połaczenie i odblokuj - Read Out Protection - Disable - Apply - wtedy zawsze kasuje cały flash. jeżeli nie przekasuje wszystkiego, to jest uszkodzenie fizyczne. Dodano po 3 Chyba też jest możliwość w trakcie pisania...
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. Tylo szkoda pamieci programu na kopie tych danych, zwlaszcza jak ich troche będzie. Sama pamiec chyba jest bardziej traktowana jak flash dla programu, żeby do niej zapisywac trzeba zrobic...
Mam również problemy z układem STM32F030 (obudowa TSSOP20). Główny problem polega na tym, że ST-Link (wykorzystuję ST-Link na płytce discovery) łączy się prawidłowo z układem ale nie programuje go. Nie działa również programowanie option bytes. Za każdym razem wyskakuje błąd weryfikacji już na pierwszym adresie flash (0x08000000). Natomiast odczyt pamięci...
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ń. Obecnie program umożliwia odtwarzanie plików MP3, AAC-LC...
Przeczytałem dział o RDP. Widzę, że są trzy poziomy zabezpieczeń. Level0 -brak; Level1 - zabezpieczony przed debugowaniem i odczytem z wew. bootloader'a oraz przy pracy z ramu Level2 - całkowicie zabezpieczony, brak możliwości przejścia na niższe poziomy zabezpieczeń, wyłączony JTAG i SWD. Czy to znaczy, że w Level2 nie będę wstanie w ogóle już zmienić...
zujnik jest podłączony bez rezystorów wzmacniających, ponieważ odczytałem ze schematu, że nie są potrzebne(próbowałem także z rezystorami 4k7). Przy sprawdzeniu bufora z danymi w programie Stm Studio, nic się nie zmienia a flaga busy jest ustawiona jedynie przy odłączeniu kabla SDA od czujnika. Proszę o pomoc w znalezieniu przyczyny braku odczytu i...
Witam, Próbuje skomunikować ze sobą STM32F4 z Arduino UNO po UARTcie. Skonfigurowałem UART1 i płytka komunikowała się bez problemu z Arduino. Lecz do mojego projektu potrzebna jest komunikacja przez UART2 (piny PA2-TX i PA3-RX), po skonfigurowaniu UART2 i podłączeniu do do Arduino nie mogę odczytać żadnych danych. Jeżeli podłącze UART1 z UART2 na płytce...
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:...
Witam serdecznie. Niżej kawałek kodu z pliku main.c W tym kodzie odczytuje sekundy z zewnętrznego układu RTC po I2C. Jak widać stworzyłem sobie funkcję "odczytaj_sekunde" w pliku "main.c" przed funkcją główną: unknown type name I2C_HandleTypeDef Co oznacza, że funkcja nie wie czym jest "I2C_HandleTypeDef" i to jest dla mnie jasne. Próbowałem zainkludować...
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...
Ja w ogóle nie kumam gdzie tu jest problem, skoro flash w tym (jak i w każdym innym w zasadzie) mikrokontrolerze można odczytywać w bajtach, półsłowach i słowach? Po co rzutujesz na zmienną 16-bitową skoro chcesz odczytać 8-bitów? 4\/3!!
Po tym jak wszystko prawie było dobrze wyskakiwał mi jeszcze jeden błąd: Coś że chce przydzielić większe workarea niż posiada. Metodą prób i błędów przekopiowałem plik targeta stm32.cnf zmieniłem wielkość workarea size na - czyli dodałem 0x100 (wyczytałem na anglojęzycznym forum): set _WORKAREASIZE 0x4100 i odziwo ruszyło. Nie ma absolutnie potrzeby...
W normalnym świecie SPI działa w ten sposób, że wysyłając jeden bajt, odbiera się jeden. Pisząc pewien ogromny program, używałem powyższego założenia implementując obsługę SPI1 z pomocą kanałów DMA (DMA1_Ch2 i DMA1_Ch3). Jeden kanał używany do transferu bloku z pamięci RAM do SPI1->DR, drugi kanał do transferu w drugą stronę. Wszystko działało bez najmniejszego...
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ść pracuje pod kontrolą systemu FreeRTOS oraz stosu TCP-IP...
Witam, pozwolę sobie na wykopaliska archeologiczne, ale myślę, że to może się jeszcze komuś przydać. Większość przypadków Hard Fault podczas działania DMA w STM32F1 powstaje przez błędną konfigurację kanału DMA przy użyciu biblioteki standardowej. Błędny fragment kodu: hlayer.c:167:43: warning: assignment makes integer from pointer without...
Mam problem z programowaniem przez OpenOCD 0.8.0 kontrolera STM32F429ZIT6 w STM32F429IDiscovery (STLINK-V2 lub zewnętrzny J-Link). Pierwsze 1MB programuje się prawidłowo. Z drugim są problemy. Problem jest raczej tylko z kasowaniem czego wynikiem jest brak możliwości programowania. Wykonując instrukcje OpenOCD (kasowanie , zapis, odczyt i diagnostyka)...
Próbuję napisać obsługę pamięci AT45DB041D. Komunikacja z układem jest, ale zapis i odczyt nie działa poprawnie. Dane w pamięci zapisywane są w dziwnej kolejności. Podczas odczytu pokazuje tak jak bym odczytywał strony 0,2,2,6,4,10,6,14,... [syntax=c] uint8_t flash_busy() { uint8_t status; cs(); spi_put(0xd7); status=spi_get(); cd(); if(status&&0x80)//gdy...
Ok, ta było źle, ale ten problem pokazałby się później. Ja obecnie mam problem z zapisem do FLASHa już przy "formatowaniu EEPROMu" Wykonuje taki kod: eeprom.h: I tak jest do końca strony. Dzięki
Witam, zwracam się do Was o pomoc, w jaki sposób zrealizować taki problem: Mam dwa pliki z oprogramowaniem na zewnętrzny układ. Zewnętrzny układ trzeba zaprogramować tymi firmware'ami za pomocą SPI podczas każdorazowego uruchomienia urządzenia. Docelowo będzie mikrokontroler np. STM32F103RCT6 ze względu na 256 kB pamięci FLASH. Czyli algorytm będzie...
Obecnie korzystam z STM32F030F4P6. No to nie masz dużego wyboru. Jeśli masz tych zmiennych nie więcej niż kilkadziesiąt, to wystarczy jeśli zajmiesz na eeprom dwa obszary 1k. Czyli stronę 14 i 15 a PAGE_NB_PVP ustawisz na 1. Jeżeli chciałbym, by EEPROM zapisywał mi od strony załóżmy 15, to wtedy ta linijka kodu przyjmie taką postać?: #define EEPROM_START_ADDRESS...
Witam. Mam STM32F030 i próbuję zabezpieczyć programowo procesor przed odczytem (Level1) - funkcją uruchamianą przy starcie programu. Proszę zwracać uwagę na pisownię. Proszę używać znaczników syntax dla kodu. Poprawiłem post.
Witam OK, zamieszczam nowy kod źródłowy i wsad do mikrokontrolera programu radiomagnetofonu, w którym usunąłem błąd powodujący wyciek pamięci podczas grania radia oraz dodałem dwa usprawnienia poza tym. Błąd wycieku pamięci polegał na zgłoszeniu faktu braku pamięci przez dekoder AAC podczas kolejnej próby nawiązania połączenia z serwerem wybranej stacji...
Witam, otóż mam problem, a mianowicie chciałbym obsłużyć przerwanie z pinu ALRT z przetwornika ADS1115 w celu wyeliminowania opóźnienia które teraz stosuje przy odczycie każdego z kanału (delay(20)) dokumentacja: z góry dziękuję za pomoc mój dotychczasowy kod: [syntax=c] /* Includes ----------------------------------------...
Mam problem ze zdjęciem blokady odczytu pamięci FLASH z procesora STM32F439 zasilanego z przetwornicy. Przy czym nie wiem czy to ma znaczenie. Wcześniej w żadnym projekcie na STMie nie zasilałem procesora z przetwornicy (przynajmniej nie bezpośrednio, jak była przetwornica to na 5V a potem post regulator liniowy na 3.3V), jak i nie używałem blokady...
4,7k jest wyliczony raczej dla 5V, DS18B20 jak i STM32 może działać na 3.3V i wtedy proporcjonalnie to już jest ~3k. A jak zasilasz układ czujników jednak 5V to tym gorzej dla układu. Nie mam styczności z MacOS, sprawdzałeś to: ? Poza tym przy wgraniu bootloadera trzeba pamiętać o zworkach, bo się kasuje, może uległeś rutynie? Dlatego robię notatki,...
Najlepszego w Nowym Roku i w następnch (rokach też). Proszęż uprzejmież : [syntax=c] #ifndef NOUVOTON_SD_CARD_H_INCLUDED #define NOUVOTON_SD_CARD_H_INCLUDED // #include "NouvotonSDCard.h" #define __IO volatile typedef struct { __IO uint8_t CSDStruct; /* CSD structure */ __IO uint8_t SysSpecVersion; /* System specification version */ __IO uint8_t Reserved1;...
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, Chciałbym zapytać bardziej doświadczonych kolegów o pin BOOT w nowej rodzinie stm32g07x. Otóż pin BOOT0 jest współdzielony z pinem PA14, który pełni jednocześnie rolę SWCLK dla SWD. Znalazłem info w RM, a dokładnie tabelkę: Odczytałem z nowego procesora ustawienia: Czy dobrze myślę: - nBOOT_SEL i nBOOT0 bit są ustawione więc program ładuje się...
Próbuję uruchomić przetwornik do współpracy z DMA. Bez DMA wszystko działa ale przy użyciu DMA nie do końca. Przy pomocy CubeMX wygenerowałem taki oto kod: [syntax=c] /* USER CODE BEGIN Header */ /** ****************************************... * (at)file : main.c * (at)brief : Main program body ****************************************...
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, prostota i niesamowita społeczność stojąca za LoRa pozwoliły...
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...
Witam, Moje pytanie dotyczy co zrobić z cache instrukcji, cache danych i buforem przedwstępnego ładowania prefetch podczas zapisu lub kasowania pamięci w flash. W RM piszą, że jeżeli podczas zapisu modyfikuje flash to również zostanie zmodyfikowany cache. W RM jest też napisane, że podczas kasowania flash (danych lub instrukcji) trzeba się upewnić,...
Dzień dobry, Mam problem z dogadaniem się z ADIS16201. Zacznę od tego, że korzystam z płytki : Wyjścia podłączyłem w sposób następujący: ADIS1620 -- STM RESET-> 3,3V ( nie jestem pewien czy nie powinno być tutaj rezystora, ale w takiej konfiguracji działa) SCLK -> SPI2_SCK CS -> GND (z zamysłem, żeby komunikacja była ciągle tylko z nim) DOUT->...
Powracam z nowym pomysłem, którym są template'y Może na wstępie napiszę po co mi to w ogóle jest. Otóż mam taką fanaberię, żeby stworzyć "framework" do ARMów w C++. Wszystko byłoby fajnie, gdyby nie trudności z przechowywaniem danych w pamięci FLASH. Otóż taka na przykład klasa Pin dla Cortex-M3 (STM32) wymaga dwóch wskaźników - na komórkę pamięci odpowiedzialną...