-
Thread
STM32F4 eigener Bootloader inkl. Flashen per .hex Datei
Hi, ich baue derzeit für ein Projekt eine Bootloader Firmware in C für den o.g. Mikrocontroller. Die Bootloader Firmware soll bei jedem Start ausgeführt werden. Ziel der Bootloader Firmware ist es: 1) Checken, ob eine valide Firmwareversion in mindestens einer von zwei Flash-Regionen vorliegt. Sind valide Firmwareversionen vorhanden? Dann lade die neueste Version. Ich möchte hierfür Flash Sektor 8-9(ab 0x08080000) und 10-11(ab 0x080C0000) verwenden. Diese Regionen habe ich bereits im Linkerscript des Bootloaders vermerkt. Hier habe ich noch nicht dran gearbeitet. Meine Idee ist, an festen Positionen
-
Thread
Sanfter Umstieg von 8bit auf 32bit Atmel
für den Einstieg besser, auch wenn es mich gerade geschüttelt hat als ich das Referenz-Manual vom STM32F4xx aufgemacht und die GPIO Register gecheckt habe. Bei den ATSAM mit Cortex hat Atmel wenigstens die Chance von dem deutlich aufgebohrtem Aufdressraum genutzt und da reichlich Register eingebaut. Eine PORT Gruppe für 32 Pins hat bei dem ATSAMC21 mal eben 95 Register. Ein STM32F4xx hat dagegen gerade mal 36 Register für einen Port. Und sowas wie GPIOx_BSRR finde ich deutlich weniger intuitiv benutzbar als die OUTSET und OUTCLR Register vom ATSAM. Wie auch immer, auch wenn
-
Thread
USART2_write
eine Zeile im Code verstehe ich nicht so ganz bzw. kann es nicht nachvollziehen. #include "stm32f4xx.h" // Device header int main(void) { } void USART2_Init(void) { RCC->APB1ENR |= 0x20000; // Bit 17, enable USART2 Clock RCC->AHB1ENR |=1; // Bit 1, enable GPIOA Clock
-
Thread
STM32F407 UART, PuTTY, USB to TTL FTDI adapter. Probleme
FT232RL_RX uC_GND -> FT232RL_GND Kann jemand sehen, wo mein Fehler liegt? Gruß, [c] #include "stm32f4xx.h" // UART1 is used. Sits on APB2 bus // GPIOA sits on AHB1 bus. USART1 is AF7 for PA9 and PA10 // PA9: USART1_TX // PA10: USART1_RX // Baudrate: 9600 void funcGPIOInit(); void
-
Thread
STM32F4 SDIO DMA HAL problem
Hi Ich kämpfe seit einem Tag auf meinem STM32F407VE (Black Board) einen einfachen SDIO DMA TX Transfer zu tätigen und zwar mit HAL und CubeIDE und FsFat. Ich habe mich strickt an diesen Weg gehalten (im PDF) https://community.st.com/s/feed/0D50X00009bMM7JSAW Bevor ich f_write ausführe setze ich den PIN PB15 auf HIGH und nach f_close setzte ich PB15 wieder auf LOW und am Oszi messe ich wie lange f_write bis f_close gedauert hat um einschätzen zu können ob wirklich DMA verwendet wurde. Ich messe immer ~140ms was mir irgendwie nicht koscher vorkommt. Ist der Transfer also doch nicht
-
Thread
Pi Zero richtige Wahl?
#6339201: > Und ARMe mit Speicherinterface natuerlich auch. Jepp, das wäre auch mein Favorit, ein STM32F4 mit externem RAM. Von PI würde ich ebenso abraten, der TO wird wegen mangelnder Dokumentation an der Bare-Metal-Programmierung scheitern. Allenfalls käme noch ein BeagleBone Black in Frage:
-
Thread
300 Hz Hochpass mit STM32F4
Hallo! Ich möchte mit meinem STM32F4 Controller eine digitalen Hochpass (300Hz) für Audio realisieren. Der angeschlossene Audio-CODEC liefert 16-Bit Sample bei 48kHz Samplefrequenz. Ich habe schon versucht mit OCTAVE oder WINFILTER Filterkoeffizienten
-
Thread
STM32 Kommunikation Profinet
Hallo, schau mal hier https://www.system-on-module.com/evaluation-boards/stm32f4-eval-kit/ Grüsse DRF
-
Thread
STM32f407 (black) SDIO CLK Fragen
nutzen, um den Verbrauch > zu reduzieren. ich schätze das geht bei meinem Vorhaben nicht. Der STM32F4 soll zusammen mit SDIO einen Datenlogger ergeben der so etwa 24h - 36h Daten aufzeichnet. Theoretisch brauche ich nur ~25kB/s auf die MicroSD Karte zu schreiben, da lag es für mich halt nah zu versuchen
richtige Boards (Discovery) wo womöglich das PCB Layout auch viel besser ist als auf meinem 15€ STM32F4XX Black Board...
-
Thread
STM32 UART buffer rx
nach Empfang des Datenpakets, Timeout nicht vergessen wenn Übertragungsfehler oder so: https://stm32f4-discovery.net/2017/07/stm32-tutorial-efficiently-receive-uart-data-using-dma/ Tilen Majerle ist mittlerweile FAE bei ST, hat vielleich Ahnung ;)
-
Thread
JTAG Adapter ST32F407
https://www.ebay.de/itm/1-2-5-10PCS-STM32F407VGT6-ARM-Cortex-M4-32bit-MCU-Core-Development-Board-STM32F4/274093156775?hash=item3fd139a9a7:g:fN0AAOSwIV5dynWU hat SWD und JTAG. Ich habe ST-Link-Adapter, https://www.ebay.de/itm/ST-Link-V2-OpenOCD-On-Chip-Debugger-STM8-STM32-JTAG-SWIM-Linux-OSX-Arduino
-
Thread
STM32 - GPIO_ReadInputData in HAL Layer
stehen, zumindest wenn man die entsprechenden Macros dafür definiert (USE_FULL_LL_DRIVER). Für STM32F4CubeMX gäbe es dann etwa im Header stm32f4xx_ll_gpio.h folgende Funktion [c] __STATIC_INLINE uint32_t LL_GPIO_ReadInputPort(GPIO_TypeDef *GPIOx) [/c]
-
Thread
Verständnisprobleme mit SPI, STM32, Interrupt, wie Senden/Empfangen?
the project is compiling for an FPU. Please initialize the FPU before use." #endif #include "stm32f4xx.h" void funcSPIInit(); void funcIntInit(); uint8_t TXvariable = 100; //char testvar[] = "Alex"; int main(void) { funcIntInit(); funcSPIInit(); for(;;) { while(SPI1
-
Thread
SPI galvansisch trennen, woher Trafo?
Habe erfolgreich den ADuM161 verwendet. Ging locker bis 42 MHz an einem STM32F4. Beschaltung ist auch idiotensicher :) Der hat einige "Kanäle" mehr, die ich für meine Anwendung auch brauchte. Von der Serie gibt es verschiedene mit unterschiedlicher Anzahl von Kanälen und Datenrichtungen
-
Thread
STM32f4 einfacher Timer LED mit LL
Hi Hardware: stm32f4xx black-board (STM32F407VE) Software: CubeIDE (kein HAL, nur LL) Aufgabe: Ich möchte eine LED an PB7 einmal pro Sekunde toggeln unter Zuhilfenahme des Timers TIM2 und nur den LL Libs, also
= APB1TimerClocks Du bist dir sicher dass das stimmt? Ich wusste noch garnicht das man die STM32F4xx so extrem runtertakten kann?
-
Thread
STM32F407 Pendant zu PORTD und PD0 für HD44780 Ansteuerung
Schau mal in die Datei <stm32f4xx_gpio.c>, dort siehst du wie das beim STM32 gemacht wird. z.B. so: [c] void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal) { if (BitVal != Bit_RESET) {
else PIOD->PIO_SODR = (1 << bit); [/c] um das Bit "bit" auf PIOD zu toggeln. AVR und STM32F4xxx können das einfach mit ^= (1 << bit) erledigen.
-
Thread
I2S Einfacher Audioausgang
Beitrag #6304277: > Ich habe bereits verschiedene EVAL-Boards von ST angesehen Dabei muss dir das STM32F4 Discovery irgendwie entgangen sein. Da ist ein Stereo I2S DAC drauf und noch Spässchen wie ein MEMS Mikrofon. SD Slot kann man rannnageln und/oder den USB-OTG Anschluss für Sticks benutzen.
-
Thread
STM32F429ZI ADC schneller als erwartet
Purpose : Generic application start */ //#include <stdio.h> //#include <stdlib.h> #include <stm32f4xx.h> #include "SEGGER_SYSVIEW.h" void ClockInit(void) { uint32_t timeout = 1000000; // enable flash prefetch FLASH->ACR |= FLASH_ACR_PRFTEN; // set 5 wait states (needed
-
Artikel
ARM GCC
mitbringen (CodeBench lite und Yagarto werden ohne ausgeliefert, GCC-ARM-Embedded mit). Am Beispiel der STM32F4 mehr dazu in diesem Thread: Floating Pointing Unit STM32F4 Links. Hier finden sich noch ein paar Tipps, für den 1. kann aber mittlerweile der GCC-ARM-Embedded direkt verwendet werden, da er jetzt
-
Thread
STM32F4 Quad SPI funktioniert nicht, wenn das obere Byte des Adressregisters nicht 0 gesetzt ist
Hallo, ich habe einen seltsamen Effekt beim Quad SPI des STM32F469I entdeckt. Zunächst einmal die Initialisierung des Quad SPI über CubeMX: QSPI_HandleTypeDef tQSPI; __HAL_RCC_QSPI_CLK_ENABLE(); tQSPI.Instance = QUADSPI; tQSPI.Init.ClockPrescaler = 180; tQSPI.Init.FifoThreshold = 1; tQSPI.Init.SampleShifting = QSPI_SAMPLE_SHIFTING_NONE; tQSPI.Init.FlashSize = 23; tQSPI.Init.ChipSelectHighTime = QSPI_CS_HIGH_TIME_2_CYCLE; tQSPI.Init.ClockMode = QSPI_CLOCK_MODE_3; tQSPI.Init.FlashID
-
Thread
Welche EXTI Line für GPIO Interrupt?
Hallo, ich möchte mit der Cube HAL für einen STM32F4 einen GPIO mit externem Interrupt konfigurieren: GPIO_InitTypeDef GPIO; GPIO.Mode = GPIO_MODE_IT_RISING_FALLING; GPIO.Pull = GPIO_NOPULL; GPIO.Pin = GPIO_PIN_11; HAL_GPIO_Init(GPIOB
-
Thread
Watchdog Flag im RCC gesetzt nach manuellem Reset
Hallo, in meinem Programm (läuft auf STM32F4) löse ich an einer Stelle einen manuellen Reset aus, um aus der Applikation in den Bootloader zu gelangen. Die Applikation wird vom IWDG (independent watchdog) überwacht, welcher großzügig ausgelegt
-
Thread
STM32: wie Prozessor auswählen
ein Prozessor auswähle der Flash mässig Luft nach oben hat? Wie erkenne ich Prozessoren der stm32F4 Reihe, wo der Core und Peripherals die gleichen sind, aber RAM und FLash aber Variabel sind? Was ist der Hauptunterschied zwichen der F und der G Reihe? Danke
Weil die Seite so schwer zu finden ist: https://www.st.com/en/microcontrollers-microprocessors/stm32f4-series.html Sorry, die ist weder bei Facebook noch bei Youtube.
-
Thread
Taugen die internen Pull Ups von STM32?
- das Datenblatt des 220AMC10R gibt 1µA @10mV als Mindestlast an. Damit wäre man hier mit 50kR (STM32F4xx) im grünen Bereich.
das Datenblatt des 220AMC10R gibt 1µA @10mV als > Mindestlast an. Damit wäre man hier mit 50kR (STM32F4xx) im grünen > Bereich. ... und dann passen wieder die internen Pullups. Aber: Stefan ⛄ F. schrieb im Beitrag #6287000: > Doch sie sind > recht hochohmig, deswegen wirken die Leitungen zum
-
Thread
Erstes PCB mit Eagle: STM32 Breakout Board
Hier entwirft einer ein STM32F4-Breakout-Board und erklärt dabei seine Schritte, also warum welches Bauteil und so: https://www.youtube.com/watch?v=t5phi3nT8OU
Markus K. schrieb im Beitrag #6286879: > Hier entwirft einer ein STM32F4-Breakout-Board und erklärt dabei > seine > Schritte, also warum welches Bauteil und so: > > Youtube-Video "KiCad STM32 Hardware Design and JLCPCB Assembly" Danke für den Hinweis. Habe kurz
-
Thread
LIN-Treiber für STM32F4
Hallo zusammen, ich bin momentan auf der Suche nach einem Software-LIN-Treiber für den STM32F4. Dabei soll der STM32F4 über UART und einen LIN-Transceiver als LIN-Master fungieren. Der Hardware-UART scheint laut Reference Manual in der Lage zu sein, BREAK-Charakter zu senden und zu erkennen
Leider scheint der Treibercode verschlüsselt zu sein, daher wird man ihn nicht ohne weiteres auf den STM32F4 adaptieren können. Oder übersehe ich da ggf. eine Möglichkeit? Hat bereits jemand Erfahrungen gesammelt in dem Thema LIN für STM32F4 und kennt vielleicht noch alternative Möglichkeiten? Beste
-
Thread
STM32F4 BK1 und BK2 des Quad SPI auswählen?
Hallo, ich möchte den Quad SPI eines STM32F469 mit der Cube HAL verwenden. Für Quad SPI gibt es zwei verschiedene "Bänke", BK1 und BK2. Sind das nun zwei verschiedene QUAD SPIs oder wie ist das zu verstehen? Bei der Initialisierung kann man nur einen Quad SPI wählen: QSPIHandle.Instance = QUADSPI; Wie wähle ich also aus, auf welcher Bank man Senden/Empfangen möchte? Vielleicht über die sogenannte FlashID? QSPIHandle.Init.FlashID = QSPI_FLASH_ID_1; Viele Grüße Johannes
-
Thread
SWO Atollic True Studio STM32Gute
Mann ;-) schrieb im Beitrag #6278822: #OT > als Simulation lösbar Welchen Simulator für einen STM32F4 kennst Du der eine Zielfrequenz von 180MHz und die dazugehörigen Peripherien mir dieser Taktrate simulieren kann? #/OT rgds
-
Thread
STM32 SPI Master<->Slave Kommunikation periodische Ausfälle
dem ich gerade absolut nicht mehr weiterkomme und hoffe, dass Ihr noch Ideen habt: ich habe zwei STM32F4, die über SPI miteinander kommunizieren. Die Prozessoren laufen beide auf 168MHz, SPI Prescaler ist 16, auf beiden läuft FreeRTOS. Der Master sendet jede ms (über Timer, nicht Task) 9 Words an den
-
Thread
STM32 als SPI Slave: CS hardware- oder softwaregesteuert?
Hallo, wenn man einen STM32F4 über die cubeMX HAL als SPI-Master konfiguriert, kann man bei der Konfiguration wählen, ob der CS- bzw. NSS-Pin per Hardware oder per Software gesteuert werden soll. Bei spi.Init.NSS = SPI_NSS_HARD
-
Thread
STM32 und ADC/DAC
> mehr als 10 ADCs Die STM32F4 haben 3 ADCs, jedoch jeder ADC hat mehrere Kanäle. 10 unabhängige ADC-Einheiten hat mit sicherheit keiner der STM32
-
Thread
STM32duino 1.9.0 and BlackPill
wäre TIM1_CH2N, also negatives PWM. Mittig auf der Seite: https://github.com/WeActTC/MiniF4-STM32F4x1 in dem schönen bunten Bild gibt es eine Übersicht. Jeder Tx_CHx könnte als PWM Ausgang dienen. Im Einzelfall zur Sicherheit prüfen.
>https://github.com/WeActTC/MiniF4-STM32F4x1 >in dem schönen bunten Bild gibt es eine Übersicht. Danke für den Hinweis. Ich habe herausgefunden, dass alle Pinzuordnungen sehr gut im VariantenFile ablesbar sind: https://github.com/stm32duino
-
Thread
Alpha-Spektrometer für Soundkarte/Mikrophoneingang (DIY Particle Detector)
dann auch > für Dich eine Herausforderung sein. An eine solche Box hatte ich auch gedacht. STM32F4xy, kleines Farbdisplay, ein paar Taster, Datenflashspeicher, Eingänge, Ausgänge, H-Brücken, Relais.. etc für universelle Mess und Steueraufgaben. Aber wenn ich mir anschaue dass ich nur zu ~2 Projekten
-
Thread
STM32F4 Zustand der GPIO während Reset/PowerOn
Hallo, ich habe folgende Problemstellung: Bei Booten bzw. beim Reset der Spannungsversorung eines STM32F4 Discovery gehen zwei meiner drei benutzen Pins auf einen Peglel von 2V (PB6 & PB9). Der dritte (PB7) bleibt auf 0V wie es ein soll. Ich habe an den Ausgängen einen ULA2803 -> GpioTreiber dran welcher
-
Thread
Dauer einer Instruktion ermitteln
STM32F4 hat 'nen Zyklenzähler in DWT->CYCCNT. UDIV hat eine von den Werten abhängige Zyklenzahl. Aber der Fallback auf LSRS lohnt sich IMHO nur wenn der Wert fest auf einer Zweierpotenz steht (#define
Jim M. schrieb im Beitrag #6261510: > STM32F4 hat 'nen Zyklenzähler in DWT->CYCCNT. Guter Hinweis, danke. Der ist echt nützlich.
-
Thread
avr-gcc-10 - "volatile deprecated [-Wvolatile]" Warnungen
*************************************************************************** * @file system_stm32f4xx.c * @author MCD Application Team * @version V1.7.0 * @date 22-April-2016 * @brief CMSIS Cortex-M4 Device Peripheral Access Layer System Source File. * This file contains the system clock configuration for STM32F4xx devices. // … void SystemInit(void) { /* FPU settings ------------------------------------------------------------*/ #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) SCB->CPACR |=
-
Thread
STM32 SPI Slave DMA mit HAL
Hallo, ich arbeite gerade an einem Projekt, in dem 2 STM32F4 über SPI miteinander kommunizieren sollen (Full Duplex). Der Master schickt hierfür jede ms ein Paket raus (9 words, Prescaler 16, software CS, 16Bit) mit einer Checksumme im letzten word. Der Slave
-
Thread
Geany, C, GCC4.7, eigenes makefile: Will for-Schleife nicht kompilieren!
auf dem PC aber immer, auch bei hochperformanten Sachen. Zur Zeit spiele ich mit C++ auf einem STM32F4 mit C++ herum. STDIO retarget mit C++ low level Treibern, eigenem VFS, CMSIS-RTOS Kapselung mit C++ (also Thread ist geerbter Member einer Klasse). Sehr sauber, interessant, nur Debuggen ist (noch
-
Thread
Problem mit SPI Master<->Slave Kommunikation (STM32)
Hallo, ich probiere gerade zwei STM32F4 miteinander über SPI kommunizieren zu lassen. Der Master ist auf auf der 5.25 MBit/s eingesetellt (läuft mit 168MHz) und sendet 10 Words alle 1ms per HAL_SPI_TransmitReceive_IT. Der Slave hat einen
-
Thread
Externen Watchdog deaktivieren (debugging)
Hallo, ich habe hier hier eine Schaltung mit einem STM32F4 Prozessor und einem externen Watchdog, die ich gerne debuggen möchte. Momentan wird der watchdog alle 100ms getriggert, indem der WDI-Pin getoggelt wird. Wenn ich nun debugge wird nach einem Breakpoint
-
Thread
FPU auf STM32F4 (Cortex M4) zieht sehr viel Strom
loop könnte ohne FPU-Berechnungen so kurz sein, dass sie > komplett in den Cache passt. Der STM32F4 hat keinen Cache. Stattdessen nutzt STM den Flash-Accelarator (ART), um die Zugriffszeiten zu minimieren. Hatte den auch schon im Verdacht. Das war's dann aber nicht. Ist sehr sicher die FPU bzw.
M. H. schrieb im Beitrag #6241408: > Der STM32F4 hat keinen Cache. Mein RM0090 sagt im Kapitel ART Accelerator™ [pre]Instruction cache memory To limit the time lost due to jumps, it is possible to retain 64 lines of 128 bits in an instruction
-
Thread
STM32 bootloader
Table 6. Bootmodes) https://www.st.com/resource/en/application_note/dm00115714-getting-started-with-stm32f4xxxx-mcu-hardware-development-stmicroelectronics.pdf
-
Thread
Ethernet per USB Adapter
! RNDIS wird ebenso vom Linux Kernel und MacOS unterstützt. Ich habe eine RNDIS library für den STM32F4 geschrieben und eine Demo in ein git repo hochgeladen: https://github.com/nicokorn/STM32F4XX_RNDIS_DEMO Die Demo funktioniert auf allen gennanten Platformen.
-
Thread
Hilfe bei stm32 Wahl
nicht nutzen, einige Sachen sind auch nicht alle gleichzeitig benutzbar (siehe Konfigurator). Ein STM32F4 sollte reichen. Vielleicht hast Du Zugriff auf ein Discovery Board? P.S.: Als Anfänger ist das aber eine sportliche Aufgabenstellung.
Pete K. schrieb im Beitrag #6222745: > Ein STM32F4 sollte reichen. Da hatte ich auch schon einen Favoriten: STM32F413RH Mich verwirrt halt nur SDIO und SDMMC und ob man mit USB-OTG-FS ohne viel Aufwand hinbekommt ohne externe PHY's (was auch
-
Thread
Corona-Projekt: Waveplayer
RS232) - Parallel I/O für externe Taster/Pedal Bis dahin dachte ich an eine Kombination aus STM32F4 und Cirrus CS43L22 DAC als Hauptkomponenten, in etwa so, wie sie auch auf dem F4 Discovery Board zu finden sind. Aber bei einer Funktion, die ich gern hätte, habe ich keine Vorstellung, wie man
-
Thread
STM32 Standard Peripheral Library in Segger Embedded Studio einbinden
restlichen beziehen sich auf die HAL. Genau, das sind dann die Ordner inc und scr in dem Ordner STM32F4xx_StdPeriph_Driver mit den .c und .h Dateien. Walter T. schrieb im Beitrag #6207742: > So wie alle anderen Quelltext-Dateien auch. Und genau das hat leider nicht funktioniert. Deswegen die
-
Thread
Neue MCU APM32F103
Mehr Infos hier: https://github.com/WeActTC/MiniF4-STM32F4x1
John Doe schrieb im Beitrag #6200888: > Mehr Infos hier: > https://github.com/WeActTC/MiniF4-STM32F4x1 Ja genau, danke Euch. Das ist nützlich um die belegten Pins und Quarzfrequenz in CubeMX zu definieren. Dann kann man sicher innerhalb von 15 Minuten eine LED zum blinken bringen.
-
Thread
Unterschiedliche Funktionssignatur für main() realisieren
darf der Funktionsname nicht als Makro definiert sein */ #elif defined( STM32F10x ) || defined( STM32F4XX ) /* Zielplattform (Debug, Release, Modultests) */ #define MAINFUN() main(void) #elif defined( MOCKUP_SDL ) /* Mockup */ #define MAINFUN() SDL_main(int argc, char *argv[]
* kehrt bei manchen Plattformen zurueck, bei manchen nie. */ int MAINFUN() { #if defined( STM32F4XX ) || defined( STM32F10x ) /* Timer und Interrupt-Prioritaeten einstellen */ /* SysTick-IRQ deaktivieren. /* NVIC/ISRs konfigurieren */ /* Zyklenzaehler fuer