From f1f7153b3b469d2565d5f5b5b8feb932ad219b98 Mon Sep 17 00:00:00 2001 From: hathach Date: Sat, 31 Mar 2018 13:23:23 +0700 Subject: [PATCH] clean up nrf52 --- .../device/nrf52840/segger/nrf52840.emProject | 4 ++-- tinyusb/device/usbd.c | 2 ++ tinyusb/portable/nordic/nrf5x/dcd_nrf5x.c | 24 ++++++++++++++++--- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/examples/device/nrf52840/segger/nrf52840.emProject b/examples/device/nrf52840/segger/nrf52840.emProject index 4433744c..ebc3d8fa 100644 --- a/examples/device/nrf52840/segger/nrf52840.emProject +++ b/examples/device/nrf52840/segger/nrf52840.emProject @@ -19,13 +19,13 @@ arm_target_device_name="nRF52840_xxAA" arm_target_interface_type="SWD" c_preprocessor_definitions="NRF52840_XXAA;__nRF_FAMILY;ARM_MATH_CM4;FLASH_PLACEMENT=1;BOARD_PCA10056" - c_user_include_directories="$(RepoDir)/hw/cmsis/Include;$(RepoDir)/hw;$(McuDir)/hal;$(RepoDir)/tinyusb;$(McuDir)/sdk;$(McuDir)/sdk/device;$(McuDir)/sdk/toolchain;$(McuDir)/sdk/drivers_nrf/hal;$(McuDir)/sdk/drivers_nrf/systick;$(McuDir)/sdk/drivers_nrf/uart;$(McuDir)/sdk/drivers_nrf/usbd;$(McuDir)/sdk/drivers_nrf/common;$(McuDir)/sdk/drivers_nrf/delay;$(McuDir)/sdk/drivers_nrf/power;$(McuDir)/sdk/drivers_nrf/clock;$(McuDir)/sdk/external/fprintf;$(McuDir)/sdk/libraries/util;$(McuDir)/sdk/libraries/strerror;$(McuDir)/sdk/libraries/atomic;$(McuDir)/sdk/libraries/balloc;$(McuDir)/sdk/libraries/experimental_log/src;$(McuDir)/sdk/libraries/experimental_log;$(McuDir)/sdk/libraries/experimental_section_vars;$(McuDir)/sdk/libraries/experimental_memobj;$(McuDir)/sdk/softdevice/s140/headers;$(McuDir)/sdk/softdevice/s140/headers/nrf52;$(McuDir)/sdk/softdevice/common;../src" + c_user_include_directories="$(TusbDir)/hw/cmsis/Include;$(TusbDir)/hw;$(TusbDir)/tinyusb;$(SdkDir);$(SdkDir)/device;$(SdkDir)/toolchain;$(SdkDir)/drivers_nrf/hal;$(SdkDir)/drivers_nrf/systick;$(SdkDir)/drivers_nrf/uart;$(SdkDir)/drivers_nrf/usbd;$(SdkDir)/drivers_nrf/common;$(SdkDir)/drivers_nrf/delay;$(SdkDir)/drivers_nrf/power;$(SdkDir)/drivers_nrf/clock;$(SdkDir)/external/fprintf;$(SdkDir)/libraries/util;$(SdkDir)/libraries/strerror;$(SdkDir)/libraries/atomic;$(SdkDir)/libraries/balloc;$(SdkDir)/libraries/experimental_log/src;$(SdkDir)/libraries/experimental_log;$(SdkDir)/libraries/experimental_section_vars;$(SdkDir)/libraries/experimental_memobj;$(SdkDir)/softdevice/s140/headers;$(SdkDir)/softdevice/s140/headers/nrf52;$(SdkDir)/softdevice/common;../src" debug_register_definition_file="$(ProjectDir)/nrf52840_Registers.xml" debug_target_connection="J-Link" gcc_entry_point="Reset_Handler" linker_memory_map_file="$(ProjectDir)/nRF52840_xxAA_MemoryMap.xml" linker_section_placement_file="$(ProjectDir)/flash_placement.xml" - macros="DeviceHeaderFile=$(PackagesDir)/nRF/CMSIS/Device/Include/nrf.h;DeviceLibraryIdentifier=M4lf;DeviceSystemFile=$(PackagesDir)/nRF/CMSIS/Device/Source/system_nrf52840.c;DeviceVectorsFile=$(PackagesDir)/nRF/Source/ses_nrf52840_Vectors.s;DeviceFamily=nRF;Target=nRF52840_xxAA;Placement=Flash;RepoDir=../../../..;McuDir=../../../../hw/mcu/nordic/nrf52" + macros="DeviceHeaderFile=$(PackagesDir)/nRF/CMSIS/Device/Include/nrf.h;DeviceLibraryIdentifier=M4lf;DeviceSystemFile=$(PackagesDir)/nRF/CMSIS/Device/Source/system_nrf52840.c;DeviceVectorsFile=$(PackagesDir)/nRF/Source/ses_nrf52840_Vectors.s;DeviceFamily=nRF;Target=nRF52840_xxAA;Placement=Flash;TusbDir=../../../..;SdkDir=../../../../hw/mcu/nordic/nrf52/sdk" project_directory="" project_type="Executable" target_reset_script="Reset();" diff --git a/tinyusb/device/usbd.c b/tinyusb/device/usbd.c index e8b73b37..404a66e7 100644 --- a/tinyusb/device/usbd.c +++ b/tinyusb/device/usbd.c @@ -600,6 +600,8 @@ void dcd_xfer_complete(uint8_t rhport, uint8_t ep_addr, uint32_t xferred_bytes, osal_queue_send(_usbd_q, &task_event); } + + TU_ASSERT(succeeded, ); } //--------------------------------------------------------------------+ diff --git a/tinyusb/portable/nordic/nrf5x/dcd_nrf5x.c b/tinyusb/portable/nordic/nrf5x/dcd_nrf5x.c index 60a21d70..454db01b 100644 --- a/tinyusb/portable/nordic/nrf5x/dcd_nrf5x.c +++ b/tinyusb/portable/nordic/nrf5x/dcd_nrf5x.c @@ -47,6 +47,11 @@ #include "device/dcd.h" +#ifdef SOFTDEVICE_PRESENT +#include "nrf_sdm.h" +#include "nrf_soc.h" +#endif + /*------------------------------------------------------------------*/ /* MACRO TYPEDEF CONSTANT ENUM *------------------------------------------------------------------*/ @@ -89,10 +94,23 @@ typedef struct /*------------------------------------------------------------------*/ /* Controller Start up Sequence *------------------------------------------------------------------*/ + +static bool is_sd_enabled(void) +{ +#ifdef SOFTDEVICE_PRESENT + uint8_t sd_en = 0; + (void) sd_softdevice_is_enabled(&sd_en); + + return sd_en; +#else + return false; +#endif +} + static bool hfclk_running(void) { #ifdef SOFTDEVICE_PRESENT - if (nrf_sdh_is_enabled()) + if ( is_sd_enabled() ) { uint32_t is_running; (void) sd_clock_hfclk_is_running(&is_running); @@ -109,7 +127,7 @@ static void hfclk_enable(void) if ( hfclk_running() ) return; #ifdef SOFTDEVICE_PRESENT - if (nrf_sdh_is_enabled()) + if ( is_sd_enabled() ) { (void)sd_clock_hfclk_request(); return; @@ -123,7 +141,7 @@ static void hfclk_enable(void) static void hfclk_disable(void) { #ifdef SOFTDEVICE_PRESENT - if (nrf_sdh_is_enabled()) + if ( is_sd_enabled() ) { (void)sd_clock_hfclk_release(); return;