diff --git a/bsp/board/include/boards/board_32_bit_multimedia/board.cmake b/bsp/board/include/boards/board_32_bit_multimedia/board.cmake new file mode 100644 index 000000000..16567a056 --- /dev/null +++ b/bsp/board/include/boards/board_32_bit_multimedia/board.cmake @@ -0,0 +1,5 @@ +if(${_MSDK_BOARD_NAME_} STREQUAL "32_BIT_MULTIMEDIA_BOARD") + set(BOARD_PATH "include/boards/board_32_bit_multimedia") + set(MCU_CARD FALSE) + set(SHIELD FALSE) +endif() diff --git a/bsp/board/include/boards/board_32_bit_multimedia/board.h b/bsp/board/include/boards/board_32_bit_multimedia/board.h new file mode 100644 index 000000000..b9e716404 --- /dev/null +++ b/bsp/board/include/boards/board_32_bit_multimedia/board.h @@ -0,0 +1,172 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** The above copyright notice and this permission notice shall be +** included in all copies or substantial portions of the Software. +** +** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +** DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT +** OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +** OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +** +****************************************************************************/ +/*! + * @file board.h + * @brief Main board pin mapping. + */ + +#ifndef _BOARD_H_ +#define _BOARD_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#define BOARD_NAME "32-bit Multimedia Board" + +#include "hal_target.h" + +// Mapping +#define HEADER_CONNECTOR_HDR1_D1 // Pin not routed +#define HEADER_CONNECTOR_HDR1_D2 // Pin not routed +#define HEADER_CONNECTOR_HDR1_D3 PE0 +#define HEADER_CONNECTOR_HDR1_D4 PE1 +#define HEADER_CONNECTOR_HDR1_D5 PE2 +#define HEADER_CONNECTOR_HDR1_D6 PE3 +#define HEADER_CONNECTOR_HDR1_D7 PE4 +#define HEADER_CONNECTOR_HDR1_D8 PE5 +#define HEADER_CONNECTOR_HDR1_D9 PE6 +#define HEADER_CONNECTOR_HDR1_D10 PE7 +#define HEADER_CONNECTOR_HDR1_D11 PG0 +#define HEADER_CONNECTOR_HDR1_D12 PG1 +#define HEADER_CONNECTOR_HDR1_D13 PF1 +#define HEADER_CONNECTOR_HDR1_D14 PF0 +#define HEADER_CONNECTOR_HDR1_D15 PD12 +#define HEADER_CONNECTOR_HDR1_D16 PD13 +#define HEADER_CONNECTOR_HDR1_D17 PD6 +#define HEADER_CONNECTOR_HDR1_D18 PD7 +#define HEADER_CONNECTOR_HDR1_D19 PD5 +#define HEADER_CONNECTOR_HDR1_D20 PD4 +#define HEADER_CONNECTOR_HDR1_D21 PB3 +#define HEADER_CONNECTOR_HDR1_D22 PB2 +#define HEADER_CONNECTOR_HDR1_D23 PB1 +#define HEADER_CONNECTOR_HDR1_D24 PB0 +#define HEADER_CONNECTOR_HDR1_D25 PA10 +#define HEADER_CONNECTOR_HDR1_D26 PA9 +#define HEADER_CONNECTOR_HDR1_D27 PB4 +#define HEADER_CONNECTOR_HDR1_D28 PB5 +#define HEADER_CONNECTOR_HDR1_D29 // Pin not routed +#define HEADER_CONNECTOR_HDR1_D30 // Pin not routed + +#define HEADER_CONNECTOR_HDR2_D1 // Pin not routed +#define HEADER_CONNECTOR_HDR2_D2 // Pin not routed +#define HEADER_CONNECTOR_HDR2_D3 PB9 +#define HEADER_CONNECTOR_HDR2_D4 PB14 +#define HEADER_CONNECTOR_HDR2_D5 PB3 +#define HEADER_CONNECTOR_HDR2_D6 PD11 +#define HEADER_CONNECTOR_HDR2_D7 PE9 +#define HEADER_CONNECTOR_HDR2_D8 PG12 +#define HEADER_CONNECTOR_HDR2_D9 PG13 +#define HEADER_CONNECTOR_HDR2_D10 PG14 +#define HEADER_CONNECTOR_HDR2_D11 PG15 +#define HEADER_CONNECTOR_HDR2_D12 PF2 +#define HEADER_CONNECTOR_HDR2_D13 PF8 +#define HEADER_CONNECTOR_HDR2_D14 PD14 +#define HEADER_CONNECTOR_HDR2_D15 PD15 +#define HEADER_CONNECTOR_HDR2_D16 PF4 +#define HEADER_CONNECTOR_HDR2_D17 PF5 +#define HEADER_CONNECTOR_HDR2_D18 // Pin not routed +#define HEADER_CONNECTOR_HDR2_D19 PA14 +#define HEADER_CONNECTOR_HDR2_D20 PA15 +#define HEADER_CONNECTOR_HDR2_D21 PA2 +#define HEADER_CONNECTOR_HDR2_D22 PA3 +#define HEADER_CONNECTOR_HDR2_D23 PC4 +#define HEADER_CONNECTOR_HDR2_D24 PD0 +#define HEADER_CONNECTOR_HDR2_D25 PD10 +#define HEADER_CONNECTOR_HDR2_D26 PG7 +#define HEADER_CONNECTOR_HDR2_D27 PG8 +#define HEADER_CONNECTOR_HDR2_D28 PG6 +#define HEADER_CONNECTOR_HDR2_D29 // Pin not routed +#define HEADER_CONNECTOR_HDR2_D30 // Pin not routed + +// TFT +#define TFT_LED_A1 // Pin not routed +#define TFT_LED_A2 // Pin not routed +#define TFT_LED_A3 // Pin not routed +#define TFT_LED_A4 // Pin not routed +#define TFT_IM0 // Pin not routed +#define TFT_IM1 // Pin not routed +#define TFT_IM2 // Pin not routed +#define TFT_IM3 // Pin not routed +#define TFT_RESET RB15 +#define TFT_VSYNC // Pin not routed +#define TFT_HSYNC // Pin not routed +#define TFT_DOTCLK // Pin not routed +#define TFT_ENABLE // Pin not routed +#define TFT_DB17 PD7 +#define TFT_DB16 PD6 +#define TFT_DB15 PD13 +#define TFT_DB14 PD12 +#define TFT_DB13 RF0 +#define TFT_DB12 RF1 +#define TFT_DB11 RG1 +#define TFT_DB10 RG0 +#define TFT_DB9 // Pin not routed +#define TFT_DB8 RE7 +#define TFT_DB7 RE6 +#define TFT_DB6 RE5 +#define TFT_DB5 RE4 +#define TFT_DB4 RE3 +#define TFT_DB3 RE2 +#define TFT_DB2 RE1 +#define TFT_DB1 RE0 +#define TFT_DB0 // Pin not routed +#define TFT_SDO // Pin not routed +#define TFT_SDI // Pin not routed +#define TFT_RD RD5 +#define TFT_WR_SCL RD4 +#define TFT_RS RB15 +#define TFT_CS RF12 +#define TFT_FMARK // Pin not routed +#define TFT_VCC_IO // Pin not routed +#define TFT_VCC // Pin not routed +#define TFT_VCC_I // Pin not routed +#define TFT_GND // Pin not routed +#define TFT_XR RB11 +#define TFT_YD RB10 +#define TFT_XL RB13 +#define TFT_YU RB12 + +#ifdef __cplusplus +} +#endif + +#endif // _BOARD_H_ +// ------------------------------------------------------------------------- END diff --git a/bsp/board/include/boards/board_nucleo_32_with_stm32l412kb/board.cmake b/bsp/board/include/boards/board_nucleo_32_with_stm32l412kb/board.cmake new file mode 100644 index 000000000..02792188d --- /dev/null +++ b/bsp/board/include/boards/board_nucleo_32_with_stm32l412kb/board.cmake @@ -0,0 +1,5 @@ +if(${_MSDK_BOARD_NAME_} STREQUAL "BOARD_NUCLEO_32_WITH_STM32L412KB") + set(BOARD_PATH "include/boards/board_nucleo_32_with_stm32l412kb") + set(MCU_CARD FALSE) + set(SHIELD FALSE) +endif() diff --git a/bsp/board/include/boards/board_nucleo_32_with_stm32l412kb/board.h b/bsp/board/include/boards/board_nucleo_32_with_stm32l412kb/board.h new file mode 100644 index 000000000..9b96d0476 --- /dev/null +++ b/bsp/board/include/boards/board_nucleo_32_with_stm32l412kb/board.h @@ -0,0 +1,94 @@ +/**************************************************************************** +** +** Copyright (C) ${COPYRIGHT_YEAR} MikroElektronika d.o.o. +** Contact: https://www.mikroe.com/contact +** +** This file is part of the mikroSDK package +** +** Commercial License Usage +** +** Licensees holding valid commercial NECTO compilers AI licenses may use this +** file in accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The MikroElektronika Company. +** For licensing terms and conditions see +** https://www.mikroe.com/legal/software-license-agreement. +** For further information use the contact form at +** https://www.mikroe.com/contact. +** +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used for +** non-commercial projects under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** The above copyright notice and this permission notice shall be +** included in all copies or substantial portions of the Software. +** +** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +** TO THE WARRANTIES FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +** DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT +** OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE +** OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +** +****************************************************************************/ +/*! + * @file board.h + * @brief Main board pin mapping. + */ + +#ifndef _BOARD_H_ +#define _BOARD_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + +#define BOARD_NAME "Nucleo-L412KB" + +#include "hal_target.h" + +// Mapping +#define HEADER_CONNECTOR_CN3_D1 PA9 +#define HEADER_CONNECTOR_CN3_D2 PA10 +#define HEADER_CONNECTOR_CN3_D3 // Pin not routed +#define HEADER_CONNECTOR_CN3_D4 // Pin not routed +#define HEADER_CONNECTOR_CN3_D5 PA12 +#define HEADER_CONNECTOR_CN3_D6 PB0 +#define HEADER_CONNECTOR_CN3_D7 PB7 +#define HEADER_CONNECTOR_CN3_D8 PB6 +#define HEADER_CONNECTOR_CN3_D9 PB1 +#define HEADER_CONNECTOR_CN3_D10 PC14 +#define HEADER_CONNECTOR_CN3_D11 PC15 +#define HEADER_CONNECTOR_CN3_D12 PA8 +#define HEADER_CONNECTOR_CN3_D13 PA11 +#define HEADER_CONNECTOR_CN3_D14 PB5 +#define HEADER_CONNECTOR_CN3_D15 PB4 + +#define HEADER_CONNECTOR_CN4_D1 // Pin not routed +#define HEADER_CONNECTOR_CN4_D2 // Pin not routed +#define HEADER_CONNECTOR_CN4_D3 // Pin not routed +#define HEADER_CONNECTOR_CN4_D4 // Pin not routed +#define HEADER_CONNECTOR_CN4_D5 PA2 +#define HEADER_CONNECTOR_CN4_D6 PA7 +#define HEADER_CONNECTOR_CN4_D7 PA6 +#define HEADER_CONNECTOR_CN4_D8 PA5 +#define HEADER_CONNECTOR_CN4_D9 PA4 +#define HEADER_CONNECTOR_CN4_D10 PA3 +#define HEADER_CONNECTOR_CN4_D11 PA1 +#define HEADER_CONNECTOR_CN4_D12 PA0 +#define HEADER_CONNECTOR_CN4_D13 // Pin not routed +#define HEADER_CONNECTOR_CN4_D14 // Pin not routed +#define HEADER_CONNECTOR_CN4_D15 PB3 + +#ifdef __cplusplus +} +#endif + +#endif // _BOARD_H_ +// ------------------------------------------------------------------------- END diff --git a/changelog/v2.12.0/changelog.md b/changelog/v2.12.0/changelog.md index 9dea3f64a..148eb2cc9 100644 --- a/changelog/v2.12.0/changelog.md +++ b/changelog/v2.12.0/changelog.md @@ -46,6 +46,7 @@ Support added for following hardware: + **[2024-11-08](./new_hw/2024-11-08.md)** + **[2024-11-12](./new_hw/2024-11-12.md)** + **[2024-11-13](./new_hw/2024-11-13.md)** ++ **[2024-11-14](./new_hw/2024-11-14.md)** --- diff --git a/changelog/v2.12.0/new_hw/2024-11-14.md b/changelog/v2.12.0/new_hw/2024-11-14.md new file mode 100644 index 000000000..d2dba81bc --- /dev/null +++ b/changelog/v2.12.0/new_hw/2024-11-14.md @@ -0,0 +1,30 @@ +
+ +
+ +--- + +**[BACK TO PREVIOUS FILE](../changelog.md)** + +--- + +# 2024-11-14 + +## Changes + +- [2024-11-14](#2024-11-14) + - [Changes](#changes) + - [NEW HARDWARE](#new-hardware) + +### NEW HARDWARE + +Support added for following hardware: + ++ [32-Bit Multimedia Board](https://mplab-discover.microchip.com/v2/item/com.microchip.portal.evalboard/com.microchip.subcategories.modules-and-peripherals.communication.can.Others/mcu08.tmik001/1.0.0?view=about) ++ [Nucleo 32 with STM32L412KB MCU](https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-nucleo-boards/nucleo-l412kb.html) + +--- + +**[BACK TO PREVIOUS FILE](../changelog.md)** + +--- diff --git a/resources/images/boards/board-32-bit-multimedia.png b/resources/images/boards/board-32-bit-multimedia.png new file mode 100644 index 000000000..1f92c15f4 Binary files /dev/null and b/resources/images/boards/board-32-bit-multimedia.png differ diff --git a/resources/queries/boards/board_32_bit_multimedia/Boards.json b/resources/queries/boards/board_32_bit_multimedia/Boards.json new file mode 100644 index 000000000..b72c05693 --- /dev/null +++ b/resources/queries/boards/board_32_bit_multimedia/Boards.json @@ -0,0 +1,16 @@ +{ + "uid": "32_BIT_MULTIMEDIA_BOARD", + "name": "32-Bit Multimedia Board", + "icon": "images/boards/board-32-bit-multimedia.png", + "default_device": "", + "soldered_device": "PIC32MX460F512L", + "category": "Development Systems", + "mikrobus_count": 0, + "sort_order": 6, + "min_pin_count": 0, + "display_socket": "NO_DISPLAY", + "sdk_config": "{\"_MSDK_BOARD_NAME_\":\"32_BIT_MULTIMEDIA_BOARD\"}", + "necto_config": "", + "display": "NO_DISPLAY", + "package_uid": "100/TQFP" +} diff --git a/resources/queries/boards/board_32_bit_multimedia/LinkerTables.json b/resources/queries/boards/board_32_bit_multimedia/LinkerTables.json new file mode 100644 index 000000000..6a83e318d --- /dev/null +++ b/resources/queries/boards/board_32_bit_multimedia/LinkerTables.json @@ -0,0 +1,20 @@ +{ + "board_uid": "32_BIT_MULTIMEDIA_BOARD", + "tables": [ + { + "BoardToDevice": { + "device_uid": "PIC32MX460F512L" + } + }, + { + "BoardToSocket": { + "socket_uid": ["NONE"] + } + }, + { + "SDKToBoard": { + "sdk_uid": "2.11.2+" + } + } + ] +} diff --git a/resources/queries/boards/board_nucleo_32_with_stm32l412kb/Boards.json b/resources/queries/boards/board_nucleo_32_with_stm32l412kb/Boards.json new file mode 100644 index 000000000..b53252846 --- /dev/null +++ b/resources/queries/boards/board_nucleo_32_with_stm32l412kb/Boards.json @@ -0,0 +1,16 @@ +{ + "uid": "NUCLEO_32_WITH_STM32L412KB_MCU", + "name": "Nucleo 32 with STM32L412KB MCU", + "icon": "images/boards/board-nucleo-32.png", + "default_device": "", + "soldered_device": "STM32L412KB", + "category": "Development Systems", + "mikrobus_count": 0, + "sort_order": 6, + "min_pin_count": 0, + "display_socket": "NO_DISPLAY", + "sdk_config": "{\"_MSDK_BOARD_NAME_\":\"BOARD_NUCLEO_32_WITH_STM32L412KB\"}", + "necto_config": "", + "display": "NO_DISPLAY", + "package_uid": "32/LQFP" +} diff --git a/resources/queries/boards/board_nucleo_32_with_stm32l412kb/LinkerTables.json b/resources/queries/boards/board_nucleo_32_with_stm32l412kb/LinkerTables.json new file mode 100644 index 000000000..73f23b3e1 --- /dev/null +++ b/resources/queries/boards/board_nucleo_32_with_stm32l412kb/LinkerTables.json @@ -0,0 +1,20 @@ +{ + "board_uid": "NUCLEO_32_WITH_STM32L412KB_MCU", + "tables": [ + { + "BoardToDevice": { + "device_uid": "STM32L412KB" + } + }, + { + "BoardToSocket": { + "socket_uid": ["NONE"] + } + }, + { + "SDKToBoard": { + "sdk_uid": "2.11.2+" + } + } + ] +}