Wszystkie. Skąd mamy wiedzieć jaki masz program, książkę, układ, debugger, system, komputer i cokolwiek innego i istotnego? 4\/3!!
1. Deinicjalizujesz RCC, PLL i pozostałe zegary 2. Resetujesz i wyłączasz Systick 3. Wyłączasz przerwania wcześniej zerując flagi 4. Ustawiasz wskaźnik stosu na początek pamięci bootloadera 4. Skaczesz do adresu pamięci bootloadera +4 Wszystko jest analogiczne do poniższego przykładu dla F4: https://stm32f4-discovery.net/2017/04/tu...
Hello my friend. I read the component in ISP with a TNM5000. You have to solder wires on the board. https://obrazki.elektroda.pl/3357275000_... ISP Cable -> Chip Cable PIN 1 = PA2/USART2_TX or PA9/USART1_TX Cable PIN 3 = NRST Cable PIN 6 = PA3/USART2_RX or PA10/USART1_RX Cable PIN 8,10 = GND BOOT0 & Boot1 pins must be HI (pulled...
Skąd wziąłeś pomysł na wstawki z FLASH->ACR? Czytam RM0401 Jest dedykowany do tego rozdział: 3.4.1 Relation between CPU clock frequency and Flash memory read time Latency zależy od częstotliwości taktowania oraz napięcia zasilania, tak w skrócie. Co do ustawień zegara dla STM32 to warto zapamiętać sobie schemat działania, który wynika bezpośrednio...
Witam Robię prototyp płytki pod STM32L151 i zatrzymalem się przy zewnetrznym kwarcu. Nie mialem go zamiaru użyć, ale jak wyczytałem w "STM32™ microcontroller system memory boot mode" AN2606 str 39 "The external clock is mandatory only for the DFU bootloader and must be in the following range..." , wynika że jak chcę użyć DFU bootloader to muszę...
Odnośnie tego wejścia BOOT0 to z mojej marnej angielszczyzny wnioskuje ze jest ono do dołączenia zewnętrznej pamięci. Kup gotowa plytke Kupiłem gotową płytkę i właśnie to wejście ma jumper. Można zewrzec je do masy , lub nie. Zdecydowałem się na procesor STM32L051C8T6. W dokumentacji na temat BOOT jest napisane to: At startup, BOOT0 pin and nBOOT1...
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...
Witam! Jtag ruszył więc pora na dalszy ciąg nierównej walki. Pozwolę sobie coś takiego wkleić: 19-gdb-set confirm off 19^done 20-gdb-set width 0 (gdb) 20^done 21-gdb-set height 0 (gdb) 21^done 22-interpreter-exec console echo (gdb) 22^done 23-gdb-show prompt (gdb) 23^done,value="(gdb) " (gdb)...
Minimalizm totalny a ty się dziwisz. Weź stosuj makefile Freddiego. Przesada Co złego jest w minimalizmie? Mam wszystko co jest potrzebne. Kompilator wywoływany jest z takimi samymi parametrami i tak samo. Masz automat, z dodaniem każdego pliku chcesz makefile edytować? Tak, chce za każdym razem edytować makefile, ale o gustach się nie dyskutuje. To...
Zgodnie z notą AN2606: B1 B0 X 0 User Flash memory User Flash memory is selected as the boot space 0 1 System memory System memory isselected as the boot space 1 1 Embedded SRAM Embedded SRAM is selected as the boot space Jak próbowałem bootloaderem (Flash loader demonstrator) to z system memory, a jak przez Jtag to zwierałem BOOT0 z GND. EDIT Eh, sprawdziłem...
i tam napisane jest iż MLA trwa dwa cykle a np ADD, MUL jeden czyli ja zysku nie widzę przy wykorzystaniu tego rozkazu Moja odpowiedz mogła być trochę źle zrozumiana ale MLA trwa tyle samo (2 cykle) co (ADD 1cykl + MUL 1 cykl) no i tak jest, jednak czytałem że zaleca się używanie MLA. Następnie drodzy forumowicze co tak naprawdę oznacza wait state...
Bus interfaces: — Three Advanced High-performance Bus-Lite (AHB-Lite) interfaces: ICode, DCode, and System bus interfaces. — Private Peripheral Bus (PPB) based on Advanced Peripheral Bus (APB) interface. — Bit-band support that includes atomic bit-band write and read operations. — Memory access alignment. — Write buffer...
Jeśli ktoś znałby dokładną przyczynę tego tj. czy to jest wina samej pamięci czy wina architektury to byłbym wdzięczny za odpowiedź i wskazanie źródeł. Reference Manual 2 Memory and bus architecture 2.1 System architecture https://obrazki.elektroda.pl/4956208900_... Skoro poprzednio miałeś stos w rejonie 0x20030000, to wypadał on w...
Embedded boot loader The embedded boot loader is located in the System memory, programmed by ST during production. It is used to reprogram the Flash memory with one of the available serial interfaces: ● In low-, medium- and high-density devices the bootoader is activated through the USART1 interface. ● In XL-density devices the boot loader...
Cześć, Od jakiegoś czasu borykam się z takim problemem: chciałbym odbierać po CANie ramki, wpisywać je w gotowy szablon i dalej wysyłać po USARCie na kompa w kodzie ASCII. Czegoś mi brakuje w tym kodzie i za każdą wskazówkę będę wdzięczny. Z góry dzięki:) To mój main: [syntax=c] unsigned char tx_uart[]=" ID: DL: F: T: DATA: ";//54 char ramka[55]; unsigned...
Tutaj udokumentuję moją podróż z tanią płytką deweloperską / hobbystyczną STM32F103C8T6 "blue pill" zakupioną w Ali Express. Pomimo układu scalonego oznaczonego jako "STM32F103C8T6", wewnętrzna pamięć flash wydaje się mieć 128k zamiast 64k, co czyni go bardziej podobnym do STM32F103CBT6. Wydaje się, że nie jest to nieoczekiwane w przypadku podróbek/klonów...
Kod tylko w SRAM1, dane mogą być gdziekolwiek. do sram2 i sram3 rdzeń może dostać się przez S-BUS (poza kodem programu w ram) Wszystko jest opisane w dokumentacji pod obrazkiem który jest w pierwszym poście. np.: 2.1.3 S-bus This bus connects the system bus of the Cortex ® -M4 with FPU core to a BusMatrix. This bus is used to access data located...
Takie coś jest, ale tylko w systemach operacyjnych które zarządzają swoją stertą. Można napisać swojego memory managera i wtedy stwierdzać ile pamięci zostało, ile już przydzieliliśmy, przydzielać ją (nawet do osobnych stert), zwalniać, ale nie jest to błahe zadanie :)
Witam Hmm, walczę od jakiegoś czasu z uruchomieniem toolchaina Eclipse + CodeSourcery itd dla STM32 (dokładnie STM32F107VCT) i mam pewien problem. Przejrzałem kilka różnych projektów, w których podpatrywałem pliki skryptowe linkera (*.ld) jak i pliki makefile. Na razie kompiluje mi się gdy przykładowo zrobię plik main.c z takim kodem: STM32F10x_StdPeriph_Lib_V3.5.0...
W jakiś sposób udało (?) mi się zainstalować bootloadera do mojego MC. Wygląda na to, iż Blinkiem arduino IDE działa. Nie napisałeś w jaki sposób podłączasz Blue Pill do komputera podczas programowania, bo opcji jest kilka. Co prawda nie jestem w stanie odtworzyć tej Twojej sytuacji u mnie, bo mnie osobiście zupełnie nie interesuje co jest wgrane do...
Ustawiłem BOOT0 i BOOT1 w stan wysoki, zgodnie z tabelką : BOOT1 BOOT0 Boot Mode X 0 User Flash memory User Flash memory is selected as the boot space 0 1 System memory System memory is selected as the boot space 1 1 Embedded SRAM Embedded SRAM is selected as the boot space Ale nadal program nie startuje, czego jeszcze może mu brakować ?
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....
Ciągle walczę i właśnie pobrałem sobie CubeIDE i teraz ta: 1. stworzyłem nowy projekt bez bibliotek zaznaczając m.in. Target projekt type na empty: https://obrazki.elektroda.pl/9699499800_... 2. w projekcie zobaczyłem pliki: - main.c - syscalls.c - sysmem.c 3. wrzuciłem sobie do projektu kolejne pliki: - stm32f103xb.h - core_cm3.h -...
Witam, Po dziesiątkach godzin spędzonych nad uruchomieniem i szukaniem stwierdziłem, że udam się po pomoc do "starszyzny" :) Na zestawie jak w tytule postu, po udanym wgraniu *.hexa przez Flash Loader Demonstrator program nie startuje. Płyta ewaluacyjna: http://www.propox.com/products/t_183.htm... Moduł: http://www.propox.com/products/t_174.htm...
No właśnie nie ma żadnej pewności w tym temacie. Dlatego pytałem, czy może ktoś fizyczną sztukę z serii F-2 programował przez wbudowany bootloader (chodzi mi przede wszystkim o USART). #edit: wygrzebane z dokumentacji (AN2606): The bootloader protocol’s command set and sequences for each serial peripheral (USART,CAN and USB) are the same for all...
Wyłączenie optymalizacji to będzie raczej ficzer kompilatora, nie języka. W GCC jest jakiś atrybut, który pozwala zdefiniować poziom optymalizacji dla konkretnej funkcji - coś w stylu NOP does nothing. NOP is not necessarily a time-consuming NOP. The processor might remove it from the pipeline before it reaches the execution stage. Please note that...
Kto wie, co w tych bibliotekach od ST siedzi, znalazłem gdzieś na forum, że przy wywołaniu tej funkcji (i przy używaniu tych bibliotek) komuś wywala HardFault Exception (tylko przy podpiętym debugerze i IDWG). Po odpięciu JTAGa śmiga. To nie jest funkcja ST, tylko ARMa - jest ona częścią biblioteki CMSIS, którą tworzy jedynie ARM, ST nie ma z nią nic...
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...
Zamiast go rozgryzać po prostu przeczytaj dokumentację. Unprotection To disable the write protection, two application cases are provided: ● Case 1: Read protection disabled after the write unprotection: – Erase the entire option byte area by using the OPTER bit in the Flash memory control register (FLASH_CR) – Program the correct RDP...
Dokumentacja firmy ARM wie wszystko BusFault The BusFault fault handles memory related faults other than those handled by the MemManage fault for both instruction and data generated memory transactions. Typically these faults will arise from errors detected on the system buses. Implementations are permitted to report synchronous or asynchronous BusFaults...
Nie jestem gotowy na taką niestabilność i zużycie RAM. PulseView to rozwiązanie doraźne a nie rozsądne. Gdyby to działało dobrze to chińskie portale handlowe byłyby zarzucone analizatorami na BluePill. Tymczasem są zawalone klonami zgodnymi z SALEAE LOGIC. Unfortunately, pulseview has one well-known, almost fatal flaw (along with several minor ones,...
Witam, Próbuję zaprogramować STM32 wykorzystując jego wbudowany bootloader. Zmontowałem prosty programator (konwerter RS232<->TTL). Rx i Tx programatora podłączyłem pod Rx i Tx Uartu1 mikrokontrolera (oczywiście z crosem), stany na wyprowadzeniach Boot0 i Boot1 ustawiłem na odpowiednio 1 oraz 0. Rezonatora zewnętrznego nie podpinam. gdyż bootloader...
(at)BlueDraco:"Pudło. Przy uruchomieniu aplikacji z Flash, pamięć Flash jest mapowana na adres 0, a domyślnie VTOR zawiera 0 (a przynajmniej powinien)" Hmm, w takim razie to ja czegoś nie wiem. Owszem, może tuż po resecie tak jest, ale potem, nie wiem czy można to nazwać "w aplikacji" wykonuje się kupa kodu inicjująca pracę procesora, który to kod jest...
Hmm może mamy inne procki i dlatego ty nie potrzebujesz nic kombinować ? Przypuszczam nawet, że masz innego procka niż inżynierowie z ST, bo u nich aby jakiekolwiek zmiany w option bytes weszły w życie potrzebny jest RESET układu (programowy), czego Ty nie robisz (a przynajmniej ani słowa o tym nie ma w Twoim poście), więc... 2.4.2 Write protection...
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,...
fakatycznie, durny błąd:d ale to nie jest przycznyna główna moich problemów (wczesniej próbowalem programowac przez eclipse) teraz wykakuje mi cos takiego: C:\>openocd -f interface/jtagkey.cfg -f target/at91sam7sx.cfg -c "jtag_khz 1000" -c "init" -c "reset" -c "halt" -c "flash write_image erase C:\AT91SAM7S256_inc....
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 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,...
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...
Zrobiłem najprostszy program z uruchomieniem jedynie RCC i GPIO. [syntax=c] #include "math.h" #include "stm32f10x_gpio.h" #include "stm32f10x_rcc.h" #include "stm32f10x_flash.h" float a = 123.4; float b; void GPIO_Conf(void); void RCC_Conf(void); GPIO_InitTypeDef GPIO_InitStructure; int main(void) { RCC_Conf(); GPIO_Conf(); if (a < 40) { a = 123;...
Tylko że w F1 zabezpieczenie występuje zawsze, gdy wykonasz OB erase... Czyli nie da się zmienić (ponownie zaprogramować inną warość) WRP i Data0/1 bez przymusowego RDP1 :-/ Z ciekawości poszukam jak to jest opisane dla F3... Dodano po 11 Hmm.. tak to wygląda: https://www.st.com/content/ccc/resource/...
Rzeczywiście, wypisuje błąd związany z pamięcią stosu. Na początku zmieniam w linkerze : __main_stack_size = 4096; na __main_stack_size = 2048; błąd w konsoli w tym samym miejscu co wcześniej. lecz już konsola nie wypisuje błędów Możecie powiedzieć mi czy dobrze zabrałem się za to? Dodano po 21 gaskoin : tak ściągnąłem USB HID Demonstrator Release 1.0.2,...
**** Build of configuration Default for project stm32_blink_led-1.2.1-120107 **** cs-make all 'Compiling file: main.c' arm-none-eabi-gcc -c -mcpu=cortex-m3 -mthumb -O0 -ffunction-sections -fdata-sections -Wall -Wstrict-prototypes -Wextra -std=gnu89 -g -ggdb3 -fverbose-asm -Wa,-ahlms=out/main.lst -DSTM32F10X_MD -MD -MP -MF out/main.d -I. main.c -o out/main.o...
Witam Mam taki problem, że proc zawiesza się na czekaniu na wykonanie operacji PhyWrite w funkcji enc28j60Init Dochodzi do: [syntax=c]enc28j60PhyWrite(PHCON2, PHCON2_HDLDIS);[/syntax] I już z niej nie wychodzi. Zostaje na zawsze w pętli: [syntax=c]while(enc28j60Read(MISTAT) & MISTAT_BUSY)[/syntax] Używam przykładu z tej strony: http://www.stm32.eu/node/287...
Tablice wektorów mam z przykładów ze strony [url=http://www.freddiechopin.info/]http... Nic w niej nie zmieniałem i wersja 6.1.1 działa dobrze a 7.1.0 wiadomo Tak wygląda tablica wektorów: [syntax=cpp]void (* const vectors[])(void) __attribute__ ((section(".vectors"))) = { (void (*)(void))&__main_stack_end,// Main stack end address...
Witam wszystkich, ostatnio zacząłem się bawić uC STM32. Jest to moje pierwsze starcie z ARM-ami. Aktualnie próbuje uruchomić wyświetlacz TFT 4,3 cala, dokładnie jest to model firmy Ampire: AM-480272H3TMQW-TW7H. Wyświetlacz steruję za pomocą uC STM32F107VC. Wyświetlacz ma rozdzielczość 480x272 piksele z interfejsem równoległym 80 z szyną 16 bitów ustawioną...
Z racji że zostało mi niewiele czasu zmuszony jestem poszukać pomocy tutaj. Od kilku dni "ślęcze" nad odpaleniem przykładowej biblioteki MSD z przykładów Keila. http://www.keil.com/download/docs/362.as... Ta sama biblioteka dla LPC2148 działa znakomicie. Została lekko zmodyfikowana do obsługi karty SD. Problem jest taki że działa prawidłowo tylko wykrywanie...
Witam, napisałem mini-programik na odczytywanie wartości prądu z dwóch kanałów ADC i zapisywanie ich przez DMA. Po wciśnięciu przycisku rozpoczyna się pojedynczy pomiar z dwóch kanałów ADC1. Po pierwszym wciśnięciu przycisku wartości zapisywane w tablicy są poprawne, jednak po następnych wciśnięciach przycisku wartości te nie zmieniają się. W manualu...
Wyprostujcie mnie jeśli możecie. Wewnętrzne napięcie referencyjne Vrefint to nie jest tego samego typu napięcie referencyjne co w Atmegach, gdzie użytkownik mógł sobie wybrać pomiędzy nim, a np napięciem zasilania? Jest to bardziej napięcie kalibracyjne, które przydatne będzie m.in w procedurze wewnętrznej kalibracji? Tej tezie nieco zaprzecza zdanie...
Hej :) Natknąłem się na pewnie problem którego nie mogę rozwiązać otóż spróbowałem sobie zrobić prosty generator przerwań przy użyciu SysTicka (przykład z książki paprockiego) który zapalałby mi diode po 500ms. Nie wiem w czym może leżeć problem ale dioda mi nie miga. Poniżej wklejam kod main i funkcji void SysTickHandler(void): main: #include <stdint.h>...
A czy uważasz że wszystko jest linkowane? Twoje pytanie sporo sugeruje. Jakoś bylem zafiksowany na to, że w ten sposób dołączany kod musi być "wrzucony" w całości, ale cóż błądzenie to rzecz ludzka, sporo wody jeszcze upłynie zanim takie mechanizmy będą dla mnie zrozumiałe :) Cały czas mam przed oczami ten goły kod, który do STM32F103VCTx się nie mieścił,...
Ja bym na przykład nie zrealizował watchdoga w systemie awaryjnego gaszenia pożarów na ARM-ie... Za duże prawdopodobieństwo f.u.c.k.-upu w jakiejś krytycznej sytuacji. A czy to nie jest tak, że właśnie między innymi ARMy mają dwa niezależne watchdogi żeby spełniać bardziej restrykcyjne normy bezpieczeństwa? Dondu: Dzięki za rzeczowe argumenty na rzecz...
Wg schematu z działu "System and memory overview" manuala, DMA1 - w odróżnieniu od DMA2 - _NIE_ jest podłączone do układów peryferyjnych na szynie AHB. Zauważ, że w diagramie multipleksera magistrali brak jest "kropek" w miejscu gdzie krzyżują się DMA_MEM1 oraz szyny do AHB1 i AHB2. Jest to generalnie również przyczyna dla której DMA1 nie może uczestniczyć...
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...
Witam, Kolego atom1477 z ciekawości uruchomiłem Twój projekt, z tym że zmodyfikowałem tak main-a, że najpierw wypełniam ALGO_TAB jakimiś tam danymi, a później jednorazowo kasuję sektor i te dane zapisuję do FLASH-a i u mnie działa zawsze ok, niezależnie od poziomu optymalizacji. Nie chciało mi się już robić jakiegoś porównywania danych, to co zapisuję...
uporządkowałem te dwa includy ".c" ale dalej nic z tego, taki błąd: [cc] ^ [cc] C:\Users\Admin\Desktop\STM32F4DISCOVERY_... warning: format '%x' expects argument of type 'unsigned int', but argument 6 has type 'u32_t' [-Wformat=] [cc] C:\Users\Admin\Desktop\STM32F4DISCOVERY_...
Bardzo serdecznie dziękuję wszystkim Kolegom za zaangażowanie i okazaną pomoc. Szczególnie mocno zaś chcę podziękować Koledze IS, który poświęcił mnóstwo czasu żeby pomóc mi na PW. Stos udało mi się odpalić. Zasadniczo wszystko ruszyło. Jednak pojawił się niepokojący objaw. Zrobiłem sobie stronę, w której umieszczona jest ramka iframe dynamicznie odświeżana...
Zgadza sie, tylko dlaczego ten sam uK jest na tym laptopie wykrywany prawidłowo gdy uruchomię zapisany na stałe w system memory (pin boot na VCC przy starcie) bootloader USB, urzadznie zglasza sie jako DFU i moge sobie je odpinać ile chce i zawsze jest ok.
Witam. Po ogarnięciu portów i/o chciałem przejść do konwersji ADC. Początkowo zakładam, że nie korzystam z przerwań, nie korzystam z DMA. Screeny z Cube: http://obrazki.elektroda.pl/6506556500_1... http://obrazki.elektroda.pl/5974943000_1... http://obrazki.elektroda.pl/2033015600_1... Plik main: /** ****************************************...
Witam. Zamierzam nauczyć się programowania mikrokontrolerów ARM - z rdzeniem ARM Cortex - M3 w języku wysokiego poziomu C. Nie ma dużego wyboru jeżeli chodzi o książki, zdecydowałem się na: "STM32. Aplikacje i ćwiczenia w języku C" M. Galewskiego (http://www.kamami.pl/index.php?ukey=pro... Zastanawiam się nad tym, jaki zestaw startowy...
Witam, małe uzupełnienie do wcześniejszego postu: Procesor: STM32F303RE Płyta ewaluacyjna: Stm32nucleo zmiany w linkerze: [syntax=c] /* +=======================================... | stacks sizes +=======================================... */ /* Handler mode (core exceptions / interrupts)...
Super, jakoś udało mi się Eclipsa uruchomić fakt że w innej wersji Version: Mars Release (4.5.0) ale bez problemu spiąłem to. Przerzuciłem kod i co się okazało. Ruszył. Ale do szczęścia trochę brakuje, okazuje się, że nie rozpoznaje USB. Tzn ten sam dokładnie kod śmiga na Keilu, a na eclipse już nie. definicje: DEBUG USE_FULL_ASSERT TRACE OS_USE_TRACE_SEMIHOSTING_DEBUG...
Mam funkcję sin(x) zapisaną w tablicy y_sin_obl[100] czyli 100 próbek (przeliczone na wartości 0-4094 żeby do DAC można było od razu wpisać). Konfiguruję PLL: void pll_init(void) [syntax=c]{ // HSI enable RCC->CR|=RCC_CR_HSION; // HSI enable while(!(RCC->CR&RCC_CR_HSIRDY)); // wait for HSI ready RCC->CFGR |= RCC_CFGR_SW_HSI; //Select HSI...
To może wgraj oryginalną zawartość z Nucleo F411 jaka jest w nówkach na dzień dobry, by przynajmniej sprawdzić Nucleo plus ST-link. On tam miga i reaguje na przycisk może pamiętasz: No jest jakiś postęp chociaż nie wiem czy można to nazwać postępem. Wgrałem ten program, wyrzucił mi jakiś błąd elf loadera ale ostatecznie znalazł się w pamięci: Dodano...
Funkcja SystemInit jest wywoływana w obu przypadkach na początku main. Podałem ją w kodzie. Może tutaj faktycznie jest problem. Pliki startup.s Keila i Cube się różnią. Zauważyłem, że funkcja SystemInit jest wywołana w pliku dla Cube. Niestety te pliki to dla mnie czarna magia. Czytałem o nim artykuł waszego kolegi z elektrody. https://www.elektroda.pl/rtvforum/topic3...
GPIOA->BSRR |= GPIO_BSRR_BS5; To nie źródło problemu ale tak się tego rejestru nie używa. To jest write only rejestr czyli tylko samo przypisanie Zgadza się, dzięki :) Co do głównego problemu, punkt 1. Użyj debugera okazał się bardzo pomocny :) Założyłem, że skopałem coś w Makefile (np. brakuje jakiejś flagi) i podczas debugowania nic ciekawego...
ograniczenie dotyczy tylko standardu 4.2. Niestety, nie ma tak dobrze... Moim zdaniem należy ten fragment rozumieć jako "jedna karta SD, jedna karta SDIO, jedna karta MMC 4.2, wiele kart MMC 4.1 (lub wcześniejszych)". W STM32F7 (jak zresztą w wielu innych rodzinach) nawet nie ma wsparcia dla wielu elementów standardu 4.x dla kart SD, takich jak DDR...
(at)sulfur Dopiero teraz znalazłem czas żeby dalej zająć się CANem. Ustawiłem tak jak mówiłeś i dalej nic. Nie mam pomysłu co sprawdzić . Tak jak wcześniej wspomniałem mam przejściówkę USB/CAN za pomocą której próbuję przetestować CANa. Program do obsługi tej przejściówki w ustawieniach transmisji wygląda następująco : http://obrazki.elektroda.pl/8802608800_1...
Witam, Próbuje uruchomić wyświetlacz oparty o ILI9341 z wykorzystaniem SPI. Wyświetlacz sprawdzałem pod Arduino i działa, jest sprawny. Próbuję podpiąć go do STM32F407ZET6. SPI działa, widać że są przesyłane dane na oscyloskopie. Zaczerpnąłem procedurę inicjalizacji wyświetlacza z Adafruit dla Arduino ale wyświetlacz jak był biały tak jest po wgraniu...
No i tak działa - sam RTOS Dodano po 35 następnie dodałem w mainie wywołanie: ETH_BSP_Config(); System działa - wykonuje się zadanie Task_Main, potem dodaje wywołanie: LwIP_Init(); i powtórka zadanie Task_Main nie wykonuje się. Z programem ląduję w : void HardFault_Handler(void) { /* Go to infinite loop when Hard Fault exception occurs */ while (1)...
Witam, Od jakiegoś czasu męczę się z biblioteką stemWin i mam z nią problem. Kod mojego programu działał z freeRTOS i obsługą wyświetlacza z sterownikiem SSD1963 po FSMC. Gdzie drzewo projektu wyglądało: http://obrazki.elektroda.pl/5131657900_1... A kod to: http://obrazki.elektroda.pl/9563310500_1... Niby nie mam żadnych...
Witam, Kiedyś działało mi bez problemu jedno zadanie w freeRTOS, jednak teraz mam problem gdy próbuję utworzyć dwa zadania. Gdy debuguje program to zatrzymuje się na vTaskStartScheduler(); Co to może być ? Mój main to: [syntax=c] #include "stm32f4xx.h" #include "FreeRTOS.h" #include "task.h" #include "math.h" #include "stdio.h" #include "myusart.h"...
Witam, Bazuje na projekcie ze strony Freddie Chopin dla stma F4 z dodanymi bibliotekami STM32F4xx_StdPeriph_Driver. Zdefiniowałem sobie konfigurację timer'a w następujący sposób: [syntax=c]void Timers_Config(void){ RCC_APB2PeriphClockCmd(RCC_APB2Periph_TI... ENABLE); NVIC_InitTypeDef NVIC_InitStruct; NVIC_InitStruct.NVIC_IRQChannel = TIM1_CC_IRQn; NVIC_InitStruct.NVIC_IRQChannelPreemptio...
No wiec tak, te dwie rzeczy są takie same w obu twoich przykładach i ich nie zmieniałem: __main_stack_size = 0; __process_stack_size = 1024; Przedstawiam poniżej to co teraz mam w moim projekcie: STM32F103RC_rom.ld [syntax=c]/*****************************... * author: Freddie Chopin, http://www.freddiechopin.info/...
Dzień dobry, Od dłuższego czasu staram się zrobić działające pass-through dla audio - pobranie dźwięku z wejściowego mini-jacka i przeniesienie go na wyjście mini-jack. Na płytce jest kodek WM8994, którego wyjścią są przyłączone do SAI- serial audio interface, mini-jacki z kolei są podłączone pod kodek. Korzystałem z biblioteki dołączonej do płytki...
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...
Uruchomiłem bibliotekę FatFS na STM32L i karcie microSD o pojemności 512MB. Na tej karcie wszystko działa. Jednak próby uruchomienia innych kart (2GB, 16GB) zakończyły się niepowodzeniem. Funkcja f_mount po wywołaniu zwraca wartość: FR_OK = 0, /* (0) Succeeded */ Następnie próbuję utworzyć plik i tu pojawia się błąd: FR_DISK_ERR,/* (1) A hard error...
Skorzystałem z zamieszczonych przez Was kodów i ciągle coś mi nie wychodzi =/ Poniżej zamieszczę kody źródłowe, może Wy znajdziecie jakieś błędy. Wątpię żeby wszystkie kody które wykorzystałem do tej pory były złe - więc albo popełniam jakieś błędy podczas inicjalizacji ssd1963(chodzi mi tutaj o parametry czasowe vertical i horizontal sync mimo, że...
Dzięki za porady. Zakupiłem "kabel" ST-Link. Podłączyłem SWDIO, SWDCLK, GND i +3.3VDC. Po kliknięciu w "Connect" mam: 23:28:48 : Device ID:0x427 23:28:48 : Device flash Size : 256KBytes 23:28:48 : Device family :STM32L1xx medium density plus 23:28:48 : Can not read memory! Disable Read Out...
W efekcie wykonania poniższego kodu oczekiwałem czarnego tła na ekranie wyświetlacz, jednak po uruchomieniu jedyne co otrzymuje to przypadkowe wartości pamięci wyświetlacza (losowe czarno-białe punkty tzw. "szum"). Próbowałem uruchamiać wyświetlacz nie tylko w takiej konfiguracji jak zamieszczona tutaj (w sieci jest całkiem sporo przykładów wykorzystania...
Wiesza się w tym samym miejscu co w moim programie - po włączeniu przerwania NVIC_EnableIRQ. W stosunku do oryginału zmieniłem tylko port GPIO oraz dodałem obsługę TIM3 i mryganie diodą na podstawie TIM3->CNT by wiedzieć czy licznik rzeczywiście działa. W skrypcie linkera ustawiłem oba stosy oraz tak jak sugerowałeś zmniejszyłem pamięć o połowę -...
Schemat, obraz płytki, ew. zdjęcie. Czy linia BOOT0 jest zwarta z masą (powinna być)? Jest zwarta z masą przez 10k. W RM na 43 stronie znalazłem coś takiego: Empty check On STM32F070x6 and STM32F030xC devices only, internal empty check flag is implemented to allow easy programming of the virgin devices by the boot loader. This flag is used when BOOT0...
Przeczytaj dokładnie co tutaj jest napisane szczególnie to co pogrubiłem: /* Highest address of the user mode stack */ /* Please update “0x???” according to your system requirements */ _estack = 0x???; /* end of RAM */ /* Generate a link error if heap and stack don't fit into RAM */ /* Please update “0x???” according to your...
Cześć, Od kilku dni próbuję uruchomić obsługę pewnego modułu samochodowego, sterowanego poprzez magistralę CAN. Obsługa tego modułu wymaga wysłania pewnego zapytania, a następnie odebrania 4 ramek CAN odpowiedzi modułu - łącznie trzeba odebrać 32 bity danych. Udało mi się uruchomić nadawanie zapytania oraz odbieranie odpowiedzi, jednakże trzecia ramka...
Mikrokontrolery STM32H7 posiadają kilka domen zasilania i kilka bloków pamięci. Niby nic wielkiego, ale sprawa trochę się komplikuje kiedy trzeba korzystać z DMA przy obsłudze peryferiów i dość dużych struktur pamięci. https://obrazki.elektroda.pl/4349869800_... Pamięć danych jest dostępna jako (zielone obszary): DTCM - Pamięć danych...
Dzięki :) - właśnie tak wywnioskowałem z pliku *.h i napisałem coś takiego - chyba działa. Dziwi mnie tylko brak konsekwencji w nazewnictwie. Dodano po 1 Dalsze problemy: Nie potrafię nic zapisać do skonfigurowanej pamięci (LCD). Kontroler LCD nie jest fizycznie podpięty ale to chyba nie ma znaczenia. Podejrzewam,że należy załączyć stosowny bank pamięci...
Ok, compiling cppsupport.c... ..\..\..\Libraries\ISIX_RTOS\include\isi... warning: #260-D: explicit type is missing ("int" assumed) ..\..\..\Libraries\ISIX_RTOS\include\isi... error: #65: expected a ";" ..\..\..\Libraries\ISIX_RTOS\include\isi...
Mojej walki ciąg dalszy. Czy: 1. takie przerwania jak NMI, Hard Fault włącza sie jakoś czy zawsze są włączone. 2. jeśli NMI ma wyższy priorytet to jeśli jest wykonywane HardFault to jedno przerywa drugie? 3. Czy do przerwań systemowych konfigurowanych (jak Memory management fault, Bus Fault, Usage fault, SVCall, PendSV, SysTick) również ma zastosowanie...
Jeśli te funkcje zwracają status, to proponuję sprawdzać jaki dokładnie - DATA_EEPROM_Unlock(), DATA_EEPROM_Lock(), a zapewne też przez FLASH_ClearFlag(). nic nie zwracaja, usatwiaja tylko rejestry Dodano po 25 Zapomnialem napisac o jeden ważnej rzeczy, wszystkie opisane problemy wystepują gdy program głowny jest wykonywany z pod adresu 0x8003000,...
Dopiero jak "z palca" zrobię NO DEBUG to wtedy - no ale wtedy jest to zrobione świadomie bo sam tak wybrałem. Ale jaką wartość widzisz tam bez ruszania czegokolwiek? Dla jasności daję całą funkcję bo coś pisałeś że w user code. Sytuacja bez żadnej ingerencji w ustawienia (Nucleo-f103): [syntax=c]void HAL_MspInit(void) { /* USER CODE BEGIN MspInit 0...
Na swoją stronkę wrzuciłem najnowszą kompilację OpenOCD dla Windows, problem na który się natknąłeś powinien tam być rozwiązany. 4\/3!! Wykonując z konsoli komendę OpenOCD [reset halt] program zatrzymać powinien się zgodnie z plikiem *.map w pozycji wskazywanej przez Reset_Handler=0x0817ec7c a zatrzymuje się na adresie 0x1fff4abe (system memory ? -...
Zapewne zostanę przy tym wbudowanym, zastanawiam się jeszcze nad tym w jaki sposób mogę wejść w tryb bootloader'a oprócz konfigurowania pinów BOOT0, BOOT1. Chciałbym móc wysłać do procka komendę (USART) np. 0x24 co spowoduje skok do bootloader'a. user can execute bootloader by performing a jump to system memory from user code. Na podstawie powyższego...
Cały plik main. [syntax=c]/** ****************************************... * File Name : main.c * Description : Main program body ****************************************... * * COPYRIGHT(c) 2016 STMicroelectronics * * Redistribution and use in source and binary forms, with or without...
Masz rację, że szkoda całego tygodnia na taki problem:). Oto cały kod: Main: http://obrazki.elektroda.pl/2257364500_1... podłączenie do STM'a wygląda nastepująco: RxD do PA10, TxD do PA9. Więc nadal stoję w miejscu, ale nie poddaje się;).
(at)jacekcz sam początkowo planowałem LUA, bo je znam i integrowałem z C/C++ już wiele razy, ale potem jeden z kontrybutorów polecił Berry i wskazał, że potencjalnie jest on lżejszy od LUA, choć sam tego w tym konkretnym przypadku nie testowałem. Sam autor Berry natomiast pisze: A few years ago, I tried to port the Lua scripting language to STM32F4...
Dziękuję za kod. Jeśli chodzi o zmianę wskaźnika stosu to znalazłem takie fragmenty kodu w moim projekcie: [syntax=c]/*----------Stack Configuration---------------------------... #define STACK_SIZE 0x00000100 /*!< The Stack size suggest using even number */ __attribute__ ((section(".co_stack"))) unsigned long pulStack[STACK_SIZE];...
https://obrazki.elektroda.pl/8252582300_... https://obrazki.elektroda.pl/9509387700_... Moduł DshanMCU Pitaya Lite to płytka rozwojowa MCU oparta na kolejnej alternatywie dla układów STM32: mikrokontrolerze MindMotion MM32 z rdzeniem ARM Cortex-M3, o którym mówi się, że jest kompatybilny programowo z STM32. Jednostka...
Standardowo jest taktowany 168MHz na wewnętrznym źródle sygnału: Dodano po 13 Dodano po 28 [syntax=c] /** ****************************************... * (at)file system_stm32f4xx.c * (at)author MCD Application Team * (at)version V1.0.0 * (at)date 30-September-2011 * (at)brief CMSIS Cortex-M4 Device Peripheral Access...
Faktycznie. W pliku stm32f1xx_hal_msp.c mam już remap tych pinów. Poniżej zawartość pliku pliku stm32f1xx_hal_msp.c. [syntax=c]/** ****************************************... * File Name : stm32f1xx_hal_msp.c * Description : This file provides code for the MSP Initialization * and de-Initialization codes. ****************************************...
Domyślne, nie zmieniałem niczego. Skrypt linkera: [syntax=asm] /* Entry Point */ ENTRY(Reset_Handler) /* Highest address of the user mode stack */ _estack = 0x20004000; /* end of 16K RAM */ /* Generate a link error if heap and stack don't fit into RAM */ _Min_Heap_Size = 0; /* required amount of heap */ _Min_Stack_Size = 0x80; /* required amount of...
system stm32 shared system memory system memory passed
wymiana switcha uszkodzony yamaha rozdzielnica mieszkaniowa
Komunikat "Shareware Smart Cloud TV" w Manta - Rozwiązania John Deere 5720: Uszkodzony stabilizator RE207311