Page 1 of 1

STM32L433 Nucleo-64

Posted: Mon Sep 10, 2018 4:50 pm
by dflogeras
Hi, I've been messing around with the STM32L433 nucleo64 board, and as mentioned in this thread:


There is no direct support for the chip in the registry yet, but STM32L432 is a close cousin without the LCD controller. I've got a sample project up, using one of the HAL demos, a copy of the 64pin L473 board/mk/c/h modified to specify the STM32L432xx CPU without HSE, and using a copy of the L432 linker script with 256k ROM/64K RAM.

When I attempt to run the SPI1 peripheral, I call spiSend() and it puts the thread to sleep, but never wakes back up. I wont have access to my logic analyzer for a few hours, but was wondering if there is maybe more difference than meets the eye between the chips. The previous thread mentioned adding L433 to the registry but I'm not sure that has happened yet. Is this WIP or was left behind? I would be happy to get this moving again, but will need some help/direction.


Re: STM32L433 Nucleo-64

Posted: Mon Sep 10, 2018 7:58 pm
by Giovanni
If the thread does not wake up then it is the DMA IRQ not triggering or the DMA not working at all, I would check those.

As far I know 433 is almost equal to 432, I could be wrong.


Re: STM32L433 Nucleo-64

Posted: Mon Sep 10, 2018 11:38 pm
by dflogeras
Thanks Giovanni,

As it turns out, I was lazy and let google find the schematic for the L433-nucleo. What it gave me was for a different nucleo and I was stupid and didn't check it thoroughly, I just confirmed where the SPI1 bus was broken out to the Arduino expansion header.

It turns out, on the L433-nucleo, the SPI1 pins I was incorrectly using are routed to the PMIC chip they included on the board. God knows what I was doing toggling those.

I used the correct schems and found they actually routed SPI2 to the Arduino header I was referencing. Also I found that the L433 is actually closer to the L443 which _is_ currently in the registry (it is a L443 without AES), while the difference is greater to the 432 which has no SPI2, UART3, SDMMC, or LCD peripherals.

Anyway, works as expected once I followed the correct documentation (duh).

Thanks for the push