diff --git a/connectivity/drivers/emac/TARGET_NXP_EMAC/TARGET_LPCTarget/lpc17_emac.cpp b/connectivity/drivers/emac/TARGET_NXP_EMAC/TARGET_LPCTarget/lpc17_emac.cpp index 34ddda1a744..c272b52c601 100644 --- a/connectivity/drivers/emac/TARGET_NXP_EMAC/TARGET_LPCTarget/lpc17_emac.cpp +++ b/connectivity/drivers/emac/TARGET_NXP_EMAC/TARGET_LPCTarget/lpc17_emac.cpp @@ -120,15 +120,9 @@ struct lpc_enetdata { uint32_t lpc_reserved_tx_num; /**< Number of reserved TX descriptors, zero-copy mode */ }; -#if defined(TARGET_LPC1768) -/** \brief Group LPC17xx processors into one definition - */ -#define TARGET_LPC17XX -#endif - #if defined(TARGET_LPC17XX) # if defined(TOOLCHAIN_GCC_ARM) || defined(TOOLCHAIN_ARM) -# define ETHMEM_SECTION __attribute__((section("AHBSRAM"),aligned)) +# define ETHMEM_SECTION __attribute__((section("AHBSRAM"), aligned(32))) # endif #endif @@ -385,9 +379,9 @@ int32_t LPC17_EMAC::lpc_packet_addr_notsafe(void *addr) /* Check for legal address ranges */ #if defined(TARGET_LPC17XX) if ((((uint32_t) addr >= 0x2007C000) && ((uint32_t) addr < 0x20083FFF))) { -#endif return 0; } +#endif return 1; } diff --git a/connectivity/drivers/emac/TARGET_NXP_EMAC/TARGET_LPCTarget/lpc_emac_config.h b/connectivity/drivers/emac/TARGET_NXP_EMAC/TARGET_LPCTarget/lpc_emac_config.h index 43efb8a7fd2..4b2ef631a9f 100644 --- a/connectivity/drivers/emac/TARGET_NXP_EMAC/TARGET_LPCTarget/lpc_emac_config.h +++ b/connectivity/drivers/emac/TARGET_NXP_EMAC/TARGET_LPCTarget/lpc_emac_config.h @@ -6,7 +6,7 @@ * @version 1.0 * @date 20 Nov. 2011 * @author NXP MCU SW Application Team -* +* * Copyright(C) 2011, NXP Semiconductor * All rights reserved. * @@ -61,7 +61,7 @@ */ #define PHY_USE_100MBS 1 /**< Sets data rate to 100Mbps. */ -/** +/** * @} */ @@ -95,7 +95,7 @@ */ #define LPC_TX_PBUF_BOUNCE_EN 1 -/** +/** * @} */ diff --git a/connectivity/lwipstack/lwip-sys/arch/cc.h b/connectivity/lwipstack/lwip-sys/arch/cc.h index 6234e80471f..7c80d4e78f2 100644 --- a/connectivity/lwipstack/lwip-sys/arch/cc.h +++ b/connectivity/lwipstack/lwip-sys/arch/cc.h @@ -131,14 +131,8 @@ void trace_to_ascii_hex_dump(char* prefix, int len, char *data); /* Define the memory area for the lwip's memory pools */ #ifndef MEMP_SECTION -#if defined(TARGET_LPC1768) -# if defined (__ICCARM__) -# define MEMP_SECTION -# elif defined(TOOLCHAIN_GCC_CR) -# define MEMP_SECTION __attribute__((section(".data.$RamPeriph32"))) -# else -# define MEMP_SECTION __attribute__((section("AHBSRAM"),aligned)) -# endif +#if defined(TARGET_LPC17XX) +# define MEMP_SECTION __attribute__((section("AHBSRAM"),aligned)) #endif #endif diff --git a/connectivity/lwipstack/lwip-sys/arch/lwip_sys_arch.c b/connectivity/lwipstack/lwip-sys/arch/lwip_sys_arch.c index e8ac7a62108..63fdab03adb 100644 --- a/connectivity/lwipstack/lwip-sys/arch/lwip_sys_arch.c +++ b/connectivity/lwipstack/lwip-sys/arch/lwip_sys_arch.c @@ -31,20 +31,10 @@ /* Define the heap ourselves to give us section placement control */ #ifndef ETHMEM_SECTION -#if defined(TARGET_LPC1768) -# if defined (__ICCARM__) -# define ETHMEM_SECTION -# elif defined(TOOLCHAIN_GCC_CR) -# define ETHMEM_SECTION __attribute__((section(".data.$RamPeriph32"))) -# else -# define ETHMEM_SECTION __attribute__((section("AHBSRAM"),aligned)) -# endif +#if defined(TARGET_LPC17XX) +# define ETHMEM_SECTION __attribute__((section("AHBSRAM"),aligned)) #elif defined(TARGET_STM32H7) -# if defined (__ICCARM__) -# define ETHMEM_SECTION -# else -# define ETHMEM_SECTION __attribute__((section(".ethusbram"))) -# endif +# define ETHMEM_SECTION __attribute__((section(".ethusbram"))) #else #define ETHMEM_SECTION #endif @@ -65,9 +55,6 @@ struct mem { #define SIZEOF_STRUCT_MEM LWIP_MEM_ALIGN_SIZE(sizeof(struct mem)) #define MEM_SIZE_ALIGNED LWIP_MEM_ALIGN_SIZE(MEM_SIZE) -#if defined (__ICCARM__) -#pragma location = ".ethusbram" -#endif LWIP_DECLARE_MEMORY_ALIGNED(lwip_ram_heap, MEM_SIZE_ALIGNED + (2U*SIZEOF_STRUCT_MEM)) ETHMEM_SECTION; #if NO_SYS==1 @@ -320,7 +307,7 @@ err_t sys_sem_new(sys_sem_t *sem, u8_t count) { sem->id = osSemaphoreNew(UINT16_MAX, count, &sem->attr); if (sem->id == NULL) MBED_ERROR1(MBED_MAKE_ERROR(MBED_MODULE_NETWORK_STACK, MBED_ERROR_CODE_FAILED_OPERATION), "sys_sem_new create error\n", (u32_t)sem); - + return ERR_OK; } @@ -349,12 +336,12 @@ err_t sys_sem_new(sys_sem_t *sem, u8_t count) { *---------------------------------------------------------------------------*/ u32_t sys_arch_sem_wait(sys_sem_t *sem, u32_t timeout) { u32_t start = osKernelGetTickCount(); - + if (osSemaphoreAcquire(sem->id, (timeout != 0)?(timeout):(osWaitForever)) != osOK) { MBED_WARNING1(MBED_MAKE_ERROR(MBED_MODULE_NETWORK_STACK, MBED_ERROR_CODE_TIME_OUT), "sys_arch_sem_wait time out\n", (u32_t)sem); return SYS_ARCH_TIMEOUT; } - + return osKernelGetTickCount() - start; } @@ -394,7 +381,7 @@ err_t sys_mutex_new(sys_mutex_t *mutex) { MBED_WARNING1(MBED_MAKE_ERROR(MBED_MODULE_NETWORK_STACK, MBED_ERROR_CODE_FAILED_OPERATION), "sys_mutex_new error\n", (u32_t)mutex); return ERR_MEM; } - + return ERR_OK; } @@ -521,7 +508,7 @@ static sys_thread_data_t thread_pool[SYS_THREAD_POOL_N]; *---------------------------------------------------------------------------*/ #ifndef MBED_TZ_DEFAULT_ACCESS #define MBED_TZ_DEFAULT_ACCESS 0 -#endif +#endif sys_thread_t sys_thread_new(const char *pcName, void (*thread)(void *arg), @@ -547,7 +534,7 @@ static sys_thread_data_t thread_pool[SYS_THREAD_POOL_N]; t->id = osThreadNew((osThreadFunc_t)thread, arg, &t->attr); if (t->id == NULL) MBED_ERROR(MBED_MAKE_ERROR(MBED_MODULE_NETWORK_STACK, MBED_ERROR_CODE_THREAD_CREATE_FAILED), "sys_thread_new create error\n"); - + return t; } diff --git a/connectivity/lwipstack/mbed_lib.json5 b/connectivity/lwipstack/mbed_lib.json5 index 5ea4a99ec98..2ea1cca7cea 100644 --- a/connectivity/lwipstack/mbed_lib.json5 +++ b/connectivity/lwipstack/mbed_lib.json5 @@ -169,6 +169,9 @@ "LPC1768": { "mem-size": 16362 }, + "LPCXPRESSO_LPC1769": { + "mem-size": 16362 + }, "ARCH_PRO": { "mem-size": 16362 }, diff --git a/targets/TARGET_NXP/CMakeLists.txt b/targets/TARGET_NXP/CMakeLists.txt index e519a4453d7..783926ae8bb 100644 --- a/targets/TARGET_NXP/CMakeLists.txt +++ b/targets/TARGET_NXP/CMakeLists.txt @@ -2,7 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 add_subdirectory(TARGET_LPC11XX_11CXX EXCLUDE_FROM_ALL) -add_subdirectory(TARGET_LPC176X EXCLUDE_FROM_ALL) +add_subdirectory(TARGET_LPC17XX EXCLUDE_FROM_ALL) add_subdirectory(TARGET_MCUXpresso_MCUS EXCLUDE_FROM_ALL) add_library(mbed-nxp INTERFACE) diff --git a/targets/TARGET_NXP/TARGET_LPC176X/CMakeLists.txt b/targets/TARGET_NXP/TARGET_LPC17XX/CMakeLists.txt similarity index 65% rename from targets/TARGET_NXP/TARGET_LPC176X/CMakeLists.txt rename to targets/TARGET_NXP/TARGET_LPC17XX/CMakeLists.txt index e5ff520e079..34658e2aa47 100644 --- a/targets/TARGET_NXP/TARGET_LPC176X/CMakeLists.txt +++ b/targets/TARGET_NXP/TARGET_LPC17XX/CMakeLists.txt @@ -3,8 +3,9 @@ add_subdirectory(TARGET_ARCH_PRO EXCLUDE_FROM_ALL) add_subdirectory(TARGET_MBED_LPC1768 EXCLUDE_FROM_ALL) +add_subdirectory(TARGET_LPCXPRESSO_LPC1769 EXCLUDE_FROM_ALL) -add_library(mbed-lpc176x INTERFACE) +add_library(mbed-lpc17xx INTERFACE) if(${MBED_TOOLCHAIN} STREQUAL "ARM") set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_LPC17xx.S) @@ -14,13 +15,13 @@ elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM") set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/LPC1768.ld) endif() -target_include_directories(mbed-lpc176x +target_include_directories(mbed-lpc17xx INTERFACE . device ) -target_sources(mbed-lpc176x +target_sources(mbed-lpc17xx INTERFACE analogin_api.c analogout_api.c @@ -45,7 +46,10 @@ target_sources(mbed-lpc176x ${STARTUP_FILE} ) -target_link_libraries(mbed-lpc176x INTERFACE mbed-nxp) +target_link_libraries(mbed-lpc17xx INTERFACE mbed-nxp) -mbed_set_linker_script(mbed-arch-pro ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE}) -mbed_set_linker_script(mbed-lpc1768 ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE}) +mbed_set_linker_script(mbed-lpc17xx ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE}) + +# mbed_set_linker_script(mbed-arch-pro ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE}) +# mbed_set_linker_script(mbed-lpc1768 ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE}) +# mbed_set_linker_script(mbed-lpcxpresso-lpc1769 ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE}) diff --git a/targets/TARGET_NXP/TARGET_LPC176X/PeripheralNames.h b/targets/TARGET_NXP/TARGET_LPC17XX/PeripheralNames.h similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/PeripheralNames.h rename to targets/TARGET_NXP/TARGET_LPC17XX/PeripheralNames.h diff --git a/targets/TARGET_NXP/TARGET_LPC176X/PeripheralPinMaps.h b/targets/TARGET_NXP/TARGET_LPC17XX/PeripheralPinMaps.h similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/PeripheralPinMaps.h rename to targets/TARGET_NXP/TARGET_LPC17XX/PeripheralPinMaps.h diff --git a/targets/TARGET_NXP/TARGET_LPC176X/PortNames.h b/targets/TARGET_NXP/TARGET_LPC17XX/PortNames.h similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/PortNames.h rename to targets/TARGET_NXP/TARGET_LPC17XX/PortNames.h diff --git a/targets/TARGET_NXP/TARGET_LPC176X/TARGET_ARCH_PRO/CMakeLists.txt b/targets/TARGET_NXP/TARGET_LPC17XX/TARGET_ARCH_PRO/CMakeLists.txt similarity index 82% rename from targets/TARGET_NXP/TARGET_LPC176X/TARGET_ARCH_PRO/CMakeLists.txt rename to targets/TARGET_NXP/TARGET_LPC17XX/TARGET_ARCH_PRO/CMakeLists.txt index 2bb1beb36fc..12b7a60040b 100644 --- a/targets/TARGET_NXP/TARGET_LPC176X/TARGET_ARCH_PRO/CMakeLists.txt +++ b/targets/TARGET_NXP/TARGET_LPC17XX/TARGET_ARCH_PRO/CMakeLists.txt @@ -10,6 +10,6 @@ target_include_directories(mbed-arch-pro . ) -target_link_libraries(mbed-arch-pro INTERFACE mbed-lpc176x) +target_link_libraries(mbed-arch-pro INTERFACE mbed-lpc17xx) mbed_post_build_lpc_patch_vtable("ARCH_PRO") diff --git a/targets/TARGET_NXP/TARGET_LPC176X/TARGET_ARCH_PRO/PinNames.h b/targets/TARGET_NXP/TARGET_LPC17XX/TARGET_ARCH_PRO/PinNames.h similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/TARGET_ARCH_PRO/PinNames.h rename to targets/TARGET_NXP/TARGET_LPC17XX/TARGET_ARCH_PRO/PinNames.h diff --git a/targets/TARGET_NXP/TARGET_LPC176X/TARGET_ARCH_PRO/device.h b/targets/TARGET_NXP/TARGET_LPC17XX/TARGET_ARCH_PRO/device.h similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/TARGET_ARCH_PRO/device.h rename to targets/TARGET_NXP/TARGET_LPC17XX/TARGET_ARCH_PRO/device.h diff --git a/targets/TARGET_NXP/TARGET_LPC176X/TARGET_ARCH_PRO/reserved_pins.h b/targets/TARGET_NXP/TARGET_LPC17XX/TARGET_ARCH_PRO/reserved_pins.h similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/TARGET_ARCH_PRO/reserved_pins.h rename to targets/TARGET_NXP/TARGET_LPC17XX/TARGET_ARCH_PRO/reserved_pins.h diff --git a/targets/TARGET_NXP/TARGET_LPC17XX/TARGET_LPCXPRESSO_LPC1769/CMakeLists.txt b/targets/TARGET_NXP/TARGET_LPC17XX/TARGET_LPCXPRESSO_LPC1769/CMakeLists.txt new file mode 100644 index 00000000000..d8d86e99983 --- /dev/null +++ b/targets/TARGET_NXP/TARGET_LPC17XX/TARGET_LPCXPRESSO_LPC1769/CMakeLists.txt @@ -0,0 +1,15 @@ +# Copyright (c) 2021 ARM Limited. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +include(mbed_set_post_build_nxp) + +add_library(mbed-lpcxpresso-lpc1769 INTERFACE) + +target_include_directories(mbed-lpcxpresso-lpc1769 + INTERFACE + . +) + +target_link_libraries(mbed-lpcxpresso-lpc1769 INTERFACE mbed-lpc17xx) + +mbed_post_build_lpc_patch_vtable("LPC1768") diff --git a/targets/TARGET_NXP/TARGET_LPC17XX/TARGET_LPCXPRESSO_LPC1769/PinNames.h b/targets/TARGET_NXP/TARGET_LPC17XX/TARGET_LPCXPRESSO_LPC1769/PinNames.h new file mode 100644 index 00000000000..c042a33e4b4 --- /dev/null +++ b/targets/TARGET_NXP/TARGET_LPC17XX/TARGET_LPCXPRESSO_LPC1769/PinNames.h @@ -0,0 +1,150 @@ +/* mbed Microcontroller Library + * Copyright (c) 2006-2013 ARM Limited + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* MBED TARGET LIST: LPC1768 */ + +#ifndef MBED_PINNAMES_H +#define MBED_PINNAMES_H + +#include "cmsis.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum { + PIN_INPUT, + PIN_OUTPUT +} PinDirection; + +/* If this macro is defined, you can use constexpr utility functions for pin map search. */ +#define STATIC_PINMAP_READY 1 + +#define PORT_SHIFT 5 + +typedef enum { + // LPC Pin Names + P0_0 = LPC_GPIO0_BASE, + P0_1, P0_2, P0_3, P0_4, P0_5, P0_6, P0_7, P0_8, P0_9, P0_10, P0_11, P0_12, P0_13, P0_14, P0_15, P0_16, P0_17, P0_18, P0_19, P0_20, P0_21, P0_22, P0_23, P0_24, P0_25, P0_26, P0_27, P0_28, P0_29, P0_30, P0_31, + P1_0, P1_1, P1_2, P1_3, P1_4, P1_5, P1_6, P1_7, P1_8, P1_9, P1_10, P1_11, P1_12, P1_13, P1_14, P1_15, P1_16, P1_17, P1_18, P1_19, P1_20, P1_21, P1_22, P1_23, P1_24, P1_25, P1_26, P1_27, P1_28, P1_29, P1_30, P1_31, + P2_0, P2_1, P2_2, P2_3, P2_4, P2_5, P2_6, P2_7, P2_8, P2_9, P2_10, P2_11, P2_12, P2_13, P2_14, P2_15, P2_16, P2_17, P2_18, P2_19, P2_20, P2_21, P2_22, P2_23, P2_24, P2_25, P2_26, P2_27, P2_28, P2_29, P2_30, P2_31, + P3_0, P3_1, P3_2, P3_3, P3_4, P3_5, P3_6, P3_7, P3_8, P3_9, P3_10, P3_11, P3_12, P3_13, P3_14, P3_15, P3_16, P3_17, P3_18, P3_19, P3_20, P3_21, P3_22, P3_23, P3_24, P3_25, P3_26, P3_27, P3_28, P3_29, P3_30, P3_31, + P4_0, P4_1, P4_2, P4_3, P4_4, P4_5, P4_6, P4_7, P4_8, P4_9, P4_10, P4_11, P4_12, P4_13, P4_14, P4_15, P4_16, P4_17, P4_18, P4_19, P4_20, P4_21, P4_22, P4_23, P4_24, P4_25, P4_26, P4_27, P4_28, P4_29, P4_30, P4_31, + + // mbed DIP Pin Names + p5 = P0_9, + p6 = P0_8, + p7 = P0_7, + p8 = P0_6, + p9 = P0_0, + p10 = P0_1, + p11 = P0_18, + p12 = P0_17, + p13 = P0_15, + p14 = P0_16, + p15 = P0_23, + p16 = P0_24, + p17 = P0_25, + p18 = P0_26, + p19 = P1_30, + p20 = P1_31, + p21 = P2_5, + p22 = P2_4, + p23 = P2_3, + p24 = P2_2, + p25 = P2_1, + p26 = P2_0, + p27 = P0_11, + p28 = P0_10, + p29 = P0_5, + p30 = P0_4, + + CONSOLE_TX = P0_2, + CONSOLE_RX = P0_3, + + // Arch Pro Pin Names + D0 = P4_29, + D1 = P4_28, + D2 = P0_4, + D3 = P0_5, + D4 = P2_2, + D5 = P2_3, + D6 = P2_4, + D7 = P2_5, + D8 = P0_0, + D9 = P0_1, + D10 = P0_6, + D11 = P0_9, + D12 = P0_8, + D13 = P0_7, + D14 = P0_27, + D15 = P0_28, + + A0 = P0_23, + A1 = P0_24, + A2 = P0_25, + A3 = P0_26, + A4 = P1_30, + A5 = P1_31, + + // Not connected + NC = (int)0xFFFFFFFF +} PinName; + +// Standard buttons and LEDs +#define LED1 P0_22 // LED1 RGB red +#define LED2 P3_26 // LED1 RGB blue +#define LED3 P2_25 // LED1 RGB green + +#define LED_RED LED1 +#define LED_BLUE LED2 +#define LED_GREEN LED3 + +// I2C pin names +#define I2C_SCL0 P0_28 // ext. pull-up 2k2 onboard +#define I2C_SDA0 P0_27 // ext. pull-up 2k2 onboard +#define I2C_SCL1 p10 +#define I2C_SDA1 p9 +#define I2C_SCL2 P0_11 +#define I2C_SDA2 P0_10 +#define I2C_SCL I2C_SCL0 +#define I2C_SDA I2C_SDA0 + +typedef enum { + PullUp = 0, + PullDown = 3, + PullNone = 2, + Repeater = 1, + OpenDrain = 4, + PullDefault = PullDown +} PinMode; + +// version of PINCON_TypeDef using register arrays +typedef struct { + __IO uint32_t PINSEL[11]; + uint32_t RESERVED0[5]; + __IO uint32_t PINMODE[10]; + __IO uint32_t PINMODE_OD[5]; +} PINCONARRAY_TypeDef; + +#define PINCONARRAY ((PINCONARRAY_TypeDef *)LPC_PINCON_BASE) + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/targets/TARGET_NXP/TARGET_LPC176X/TARGET_MBED_LPC1768/device.h b/targets/TARGET_NXP/TARGET_LPC17XX/TARGET_LPCXPRESSO_LPC1769/device.h similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/TARGET_MBED_LPC1768/device.h rename to targets/TARGET_NXP/TARGET_LPC17XX/TARGET_LPCXPRESSO_LPC1769/device.h diff --git a/targets/TARGET_NXP/TARGET_LPC17XX/TARGET_LPCXPRESSO_LPC1769/reserved_pins.h b/targets/TARGET_NXP/TARGET_LPC17XX/TARGET_LPCXPRESSO_LPC1769/reserved_pins.h new file mode 100644 index 00000000000..320efa8880a --- /dev/null +++ b/targets/TARGET_NXP/TARGET_LPC17XX/TARGET_LPCXPRESSO_LPC1769/reserved_pins.h @@ -0,0 +1,23 @@ +/* mbed Microcontroller Library + * Copyright (c) 2006-2013 ARM Limited + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef RESERVED_PINS_H +#define RESERVED_PINS_H + +#define TARGET_RESERVED_PINS {} + +#endif diff --git a/targets/TARGET_NXP/TARGET_LPC176X/TARGET_MBED_LPC1768/CMakeLists.txt b/targets/TARGET_NXP/TARGET_LPC17XX/TARGET_MBED_LPC1768/CMakeLists.txt similarity index 52% rename from targets/TARGET_NXP/TARGET_LPC176X/TARGET_MBED_LPC1768/CMakeLists.txt rename to targets/TARGET_NXP/TARGET_LPC17XX/TARGET_MBED_LPC1768/CMakeLists.txt index 6ccf742880f..1b8b1997456 100644 --- a/targets/TARGET_NXP/TARGET_LPC176X/TARGET_MBED_LPC1768/CMakeLists.txt +++ b/targets/TARGET_NXP/TARGET_LPC17XX/TARGET_MBED_LPC1768/CMakeLists.txt @@ -3,17 +3,13 @@ include(mbed_set_post_build_nxp) -add_library(mbed-mbed-lpc1768 INTERFACE) +add_library(mbed-lpc1768 INTERFACE) -target_include_directories(mbed-mbed-lpc1768 +target_include_directories(mbed-lpc1768 INTERFACE . ) -target_link_libraries(mbed-mbed-lpc1768 INTERFACE mbed-lpc176x) - -add_library(mbed-lpc1768 INTERFACE) - -target_link_libraries(mbed-lpc1768 INTERFACE mbed-mbed-lpc1768) +target_link_libraries(mbed-lpc1768 INTERFACE mbed-lpc17xx) mbed_post_build_lpc_patch_vtable("LPC1768") diff --git a/targets/TARGET_NXP/TARGET_LPC176X/TARGET_MBED_LPC1768/PinNames.h b/targets/TARGET_NXP/TARGET_LPC17XX/TARGET_MBED_LPC1768/PinNames.h similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/TARGET_MBED_LPC1768/PinNames.h rename to targets/TARGET_NXP/TARGET_LPC17XX/TARGET_MBED_LPC1768/PinNames.h diff --git a/targets/TARGET_NXP/TARGET_LPC17XX/TARGET_MBED_LPC1768/device.h b/targets/TARGET_NXP/TARGET_LPC17XX/TARGET_MBED_LPC1768/device.h new file mode 100644 index 00000000000..93d716d7aaf --- /dev/null +++ b/targets/TARGET_NXP/TARGET_LPC17XX/TARGET_MBED_LPC1768/device.h @@ -0,0 +1,41 @@ +// The 'features' section in 'target.json' is now used to create the device's hardware preprocessor switches. +// Check the 'features' section of the target description in 'targets.json' for more details. +/* mbed Microcontroller Library + * Copyright (c) 2006-2013 ARM Limited + * SPDX-License-Identifier: Apache-2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef MBED_DEVICE_H +#define MBED_DEVICE_H + + + + + + + + + + + +#define DEVICE_ID_LENGTH 32 +#define DEVICE_MAC_OFFSET 20 + + + + + +#include "objects.h" + +#endif diff --git a/targets/TARGET_NXP/TARGET_LPC176X/TARGET_MBED_LPC1768/reserved_pins.h b/targets/TARGET_NXP/TARGET_LPC17XX/TARGET_MBED_LPC1768/reserved_pins.h similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/TARGET_MBED_LPC1768/reserved_pins.h rename to targets/TARGET_NXP/TARGET_LPC17XX/TARGET_MBED_LPC1768/reserved_pins.h diff --git a/targets/TARGET_NXP/TARGET_LPC176X/analogin_api.c b/targets/TARGET_NXP/TARGET_LPC17XX/analogin_api.c similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/analogin_api.c rename to targets/TARGET_NXP/TARGET_LPC17XX/analogin_api.c diff --git a/targets/TARGET_NXP/TARGET_LPC176X/analogout_api.c b/targets/TARGET_NXP/TARGET_LPC17XX/analogout_api.c similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/analogout_api.c rename to targets/TARGET_NXP/TARGET_LPC17XX/analogout_api.c diff --git a/targets/TARGET_NXP/TARGET_LPC176X/can_api.c b/targets/TARGET_NXP/TARGET_LPC17XX/can_api.c similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/can_api.c rename to targets/TARGET_NXP/TARGET_LPC17XX/can_api.c diff --git a/targets/TARGET_NXP/TARGET_LPC176X/device/CRP.c b/targets/TARGET_NXP/TARGET_LPC17XX/device/CRP.c similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/device/CRP.c rename to targets/TARGET_NXP/TARGET_LPC17XX/device/CRP.c diff --git a/targets/TARGET_NXP/TARGET_LPC176X/device/LPC17xx.h b/targets/TARGET_NXP/TARGET_LPC17XX/device/LPC17xx.h similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/device/LPC17xx.h rename to targets/TARGET_NXP/TARGET_LPC17XX/device/LPC17xx.h diff --git a/targets/TARGET_NXP/TARGET_LPC176X/device/TOOLCHAIN_GCC_ARM/LPC1768.ld b/targets/TARGET_NXP/TARGET_LPC17XX/device/TOOLCHAIN_GCC_ARM/LPC1768.ld similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/device/TOOLCHAIN_GCC_ARM/LPC1768.ld rename to targets/TARGET_NXP/TARGET_LPC17XX/device/TOOLCHAIN_GCC_ARM/LPC1768.ld diff --git a/targets/TARGET_NXP/TARGET_LPC176X/device/TOOLCHAIN_GCC_ARM/startup_LPC17xx.S b/targets/TARGET_NXP/TARGET_LPC17XX/device/TOOLCHAIN_GCC_ARM/startup_LPC17xx.S similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/device/TOOLCHAIN_GCC_ARM/startup_LPC17xx.S rename to targets/TARGET_NXP/TARGET_LPC17XX/device/TOOLCHAIN_GCC_ARM/startup_LPC17xx.S diff --git a/targets/TARGET_NXP/TARGET_LPC176X/device/cmsis.h b/targets/TARGET_NXP/TARGET_LPC17XX/device/cmsis.h similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/device/cmsis.h rename to targets/TARGET_NXP/TARGET_LPC17XX/device/cmsis.h diff --git a/targets/TARGET_NXP/TARGET_LPC176X/device/cmsis_nvic.h b/targets/TARGET_NXP/TARGET_LPC17XX/device/cmsis_nvic.h similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/device/cmsis_nvic.h rename to targets/TARGET_NXP/TARGET_LPC17XX/device/cmsis_nvic.h diff --git a/targets/TARGET_NXP/TARGET_LPC176X/device/flash_api.c b/targets/TARGET_NXP/TARGET_LPC17XX/device/flash_api.c similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/device/flash_api.c rename to targets/TARGET_NXP/TARGET_LPC17XX/device/flash_api.c diff --git a/targets/TARGET_NXP/TARGET_LPC176X/device/system_LPC17xx.c b/targets/TARGET_NXP/TARGET_LPC17XX/device/system_LPC17xx.c similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/device/system_LPC17xx.c rename to targets/TARGET_NXP/TARGET_LPC17XX/device/system_LPC17xx.c diff --git a/targets/TARGET_NXP/TARGET_LPC176X/device/system_LPC17xx.h b/targets/TARGET_NXP/TARGET_LPC17XX/device/system_LPC17xx.h similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/device/system_LPC17xx.h rename to targets/TARGET_NXP/TARGET_LPC17XX/device/system_LPC17xx.h diff --git a/targets/TARGET_NXP/TARGET_LPC176X/gpio_api.c b/targets/TARGET_NXP/TARGET_LPC17XX/gpio_api.c similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/gpio_api.c rename to targets/TARGET_NXP/TARGET_LPC17XX/gpio_api.c diff --git a/targets/TARGET_NXP/TARGET_LPC176X/gpio_irq_api.c b/targets/TARGET_NXP/TARGET_LPC17XX/gpio_irq_api.c similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/gpio_irq_api.c rename to targets/TARGET_NXP/TARGET_LPC17XX/gpio_irq_api.c diff --git a/targets/TARGET_NXP/TARGET_LPC176X/gpio_object.h b/targets/TARGET_NXP/TARGET_LPC17XX/gpio_object.h similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/gpio_object.h rename to targets/TARGET_NXP/TARGET_LPC17XX/gpio_object.h diff --git a/targets/TARGET_NXP/TARGET_LPC176X/i2c_api.c b/targets/TARGET_NXP/TARGET_LPC17XX/i2c_api.c similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/i2c_api.c rename to targets/TARGET_NXP/TARGET_LPC17XX/i2c_api.c diff --git a/targets/TARGET_NXP/TARGET_LPC176X/objects.h b/targets/TARGET_NXP/TARGET_LPC17XX/objects.h similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/objects.h rename to targets/TARGET_NXP/TARGET_LPC17XX/objects.h diff --git a/targets/TARGET_NXP/TARGET_LPC176X/pinmap.c b/targets/TARGET_NXP/TARGET_LPC17XX/pinmap.c similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/pinmap.c rename to targets/TARGET_NXP/TARGET_LPC17XX/pinmap.c diff --git a/targets/TARGET_NXP/TARGET_LPC176X/port_api.c b/targets/TARGET_NXP/TARGET_LPC17XX/port_api.c similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/port_api.c rename to targets/TARGET_NXP/TARGET_LPC17XX/port_api.c diff --git a/targets/TARGET_NXP/TARGET_LPC176X/pwmout_api.c b/targets/TARGET_NXP/TARGET_LPC17XX/pwmout_api.c similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/pwmout_api.c rename to targets/TARGET_NXP/TARGET_LPC17XX/pwmout_api.c diff --git a/targets/TARGET_NXP/TARGET_LPC176X/reset_reason.c b/targets/TARGET_NXP/TARGET_LPC17XX/reset_reason.c similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/reset_reason.c rename to targets/TARGET_NXP/TARGET_LPC17XX/reset_reason.c diff --git a/targets/TARGET_NXP/TARGET_LPC176X/rtc_api.c b/targets/TARGET_NXP/TARGET_LPC17XX/rtc_api.c similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/rtc_api.c rename to targets/TARGET_NXP/TARGET_LPC17XX/rtc_api.c diff --git a/targets/TARGET_NXP/TARGET_LPC176X/serial_api.c b/targets/TARGET_NXP/TARGET_LPC17XX/serial_api.c similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/serial_api.c rename to targets/TARGET_NXP/TARGET_LPC17XX/serial_api.c diff --git a/targets/TARGET_NXP/TARGET_LPC176X/sleep.c b/targets/TARGET_NXP/TARGET_LPC17XX/sleep.c similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/sleep.c rename to targets/TARGET_NXP/TARGET_LPC17XX/sleep.c diff --git a/targets/TARGET_NXP/TARGET_LPC176X/spi_api.c b/targets/TARGET_NXP/TARGET_LPC17XX/spi_api.c similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/spi_api.c rename to targets/TARGET_NXP/TARGET_LPC17XX/spi_api.c diff --git a/targets/TARGET_NXP/TARGET_LPC176X/us_ticker.c b/targets/TARGET_NXP/TARGET_LPC17XX/us_ticker.c similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/us_ticker.c rename to targets/TARGET_NXP/TARGET_LPC17XX/us_ticker.c diff --git a/targets/TARGET_NXP/TARGET_LPC176X/watchdog_api.c b/targets/TARGET_NXP/TARGET_LPC17XX/watchdog_api.c similarity index 100% rename from targets/TARGET_NXP/TARGET_LPC176X/watchdog_api.c rename to targets/TARGET_NXP/TARGET_LPC17XX/watchdog_api.c diff --git a/targets/TARGET_NXP/USBHAL_LPC17.cpp b/targets/TARGET_NXP/USBHAL_LPC17.cpp index 67dca07de11..bcf49a718dc 100644 --- a/targets/TARGET_NXP/USBHAL_LPC17.cpp +++ b/targets/TARGET_NXP/USBHAL_LPC17.cpp @@ -16,7 +16,7 @@ */ #if defined(DEVICE_USBDEVICE) && DEVICE_USBDEVICE && \ - (defined(TARGET_LPC1768) || defined(TARGET_LPC2368) || defined(TARGET_LPC2460)) + (defined(TARGET_LPC17XX)) #include "USBEndpoints_LPC17_LPC23.h" #include "USBPhyHw.h" diff --git a/targets/TARGET_NXP/mbed_rtx.h b/targets/TARGET_NXP/mbed_rtx.h index 8d777fdaa64..74af41cac4c 100644 --- a/targets/TARGET_NXP/mbed_rtx.h +++ b/targets/TARGET_NXP/mbed_rtx.h @@ -42,7 +42,7 @@ #define INITIAL_SP (0x10001000UL) #endif -#elif defined(TARGET_LPC1768) +#elif defined(TARGET_LPC17XX) #ifndef INITIAL_SP #define INITIAL_SP (0x10008000UL) diff --git a/targets/cmsis_mcu_descriptions.json5 b/targets/cmsis_mcu_descriptions.json5 index 9467a53617e..8da0049c945 100644 --- a/targets/cmsis_mcu_descriptions.json5 +++ b/targets/cmsis_mcu_descriptions.json5 @@ -1591,6 +1591,93 @@ "sub_family": "LPC176x", "vendor": "NXP:11" }, + "LPC1769": { + "algorithms": [ + { + "default": true, + "file_name": "Flash/LPC_IAP_512.FLM", + "ram_size": 4064, + "ram_start": 268435456, + "size": 524288, + "start": 0 + } + ], + "family": "LPC1700 Series", + "from_pack": { + "pack": "LPC1700_DFP", + "url": "http://www.keil.com/pack/", + "vendor": "Keil", + "version": "2.5.0" + }, + "memories": { + "IRAM1": { + "access": { + "execute": false, + "non_secure": false, + "non_secure_callable": false, + "peripheral": false, + "read": true, + "secure": false, + "write": true + }, + "default": true, + "size": 32768, + "start": 268435456, + "startup": false + }, + "IRAM2": { + "access": { + "execute": false, + "non_secure": false, + "non_secure_callable": false, + "peripheral": false, + "read": true, + "secure": false, + "write": true + }, + "default": true, + "size": 32768, + "start": 537378816, + "startup": false + }, + "IROM1": { + "access": { + "execute": true, + "non_secure": false, + "non_secure_callable": false, + "peripheral": false, + "read": true, + "secure": false, + "write": false + }, + "default": true, + "size": 524288, + "start": 0, + "startup": true + } + }, + "name": "LPC1769", + "processor": { + "Symmetric": { + "core": "CortexM3", + "fpu": "None", + "mpu": "Present", + "units": 1 + } + }, + "sectors": [ + [ + 0, + 4096 + ], + [ + 65536, + 32768 + ] + ], + "sub_family": "LPC176x", + "vendor": "NXP:11" + }, "LPC54114J256BD64": { "algorithms": [ { @@ -14961,4 +15048,4 @@ }, "vendor": "Raspberry Pi:x" } -} \ No newline at end of file +} diff --git a/targets/targets.json5 b/targets/targets.json5 index fbcf8737c06..08264509705 100644 --- a/targets/targets.json5 +++ b/targets/targets.json5 @@ -405,21 +405,21 @@ mode is recommended for target MCUs with small amounts of flash and RAM.", ], "image_url": "https://os.mbed.com/media/cache/platforms/LPC1114_1_hXXAnmW.jpg.250x250_q85.jpg" }, - "MCU_LPC1768": { + "MCU_LPC17XX": { "inherits": [ "LPCTarget" ], "public": false, "core": "Cortex-M3", - "extra_labels": [ + "extra_labels_add": [ "NXP", - "LPC176X", + "LPC17XX", "NXP_EMAC" ], "supported_toolchains": [ "GCC_ARM" ], - "macros": [ + "macros_add": [ "MBED_SPLIT_HEAP" ], "device_has": [ @@ -451,7 +451,6 @@ mode is recommended for target MCUs with small amounts of flash and RAM.", "release_versions": [ "5" ], - "device_name": "LPC1768", "bootloader_supported": true, "config": { "us-ticker-timer": { @@ -477,12 +476,13 @@ mode is recommended for target MCUs with small amounts of flash and RAM.", }, "LPC1768": { "inherits": [ - "MCU_LPC1768" + "MCU_LPC17XX" ], "core": "Cortex-M3", "extra_labels_add": [ "MBED_LPC1768", ], + "device_name": "LPC1768", "detect_code": [ "1010" ], @@ -494,21 +494,28 @@ mode is recommended for target MCUs with small amounts of flash and RAM.", }, "image_url": "https://os.mbed.com/media/cache/platforms/LPC1768.jpg.250x250_q85.jpg" }, - "ARCH_PRO": { - "supported_form_factors": [ - "ARDUINO" - ], - "extra_labels": [ - "NXP", - "LPC176X", - "NXP_EMAC" + "LPCXPRESSO_LPC1769": { + "inherits": [ + "MCU_LPC17XX" ], - "macros": [ - "TARGET_LPC1768" + "device_name": "LPC1769", + "core": "Cortex-M3", + "components_add": [ + "LOCALFILESYSTEM" ], + "overrides": { + "default-adc-vref": 3.3 // Vref is 3.3V + }, + "image_url": "https://www.embeddedartists.com/wp-content/uploads/2018/06/lpc1769_xpr_540x333-540x333.png" + }, + "ARCH_PRO": { "inherits": [ - "MCU_LPC1768" + "MCU_LPC17XX" ], + "device_name": "LPC1768", + // "supported_form_factors": [ + // "ARDUINO_UNO" + // ], "detect_code": [ "9004" ], @@ -3060,7 +3067,7 @@ mode is recommended for target MCUs with small amounts of flash and RAM.", "STM32G4A1xx" ] }, - + // STM32H5 Targets ------------------------------------------------------------------------------------------------- "MCU_STM32H5": { "inherits": [ @@ -3189,7 +3196,7 @@ mode is recommended for target MCUs with small amounts of flash and RAM.", "device_name": "STM32H563ZITx", "image_url": "https://www.st.com/bin/ecommerce/api/image.PF274337.en.feature-description-include-personalized-no-cpn-medium.jpg" }, - + // STM32H7 Targets ------------------------------------------------------------------------------------------------- "MCU_STM32H7": { "inherits": [ @@ -3431,7 +3438,7 @@ mode is recommended for target MCUs with small amounts of flash and RAM.", ], "device_name": "STM32H745ZITx" }, - + // These targets contain the extra bits to add to the MCU_STM32H745xI target to set it for the // CM4 or CM7 core. "MCU_STM32H745xI_CM4": { diff --git a/targets/upload_method_cfg/LPC1768.cmake b/targets/upload_method_cfg/LPC1768.cmake index 0a0019fd3f3..2c0a95854e1 100644 --- a/targets/upload_method_cfg/LPC1768.cmake +++ b/targets/upload_method_cfg/LPC1768.cmake @@ -44,4 +44,4 @@ set(OPENOCD_VERSION_RANGE 0.10...<0.13) # Config options for LINKSERVER # ------------------------------------------------------------- set(LINKSERVER_UPLOAD_ENABLED TRUE) -set(LINKSERVER_DEVICE LPC1768) \ No newline at end of file +set(LINKSERVER_DEVICE LPC1768) diff --git a/targets/upload_method_cfg/LPCXPRESSO_LPC1769.cmake b/targets/upload_method_cfg/LPCXPRESSO_LPC1769.cmake new file mode 100644 index 00000000000..360074a5423 --- /dev/null +++ b/targets/upload_method_cfg/LPCXPRESSO_LPC1769.cmake @@ -0,0 +1,55 @@ +# Mbed OS upload method configuration file for target Embedded Artists LPCXPRESSO_LPC1768. +# To change any of these parameters from their default values, set them in your build script between where you +# include app.cmake and where you add mbed os as a subdirectory. + +# Notes: +# 1. LPC1768 is supposed to be supported by LinkServer, and I am able to get through flashing it, but it errors out at the end. + +# General config parameters +# ------------------------------------------------------------- +set(UPLOAD_METHOD_DEFAULT PYOCD) + +# Config options for MBED +# ------------------------------------------------------------- + +set(MBED_UPLOAD_ENABLED TRUE) +set(MBED_RESET_BAUDRATE 115200) + +# Config options for PYOCD +# ------------------------------------------------------------- + +# Recent PyOCD (>= 0.11) does not appear to be able to talk to LPC1768 +# https://github.com/pyocd/pyOCD/issues/745 +# https://github.com/pyocd/pyOCD/issues/1124 + +set(PYOCD_UPLOAD_ENABLED TRUE) +set(PYOCD_TARGET_NAME LPC1768) +set(PYOCD_CLOCK_SPEED 4000k) + +# Config options for OPENOCD +# ------------------------------------------------------------- + +# One note about OpenOCD for LPC176: +# If you issue a "monitor reset" command, GDB will think that the program is halted, but it actually will have +# resumed. So, issue a "c" command after "monitor reset" to get things synchronized again. + +set(OPENOCD_UPLOAD_ENABLED TRUE) +set(OPENOCD_CHIP_CONFIG_COMMANDS + -f ${CMAKE_CURRENT_LIST_DIR}/openocd_cfgs/lpc1768.cfg) + +# For some reason, as of summer 2024, git version of OpenOCD does not work with LPC1768. So, it seems like +# the last compatible version will be the current release 0.12. +set(OPENOCD_VERSION_RANGE 0.10...<0.13) + +# Config options for LINKSERVER +# ------------------------------------------------------------- +set(LINKSERVER_UPLOAD_ENABLED TRUE) +set(LINKSERVER_DEVICE LPC1769) + +# Config options for JLINK +# ------------------------------------------------------------- +set(JLINK_UPLOAD_ENABLED TRUE) +set(JLINK_CPU_NAME LPC1769) +set(JLINK_CLOCK_SPEED 4000) +set(JLINK_UPLOAD_INTERFACE SWD) + diff --git a/tools/cmake/upload_methods/UploadMethodJLINK.cmake b/tools/cmake/upload_methods/UploadMethodJLINK.cmake index 11ae4c78046..0157e3b9ace 100644 --- a/tools/cmake/upload_methods/UploadMethodJLINK.cmake +++ b/tools/cmake/upload_methods/UploadMethodJLINK.cmake @@ -39,7 +39,7 @@ endif() option(JLINK_NO_GUI "If true, suppress GUI dialog boxes from the J-Link software. Note: does not suppress license dialogs from J-Link EDU and On-Board probes, these are intentionally impossible to disable." FALSE) if(JLINK_NO_GUI) - set(JLINK_NOGUI_ARG -Nogui CACHE INTERNAL "" FORCE) + set(JLINK_NOGUI_ARG "-NoGui 1" CACHE INTERNAL "" FORCE) else() set(JLINK_NOGUI_ARG "" CACHE INTERNAL "" FORCE) endif() @@ -53,7 +53,11 @@ function(gen_upload_target TARGET_NAME BINARY_FILE) # Note: loadfile currently only honors the base address for .bin files. For hex files it uses the offset read # from the hex file. Unsure if that will be an issue or not... file(GENERATE OUTPUT ${COMMAND_FILE_PATH} CONTENT -"loadfile ${BINARY_FILE} ${MBED_UPLOAD_BASE_ADDR} +" +JTAGConf -1,-1 +ExitOnError 1 +connect +loadfile ${BINARY_FILE} ${MBED_UPLOAD_BASE_ADDR} r go exit @@ -62,13 +66,11 @@ exit COMMENT "Flashing ${TARGET_NAME} with J-Link..." COMMAND ${JLINK} ${JLINK_SELECT_ARG} - ${JLINK_NOGUI_ARG} -Device \"${JLINK_CPU_NAME}\" -Speed ${JLINK_CLOCK_SPEED} -if ${JLINK_UPLOAD_INTERFACE} - -JTAGConf -1,-1 - -AutoConnect 1 - -ExitOnError + -AutoConnect 1 + -NoGui 1 -CommandFile ${COMMAND_FILE_PATH}) endfunction(gen_upload_target) @@ -102,4 +104,4 @@ set(UPLOAD_LAUNCH_COMMANDS set(UPLOAD_RESTART_COMMANDS "monitor halt" "monitor reset" -) \ No newline at end of file +)