Get ready for the STM32 Summit 2026 | Online, November 3
Ask questions and find answers on STM32 microprocessors, including hardware, power, DRAM, flashing, interfacing, device tree, and peripherals.
Most recent activity
I could not find any information relates to vbat battery charging in user manual or datasheet.Is this feature supported in STM32MP15x?Thanks,
I have two boards stm32mp157f-dk2 and my custum board(embedded stm32mp157d).I know that the difference stm32mp157f and stm32mp157d is simply security part.And my custom board don't have C-type connector because of issues in parts supply.So, After plugging the sd card into the stm32mp157f-dk2, I flashed the flashlayout dedicated to stm32mp157d via the stm32cubeprogrammer.And then, does it boot if I put the sd card back on the custom board?I've been looking for a reason why my custom board hasn't booted for weeks...What we've seen so far from the cmd and DAT0 signals on the sd card is that the initial cmd signal has the same logical level, and the DAT0 signal is slightly different.I'd appreciate it if you could let me know.Thank you
The two graphs above are the data obtained from different cores. The left side is the MCU method start, the sampling rate is 1.6M, the acquisition of 1KHz signal, the acquisition of 1600 points is correct; the right side is the EMMC from the A7 core start ADC in M4, the acquisition of only about 600 points, the sampling rate is obviously wrong. The output of the data in the above two ways is the same, both are serial printouts Translated with DeepL
We are using LPDDR2 and have wired the data bits as per the ST provided example STM32MP15XXAD_LPDDR2x16-Example-A01_Schematic.PDF (attached)We have swapped the same bits in the DQ15:8 byte as per the PDF but I can't find anything to tell me how to perform this swapping in the devicetree or otherwise.Below is the screenshot from the Application Note detailing that bit swapping is possible.
Hello,I am having difficulties with the MMC bus and the external SDIO wifi module. We are using the wifi module jody-w263 from U-blox with the OSD32MP1, and the communication with the module works, but it is quite slow. The wifi module is capable of SDR 104 and DDR50 communication speeds, but I add the support to the DTS, the communication is broken and the device returns the -110 while initializing.How can I add support for higher speeds?I attach the working dts, dmesg, ios and caps, and relevant schematic.Any suggestion will be appreciated.Best regards,Tomáš.
Hello,We are using DDR3 for our baremetal application in stm32mp1.we have completed the initialization sequence followed by the application note AN5168 provided by ST.After completion of initialization sequence we are trying to write the data into DDR3, but it is getting hanged while writing i.e. it is not writing into memory. May be we might not configure the speed and size of DDR3/DRAM.Please can you help how to configure the same. By providing any hint like registers name or any link regarding the initialization.As we are working on it since long back and it is urgent to us ,So please do needful at the earliest.regards,Navaneeth Kumar
Hi,I try to combine STM32MP157CAA3 with DDR3L 8Gbits density. I modified cubemx to support 8Gbit memory and recompiled the Openstlinux mp1-v22.11.23 kirkstone.The problem is that DDR3 is detected in the first stage U-Boot but not executed 2nd stage U-Boot and reboot a few times after stack. The question is do STM32MP157CAA3 support 8Gbits density DDR3 memory in one chip and if yes what is wrong?Log from boot processNOTICE: CPU: STM32MP157CAA Rev.Z NOTICE: Model: STMicroelectronics custom STM32CubeMX board - openstlinux-5.15-5 INFO: PMIC version = 0x21 INFO: Reset reason (0x15): INFO: Power-on Reset (rst_por) INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe2000 INFO: FCONF: Reading firmware configuration information for: stm32mp_io INFO: Using USB INFO: Instance 2 INFO: Boot used partition fsbl1 NOTICE: BL2: v2.6-stm32mp1-r2.0(debug):v2.6-dirty(a1f02f4f) NOTICE: BL2: Built : 13:14:26, Nov 23 2021 INFO: BL2: Doing platform setup INFO: RAM: DDR3-DDR3L 16bits
On the STM32MP157-DK1 schematic there is a note to say "WARNING - do not supply 3V3,5V from Arduino shield", even though it looks as though pin 5 on CN16 is electrically connected to 5V_VIN via a 0R resistor.It's going to be very inconvenient to use the USB-C connector from within an enclosure , so I was wondering if that was just because the board wants more power than a single pin can provide ? Or if there's another reason.There is no such note on the GPIO Expansion header (where pins 2,4 are connected to 5V_IN) - is this because there are 2 pins to share the load, or should I not power the board from the GPIO expansion header either ?
The ST33xxxx with backside terminal.My question is about this back side terminal .Which is this terminal conect to GND or Vcc.OR ,Is this used open. thankyou.
I am using an STM32MP151 in linux (5.4.56) and therefore using the DTS to setup some GPIOs i need.I have difficulties setting up PUSH_PULL | PULL_UP configuration in the DTS for my GPIO, while, after linux has booted, using devmem i am successfull in altering the PUPDR for this GPIO and read the new config.In my DTS:main_ss_en-gpios = <&gpiod 13 (GPIO_ACTIVE_HIGH | GPIO_PUSH_PULL | GPIO_PULL_UP)>;Howver, when i read the PUPDR register with devmem, this is all zero.In my board, this gpiobank is at 0x50005000.After Linux started up, using devmem, i can see:# devmem 0x5000500c 0x00001000while it should read 0x08001000 or 0x04001000, depending if i set PU or PD.If now i set one of those values, devmem should it correctly.I tried to look at the gpio driver, pinctrl driver, etc ... i cannot see a reason why this is not applied upon parsing the dts.Am i missing something here ?THanks,Jacques
I am trying to transmit variables via the uart2 serial port from GY-521(mpu6050) library, however, all my attempts are unsuccessful. typedef init in the main.c:MPU6050_t sensor_data;main.c area to put HAL_UART_Transmit(): while (1) { MPU6050_Read_All(&hi2c1, &sensor_data); HAL_Delay(100); }.h needed structure variables to transmit into serial port: typedef struct{ int16_t Accel_X_RAW; int16_t Accel_Y_RAW; int16_t Accel_Z_RAW; double Ax; double Ay; double Az; int16_t Gyro_X_RAW; int16_t Gyro_Y_RAW; int16_t Gyro_Z_RAW; double Gx; double Gy; double Gz; float Temperature; double KalmanAngleX; double KalmanAngleY;} MPU6050_t;
hi st expert:I'm updating my yocto version to Ecosystem V4.1.0, but I can not compile suceess in wsl ubuntu20.04, this is error log:log.do_rootfs.23400 as follew:How should this problem be solved? thanks B&RTao
Hi,I am working on the implementation of a AI algorithm in a heat pump. My first choice was the SPEAr320 MPU: it is outdated though, it doesn't have enough resources and any FPU. Which MPU should I choose for this application ? that is to say inference and training of the AI algo.
I recently purchased a STM32MP135F-DK Board to develop a IoT application. I'm slowly learning my way though OpenSTLinux. but for a urgent need i need to develop a hand application demo. the product description says it also supports bare metal RTOS programming. I'm unable to set a C Programming environment for STM32MP135F on STM32CUBEIDE like for STM32 Micro controllers. It only open's on ST Linux development environment only. kindly guide me a way for bare metal programming on STM32MP135F.
Hi, I'm working with the STM32MP157 and I'm trying to interface it with 4 lanes DSI display. the problem is that the STM32MP157 support only DSI with 2 lanes. In the other hand, I can't program the controller of the display (JD9365DA-H3) to switch with 2 lanes display. So I want to know if the display can work with only 2 lanes instead of 4. In general, how we can interface (no programmable) 4 lanes display with STM32MP157Thank you
Hello,I want to send in reliable way messages from M4 core to A7 core (in my case its the HW is STM32MP157 -DK2 ). The problem is that when A7 core is busy, the messages are truncated.The quesiton is how M4 core would know that A7's buffers are full?I went thru the RPmsg code api and I can see that uart driver uses the api funciton below:/** * This function sends rpmsg "message" to remote device. * * @param ept - pointer to end point * @param src - source address of channel * @param dst - destination address of channel * @param data - data to transmit * @param len - size of data * @param wait - boolean, wait or not for buffer to become * available * * @return - size of data sent or negative value for failure. * */ int rpmsg_send_offchannel_raw(struct rpmsg_endpoint *ept, uint32_t src, uint32_t dst, const void *data, int len, int wait)Which should return <0 in case of failure (I guess it cant send the message due to buffer are full).My experiment reveals that whe
Hello,I want to upgrade my hardware to new openstlinux kirkstone release november 2022.First test on eval board was successful.I have written custom device tree files and compiling for tf-a, u-boot, fip and kernel is fine.However when I try to flash my image flashlayout to my custom board I get a "ERROR: Illegal access to 0xfffffff0:"See following for complete output:NOTICE: CPU: STM32MP157C?? Rev.ZNOTICE: Model: OSD32MP1 epis shuttle sps boardINFO: PMIC version = 0x21INFO: Reset reason (0x214):INFO: IWDG2 Reset (rst_iwdg2)INFO: FCONF: Reading TB_FW firmware configuration file from: 0x2ffe2000INFO: FCONF: Reading firmware configuration information for: stm32mp_ioINFO: Using USBINFO: Instance 2INFO: Boot used partition fsbl1NOTICE: BL2: v2.6-stm32mp1-r2.0(debug):v2.6-dirty(a1f02f4f)NOTICE: BL2: Built : 13
Hello,Using a custom board loosely based on STM32mp157F-DK2we are using boot0 and boot2 pins.According to documentation,boot mode configuration is as follows;Boot Mode BOOT2 BOOT0Recov/DFU 0 0Nor 0 1Reserved(DEV) 1 0SD-Card 1 1 Whereas with our board,I get a table like this Boot Mode BOOT2 BOOT0DFU 0 0DFU 0 1Reserved(DEV) 1 &n
Hello We've designed a custom board based on 157F-DK2 with device tree generated from the custom CubeMX project (included in case somebody like to review it.)After flashing it in DFU mode with the image created from openstlinux sdk, TF-A bails out of boot with messagePANIC at PC : 0x2fff1de9 Exception mode=0x00000016 at: 0x2fff1de9Now the troubleshooting guide says this probably stems from clock settings but our clock settings are similar to DK2. Interestingly if I flash the device with the official binary from SDKI getNOTICE: CPU: STM32MP157FAC Rev.Z NOTICE: Model: STMicroelectronics STM32MP157F-DK2 Discovery Board ERROR: I2C device not ready PANIC at PC : 0x2fff0467 Exception mode=0x00000016 at: 0x2fff0467which means we are over the clock problems and there is a problem with communicating with PMIC judging by the BL code ret = stm32_i2c_init(i2c, &i2c_init); if (ret != 0) { ERROR("Cannot initialize I2C %x (%d)\n", i2c->i2c_base_addr, ret); panic(); } &nb
stm32mp157f-dk2 is not embedded jtag connector,but i want to use jtag debugger.st-link(stm32f103cbt6) embedded in stm32mp157f-dk2 has jtag pin(T_JTCK, T_NRST, T_SWO, T_JTMS)Q1. Can't I use jtag with only ST-LINK USB CONNECTOR (5 pin)?Q2. what should I do if I want to use jtag?Thank you
I'm using spi5 and my device tree settings are &spi5 { pinctrl-names = "default", "sleep"; pinctrl-0 = <&spi5_pins_a>; pinctrl-1 = <&spi5_sleep_pins_a>; #address-cells = <1>; #size-cells = <0>; num-cs = <1>; is-decoded-cs = <0>; cs-gpios = <&gpiof 6 GPIO_ACTIVE_LOW>; /delete-property/dma-names; /delete-property/dmas; status = "okay"; tsc2046@0 { reg = <0>; // CS0 compatible = "ti,tsc2046"; interrupt-parent = <&gpiof>; interrupts = <10 2>; interrupt-controller; spi-max-frequency = <1000000>; pendown-gpio = <&gpiof 10 0>; vcc-supply = <&v3v3>; touchscreen-size-x = <1024>; touchscreen-size-y = <600>; wakeup-source; status = "okay"; };}; The driver of the touch screen is ADS7846. It's currently in-build. Something wrong in the device tree ? Some more info. The chip select line seems to be i
Hello,I'm writing to inquire if there is documentation/support for developing non-linux operating systems using the STM32 MPU discovery kits. So far I've only found Cube support and documentation for ST's custom linux distro. Obviously, a processor being a processor, it can run anything I put in the ROM. But I'd like to be able to utilize some of the development tools that these boards are supposed to support to make the development/debugging experience easier.I'm using a STM32MP157D-DK1, in case that makes any major difference.
..
Hello,I am working on a custom board based on stm32mp157 and I have the need to enable the PWR_USB_SW through the ST PMIC. So far, I identified the bit VBUSOTG_ON in register BST_SW_CR (0x40) but I had no success in configuring it via devicetree or via I2C from userland (ST PMIC resource is busy and I cannot disable the interrupt controller using it). Could you please provide details on how to drive that bit? Could you please confirm that the modifiying the register of the ST PMIC via devicetree is the proper way to configure the peripheral? I had a look at the bindings here, but there is nothing referring to PWR_USB_SW.Thanks in advance, any help is appreciated!Have a nice day!
i also find some people say this is a bug,repeatedly click the setting of user label can be solved,but i try it's can‘t figure it out.....By the way,GPT also not give the correct solution (this is why i am here)this is my first question in this commuity,so please forgive the mistake maybe i have done: )
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.