diff --git a/README.md b/README.md index 8527f1033c..9e375bed50 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,7 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d - [Generic STM32F1 boards](#generic-stm32f1-boards) - [Generic STM32F3 boards](#generic-stm32f3-boards) - [Generic STM32F4 boards](#generic-stm32f4-boards) + - [Generic STM32H7 boards](#generic-stm32h7-boards) - [Generic STM32L0 boards](#generic-stm32l0-boards) - [3D printer boards](#3d-printer-boards) - [LoRa boards](#lora-boards) @@ -199,6 +200,12 @@ User can add a STM32 based board following this [wiki](https://github.com/stm32d | :yellow_heart: | STM32F446RC
STM32F446RE | Generic Board | **1.9.0** | | | :yellow_heart: | STM32F411CE | [ThunderPack v1.1+](https://github.com/jgillick/ThunderPack) | **1.9.0** | | +### Generic STM32H7 boards + +| Status | Device(s) | Name | Release | Notes | +| :----: | :-------: | ---- | :-----: | :---- | +| :yellow_heart: | STM32H750IB | [Daisy ](https://www.electro-smith.com/daisy/daisy) | **1.9.0** | | + ### Generic STM32L0 boards | Status | Device(s) | Name | Release | Notes | diff --git a/boards.txt b/boards.txt index 44c3f3dd3a..21f89bd091 100644 --- a/boards.txt +++ b/boards.txt @@ -1622,6 +1622,42 @@ GenF4.menu.upload_method.hidMethod.upload.tool=hid_upload GenF4.menu.upload_method.hidMethod.build.flash_offset=0x4000 GenF4.menu.upload_method.hidMethod.build.bootloader_flags=-DBL_HID -DVECT_TAB_OFFSET={build.flash_offset} +################################################################################ +# Generic H7 +GenH7.name=Generic STM32H7 Series + +GenH7.build.core=arduino +GenH7.build.board=GenH7 +GenH7.build.extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial} +GenH7.build.cmsis_lib_gcc=arm_cortexM7lfsp_math +GenH7.build.flags.fp=-mfpu=fpv4-sp-d16 -mfloat-abi=hard +GenH7.build.series=STM32H7xx +GenH7.build.mcu=cortex-m7 + +# Daisy Seed board +GenH7.menu.pnum.DAISY_SEED=Daisy Seed +GenH7.menu.pnum.DAISY_SEED.upload.maximum_size=131072 +GenH7.menu.pnum.DAISY_SEED.upload.maximum_data_size=524288 +GenH7.menu.pnum.DAISY_SEED.build.board=DAISY_SEED +GenH7.menu.pnum.DAISY_SEED.build.product_line=STM32H750xx +GenH7.menu.pnum.DAISY_SEED.build.variant=DAISY_SEED + +# Upload menu +GenH7.menu.upload_method.swdMethod=STM32CubeProgrammer (SWD) +GenH7.menu.upload_method.swdMethod.upload.protocol=0 +GenH7.menu.upload_method.swdMethod.upload.options=-g +GenH7.menu.upload_method.swdMethod.upload.tool=stm32CubeProg + +GenH7.menu.upload_method.serialMethod=STM32CubeProgrammer (Serial) +GenH7.menu.upload_method.serialMethod.upload.protocol=1 +GenH7.menu.upload_method.serialMethod.upload.options={serial.port.file} -s +GenH7.menu.upload_method.serialMethod.upload.tool=stm32CubeProg + +GenH7.menu.upload_method.dfuMethod=STM32CubeProgrammer (DFU) +GenH7.menu.upload_method.dfuMethod.upload.protocol=2 +GenH7.menu.upload_method.dfuMethod.upload.options=-g +GenH7.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg + ################################################################################ # Generic L0 GenL0.name=Generic STM32L0 series @@ -1669,48 +1705,6 @@ GenL0.menu.upload_method.bmpMethod=BMP (Black Magic Probe) GenL0.menu.upload_method.bmpMethod.upload.protocol=gdb_bmp GenL0.menu.upload_method.bmpMethod.upload.tool=bmp_upload - -################################################################################ -# Generic H7 - -GenH7.name=Generic STM32H7 Series - -GenH7.build.core=arduino -GenH7.build.board=GenH7 -GenH7.build.extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial} -GenH7.build.cmsis_lib_gcc=arm_cortexM7lfsp_math -GenH7.build.flags.fp=-mfpu=fpv4-sp-d16 -mfloat-abi=hard -GenH7.build.series=STM32H7xx -GenH7.build.mcu=cortex-m7 - -# Daisy Seed board -GenH7.menu.pnum.DAISY_SEED=Daisy Seed -GenH7.menu.pnum.DAISY_SEED.node="No_mass_storage_for_this_board_Use_STLink_upload_method" -GenH7.menu.pnum.DAISY_SEED.upload.maximum_size=131072 -GenH7.menu.pnum.DAISY_SEED.upload.maximum_data_size=524288 -GenH7.menu.pnum.DAISY_SEED.build.board=DAISY_SEED -GenH7.menu.pnum.DAISY_SEED.build.series=STM32H7xx -GenH7.menu.pnum.DAISY_SEED.build.product_line=STM32H750xx -GenH7.menu.pnum.DAISY_SEED.build.variant=DAISY_SEED - -# Upload menu - -GenH7.menu.upload_method.swdMethod=STM32CubeProgrammer (SWD) -GenH7.menu.upload_method.swdMethod.upload.protocol=0 -GenH7.menu.upload_method.swdMethod.upload.options=-g -GenH7.menu.upload_method.swdMethod.upload.tool=stm32CubeProg - -GenH7.menu.upload_method.serialMethod=STM32CubeProgrammer (Serial) -GenH7.menu.upload_method.serialMethod.upload.protocol=1 -GenH7.menu.upload_method.serialMethod.upload.options={serial.port.file} -s -GenH7.menu.upload_method.serialMethod.upload.tool=stm32CubeProg - -GenH7.menu.upload_method.dfuMethod=STM32CubeProgrammer (DFU) -GenH7.menu.upload_method.dfuMethod.upload.protocol=2 -GenH7.menu.upload_method.dfuMethod.upload.options=-g -GenH7.menu.upload_method.dfuMethod.upload.tool=stm32CubeProg - - ################################################################################ # Electronic Speed Controller boards @@ -2090,7 +2084,6 @@ Genericflight.menu.upload_method.dfuoMethod.upload.altID=1 Genericflight.menu.upload_method.dfuoMethod.build.flash_offset=0x5000 Genericflight.menu.upload_method.dfuoMethod.build.bootloader_flags=-DBL_LEGACY_LEAF -DVECT_TAB_OFFSET={build.flash_offset} - ################################################################################ # Midatronics boards @@ -2203,18 +2196,18 @@ GenF4.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE GenF4.menu.xserial.disabled=Disabled (no Serial support) GenF4.menu.xserial.disabled.build.xSerial= -GenL0.menu.xserial.generic=Enabled (generic 'Serial') -GenL0.menu.xserial.none=Enabled (no generic 'Serial') -GenL0.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE -GenL0.menu.xserial.disabled=Disabled (no Serial support) -GenL0.menu.xserial.disabled.build.xSerial= - GenH7.menu.xserial.generic=Enabled (generic 'Serial') GenH7.menu.xserial.none=Enabled (no generic 'Serial') GenH7.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE GenH7.menu.xserial.disabled=Disabled (No Serial support) GenH7.menu.xserial.disabled.build.xSerial= +GenL0.menu.xserial.generic=Enabled (generic 'Serial') +GenL0.menu.xserial.none=Enabled (no generic 'Serial') +GenL0.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE +GenL0.menu.xserial.disabled=Disabled (no Serial support) +GenL0.menu.xserial.disabled.build.xSerial= + ESC_board.menu.xserial.generic=Enabled (generic 'Serial') ESC_board.menu.xserial.none=Enabled (no generic 'Serial') ESC_board.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE @@ -2350,14 +2343,6 @@ GenF4.menu.xusb.HS.build.usb_speed=-DUSE_USB_HS GenF4.menu.xusb.HSFS=High Speed in Full Speed mode GenF4.menu.xusb.HSFS.build.usb_speed=-DUSE_USB_HS -DUSE_USB_HS_IN_FS -GenL0.menu.usb.none=None -GenL0.menu.usb.CDCgen=CDC (generic 'Serial' supersede U(S)ART) -GenL0.menu.usb.CDCgen.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC -GenL0.menu.usb.CDC=CDC (no generic 'Serial') -GenL0.menu.usb.CDC.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC -DDISABLE_GENERIC_SERIALUSB -GenL0.menu.usb.HID=HID (keyboard and mouse) -GenL0.menu.usb.HID.build.enable_usb={build.usb_flags} -DUSBD_USE_HID_COMPOSITE - GenH7.menu.usb.none=None GenH7.menu.usb.CDCgen=CDC (generic 'Serial' supersede U(S)ART) GenH7.menu.usb.CDCgen.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC @@ -2369,6 +2354,14 @@ GenH7.menu.xusb.FS=Low/Full Speed GenH7.menu.xusb.HSFS=High Speed in Full Speed mode GenH7.menu.xusb.HSFS.build.usb_speed=-DUSE_USB_HS -DUSE_USB_HS_IN_FS +GenL0.menu.usb.none=None +GenL0.menu.usb.CDCgen=CDC (generic 'Serial' supersede U(S)ART) +GenL0.menu.usb.CDCgen.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC +GenL0.menu.usb.CDC=CDC (no generic 'Serial') +GenL0.menu.usb.CDC.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC -DDISABLE_GENERIC_SERIALUSB +GenL0.menu.usb.HID=HID (keyboard and mouse) +GenL0.menu.usb.HID.build.enable_usb={build.usb_flags} -DUSBD_USE_HID_COMPOSITE + 3dprinter.menu.usb.none=None 3dprinter.menu.usb.CDCgen=CDC (generic 'Serial' supersede U(S)ART) 3dprinter.menu.usb.CDCgen.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC @@ -2589,24 +2582,6 @@ GenF4.menu.opt.o3lto.build.flags.optimize=-O3 -flto GenF4.menu.opt.ogstd=Debug (-g) GenF4.menu.opt.ogstd.build.flags.optimize=-g -Og -GenL0.menu.opt.osstd=Smallest (-Os default) -GenL0.menu.opt.oslto=Smallest (-Os) with LTO -GenL0.menu.opt.oslto.build.flags.optimize=-Os -flto -GenL0.menu.opt.o1std=Fast (-O1) -GenL0.menu.opt.o1std.build.flags.optimize=-O1 -GenL0.menu.opt.o1lto=Fast (-O1) with LTO -GenL0.menu.opt.o1lto.build.flags.optimize=-O1 -flto -GenL0.menu.opt.o2std=Faster (-O2) -GenL0.menu.opt.o2std.build.flags.optimize=-O2 -GenL0.menu.opt.o2lto=Faster (-O2) with LTO -GenL0.menu.opt.o2lto.build.flags.optimize=-O2 -flto -GenL0.menu.opt.o3std=Fastest (-O3) -GenL0.menu.opt.o3std.build.flags.optimize=-O3 -GenL0.menu.opt.o3lto=Fastest (-O3) with LTO -GenL0.menu.opt.o3lto.build.flags.optimize=-O3 -flto -GenL0.menu.opt.ogstd=Debug (-g) -GenL0.menu.opt.ogstd.build.flags.optimize=-g -Og - GenH7.menu.opt.osstd=Smallest (-Os default) GenH7.menu.opt.oslto=Smallest (-Os) with LTO GenH7.menu.opt.oslto.build.flags.optimize=-Os -flto @@ -2625,6 +2600,24 @@ GenH7.menu.opt.o3lto.build.flags.optimize=-O3 -flto GenH7.menu.opt.ogstd=Debug (-g) GenH7.menu.opt.ogstd.build.flags.optimize=-g -Og +GenL0.menu.opt.osstd=Smallest (-Os default) +GenL0.menu.opt.oslto=Smallest (-Os) with LTO +GenL0.menu.opt.oslto.build.flags.optimize=-Os -flto +GenL0.menu.opt.o1std=Fast (-O1) +GenL0.menu.opt.o1std.build.flags.optimize=-O1 +GenL0.menu.opt.o1lto=Fast (-O1) with LTO +GenL0.menu.opt.o1lto.build.flags.optimize=-O1 -flto +GenL0.menu.opt.o2std=Faster (-O2) +GenL0.menu.opt.o2std.build.flags.optimize=-O2 +GenL0.menu.opt.o2lto=Faster (-O2) with LTO +GenL0.menu.opt.o2lto.build.flags.optimize=-O2 -flto +GenL0.menu.opt.o3std=Fastest (-O3) +GenL0.menu.opt.o3std.build.flags.optimize=-O3 +GenL0.menu.opt.o3lto=Fastest (-O3) with LTO +GenL0.menu.opt.o3lto.build.flags.optimize=-O3 -flto +GenL0.menu.opt.ogstd=Debug (-g) +GenL0.menu.opt.ogstd.build.flags.optimize=-g -Og + ESC_board.menu.opt.osstd=Smallest (-Os default) ESC_board.menu.opt.oslto=Smallest (-Os) with LTO ESC_board.menu.opt.oslto.build.flags.optimize=-Os -flto @@ -2816,16 +2809,6 @@ GenF4.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float GenF4.menu.rtlib.full=Newlib Standard GenF4.menu.rtlib.full.build.flags.ldspecs= -GenL0.menu.rtlib.nano=Newlib Nano (default) -GenL0.menu.rtlib.nanofp=Newlib Nano + Float Printf -GenL0.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float -GenL0.menu.rtlib.nanofs=Newlib Nano + Float Scanf -GenL0.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float -GenL0.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf -GenL0.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float -GenL0.menu.rtlib.full=Newlib Standard -GenL0.menu.rtlib.full.build.flags.ldspecs= - GenH7.menu.rtlib.nano=Newlib Nano (default) GenH7.menu.rtlib.nanofp=Newlib Nano + Float Printf GenH7.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float @@ -2836,6 +2819,16 @@ GenH7.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float GenH7.menu.rtlib.full=Newlib Standard GenH7.menu.rtlib.full.build.flags.ldspecs= +GenL0.menu.rtlib.nano=Newlib Nano (default) +GenL0.menu.rtlib.nanofp=Newlib Nano + Float Printf +GenL0.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float +GenL0.menu.rtlib.nanofs=Newlib Nano + Float Scanf +GenL0.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float +GenL0.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf +GenL0.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float +GenL0.menu.rtlib.full=Newlib Standard +GenL0.menu.rtlib.full.build.flags.ldspecs= + ESC_board.menu.rtlib.nano=Newlib Nano (default) ESC_board.menu.rtlib.nanofp=Newlib Nano + Float Printf ESC_board.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float @@ -2885,4 +2878,3 @@ Midatronics.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf Midatronics.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float Midatronics.menu.rtlib.full=Newlib Standard Midatronics.menu.rtlib.full.build.flags.ldspecs= - diff --git a/variants/DAISY_SEED/PeripheralPins.c b/variants/DAISY_SEED/PeripheralPins.c index 00d34d8651..95d31df52e 100644 --- a/variants/DAISY_SEED/PeripheralPins.c +++ b/variants/DAISY_SEED/PeripheralPins.c @@ -115,7 +115,7 @@ WEAK const PinMap PinMap_I2C_SDA[] = { {PB_9, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, //{PB_9, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF6_I2C4)}, //{PB_11, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, - {PC_9, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, + //{PC_9, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, //{PD_13, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, //{PF_0, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, //{PF_15, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, @@ -303,7 +303,7 @@ WEAK const PinMap PinMap_UART_RX[] = { //{PE_0, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, //{PE_7, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART7)}, //{PF_6, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART7)}, - {PG_9, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART6)}, + //{PG_9, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART6)}, //{PH_14, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, //{PI_9, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, {NC, NP, 0} @@ -360,10 +360,10 @@ WEAK const PinMap PinMap_SPI_MOSI[] = { {PB_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, //{PB_5, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI3)}, //{PB_5, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, - {PB_15, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, - {PC_1, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + //{PB_15, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + //{PC_1, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, //{PC_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, - {PC_12, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + //{PC_12, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, //{PD_6, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI3)}, //{PD_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, //{PE_6, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, @@ -382,10 +382,10 @@ WEAK const PinMap PinMap_SPI_MISO[] = { //{PA_6, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, {PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, //{PB_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, - {PB_4, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, - {PB_14, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + //{PB_4, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, + //{PB_14, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, //{PC_2, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, - {PC_11, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + //{PC_11, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, //{PE_5, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, //{PE_13, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, //{PF_8, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, @@ -414,7 +414,7 @@ WEAK const PinMap PinMap_SPI_SCLK[] = { //{PE_12, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, //{PF_7, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, {PG_11, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, - {PG_13, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI6)}, + //{PG_13, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI6)}, //{PH_6, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, //{PI_1, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, {NC, NP, 0} @@ -430,9 +430,9 @@ WEAK const PinMap PinMap_SPI_SSEL[] = { //{PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, //{PA_15, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, //{PA_15, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI6)}, - {PB_4, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI2)}, - {PB_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, - {PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + //{PB_4, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI2)}, + //{PB_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + //{PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, //{PE_4, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, //{PE_11, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, //{PF_6, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI5)}, diff --git a/variants/DAISY_SEED/ldscript.ld b/variants/DAISY_SEED/ldscript.ld index 9f6abe79e1..686d104015 100644 --- a/variants/DAISY_SEED/ldscript.ld +++ b/variants/DAISY_SEED/ldscript.ld @@ -175,7 +175,7 @@ SECTIONS . = ALIGN(4); .bss : { - /* This is used by the startup in order to initialize the .bss secion */ + /* This is used by the startup in order to initialize the .bss section */ _sbss = .; /* define a global symbol at bss start */ __bss_start__ = _sbss; *(.bss) diff --git a/variants/DAISY_SEED/variant.cpp b/variants/DAISY_SEED/variant.cpp index 52bbeb0a4a..c7462a5070 100644 --- a/variants/DAISY_SEED/variant.cpp +++ b/variants/DAISY_SEED/variant.cpp @@ -10,18 +10,18 @@ const PinName digitalPin[] = { PB_12, // D0 PC_11, // D1 PC_10, // D2 - PC_9, // D3 - PC_8, // D4 - PD_2, // D5 + PC_9, // D3 + PC_8, // D4 + PD_2, // D5 PC_12, // D6 PG_10, // D7 PG_11, // D8 - PB_4, // D9 - PB_5, // D10 - PB_8, // D11 - PB_9, // D12 - PB_6, // D13 - PB_7, // D14 + PB_4, // D9 + PB_5, // D10 + PB_8, // D11 + PB_9, // D12 + PB_6, // D13 + PB_7, // D14 // NC, AUDIO IN L // NC, AUDIO IN R // NC, AUDIO OUT L @@ -29,42 +29,41 @@ const PinName digitalPin[] = { // NC, AGND /* Left Side: */ // NC, 3v3A Out - PC_0, // D15/A0 - PA_3, // D16/A1 - PB_1, // D17/A2 - PA_7, // D18/A3 - PA_6, // D19/A4 - PC_1, // D20/A5 - PC_4, // D21/A6 - PA_5, // D22/A7 - PA_4, // D23/A8 - PA_1, // D24/A9 - PA_0, // D25/A10 + PC_0, // D15/A0 + PA_3, // D16/A1 + PB_1, // D17/A2 + PA_7, // D18/A3 + PA_6, // D19/A4 + PC_1, // D20/A5 + PC_4, // D21/A6 + PA_5, // D22/A7 + PA_4, // D23/A8 + PA_1, // D24/A9 + PA_0, // D25/A10 PD_11, // D26 - PG_9, // D27 - PA_2, // D28/A11 + PG_9, // D27 + PA_2, // D28/A11 PB_14, // D29 PB_15, // D30 // NC, 3v3D Out // NC, VIN // NC, DGND - PC_7, // LED_BUILTIN + PC_7 // LED_BUILTIN }; const uint32_t analogInputPin[] = { - // PXn, // Ax = Dx - 15, // A0 = D15 - 16, // A1 = D16 - 17, // A2 = D17 - 18, // A3 = D18 - 19, // A4 = D19 - 20, // A5 = D20 - 21, // A6 = D21 - 22, // A7 = D22 - 23, // A8 = D23 - 24, // A9 = D24 - 25, // A10 = D25 - 28, // A11 = D28 + 15, // A0 + 16, // A1 + 17, // A2 + 18, // A3 + 19, // A4 + 20, // A5 + 21, // A6 + 22, // A7 + 23, // A8 + 24, // A9 + 25, // A10 + 28 // A11 }; #ifdef __cplusplus @@ -84,24 +83,19 @@ extern "C" { */ WEAK void SystemClock_Config(void) { - RCC_OscInitTypeDef RCC_OscInitStruct = { 0 }; - RCC_ClkInitTypeDef RCC_ClkInitStruct = { 0 }; - RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = { 0 }; + RCC_OscInitTypeDef RCC_OscInitStruct = {}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {}; + RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {}; - /** Supply configuration update enable - */ + /* Supply configuration update enable */ HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY); - /** Configure the main internal regulator output voltage - */ - //__HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); // 400MHz Mode. + /* Configure the main internal regulator output voltage */ __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE0); // 480MHz while (!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {} - /** Macro to configure the PLL clock source - */ + /* Macro to configure the PLL clock source */ __HAL_RCC_PLL_PLLSOURCE_CONFIG(RCC_PLLSOURCE_HSE); - /** Initializes the CPU, AHB and APB busses clocks - */ + /* Initializes the CPU, AHB and APB busses clocks */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48 | RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON; @@ -120,8 +114,7 @@ WEAK void SystemClock_Config(void) if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { Error_Handler(); } - /** Initializes the CPU, AHB and APB busses clocks - */ + /* Initializes the CPU, AHB and APB busses clocks */ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2 | RCC_CLOCKTYPE_D3PCLK1 | RCC_CLOCKTYPE_D1PCLK1; @@ -176,8 +169,7 @@ WEAK void SystemClock_Config(void) if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) { Error_Handler(); } - /** Enable USB Voltage detector - */ + /* Enable USB Voltage detector */ HAL_PWREx_EnableUSBVoltageDetector(); } diff --git a/variants/DAISY_SEED/variant.h b/variants/DAISY_SEED/variant.h index def89a6ff7..645f347dde 100644 --- a/variants/DAISY_SEED/variant.h +++ b/variants/DAISY_SEED/variant.h @@ -8,98 +8,81 @@ extern "C" { /*---------------------------------------------------------------------------- * Pins *----------------------------------------------------------------------------*/ - #define PB12 0 #define PC11 1 #define PC10 2 -#define PC9 3 -#define PC8 4 -#define PD2 5 +#define PC9 3 +#define PC8 4 +#define PD2 5 #define PC12 6 #define PG10 7 #define PG11 8 -#define PB4 9 -#define PB5 10 -#define PB8 11 -#define PB9 12 -#define PB6 13 -#define PB7 14 -#define PC0 15 -#define PA3 16 -#define PB1 17 -#define PA7 18 -#define PA6 19 -#define PC1 20 -#define PC4 21 -#define PA5 22 -#define PA4 23 -#define PA1 24 -#define PA0 25 -#define PD11 26 -#define PG9 27 -#define PA2 28 -#define PB14 29 -#define PB15 30 -#define PC7 31 // LED_BUILTIN - -// This must be a literal with the same value as PEND +#define PB4 9 +#define PB5 10 +#define PB8 11 +#define PB9 12 +#define PB6 13 +#define PB7 14 +#define PC0 A0 +#define PA3 A1 +#define PB1 A2 +#define PA7 A3 +#define PA6 A4 +#define PC1 A5 +#define PC4 A6 +#define PA5 A7 +#define PA4 A8 +#define PA1 A9 +#define PA0 A10 +#define PD11 26 +#define PG9 27 +#define PA2 A11 +#define PB14 29 +#define PB15 30 +#define PC7 31 // LED_BUILTIN + +// This must be a literal #define NUM_DIGITAL_PINS 32 -// This must be a literal with a value less than or equal to to MAX_ANALOG_INPUTS +// This must be a literal #define NUM_ANALOG_INPUTS 12 -//#define NUM_ANALOG_FIRST 15 // commented out to use analogInputPin[] // On-board LED pin number #define LED_BUILTIN PC7 #define LED_RED LED_BUILTIN -// Below SPI and I2C definitions already done in the core -// Could be redefined here if differs from the default one // SPI Definitions -#define PIN_SPI_SS 7 // Default for Arduino connector compatibility -#define PIN_SPI_MOSI 10 // Default for Arduino connector compatibility -#define PIN_SPI_MISO 9 // Default for Arduino connector compatibility -#define PIN_SPI_SCK 8 // Default for Arduino connector compatibility +#define PIN_SPI_SS PG10 +#define PIN_SPI_MOSI PB5 +#define PIN_SPI_MISO PB4 +#define PIN_SPI_SCK PG11 // I2C Definitions -#define PIN_WIRE_SDA 12 // Default for Arduino connector compatibility -#define PIN_WIRE_SCL 11 // Default for Arduino connector compatibility +#define PIN_WIRE_SDA PB9 +#define PIN_WIRE_SCL PB8 // I2C timing definitions (optional), avoid time spent to compute if defined -// * I2C_TIMING_SM for Standard Mode (100kHz) -// * I2C_TIMING_FM for Fast Mode (400kHz) -// * I2C_TIMING_FMP for Fast Mode Plus (1000kHz) #define I2C_TIMING_SM 0x30E0628A #define I2C_TIMING_FM 0x20D01132 #define I2C_TIMING_FMP 0x1080091A - -// On-board user button -#define USER_BTN x // No User Button Available... - // Timer Definitions // Use TIM6/TIM7 when possible as servo and tone don't need GPIO output pin #define TIMER_TONE TIM6 #define TIMER_SERVO TIM7 // UART Definitions -#define SERIAL_UART_INSTANCE 1 // Pins PB6, PB7 +#define SERIAL_UART_INSTANCE 1 -// Serial pin used for console (ex: ST-Link) +// Serial pin used for console // Required by Firmata #define PIN_SERIAL_RX PB7 #define PIN_SERIAL_TX PB6 -// HSE default value is 25MHz in HAL -// HSE_BYPASS is 8MHz ? // HSE is 16MHz on Daisy Seed. -#ifndef HSE_BYPASS_NOT_USED #define HSE_VALUE 16000000 -#endif /* Extra HAL modules */ #define HAL_DAC_MODULE_ENABLED -//#define HAL_MDMA_MODULE_ENABLED // Needed for QSPI -//#define HAL_QSPI_MODULE_ENABLED #ifdef __cplusplus } // extern "C"