GPIO not working on STM32L462VE Topic is solved

ChibiOS public support forum for topics related to the STMicroelectronics STM32 family of micro-controllers.

Moderators: RoccoMarco, barthess

zie
Posts: 5
Joined: Mon Aug 05, 2019 10:09 am

GPIO not working on STM32L462VE

Postby zie » Mon Aug 05, 2019 10:27 am

Hello
I have adapted ChibiOS on my own board with STM32L462VE.
(STM32_Registry to some other Files).
As Linkerfile I copied STM32L432xB.ld to
STM32L462VE.ld and change

flash0: org = 0x08000000, len = 512k
and
ram0: org = 0x20000000, len = 160k

STM32L462VE is used in the Makefile,

I can compile and the SW works with ST-Link and JLink on my board.
But no IO pins on Hardware are changed.
The SW writes to the registers, which change in Periheral View and Memory, but not on the hardware.

Any Ideas what could be wrong?

The GPIO on this board works with Atollic true Studio an CubeMx.

User avatar
Giovanni
Site Admin
Posts: 14455
Joined: Wed May 27, 2009 8:48 am
Location: Salerno, Italy
Has thanked: 1076 times
Been thanked: 922 times
Contact:

Re: GPIO not working on STM32L462VE

Postby Giovanni » Mon Aug 05, 2019 10:32 am

Have you adjusted board files for your board? It is also possible that the L462 has other differences to be addressed.

You could also inspect the GPIO registers and verify for correct values after PAL operations.

Giovanni

zie
Posts: 5
Joined: Mon Aug 05, 2019 10:09 am

Re: GPIO not working on STM32L462VE

Postby zie » Mon Aug 05, 2019 11:27 am

Hi

Yes, i have adaptet also the boardfile:

subtype = STM32L462xx
and set all the GPIO (in/out etc.)
the Hal_version is 5.0.x in the bordfile

what other differences can i config in the board-file?


The GPIO Registers are changing, but not the real outputs. The GPIO Registers are at correct address. GBIOB ODR = 0x48000414
And the config in the Registers also loos fine for me (MODERx = 1)

I tryed debugers openocd and st-link V2 and JLink.
I also tryed to flash the uP with stlink utility, alswase the same, no output on Hardware.

Any Idea?
Thanks and Regards
Felix

User avatar
Giovanni
Site Admin
Posts: 14455
Joined: Wed May 27, 2009 8:48 am
Location: Salerno, Italy
Has thanked: 1076 times
Been thanked: 922 times
Contact:

Re: GPIO not working on STM32L462VE

Postby Giovanni » Mon Aug 05, 2019 12:11 pm

If ODR is correct then you should check your settings in board.h, are the pins programmed as output?

Giovanni

zie
Posts: 5
Joined: Mon Aug 05, 2019 10:09 am

Re: GPIO not working on STM32L462VE

Postby zie » Mon Aug 05, 2019 5:18 pm

hi
i think, they are outputs : GPIOB Pins 12..15

from board.h

#define VAL_GPIOB_MODER
... (PIN_MODE_OUTPUT(GPIOB_FON_2m) | \
PIN_MODE_OUTPUT(GPIOB_FOFF_1m) | \
PIN_MODE_INPUT(GPIOB_IV_2m) | \
PIN_MODE_OUTPUT(GPIOB_FON_1m) | \
PIN_MODE_OUTPUT(GPIOB_outTXD_1m) | \
PIN_MODE_INPUT(GPIOB_inRXD_1m) | \
PIN_MODE_ANALOG(GPIOB_PB6) | \
PIN_MODE_INPUT(GPIOB_M1_2_m) | \
PIN_MODE_INPUT(GPIOB_M5_2_m) | \
PIN_MODE_ANALOG(GPIOB_PIN9) | \
PIN_MODE_ANALOG(GPIOB_PIN10) | \
PIN_MODE_ANALOG(GPIOB_PIN11) | \
PIN_MODE_OUTPUT(GPIOB_LED_A_1) | \
PIN_MODE_OUTPUT(GPIOB_LED_K_1) | \
PIN_MODE_OUTPUT(GPIOB_LED_A_2) | \
PIN_MODE_OUTPUT(GPIOB_LED_K_2))
#define VAL_GPIOB_OTYPER (PIN_OTYPE_PUSHPULL(GPIOB_FON_2m) | \
PIN_OTYPE_PUSHPULL(GPIOB_FOFF_1m) | \
PIN_OTYPE_PUSHPULL(GPIOB_IV_2m) | \
PIN_OTYPE_PUSHPULL(GPIOB_FON_1m) | \
PIN_OTYPE_PUSHPULL(GPIOB_outTXD_1m) | \
PIN_OTYPE_PUSHPULL(GPIOB_inRXD_1m) | \
PIN_OTYPE_PUSHPULL(GPIOB_PB6) | \
PIN_OTYPE_PUSHPULL(GPIOB_M1_2_m) | \
PIN_OTYPE_PUSHPULL(GPIOB_M5_2_m) | \
PIN_OTYPE_PUSHPULL(GPIOB_PIN9) | \
PIN_OTYPE_PUSHPULL(GPIOB_PIN10) | \
PIN_OTYPE_PUSHPULL(GPIOB_PIN11) | \
PIN_OTYPE_PUSHPULL(GPIOB_LED_A_1) | \
PIN_OTYPE_PUSHPULL(GPIOB_LED_K_1) | \
PIN_OTYPE_PUSHPULL(GPIOB_LED_A_2) | \
PIN_OTYPE_PUSHPULL(GPIOB_LED_K_2))
#define VAL_GPIOB_OSPEEDR (PIN_OSPEED_VERYLOW(GPIOB_FON_2m) | \
PIN_OSPEED_HIGH(GPIOB_FOFF_1m) | \
PIN_OSPEED_VERYLOW(GPIOB_IV_2m) | \
PIN_OSPEED_VERYLOW(GPIOB_FON_1m) | \
PIN_OSPEED_HIGH(GPIOB_outTXD_1m) | \
PIN_OSPEED_HIGH(GPIOB_inRXD_1m) | \
PIN_OSPEED_VERYLOW(GPIOB_PB6) | \
PIN_OSPEED_HIGH(GPIOB_M1_2_m) | \
PIN_OSPEED_HIGH(GPIOB_M5_2_m) | \
PIN_OSPEED_VERYLOW(GPIOB_PIN9) | \
PIN_OSPEED_VERYLOW(GPIOB_PIN10) | \
PIN_OSPEED_VERYLOW(GPIOB_PIN11) | \
PIN_OSPEED_VERYLOW(GPIOB_LED_A_1) | \
PIN_OSPEED_VERYLOW(GPIOB_LED_K_1) | \
PIN_OSPEED_VERYLOW(GPIOB_LED_A_2) | \
PIN_OSPEED_VERYLOW(GPIOB_LED_K_2))
#define VAL_GPIOB_PUPDR (PIN_PUPDR_FLOATING(GPIOB_FON_2m) | \
PIN_PUPDR_FLOATING(GPIOB_FOFF_1m) | \
PIN_PUPDR_FLOATING(GPIOB_IV_2m) | \
PIN_PUPDR_FLOATING(GPIOB_FON_1m) | \
PIN_PUPDR_FLOATING(GPIOB_outTXD_1m) | \
PIN_PUPDR_FLOATING(GPIOB_inRXD_1m) | \
PIN_PUPDR_FLOATING(GPIOB_PB6) | \
PIN_PUPDR_FLOATING(GPIOB_M1_2_m) | \
PIN_PUPDR_FLOATING(GPIOB_M5_2_m) | \
PIN_PUPDR_FLOATING(GPIOB_PIN9) | \
PIN_PUPDR_FLOATING(GPIOB_PIN10) | \
PIN_PUPDR_FLOATING(GPIOB_PIN11) | \
PIN_PUPDR_FLOATING(GPIOB_LED_A_1) | \
PIN_PUPDR_FLOATING(GPIOB_LED_K_1) | \
PIN_PUPDR_FLOATING(GPIOB_LED_A_2) | \
PIN_PUPDR_FLOATING(GPIOB_LED_K_2))
#define VAL_GPIOB_ODR (PIN_ODR_HIGH(GPIOB_FON_2m) | \
PIN_ODR_LOW(GPIOB_FOFF_1m) | \
PIN_ODR_LOW(GPIOB_IV_2m) | \
PIN_ODR_HIGH(GPIOB_FON_1m) | \
PIN_ODR_HIGH(GPIOB_outTXD_1m) | \
PIN_ODR_HIGH(GPIOB_inRXD_1m) | \
PIN_ODR_LOW(GPIOB_PB6) | \
PIN_ODR_LOW(GPIOB_M1_2_m) | \
PIN_ODR_HIGH(GPIOB_M5_2_m) | \
PIN_ODR_LOW(GPIOB_PIN9) | \
PIN_ODR_LOW(GPIOB_PIN10) | \
PIN_ODR_HIGH(GPIOB_PIN11) | \
PIN_ODR_LOW(GPIOB_LED_A_1) | \
PIN_ODR_LOW(GPIOB_LED_K_1) | \
PIN_ODR_LOW(GPIOB_LED_A_2) | \
PIN_ODR_LOW(GPIOB_LED_K_2))
#define VAL_GPIOB_AFRL (PIN_AFIO_AF(GPIOB_FON_2m, 0U) | \
PIN_AFIO_AF(GPIOB_FOFF_1m, 0U) | \
PIN_AFIO_AF(GPIOB_IV_2m, 0U) | \
PIN_AFIO_AF(GPIOB_FON_1m, 0U) | \
PIN_AFIO_AF(GPIOB_outTXD_1m, 0U) | \
PIN_AFIO_AF(GPIOB_inRXD_1m, 0U) | \
PIN_AFIO_AF(GPIOB_PB6, 0U) | \
PIN_AFIO_AF(GPIOB_M1_2_m, 0U))
#define VAL_GPIOB_AFRH (PIN_AFIO_AF(GPIOB_M5_2_m, 0U) | \
PIN_AFIO_AF(GPIOB_PIN9, 0U) | \
PIN_AFIO_AF(GPIOB_PIN10, 0U) | \
PIN_AFIO_AF(GPIOB_PIN11, 0U) | \
PIN_AFIO_AF(GPIOB_LED_A_1, 0U) | \
PIN_AFIO_AF(GPIOB_LED_K_1, 0U) | \
PIN_AFIO_AF(GPIOB_LED_A_2, 0U) | \
PIN_AFIO_AF(GPIOB_LED_K_2, 0U))
#define VAL_GPIOB_ASCR (PIN_ASCR_DISABLED(GPIOB_FON_2m) | \
PIN_ASCR_DISABLED(GPIOB_FOFF_1m) | \
PIN_ASCR_DISABLED(GPIOB_IV_2m) | \
PIN_ASCR_ENABLED(GPIOB_FON_1m) | \
PIN_ASCR_DISABLED(GPIOB_outTXD_1m) | \
PIN_ASCR_DISABLED(GPIOB_inRXD_1m) | \
PIN_ASCR_DISABLED(GPIOB_PB6) | \
PIN_ASCR_DISABLED(GPIOB_M1_2_m) | \
PIN_ASCR_DISABLED(GPIOB_M5_2_m) | \
PIN_ASCR_DISABLED(GPIOB_PIN9) | \
PIN_ASCR_DISABLED(GPIOB_PIN10) | \
PIN_ASCR_DISABLED(GPIOB_PIN11) | \
PIN_ASCR_DISABLED(GPIOB_LED_A_1) | \
PIN_ASCR_DISABLED(GPIOB_LED_K_1) | \
PIN_ASCR_DISABLED(GPIOB_LED_A_2) | \
PIN_ASCR_DISABLED(GPIOB_LED_K_2))
#define VAL_GPIOB_LOCKR (PIN_LOCKR_DISABLED(GPIOB_FON_2m) | \
PIN_LOCKR_DISABLED(GPIOB_FOFF_1m) | \
PIN_LOCKR_DISABLED(GPIOB_IV_2m) | \
PIN_LOCKR_DISABLED(GPIOB_FON_1m) | \
PIN_LOCKR_DISABLED(GPIOB_outTXD_1m) | \
PIN_LOCKR_DISABLED(GPIOB_inRXD_1m) | \
PIN_LOCKR_DISABLED(GPIOB_PB6) | \
PIN_LOCKR_DISABLED(GPIOB_M1_2_m) | \
PIN_LOCKR_DISABLED(GPIOB_M5_2_m) | \
PIN_LOCKR_DISABLED(GPIOB_PIN9) | \
PIN_LOCKR_DISABLED(GPIOB_PIN10) | \
PIN_LOCKR_DISABLED(GPIOB_PIN11) | \
PIN_LOCKR_DISABLED(GPIOB_LED_A_1) | \
PIN_LOCKR_DISABLED(GPIOB_LED_K_1) | \
PIN_LOCKR_DISABLED(GPIOB_LED_A_2) | \
PIN_LOCKR_DISABLED(GPIOB_LED_K_2))

it look like i worked in a simulation, but i am connectet with st-link on my board.....

Regards Felix

User avatar
Giovanni
Site Admin
Posts: 14455
Joined: Wed May 27, 2009 8:48 am
Location: Salerno, Italy
Has thanked: 1076 times
Been thanked: 922 times
Contact:

Re: GPIO not working on STM32L462VE

Postby Giovanni » Mon Aug 05, 2019 5:41 pm

If the GPIO is being written I can see the following possible causes:

1) The GPIO is not programmed as you expect it to be, you should inspect the other registers.
2) Measurement error.
3) Something on the board is driving pins high or low.

Giovanni

zie
Posts: 5
Joined: Mon Aug 05, 2019 10:09 am

Re: GPIO not working on STM32L462VE  Topic is solved

Postby zie » Mon Aug 05, 2019 6:39 pm

Hi Giovanni

Thanks for your help!
I have a measurement problem... Ground from Linux PC via USB ...

That's why it was working with Atollic Studio on Win7 Pc.
Many thanks for your help. I am excited about your OS.

Felix


Return to “STM32 Support”

Who is online

Users browsing this forum: No registered users and 7 guests