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 have STM32CubeIDE Version: 1.12.0 and a STM32MP157F evaluation board.Created a M4 project and assigned SPI1 to it, generated the code.I then created a function to read a register:const uint16_t opcode = 0xe000; uint8_t value = 0; HAL_GPIO_WritePin(GPIOZ, GPIO_PIN_3, GPIO_PIN_RESET); HAL_SPI_Transmit(&hspi1, &opcode, 2, 100); HAL_SPI_Receive(&hspi1, &value, 1, 100); HAL_GPIO_WritePin(GPIOZ, GPIO_PIN_3, GPIO_PIN_SET);It always fails in HAL_SPI_Transmit at SPI_WaitOnFlagUntilTimeout.Any ideas on why?
First, build the package installed from STMicro's official website with the MACHINE name as "qemux86-64".And is it possible to display about 6 applications such as camera and video playback using demo launcher when started with "$ runqemu"?I look forward to your reply. Thank 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
Hi,I have a problem with the DMA seemingly being shut down due to ADC overrun.What I want to achieve: Three ADC channels should be read indefinitely and the values should be written to memory by DMA as soon as they are ready.What's currently happening:ADC and DMA work in the beginning, so my buffer fills up with values, but shortly after the start, the values in the buffer are not updated anymore and the DMA2_Stream0_IRQHandler is not called anymore either. I suspect the problem is an overrun, as the OVR bit is set in the ADC_ISR register (value is 0x101F) and ErrorCode is set to 2.The ADC_DR registers value still changes, so the ADC itself seems to be operational, and only the DMA stopped working.When the DMA does not work anymore, the DMA_CR register value alternates between 0x440 and 0x457. NDTR is some value over 140, and the addresses in M0AR and M1AR keep changing.My code for the ADC/DMA is as follows:DMA Initialization:static void MX_DMA_Init(void) { /* DMA controller clock ena
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.Now I am using stm32mp157a-ev1 board and coding M4 program on stm32cubeide.However, there is a problem that the stm32cubeide stops at 70% after starting to run or debug.And can check the log for errors in metadata.2023-04-04 17:11:23,560 [INFO] LogOutputStream:77 - [STDOUT_REDIRECT] 2023-04-04 17:11:46,018 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".2023-04-04 17:11:46,018 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] SLF4J: Defaulting to no-operation (NOP) logger implementation2023-04-04 17:11:46,018 [ERROR] LogOutputStream:75 - [STDERR_REDIRECT] SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.The OS environment is Windows 10, and the installation location is installed with the default settings.I can't proceed with the current project, so please help.
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
What are the benefits of using OpenStLinux on STM32MP15 and how does it differ from other operating systems?Thank you in advance for your response :)
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.
I am an embedded Android developer working on eval board STM32MP157f-EV1 ,we started to design a custom hardware based on it .So I downloaded the st-android-11.0.0-2021-01-29 android soft , and flashed the board as mentionned on the wiki hwo to android , the switches are configured to boot from emmc , the startup of android system is ok but without screen , the dispaly is white , the tactil working fine i can see by the logcat all the services are fine even the ST laucher com.stmicroelectronics.stlauncher.Any help please ? , i tried to build locally a soft , flashed to sdcard but i faced the same problem on the dispaly .I attached the full log here
..
Hi,I can currently only find support for STM32MP157A-DK1 and STM32MP157C-DK2 boards in u-boot.Is there a plan to support the STM32MP157F-DK2 board in the near future?Kind regards,Steinar
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!
Hi,I am using STM32CubeProgrammer version 2.12 running on Windows 10 to connect to the STM32MP157F-DK2 board ST-LINK connector CN-11.I managed to connect and when I click "Firmware upgrade" the STLinkUpgrade 3.4.0 window opens.However, when I press "Open in update mode" I get the error message:Error connecting to device ST-LINK/V2-1 (error 0x3); check USB connection and refresh the device listAt this point the connection is dropped and I have to connect again.I also noticed that the "Current Firmware" was not listed as I expected from my experience of upgrading the ST-LINK firmware on other NUCLEO and DISCOVERY boards.Maybe the current version of STM32CubeProgrammer doesn't yet support the STM32MP157F-DK2 board ?Any help would be much appreciated.Kind regards,Steinar
I'm using the STM32MP157F-DK2-ND evaluation board and getting an error when I try to enable SPI5.I have researched previous posts with this errorhttps://community.st.com/s/question/0D53W000006FjAUSA0/error-activating-spi-module-in-yocto-linux-projecthttps://community.st.com/s/question/0D53W00000GZlRVSA1/enabling-devspidevxx-on-openstlinuxhttps://community.st.com/s/question/0D53W00000RS3ynSAD/how-can-i-enable-spi5-on-stm32mp157dk1And reviewed relevant documentationhttps://wiki.st.com/stm32mpu/wiki/How_to_use_SPI_from_Linux_userland_with_spidevhttps://wiki.st.com/stm32mpu/wiki/SPI_overviewhttps://wiki.st.com/stm32mpu/wiki/SPI_device_tree_configurationI've also ensured these options are checked in make linux-menuconfighttps://wiki.st.com/stm32mpu/wiki/SPI_overview#Kernel_configurationStill, I cannot figure out why the clock isn't running.[ 1.533147] spi_stm32 44009000.spi: clk rate = 0 [ 1.536942] spi
Hello all,I am facing a strange issue where the kernel sometimes fails to reboot the system. Here is what I am seeing.I use busybox reboot -f from the command line so that the reboot request goes directly to the kernel, i.e. no init/systemd involved. This simplifies things.I am tracing the reboot syscall up to the psci_sys_reset function of the PSCI device driver (drivers/firmware/psci/psci.c). I am toggling a GPIO just before invoking invoke_psci_fn:static int psci_sys_reset(struct notifier_block *nb, unsigned long action, void *data) { pr_info("reset!\n"); if ((reboot_mode == REBOOT_WARM || reboot_mode == REBOOT_SOFT) && psci_system_reset2_supported) { /* * reset_type[31] = 0 (architectural) * reset_type[30:0] = 0 (SYSTEM_WARM_RESET) * cookie = 0 (ignored by the implementation) */ invoke_psci_fn(PSCI_FN_NATIVE(1_1, SYSTEM_RESET2), 0, 0, 0); } else { // TOGGLE GPIO HERE invoke_psci_fn(PSCI_0_2_FN_SYSTEM_RESET, 0, 0, 0); } return NOTIFY_DONE; }The gpio i
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: )
Hi All.I have a stm32mp157C-DK2, I have used the lastest demo from ST(openstlinux-5.15-yocto-kirkstone-mp1-v22.06.15).I have done audio tests and I have found a problem/bug when I play a wav file and next I record a audio. I can see a kernel trace (always happens), indicating that an overrun occurs and the audio record has a cut.I add the traces:root@stm32mp1:~# aplay -D playback_codec /usr/share/sounds/alsa/Front_Left.wav Playing WAVE '/usr/share/sounds/alsa/Front_Left.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono root@stm32mp1:~# arecord -D record_codec -r 48000 -f S16_LE -c 1 -d 5 /tmp/rec.wav Recording WAVE '/tmp/rec.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono [ 3356.405866] st,stm32-sai-sub 4400b024.audio-controller: IRQ Anticipated frame synchro overrun!!! (at least 0.175 ms long)Is this a known issue?Would there be a solution?
Hi all.I am using a stm32mp157c-dk2 with lastest OpenSTLinux Distribution (4.1.0) trusted.In log I saw messages about SCMI driver and a series of protocols not actives.[ 0.150587] arm-scmi firmware:scmi: SCMI Notifications - Core Enabled. [ 0.150709] arm-scmi firmware:scmi: SCMI Protocol v2.0 'ST:' Firmware version 0x0 [ 0.289178] arm-scmi firmware:scmi: Failed. SCMI protocol 23 not active. [ 0.412876] arm-scmi firmware:scmi: Failed. SCMI protocol 21 not active. [ 0.424756] arm-scmi firmware:scmi: Failed. SCMI protocol 19 not active. [ 0.428615] arm-scmi firmware:scmi: Failed. SCMI protocol 17 not active.I should care about this messages?Why are these protocols not active?What are these protocols?Thanks!
Hi there, I'm developing on a STM32MP157 custom board. I'm trying to work with power modes, and I tried to import the OpenAMP_TTY_echo_wakeup example inside our M4 firmware. I already had the IPCC module set up and I use virtUart periperal without any problem. I can send the "*stop" message and I can see that the M4 stops working (and also consumes less), however if I try to send "echo "wakeup" >/dev/ttyRPMSG0" the M4 won't wakeup (the last trace says [00033.410][INFO ]Going into CStop mode ). Is there anything that may be set in the devicetree that i'm not setting? I have a wakeup button to exit from A7 Cstop that works fine. Thanks so much EDIT: probably the clocks (specially M4 side) are not the same. Is there any configuration preferable?
My rgb lcd screen does not display。My board is based on the STM32MP153AAA3 design, using a separate power supply.This is my schematic diagramThis is the timing of the LCD This is the LCD device tree This is some panel-simple driver codeHere are some boot logs Looking forward to your response!
Greetings,in the video STM32MP1 workshop - 9 OpenSTLinux BSP pin Muxing - STM32CubeMX lab after modifying the DK2_TIMER_A7 project in the mx cube directly open the project in workbench from generate code, open the file.On my pc this doesn't happen, this file opens:<?xml version="1.0" encoding="UTF-8"?><workspace> <project> <path>$WS_DIR$\DK2_TIMER_A7.ewp</path> </project> <batchBuild /></workspace>And if I try to open the project directly from workbench I can't open it.When I open workbench it tries to install GCC GNU COMPILER but failsI attach some screenshots
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.