Is there something under the mbed hood that is stepping on my register accesses? I see this behavior for both GPIOB and GPIOC, but GPIOD behaves as expected. If I use the already configured GPIOB->MODER for the register references, the extra processor time spend doing the redirection actually allows the register to revert before the first read completes, so I never see the written value stick. When I hard code the register address, the write takes effect, but after a short time, the register reverts back to it's reset value. It appears that the HAL headers are not he problem. It doesn't appear that any ports have their configuration locked. I get the same behavior on both an F746 Nucleo and an F446 Nucleo board that I tested. For now, I'm just going to make my own HAL header file for the GPIO registers, but this seems like it should be addressed(pun intended). This leads me to believe something is amiss in the HAL stack. If I remove HAL abstractions and "poke" the register directly in this way: In fact all of the other PORTB-> registers (OTYPER, OSPEEDR, PUPDR) all return 0x00000280, which is not correct. For example, setting PORTB->MODER has no effect and the value remains at 0x00000280(the reset value). I'm moving from the platform agnostic DigitalIN, DigitalOut, PortIn, PortOut to STMicro port specific references such as PORTB->MODER.įor some ports, my GPIO initialization and use of GPIOs works(Port D seems to work correctly), but PORTB and PORTC are not working with the HAL abstractions. I'm trying to remove MBED generalized HAL abstractions from my STMicro Nucleo-144 board based project and am getting strange behavior. Nucleo 144 boards and GPIO HAL - Not all ports work To start a new conversationĥ years, 8 months ago. Please refer to the CONTRIBUTING.md guide.Important changes to forums and questionsĪll forums and questions are now archived. It is crucial that you use a consistent set of CMSIS - HAL - BSP versions, as mentioned in this release note. Compatibility informationīelow is the list of the BSP component drivers to be used with this BSP board driver. Release noteĭetails about the content of this release are available in the release note here. This stm32f7xx-nucleo-144 MCU component repository is one element of the STM32CubeF7 MCU embedded software package, providing the STM32F7XX-NUCLEO-144 BSP BOARD component part. The MCU component: each STM32Cube software module being part of the STM32Cube MCU Package, is delivered as an individual repository, allowing the user to select and get only the required software functions.The monolithic MCU Package: all STM32Cube software modules of one STM32 series are present (Drivers, Middleware, Projects, Utilities) in the repository (usual name STM32Cubexx, xx corresponding to the STM32 series).Two models of publication are proposed for the STM32Cube embedded software: A full set of software projects (basic examples, applications, and demonstrations) for each board provided for this STM32 series.A consistent set of middleware libraries such as RTOS, USB, FatFS, graphics, touch sensing library.The BSP drivers of each evaluation, demonstration or nucleo board provided for this STM32 series.Enabled the CPU ICache and DCache (under CortexM7 Configuration) Enabled MPU (Region0, Region1 & Region2) Enabled LWIP. The STM32 HAL-LL drivers, an abstraction layer offering a set of APIs ensuring maximized portability across the STM32 portfolio. Im trying to ping STM32H743ZI NUCLEO 144 using LWIP middle-ware.The CMSIS modules (core and device) corresponding to the ARM(tm) core implemented in this STM32 product.It includes a comprehensive embedded software platform delivered for each STM32 series. STM32Cube covers the overall STM32 products portfolio. STM32Cube is an STMicroelectronics original initiative to ease developers' life by reducing efforts, time and cost.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |