2018-03-01 6:01 AM
Hi
I have been away from learning the ST32 for a good while and just coming back to it. I am using the NUCLEO-L073 board (uses the STM32L073) and setting up the GPIO module. Looking into the online videos (not for this chip) it mentons setting up the AHB bus, but I cant see it in the data sheet for the GPIO. I have attached the page with the block diagram, where I can see a bus connecting them, but doesnt mention an AHB. Am I correct in thinking I simply set up the IO pins and there isnt a bus to setup, or am I missing something?
Many Thanks
Scott
2018-03-01 6:40 AM
Different chips implement different connectivity. Some chips use APB other AHB. Here it is diagrammed more directly connected. You should probably look at the addresses the GPIO sit in, and the APB1ENR, APB2ENR or AHBENR their clock is enabled on.
They may have implemented the GPIO as TCM to gain some additional speed, the CM0 is a bit of a sloth, and people tend to do a GPIO toggle benchmark to gauge speed, and the bus interactions likely cost 4-cycles, and more direct connectivity could likely reduce that.
2018-03-01 6:41 AM
Hi
devlin.scott
,The STM32L0 features a new I/O interface (IOPORT) which allows single cycle accesses and so faster operations on I/O ports.
-Nesrine-
2018-03-01 6:54 AM
Am I correct in thinking I simply set up the IO pins and there isnt a bus to setup, or am I missing something?
To add to the previous answers - no, nothing to do to setup a bus.
The wiring is fixed anyway, i.e. which peripheral is connected to which bus on a certain MCU variant.
The bus comes into play when you e.g. want to initialize the clock to the peripheral, by selecting the proper RCC register which are responsible for different busses.
2018-03-01 3:30 PM
Looking into the online videos (not for this chip) it mentons setting up the AHB bus,
Which videos?
JW
2018-03-02 2:40 AM
Thanks Clive
2018-03-02 2:42 AM
Hi Nesrine
Thanks for that, that makes sense
Scott
2018-03-02 2:44 AM
2018-03-02 1:35 PM
There's general setup of the clocks there, nothing GPIO-specific (at least within 10 seconds +- of the spot you've given; I don't have time to waste looking at videos).
JW