Get ready for the STM32 Summit 2026 | Online, November 3
Join conversations with your peers and ST experts. Explore the full potential of STM32 microprocessors for your embedded design.
Most recent activity
..
I see below that an OpenAmpFreeRtos_Echo sample for STM32Cube was created which loads FreeRtos on the M4 and communicates via OpenAmp:https://community.st.com/s/question/0D50X0000BI0vctSQB/freertos-does-not-run-on-stm32mp1-m4-core?t=1615759904082 Does a similar demo exist for NuttX? Or, is a similar demo coming for OpenAmp and NuttX on the M4?https://cwiki.apache.org/confluence/display/NUTTX/NuttX+And+OpenAMP?preview=/152112290/152112291/OpenAMP.pdf
This is might save someone the few hours I spent tracking this down. I am wondering if this is a bug. It would seem like a reason that you have m4 sections in the device tree. So linux can be aware not to touch an M4 resource. Linux shuts off the vdda shortly after booting thinking no one is using vdda and then it seems like the DAC is not working as we control it from M4.So I am not sure if this is considered a bug or not. The solution is to set vdda as "regulator-always-on"&m4_dac{ pinctrl-names = "default"; pinctrl-0 = <&m4_dac1_pins_mx>; status = "okay"; vref-supply = <&vdda>; // Does not prevent vdda from being shut off. };vdda:ldo5{ regulator-name = "vdda"; regulator-min-microvolt = <2900000>; regulator-max-microvolt = <2900000>; interrupts = <IT_CURLIM_LDO5 0>; regulator-always-on; // <--added };
I am evaluate the STM32MP157C-DV2 board.I tried to disable the automatic start of the weston service by referring to the wiki below.https://wiki.st.com/stm32mpu/wiki/How_to_stop_and_start_Westonroot@stm32mp1:~# systemctl disable weston@root.serviceroot@stm32mp1:~# rebootbut it does not work properly.Still the weston service will run automatically and a demo application will appear.Status is static after disable as shown below.root@stm32mp1:~# systemctl disable weston@root.serviceroot@stm32mp1:~# systemctl status weston@root.service[[0;1;32m*[[0m weston@root.service - Weston Wayland Compositor (on tty7) Loaded: loaded (/lib/systemd/system/weston@.service; static; vendor preset: disabled) Active: [[0;1;32mactive (running)[[0m since Fri 2021-03-05 06:00:23 UTC; 16min ago Main PID: 3884 (weston) Memory: 792.0K CGroup: /system.slice/system-weston.slice/weston@root.service &nbs
Hello,My app running on M4 uses adc. It starting at kernel boot process using systemd. After some time kernel poweroff vdda and vref while my app is running[ 14.173564] remoteproc remoteproc0: powering up m4[ 14.308543] remoteproc remoteproc0: Booting fw image OpenAMP_TTY_echo_CM4.elf, size 2541404[ 14.361095] virtio_rpmsg_bus virtio0: rpmsg host is online[ 14.370223] virtio_rpmsg_bus virtio0: creating channel rpmsg-tty-channel addr 0x0[ 14.389900] mlahb:m4@10000000#vdev0buffer: registered virtio0 (type 7)[ 14.399505] rpmsg_tty virtio0.rpmsg-tty-channel.-1.0: new channel: 0x400 -> 0x0 : ttyRPMSG0[ 14.408052] remoteproc remoteproc0: remote processor m4 is now up[ 14.422284] virtio_rpmsg_bus virtio0: creating channel rpmsg-tty-channel addr 0x1[ 14.455735] rpmsg_tty virtio0.rpmsg-tty-channel.-1.1: new channel: 0x401 -> 0x1 : ttyRPMSG1[ 34.411305] vref: disabling[ &
Hi,i have done some Benchmarktest via Rpmsg and iam getting following results:Maximal datarate sending data from M4 to A7 4.359 MB/s.Maximal datarate sending data from A7 to M4 9.16 MB/s.Now iam not sure why reading from A7 side is so much slower than writing, because you always get an interrupt back doesnt matter if you are sending or reading data. I have following thougths about that and also a question:If Linux receives an Interrupt from IPCC, is Linux handling the Interrupt directly or will the functions executed later from a worker-thread? This would be nice to know.The reading function seems to be more complicated and needs more ecextuion time than just writing?!Maybe someone already have some thoughs or answers to that.
Hello everybody,i have a problem booting the SD card. The problem occurred after I copied the device tree (.dtb) from my project from STM32CubeMx to the STM32MP157A under / boot. When booting, the U-Boot and the start kernel run endlessly. How can I solve the problem?Thanks a lotHere is the output from the board:U-Boot 2018.11-stm32mp-r2 (Nov 14 2018 - 16:10:06 +0000)CPU: STM32MP157AAC Rev.BModel: STMicroelectronics STM32MP157A-DK1 Discovery BoardBoard: stm32mp1 in trusted mode (st,stm32mp157a-dk1)Board: MB1272 Var1 Rev.C-01 Watchdog enabledDRAM: 512 MiBClocks:- MPU : 650 MHz- MCU : 208.878 MHz- AXI : 266.500 MHz- PER : 24 MHz- DDR : 533 MHz******************************************** WARNING 500mA power supply detected ** Current too low, use a 3A power supply! ********************************************NAND: 0 MiBMMC: STM32 SDMMC2: 0In: serialOut: serialErr: serialNet
I see that the OpenAMP_TTY_echo example uses the stm32mp15xx_retram.icf file in the EWARM. But thereis also an stm32mp15xx_sram.icf file. Can someone please point out the differences between the two ic files and why the OpenAMP example used the retram and not the sram location?
After importing from the repo (1.3) the application example FreeRTOS_CreateThread_CM4 when loaded for debugging, the debugger fails to set breakpoints complaining that there are already too many break points set. I only set one. It looks like the application is running as I can pause the debugger and see where the code is currently executing. I can resume the application as well. Also the LEDS do not come on which is why I am trying to break point the code. Is there something special about FreeRTOS running on CM4 that precludes the use of breakpoints? I am using:STM32MP157-DK2STM32CubeIDE on Linux
We use HSE osc instead of xtal as suggested by errata. However to support STANDBY we need to turn it off by GPIO. The idea is to boot from SPINAND on HSI and turn HSE in bootloader.Unfortunately it seems that ROM hangs when HSE is not present:< @ 00646143 | [INFO] - BOOTCORE_Pll1Started >< @ 00651111 | [INFO] - BOOTCORE_Pll1Locked >< @ 00652481 | [INFO] - BOOTCORE_Pll2Started >< @ 00657398 | [INFO] - BOOTCORE_Pll2Locked >< @ 00658999 | [INFO] - BOOTCORE_CkMpuSsSwitchedOnPll1 >< @ 00660470 | [INFO] - BOOTCORE_CkAxiSsSwitchedOnPll2 >< @ 00661050 | [INFO] - BOOTCORE_Pll12StartReqStatusPllStarted >< @ 00824184 | [INFO] - NANDCORE_GetParamFromOtp >< @ 05653430 | [INFO] - BOOTCORE_HseNoBypass >< @ 06934011 | [ERR ] - BOOTCORE_HseNotReady >I tried to set CFG9 bits 1 and 2 (skip HSE detects) but no success. Setting bit 5 in CFG3 (skip PLLs) doesn't help too.Is HSE usage somehow hardcoded for SPINAND boot ? From docs I get that only US
I have an STM32MP157 discovery kit and we are considering using STM32MP157 at my work for a future PCBA we are creating.We would like to connect an external UHS1 microSD slot to the STM32MP157, but for data collection writing at 100 MB/s. We would also like to connect a separate eMMC to SDMMC .I see this text in Section 58.1 of the STM32157 reference manual which causes me to wonder if the current system would support this?https://www.st.com/resource/en/reference_manual/dm00327659-stm32mp157-advanced-armbased-32bit-mpus-stmicroelectronics.pdfDoes this mean the hardware can't every support the configuration we are desiring? Or the software somewhere like OpenSTLinux needs to be modified? Or is the information stale?In other ST documentation, I see that we are able to configure booting from SDMMC1 or SDMMC2 which seems strange if the system can only support 1 "MMC" connected thing at a time.Thank you,andy
Hello, I have done the modification in the device tree related to inclusion of usart3 as per 3.3.1 Activation of a USART or UART instance in https://wiki.st.com/stm32mpu/wiki/Serial_TTY_device_tree_configuration&usart3 { pinctrl-names = "default", "sleep", "idle"; /* pin configurations definition */ pinctrl-0 = <&usart3_pins_a>; /* default pin configuration selection */ pinctrl-1 = <&usart3_sleep_pins_a>; /* sleep pin configuration selection */ pinctrl-2 = <&usart3_idle_pins_a>; /* idle pin configuration selection */ status = "okay"; /* device activation */};in the dk2 dsi, but after kernel booting , Banner seems stuck at ST and doesnt loads the full gui.I need to connect to it for delta changes in the application and then pushing it to the board using scp but without gui loading I cant test further. Help please !I can connect via minicom and see ttySTM1 up.this is the boot log : https://pastebin.com/ugziKQnzI confirm that with
Hi,I'm using a custom board with custom device tree, the distribution is built with ST's Distribution Package (st-image-core). Now the bootloader (u-boot v2020.01) freezes while "starting kernel" with some strange errors before. Should I search for errors in the DT or is there another reason for not starting the kernel?stm32_smc: Failed to exec svc=82001003 op=1 in secure mode (err = -3) Net: eth0: ethernet@5800a000 Hit any key to stop autoboot: 0 Boot over mmc0! switch to partitions #0, OK mmc0 is current device Scanning mmc 0:4... Found /mmc0_extlinux/extlinux.conf Retrieving file: /mmc0_extlinux/extlinux.conf 256 bytes read in 24 ms (9.8 KiB/s) Retrieving file: /splash.bmp 18244 bytes read in 25 ms (711.9 KiB/s) 1: OpenSTLinux Retrieving file: /uInitrd 3632489 bytes read in 176 ms (19.7 MiB/s) Retrieving file: /uImage 7317848 bytes read in 334 ms (20.9 MiB/s) append: root=PARTUUID=e91c4e10-16e6-4c0e-bd0e-77becf4a3582 rootwait rw console=ttySTM0,115200 Retrieving file: /stm32mp157c-m
Using STM32CubeIDE Version: 1.6.0 on Linux I am able to follow the wiki to import, build, load and modify the OpenAMP_tty_echo application example. However, when I follow the same steps to import the FreeRTOS_ThreadCreation_CM4 application the program will not load to the target. I have compared the Debug configurations between the two examples and they are identical except where they need to differ with respect to program and path locations. The terminal is closed prior to loading as expected but then the terminal does not start back up with the GDB info that I normally see and then a "Problem Occurred" dialog box shows up with the Details:Error if final launch sequence: Failed pre launchFailed pre launchFirmware remoteproc load failed!This leaves little to go on to debug the issue. Any ideas?
hi i am using stm32mp157caa3, there is a i2c slave operating at 3v3, while design, we have not connected( "forget")pull up line on i2c clk and data line, so i tried enabling open-drain internal pull up in dtsi , but i2cdetect is not able to find the slave devicedtsi : pins { pinmux = <STM32_PINMUX('H', 11, AF5)>, /* I2C1_SCL */ <STM32_PINMUX('B', 9, AF4)>; /* I2C1_SDA */ bias-pull-up; drive-open-drain; slew-rate = <1>; &n
Hello. I am working on standby/wakeup using gpio pin in stm32mp1 custom board. Going to sleep works well using gpio-keys but I can't wakeup. What bothers me most is that interrupt responsible for waking up does not set "waleup" attribute although it is defined in DTS as wakeup-source. I am not sure whether I correctly understand the concept behind exti_pwr and pwr_irq nodes so if there is anyone who can help me with a proper setup I would appreciate your help. Please find enclosed DTS. gpio_keys { compatible = "gpio-keys"; #address-cells = <1>; #size-cells = <0>; autorepeat; input-name = "gpio-keys"; button@1 { label = "Suspend"; linux,code = <205>; gpios = <&gpioi 6 GPIO_ACTIVE_LOW>; }; button@2 { label = "Wakeup"; linux,code = <143
I find the kernel Panic when I mmap 16 shared memory regions.(4KB/memory)
Whether it's to minimize computational power, improve the device's output or keep the GUI from freezing or crashing, debugging embedded software can be a challenging and time-consuming step in the process of developing embedded devices.With a multitude of combinations of inputs, outputs, and timings in a Linux-based system this is where leveraging intuitive trace analysis tools can help save on time and headaches.Join ST, Percepio, and Crank Software for this 45-minute webinar to learn how to ensure that your GUI performs as expected on the STM32MP1, raising the user experience bar for your embedded product. In this session, we will demonstrate how Crank Software’s GUI development tool, Storyboard, along with Percepio’s Tracealyzer can provide a rich set of high-level overviews for top-down exploratory analysis, including process interactions, parent/child process dependencies, state machines, CPU usage, and more.In this webinar, you will learn how to:Leverage Storyboard’s embedded too
We've created a bunch of sample touch screen apps in our Storyboard ST GUI builder software that you can download, and save to your hardware. In moments, you'll be able to visualize and interact with a fully-functional sample touch screen application and see quickly the type of touch screen performance that is possible on your STM32 hardware.Simply download and execute the sample demos onto your board today!
Dear community,we got a problem booting from our eMMC (THGBMJG9C8LBAU8) memory and we cannot figure out how to solve it. The Silicon Revision seem to be "Z". Attached you can the the ping pong between MPU (STM32MP151A) and eMMC. The initialization sequence is coming from the MPU and the eMMC also responds. But after that there is no follow-up. We have looked up the errata sheet (Link 2.3.8) and it seems there were problems with older silicon revisions but we are wondering if the issue still occurs with Z revision as the described behavior in the errata is very similar. Attached you can find the command sequence observed by the logic analyzer and the BootRom Log.Thanks,Bernhard Boot Rom Log:< @ 00007504 | [INFO] - BOOTCORE_BootRomMaskVer ( 0x00000000 ) > < @ 00008800 | [INFO] - BOOTCORE_BootRomVer ( 0x00000102 ) > < @ 00009976 | [INFO] - BOOTCORE_FreezeIWDG12Clocks > < @ 00011335 | [INFO] - BOOTCORE_HwResetPOR > < @ 00024986 | [INFO] - BOOTCORE_ChipModeSecOpen
I am facing a freeze on M4 and A7 core when enabling FreeRTOS with OpenAMP_TTY_echo example.Can someone please point out if OpenAMP and FreeRTOS can be run together or not?
Hello,We want to transfer a project from STM32F7 to STM32MP157C ( cortex M4 side). To do that we need an external RAM (arround 20 Mbytes). Is there a way to map an external RAM on cortex M4 side with cubeMX ?Best regards,Arnaud
Hello! I have just discovered that kit I would like to use to develop a new testing system within the company where I am working. However, I have some questions about it:What kind of additional card could we use to apply 24V to the board's input (I have to use the output signal of the inductive sensor currently used)?Does it exist a card which can directly get 24V as an input voltage (or is it always 5V or 3.3V)?How many analogical, numerical and On/Off I/O does the kit's board have?Could we use some software like Matlab to analyse the output signals of that card?I truly thank you in advance for your answers!Sincerely,
Hy i am using the usart3 from the STM32MP157A-DK1. i orientated myself on the USART driver (https://elixir.bootlin.com/linux/latest/source/drivers/tty/serial/stm32-usart.c).butwhen i want to initialize theport I get following error code “Rs453Network: probe of 4000f000.serial failedwith error 77�? on this methode stm32port->wakeirq = platform_get_irq(pdev, 1);I have this device tree configuration:Stm32mp15xx-dkx.dtsi&usart3 { pinctrl-names = "default", "sleep", "idle"; pinctrl-0 = <&usart3_pins_b>; pinctrl-1 = <&usart3_sleep_pins_b>; pinctrl-2 = <&usart3_idle_pins_b>; &nb
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.