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
Hi,I encounter an extraordinary problem with STPMIC1APQR. When powering on the board without loading any images voltages on each section are as described in the PMIC documentation. When I start fsbl the voltages change, and increase not as described in the dts.My dts configuration is as follows&i2c4{ pinctrl-names = "default", "sleep"; pinctrl-0 = <&i2c4_pins_mx &i2c4_pins_z_mx>; pinctrl-1 = <&i2c4_sleep_pins_mx &i2c4_sleep_pins_z_mx>; status = "okay"; /* USER CODE BEGIN i2c4 */ i2c-scl-rising-time-ns = <185>; i2c-scl-falling-time-ns = <20>; clock-frequency = <400000>; /delete-property/ dmas; /delete-property/ dma-names; pmic:stpmic@33{ compatible = "st,stpmic1"; reg = <0x33>; interrupts-extended = <&exti_pwr 55 IRQ_TYPE_EDGE_FALLING>; interrupt-controller; #interrupt-cells = <2>; status = "okay"; regulators{ compatible = "st,stpmic1-regulators"; buck1-supply = &l
I'm trying to get PWM running on an STM32MP157-DK1.When i run the example code "TIM_DMABurst" there is a PWM (had oscilloscope on Pin). Then I configured TIM1 on Channel 1 and the DMA on Stream2 with CubeMX. The generated code looks exactly the same like in the example, but there is no PWM output. Is there a problem with the HAL driver, or maybe clock configuration? Spent hours in debugging this, but i need PWM to drive a WS2812 LED Strip.I recognized that the example jumps over SystemClock_Config() (works without ENGENEERING_MODE).The code shows the beginning of main.c.I'm thankful for every advise!#include "main.h" #include "openamp.h" /* Private variables ---------------------------------------------------------*/ IPCC_HandleTypeDef hipcc; TIM_HandleTypeDef htim1; DMA_HandleTypeDef hdma_tim1_up; uint32_t Prescaler ; /* Capture Compare buffer */ uint32_t aSRC_Buffer[3] = {0x0FFF, 0x0000, 0x0555}; /* Private function prototypes ---------------
I have a custom board with a STM32MP157AAB3 and I am trying to boot it with the SD card. I have tested the SD card on a STM32MP157C-DK2 and it boots to Linux fine. When I probe the SD card lines, I can see the clock is toggling for a long time and the CMD pins is also toggling however nothing happens on the D0 pin, it is held high (3V3)
I want to load a bootloader and then the firmware to my board via ST Link in one pass in an automatic mode.
we are developing the application by using STM32MP1 processor in bare metal.we are able to wake up Cortex A7-1 from Cortex A7-0 both are working fine. Now we tried to wake up Cortex M4 from Cortex A7-0,But we are unable to wakeup Cortex M4 from Cortex A7-0.Individually Cortex M4 is working fine with JTAG .and we can able to wake up Cortex M4 from UBOOT By using RPROC commands .But in our application we need to wake up Cortex M4 from cortex A7-0 in bare metal. Can you give the sequence of waking up cortex-m4 from Cortex-A7-0 in Bare metal.Please help us in this regards..
I try to spi communication between my board with STM32MP157AACx microprocessor and STM32F429 disco board. I write code using bare metal for master side(my board), using HAL library for slave board(STM32F429). My problem is that I can't receive data from master side. There is my sample code piece from master side below:int enable = 1; uint8_t data; uint8_t someval = 0x40; void spi_init(void) { RCC->MC_AHB4ENSETR |= (1 << 1); //GPIOB peripheral clocks enable RCC->MC_AHB4ENSETR |= (1 << 8); //GPIOI peripheral clocks enable RCC->MC_APB1ENSETR |= (1<<11); //spi2 peripheral clocks enable GPIOI->MODER &= ~(1<<2); GPIOI->MODER |= (1<<3); //PI1 Alternate function GPIOI->PUPDR &= ~(1<<2); GPIOI->PUPDR &= ~(1<<3); //PI1 no pull up no pull down GPIOI->MODER &= ~(1<<4); GPIOI->MODER |= (1<<5); //PI2 Alternate function GPIOI->PUPDR &= ~(1<<4); GPIOI->PUPDR
I have custom board based on STM32MP153C.This board has 7 serial ports. I configuring these ports with STM32MP1Cube.After linux boot 4 of these serial ports become disabled Driver doesn't probe them and they are in "disabled" state in /sys/firmware/devicetree. Enabled only serial0, serial 3 and serial5 portsi tried to make a devicetree dump with dd if=/dev/mem at adress in which devicetree was loaded by uboot and in this dump these ports are disabled as well.DTB If I convert my DTB file (which is loading by UBOOT I see my correct devicetree, but in memory dump is edited and I don't know why.Also my board has I2C and SPI interfaces and they have the same behavior.Below I give part of my device tree in terms of serial ports:#include <dt-bindings/pinctrl/stm32-pinfunc.h> #include "stm32mp153.dtsi" #include "stm32mp15xc.dtsi" #include "stm32mp15xxab-pinctrl.dtsi" #include "stm32mp15-m4-srm.dtsi" / { aliases { serial0 = &usart6; serial1 = &uart8; serial2 = &
Hi,I am doing "4.Adding an external out-of-tree Linux kernel module" at the below link.https://wiki.st.com/stm32mpu/wiki/How_to_cross-compile_with_the_Distribution_PackageI am suffering from a module building problem and got the message below. I don't have much knowledge about Linux so it looks pretty hard to fix the issue by myself. Could you kind help me how to solve this issue? Thanks!| DEBUG: Python function extend_recipe_sysroot finished| DEBUG: Executing shell function do_install| install: cannot stat '/home/ckim/STM32MPU_workspace/STM32MP1-Ecosystem-v4.0.0/Distribution-Package/build-openstlinuxweston-stm32mp15-disco/kernel_module_example/kernel_module_example.ko': No such file or directory| WARNING: exit code 1 from a shell command.ERROR: Task (/home/ckim/STM32MPU_workspace/STM32MP1-Ecosystem-v4.0.0/Distribution-Package/build-openstlinuxweston-stm32mp15-disco/workspace/recipes/mymodule/mymodule.bb:do_install) failed with exit code '1'
Hi,We are using stm32mp157a-dk1 board. In this board USB hub is connected to usb_dm1,usb_dp1 pins of controller. It is working fine Hub is detecting and ports are also detecting in user space.Here is my problem. We are using stm32mp157a processor in my custom board. In this board USB_DM2 USB_DP2 pins are connected to USB_HUB. So i followed the below page in st wikihttps://wiki.st.com/stm32mpu/wiki/USBPHYC_device_tree_configuration As per above link i changed &usbh_ehci node in dts file.&usbh_ehci {// phys = <&usbphyc_port0>; phys = <&usbphyc_port0>,<&usbphyc_port1 1>; phy-names = "usb"; status = "okay";};But Hub is not detecting. I am for configuring Usb Port2 for usb host configuration. For this i am configuring the usb port 2 in correct way or not?Please help us in this Regards.
we are working on STM32MP1 in UBOOT 2018 version .we are trying to access the EMMC from UBOOT by using following commands in the below linkhttps://develop.phytec.com/phycore-imx7/linux/pd18.1.0/how-to-guides/flashing-and-booting-from-emmcEMMC is device detecting, but while writing image into EMMC device is getting hanged.so we are unable to write image into EMMC. Please help us in this regards.
Hi,For SD, we just take the card to PC, write image directly, take about few minutes for 4GBFor EMMC, we have to use STM32CubeProgram and this take so long, up to an hourI am using USB, not serial. For Serial, it could be a day for 115200bps.We are not sure if we are doing correct way, or this is normal when write few GB over STM32CubeProgram? Is there any other way we don't know yet?
We have a custom board developed on stm32mp157 with openstlinux-5.10.10 (dunfell). I want to monitor the GPU consumption, and as per this link, I enabled the debugfs flag from menuconfig. However, upon deploying the image to target, no /gc folder was created. Upon further digging, I figured out that the galcore.ko module which is responsible for this was missing.Hence, I looked up the gcnano binaries, referring to the developer package installation instructions, however, there seems to be no gcnano binaries available for openstlinux-5.10.10 denfell. (following figure where my version is 3.1.0. The versions above 4.0.1 have the gcnano drivers in their package)How should i enable the gcnano driver for 5.10.10?Also are there any alternate ways to monitor the GPU consumption in stm32mp1 MPU's?
I built u-boot for stm32mp157a-dk1 board with basic boot mode:Defconfig: stm32mp15_basic_defconfigDevice Tree: stm32mp157a-dk1I got this error at starting u-boot and if I try to read/write from/to OTP register:stm32mp1_clk_get_id: clk id 69 not foundU-Boot SPL 2020.10-stm32mp-r2 (Aug 14 2022 - 13:41:53 +0100) Model: STMicroelectronics STM32MP157A-DK1 Discovery Board RAM: DDR3-DDR3L 16bits 533000kHz stm32mp1_clk_get_id: clk id 69 not found WDT: Started with servicing (32s timeout) Trying to boot from MMC1 U-Boot 2020.10-stm32mp-r2 (Aug 14 2022 - 13:41:53 +0100) stm32mp1_clk_get_id: clk id 69 not found stm32mp1_clk_get_id: clk id 69 not found stm32mp1_clk_get_id: clk id 69 not found stm32mp1_clk_get_id: clk id 69 not found CPU: STM32MP157C?? Rev.? Model: STMicroelectronics STM32MP157A-DK1 Discovery Board Board: stm32mp1 in basic mode (st,stm32mp157a-dk1) stm32mp1_clk_get_id: clk id 69 not found DRAM: 512 MiB Clocks: - MPU : 650 MHz - MCU : 208.878 MHz - AXI : 266.500
.. previously I had STM32MP157D-DK1 on work, there DFU works Ok,but now bought STM32MP157F-DK2 for home, there's no any sign of connection,reset button do not affect on STlink led, meanwhile stlink/2 itself - works and other USBs - is Ok.Maybe it's a problem of attached LCD or any jumper should be on (except Boot1/2+reset) Another guess: I downloaded several times a new firmware into onboard stlink, so maybe thus killed a "special" firmare for Stm32F1xx for DFU loaded for MP1,so like AN2606 it recommends.Regards. PS: I cant believe its is a "congenital" defect of the product.
Hi!I am using a STM32MP157C-DK2 board to communicate via CAN. To do this, I have created a program in STM32CubeIDE and set the FDCAN parameters:Classic mode.150KB/s nominal baud rate.HSE clock source (24MH) I have been testing in engineering mode and I was able to receive and send CAN messages (I have connected to an IXXAT device).My problem starts when I try to do it in production mode:I cannot send and receive messagesI do not know if I forgot to set a clock or something to enable FDCAN.Can someone help me please?Thanks!
hi ST expert:I am porting openSTDroid to my mp157 board,i use prebuilt kernel img&dtb and android kernel can boot normal,but when i update the kernel, it cant boot normal,can you help me solve this problem?my compile cmd:build_kernel mrproperbuild_kernel -imake -j16sudo provision-device -p ~/study/st-android/android/out/target/product/eval /dev/sdab&rtao
we are working on STM32MP1 in Linux .we are trying to access the EMMC from Linux by using following commandsudo fdisk -l but EMMC device is not detecting/accessing. Please help us in this regards.
Hi all ~I'm trying to control GPIO input in own application. and I refered to below wiki. https://wiki.st.com/stm32mpu/wiki/How_to_control_a_GPIO_in_userspacethis is my code. gint gpiochip_fd, ret; gchar gpiochip_path[20]; struct gpioevent_request in_req; struct gpiohandle_request out_req; // IN1 PB12 gpiochip1 // IN2 PB5 gpiochip1 // IN3 PH6 gpiochip7 // IN4 PD15 gpiochip3 // IN5 PD14 gpiochip3 // IN6 PD11 gpiochip3 // IN7 PE7 gpiochip4 // IN8 PE9 gpiochip4 // IN9 PE8 gpiochip4 // IN10 PG9 gpiochip6 // IN11 PE10 gpiochip4 // IN12 PD12 gpiochip3 gint idx; gint in_gpio_chipno[NO_INPUT] = {1, 1, 7, 3, 3, 3, 4, 4, 4, 6, 4, 3}; gint in_gpio_lineoffset[NO_INPUT] = {12, 5, 6, 15, 14, 11, 7, 9, 8, 9, 10, 12}; for (idx=0; idx<NO_INPUT; idx++) { g_sprintf(gpiochip_path, "/dev/gpiochip%d", in_gpio_chipno[idx]); gpiochip_fd = open (gpiochip_path, O_RDWR); if (gpiochip_fd == -1) fprintf(stderr, "Failed to open %s\n", gpiochip_path); else { in_req.lineoffset =
Hi,I was downloading and installing Distribution package for the 1st time following this link: https://wiki.st.com/stm32mpu-ecosystem-v3/wiki/STM32MP1_Distribution_PackageAs I want version openstlinux-5.10-dunfell-mp1-21-03-31After source sync there are no files present. May I know why its discarding?root@si-rd22:/distribution-package/openstlinux-5.10-dunfell-mp1-21-03-31# repo init -u https://github.com/STMicroelectronics/oe-manifest.git -b refs/tags/openstlinux-5.10-dunfell-mp1-21-03-31.repo/manifests/: discarding 3 commitsYour identity is: ***.*** [removed by moderator]If you want to change this, please re-run 'repo init' with --config-nameTesting colorized output (for 'repo diff', 'repo status'): black red green yellow blue magenta cyan white bold dim ul reverseEnable color display in this user account (y/N)?repo has been
Hi, according to "AN5256 Application note", I think VTT -DDR termination resistors circuitry is ok to be removed. Does it mean all things relate to VTT DDR below are also safe to remove out of the design? Many thanks
Hi team,I'm developing a PCB that implements STM32MP151AAA3.I think VBAT is a backup power supply for RTC, so I'm planning to supply power to VBAT from a button battery.Will the RTC be reset when this button battery is changed?If it is so, is there any way to avoid resetting, such as connecting a capacitor on the VBAT input terminal?Best regards,
On STM32MP157f-DK2, when use UART4 which is default connect to STLink, STM32CubeProgrammer connect and work perfectly in boot serial mode.But when I change to different port (like USART3, pin PB10 and PB12 (also supported by default), STM32CubeProgrammer doesn't connect.I guess when power up, STLink does something on UART4, this makes STM32MP1 MPU think UART4 is being used for serial mode and prevent all other uarts?
After reading documents, I understand the practical boot sequence of STM32MP1 is BOOTROM->TF-A->U-boot->Kernel->file systemIn my use case, I prefer to use Windows and write code in bare metal, without U-boot and device tree involved. 1 I think the boot sequence will be BOOTROM->TF-A->bare metal binary?2 I tried STM32MP15x starter package in Windows, by using STM32CubeProgrammer, to flash binaries to NVM such as NAND, and NOR etc. If I understand correctly, is FIP section in the tsv file assigning the partitions of NAND flash and NOR flash? If I want to go with the boot sequence I mentioned above, is there a way I can modify FIP bin/access the source code in Windows, and change NAND flash partition?3 Is there an identification header, like the 256 bytes header that TF-A contains, needs to be attached to my bare metal binary?Thanks in advance.dchen
ERROR:dbus.connection:Exception in handler for D-Bus signal:Traceback (most recent call last): File "/usr/lib/python3.8/site-packages/dbus/connection.py", line 232, in maybe_handle_message self._handler(*args, **kwargs) File "/home/root/0.3.4.5/obd_gen2_ble_py/blemodule/adapter.py", line 285, in _properties_changed self.address == adapter_addr, File "/home/root/0.3.4.5/obd_gen2_ble_py/blemodule/adapter.py", line 104, in address return self.adapter_props.Get(constants.ADAPTER_INTERFACE, 'Address') File "/usr/lib/python3.8/site-packages/dbus/proxies.py", line 141, in __call__ return self._connection.call_blocking(self._named_service, File "/usr/lib/python3.8/site-packages/dbus/connection.py", line 652, in call_blocking reply_message = self.send_message_with_reply_and_block(dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replyingERROR:d
For a new design I need a very powerful MPU device. I would like to use STM32MP1 without Linux OS. I don't need this OS. Does it make sense to use STM32MP1 for a bare metal application? Compared to STMH747, what is the performance of STM32MP1 processor? I did not find any results on the STM32MP1 coremark score on the EMBC website
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.