micropython/ports/stm32/boards
Damien George 2dca693c24 stm32: Change pin_X and pyb_pin_X identifiers to be pointers to objects.
Rather than pin objects themselves.  The actual object is now pin_X_obj and
defines are provided so that pin_X is &pin_X_obj.  This makes it so that
code that uses pin objects doesn't need to know if they are literals or
objects (that need pointers taken) or something else.  They are just
entities that can be passed to the map_hal_pin_xxx functions.  This mirrors
how the core handles constant objects (eg mp_const_none which is
&mp_const_none_obj) and allows for the possibility of different
implementations of the pin layer.

For example, prior to this patch there was the following:

    extern const pin_obj_t pin_A0;
    #define pyb_pin_X1 pin_A0
    ...
    mp_hal_pin_high(&pin_A0);

and now there is:

    extern const pin_obj_t pin_A0_obj;
    #define pin_A0 (&pin_A0_obj)
    #define pyb_pin_X1 pin_A0
    ...
    mp_hal_pin_high(pin_A0);

This patch should have minimal effect on board configuration files.  The
only change that may be needed is if a board has .c files that configure
pins.
2018-03-28 16:29:50 +11:00
..
B_L475E_IOT01A stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
CERB40 stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
ESPRUINO_PICO stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
HYDRABUS stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
LIMIFROG stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
NETDUINO_PLUS_2 stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
NUCLEO_F401RE stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
NUCLEO_F411RE stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
NUCLEO_F429ZI stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
NUCLEO_F446RE stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
NUCLEO_F746ZG stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
NUCLEO_F767ZI stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
NUCLEO_H743ZI stm32/boards/NUCLEO_H743ZI: Enable SD card support. 2018-03-28 13:25:00 +11:00
NUCLEO_L476RG stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
OLIMEX_E407 stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
PYBLITEV10 stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
PYBV3 stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
PYBV4 stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
PYBV10 stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
PYBV11 stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
STM32F4DISC stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
STM32F7DISC stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
STM32F411DISC stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
STM32F429DISC stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
STM32F439 stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
STM32F769DISC stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
STM32L476DISC stm32/Makefile: Allow a board to config either 1 or 2 firmware sections. 2018-03-27 21:24:15 +11:00
common_basic.ld stm32/boards: Add common_basic.ld for a board to have a single section. 2018-03-27 21:29:45 +11:00
common_bl.ld stm32/boards: Add common_bl.ld for boards that need a bootloader. 2018-03-27 21:30:45 +11:00
common_ifs.ld stm32/boards: Allow boards to have finer control over the linker script. 2018-03-27 21:17:48 +11:00
make-pins.py stm32: Change pin_X and pyb_pin_X identifiers to be pointers to objects. 2018-03-28 16:29:50 +11:00
openocd_stm32f4.cfg ports: Make new ports/ sub-directory and move all ports there. 2017-09-06 13:40:51 +10:00
openocd_stm32f7.cfg ports: Make new ports/ sub-directory and move all ports there. 2017-09-06 13:40:51 +10:00
openocd_stm32l4.cfg ports: Make new ports/ sub-directory and move all ports there. 2017-09-06 13:40:51 +10:00
pllvalues.py ports: Make new ports/ sub-directory and move all ports there. 2017-09-06 13:40:51 +10:00
startup_stm32f4.s stm32/boards: Add startup_stm32f4.s for F4 series specific startup. 2018-03-09 15:14:03 +11:00
startup_stm32f7.s stm32/boards: Add startup_stm32f7.s for F7 series specific startup. 2018-03-09 15:13:56 +11:00
startup_stm32h7.s stm32/boards: Add startup_stm32h7.s for H7 series specific startup. 2018-03-09 15:13:13 +11:00
startup_stm32l4.s stm32/boards: Add startup_stm32l4.s for L4 series specific startup. 2018-03-09 15:14:10 +11:00
stm32f4xx_prefix.c ports: Make new ports/ sub-directory and move all ports there. 2017-09-06 13:40:51 +10:00
stm32f401_af.csv stm32/boards/*_af.csv: Make consistent use of JTMS, JTCK, SWDIO, SWCLK. 2017-12-01 14:51:36 +11:00
stm32f401xd.ld stm32/boards: Allow boards to have finer control over the linker script. 2018-03-27 21:17:48 +11:00
stm32f401xe.ld stm32/boards: Allow boards to have finer control over the linker script. 2018-03-27 21:17:48 +11:00
stm32f405_af.csv stm32/boards/*_af.csv: Make consistent use of JTMS, JTCK, SWDIO, SWCLK. 2017-12-01 14:51:36 +11:00
stm32f405.ld stm32/boards: Allow boards to have finer control over the linker script. 2018-03-27 21:17:48 +11:00
stm32f411_af.csv stm32/boards/*_af.csv: Make consistent use of JTMS, JTCK, SWDIO, SWCLK. 2017-12-01 14:51:36 +11:00
stm32f411.ld stm32/boards: Allow boards to have finer control over the linker script. 2018-03-27 21:17:48 +11:00
stm32f429_af.csv stm32/boards/*_af.csv: Make consistent use of JTMS, JTCK, SWDIO, SWCLK. 2017-12-01 14:51:36 +11:00
stm32f429.ld stm32/boards: Allow boards to have finer control over the linker script. 2018-03-27 21:17:48 +11:00
stm32f439_af.csv stm32/boards/*_af.csv: Make consistent use of JTMS, JTCK, SWDIO, SWCLK. 2017-12-01 14:51:36 +11:00
stm32f439.ld stm32/boards: Allow boards to have finer control over the linker script. 2018-03-27 21:17:48 +11:00
stm32f746_af.csv stm32/boards/stm32f746_af.csv: Fix typos in AF table. 2017-11-20 14:19:12 +11:00
stm32f746.ld stm32/boards: Allow boards to have finer control over the linker script. 2018-03-27 21:17:48 +11:00
stm32f767_af.csv stm32/boards/stm32f767_af.csv: Add ADC column to pin capability list. 2018-03-07 18:40:06 +11:00
stm32f767.ld stm32/boards/stm32f767.ld: Add definition of FLASH_APP. 2018-03-27 21:35:03 +11:00
stm32f769.ld stm32/boards: Allow boards to have finer control over the linker script. 2018-03-27 21:17:48 +11:00
stm32h743_af.csv stm32/boards: Add stm32h743_af.csv file describing H7 GPIO alt funcs. 2018-03-09 14:06:34 +11:00
stm32h743.ld stm32/boards/stm32h743.ld: Remove include of common.ld. 2018-03-28 13:20:07 +11:00
stm32l476_af.csv stm32/boards/*_af.csv: Make consistent use of JTMS, JTCK, SWDIO, SWCLK. 2017-12-01 14:51:36 +11:00
stm32l476xe.ld stm32/boards: Allow boards to have finer control over the linker script. 2018-03-27 21:17:48 +11:00
stm32l476xg.ld stm32/boards: Allow boards to have finer control over the linker script. 2018-03-27 21:17:48 +11:00