From 7a94a66b74ed741bd7093c700ba1125d4f734b42 Mon Sep 17 00:00:00 2001 From: AlexeiBazlaev Date: Wed, 23 Dec 2020 00:24:04 +0700 Subject: [PATCH] USB debugged --- .vs/TE_Controller/v14/.atsuo | Bin 24064 -> 43008 bytes TE_Controller/TE_Controller.cproj | 595 +++++++++--------- .../samd21j18a_samd21_xplained_pro/ui.c | 4 +- .../src/ASF/sam0/drivers/sercom/usart/usart.h | 11 +- .../utils/cmsis/samd21/include/samd21e16b.h | 8 +- .../cmsis/samd21/source/gcc/startup_samd21.c | 8 +- .../Source/portable/GCC/ARM_CM0/port.c | 4 +- TE_Controller/src/asf.h | 4 +- TE_Controller/src/config/conf_usb.h | 10 +- TE_Controller/src/main.c | 23 +- 10 files changed, 341 insertions(+), 326 deletions(-) diff --git a/.vs/TE_Controller/v14/.atsuo b/.vs/TE_Controller/v14/.atsuo index f83766b62f90e913f4b8b941c61f076d1cc3b4a4..39c22c091c241012353213abca5427874f42301a 100644 GIT binary patch literal 43008 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 X+Ab!)Dae1ED+VI}4OD&`==}Zv&x&|u delta 3723 zcmc&$dr(y86~Ffa+qv&b3s!|iE9>@W*$(55@vly#9AO$D_<^i!l0gwR92eN?sfFyt| zGy{u(*)uJTqF-9Ax>lRMKjNBMaqam3a;;zMTF~A=AO>gN1{3lyB)}oybllb`$PlMU36?c#0ji-SPDGs#G=(4 z24jY1e7#=aQZs2brKJdb!iRb>3PP@&@cHFnbZFyyl=F4Vz*=y~d`C1lWms(;n0%+LFo*3Q1G5Z9 zIUKYq%PL_x*oRbj+x6p`pSiy)xo? z?1!YHiM}aplA|HY(2BF@i6Td^vobaEc+M?&<+%($kI`1wYTD77EcrB%DM+vBLe_=^ zkFXVgTLmrGE)1ev`h|9(6Bqz`?$EH%8t)RiwZ@3?r}G~#iS#;MG}tuVtrzZW=y0!( z#RXeiv6PxUE;9AXbgsK1(JlPzY`0Ng_eI(1%cEz1^~HPl(zViLT_BJG-B4T-IMi2_ zmofh%uAQ?v{cXr>LJj%a?6MUad_RX?qp#bVf}8ED=!1j`|3>87V4WJ;xK4~t)hOzC z!tWENW=eGuB@|oOTa1}mg!B}Z4W!WxtJ&Ov?rZF3j7J34F?OFP}=#TC{kr>03S(wU=0G~qER6*Rrer&gvc9f{P1xhBQdrzELY z2_=Wm4KF`Z6|dlTSiZc?}0byDw0 zbr<|9!`0Z1>oAmP3s#-N$)1}Zncx1lCHeRA?{*#ES&i;V6F*nFc(@?VpJ`XFHomjM z9)_RrF7xI1edCO$5|E$F-Txc!pWo?e ze|Mz!`t6j(C#x55cH)L`ad)EXw+UB*^T_Q$J;q8;bG)8Cp>BNKI++Q{S ztDe=f96(AQFBEU$^xf3r*`#!A*+3iaL2aeP2TKFa;$h`eH0^cX?PWaYN5}VE#+tiK sd_U-SX^wGQ>1R&o`IU)(=znuznW6qQ7;oXLZU83nZ`Cn_=Kd1?4PT}EM*si- diff --git a/TE_Controller/TE_Controller.cproj b/TE_Controller/TE_Controller.cproj index 336dd1d..7dfb363 100644 --- a/TE_Controller/TE_Controller.cproj +++ b/TE_Controller/TE_Controller.cproj @@ -30,302 +30,302 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + com.atmel.avrdbg.tool.atmelice J41800067100 @@ -577,7 +577,6 @@ ../src/ASF/thirdparty/freertos/freertos-10.0.0/Source/portable/GCC/ARM_CM0 - Optimize (-O1) -fdata-sections True Maximum (-g3) @@ -641,7 +640,7 @@ Default (-g) - -DARM_MATH_CM0PLUS=true -DBOARD=SAMD21_XPLAINED_PRO -DEXTINT_CALLBACK_MODE=true -DUDD_ENABLE -DUSART_CALLBACK_MODE=true -DUSB_DEVICE_LPM_SUPPORT -D__SAMD21J18A__ -D__FREERTOS__ + -DARM_MATH_CM0PLUS=true -DBOARD=USER_BOARD -DEXTINT_CALLBACK_MODE=true -DUDD_ENABLE -DUSART_CALLBACK_MODE=true -DUSB_DEVICE_LPM_SUPPORT -D__SAMD21E16B__ -D__FREERTOS__ ../src diff --git a/TE_Controller/src/ASF/common/services/usb/class/cdc/device/example/samd21j18a_samd21_xplained_pro/ui.c b/TE_Controller/src/ASF/common/services/usb/class/cdc/device/example/samd21j18a_samd21_xplained_pro/ui.c index 4270713..f5b306a 100644 --- a/TE_Controller/src/ASF/common/services/usb/class/cdc/device/example/samd21j18a_samd21_xplained_pro/ui.c +++ b/TE_Controller/src/ASF/common/services/usb/class/cdc/device/example/samd21j18a_samd21_xplained_pro/ui.c @@ -145,12 +145,12 @@ void ui_com_overflow(void) void ui_process(uint16_t framenumber) { - if ((framenumber % 1000) == 0) { + /*if ((framenumber % 1000) == 0) { LED_On(LED_0_PIN); } if ((framenumber % 1000) == 500) { LED_Off(LED_0_PIN); - } + }*/ } /** diff --git a/TE_Controller/src/ASF/sam0/drivers/sercom/usart/usart.h b/TE_Controller/src/ASF/sam0/drivers/sercom/usart/usart.h index 156e2c7..e21ed2c 100644 --- a/TE_Controller/src/ASF/sam0/drivers/sercom/usart/usart.h +++ b/TE_Controller/src/ASF/sam0/drivers/sercom/usart/usart.h @@ -997,19 +997,20 @@ static inline void usart_unlock(struct usart_module *const module) * \retval false Peripheral is not busy syncing and can be read/written without * stalling the bus */ +//__attribute__((optimize("O0"))) static inline bool usart_is_syncing( - const struct usart_module *const module) + const struct usart_module *const module) { /* Sanity check arguments */ Assert(module); Assert(module->hw); - SercomUsart *const usart_hw = &(module->hw->USART); - + SercomUsart usart_hw = module->hw->USART;//SercomUsart *const usart_hw = &(module->hw->USART); + uint32_t reg = usart_hw.SYNCBUSY.reg; #ifdef FEATURE_USART_SYNC_SCHEME_V2 - return (usart_hw->SYNCBUSY.reg); + return (reg); #else - return (usart_hw->STATUS.reg & SERCOM_USART_STATUS_SYNCBUSY); + return (reg & SERCOM_USART_STATUS_SYNCBUSY); #endif } diff --git a/TE_Controller/src/ASF/sam0/utils/cmsis/samd21/include/samd21e16b.h b/TE_Controller/src/ASF/sam0/utils/cmsis/samd21/include/samd21e16b.h index e5c7031..58eb1f4 100644 --- a/TE_Controller/src/ASF/sam0/utils/cmsis/samd21/include/samd21e16b.h +++ b/TE_Controller/src/ASF/sam0/utils/cmsis/samd21/include/samd21e16b.h @@ -174,10 +174,10 @@ typedef struct _DeviceVectors /* Cortex-M0+ processor handlers */ void Reset_Handler ( void ); void NMI_Handler ( void ); -void HardFault_Handler ( void ); -void SVC_Handler ( void ); -void PendSV_Handler ( void ); -void SysTick_Handler ( void ); +//void HardFault_Handler ( void ); +//void SVC_Handler ( void ); +//void PendSV_Handler ( void ); +//void SysTick_Handler ( void ); /* Peripherals handlers */ void PM_Handler ( void ); diff --git a/TE_Controller/src/ASF/sam0/utils/cmsis/samd21/source/gcc/startup_samd21.c b/TE_Controller/src/ASF/sam0/utils/cmsis/samd21/source/gcc/startup_samd21.c index d8401c4..58346ef 100644 --- a/TE_Controller/src/ASF/sam0/utils/cmsis/samd21/source/gcc/startup_samd21.c +++ b/TE_Controller/src/ASF/sam0/utils/cmsis/samd21/source/gcc/startup_samd21.c @@ -55,10 +55,10 @@ void Dummy_Handler(void); /* Cortex-M0+ core handlers */ void NMI_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -//void HardFault_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -//void SVC_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -//void PendSV_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); -//void SysTick_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); +void HardFault_Handler ( void ) __attribute__ ((weak)); +void SVC_Handler ( void ) __attribute__ ((weak)); +void PendSV_Handler ( void ) __attribute__ ((weak)); +void SysTick_Handler ( void ) __attribute__ ((weak)); /* Peripherals handlers */ void PM_Handler ( void ) __attribute__ ((weak, alias("Dummy_Handler"))); diff --git a/TE_Controller/src/ASF/thirdparty/freertos/freertos-10.0.0/Source/portable/GCC/ARM_CM0/port.c b/TE_Controller/src/ASF/thirdparty/freertos/freertos-10.0.0/Source/portable/GCC/ARM_CM0/port.c index 326c390..cb83fd3 100644 --- a/TE_Controller/src/ASF/thirdparty/freertos/freertos-10.0.0/Source/portable/GCC/ARM_CM0/port.c +++ b/TE_Controller/src/ASF/thirdparty/freertos/freertos-10.0.0/Source/portable/GCC/ARM_CM0/port.c @@ -253,7 +253,7 @@ uint32_t ulSetInterruptMaskFromISR( void ) ::: "memory" ); -#if !defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) +#if !defined (__ARMCC_VERSION) || (defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) /* To avoid compiler warnings. The return statement will nevere be reached, but some compilers warn if it is not included, while others won't compile if it is. */ @@ -270,7 +270,7 @@ void vClearInterruptMaskFromISR( __attribute__( ( unused ) ) uint32_t ulMask ) ::: "memory" ); -#if !defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) +#if !defined (__ARMCC_VERSION) || (defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) /* Just to avoid compiler warning. ulMask is used from the asm code but the compiler can't see that. Some compilers generate warnings without the following line, while others generate warnings if the line is included. */ diff --git a/TE_Controller/src/asf.h b/TE_Controller/src/asf.h index 1a4e5bf..c1b700c 100644 --- a/TE_Controller/src/asf.h +++ b/TE_Controller/src/asf.h @@ -57,8 +57,8 @@ #include // From module: EXTINT - External Interrupt (Callback APIs) -#include -#include +//#include +//#include // From module: FreeRTOS - kernel 10.0.0 #include diff --git a/TE_Controller/src/config/conf_usb.h b/TE_Controller/src/config/conf_usb.h index b8a397f..d61a2c2 100644 --- a/TE_Controller/src/config/conf_usb.h +++ b/TE_Controller/src/config/conf_usb.h @@ -62,9 +62,9 @@ // (USB_CONFIG_ATTR_REMOTE_WAKEUP|USB_CONFIG_ATTR_BUS_POWERED) //! USB Device string definitions (Optional) -#define USB_DEVICE_MANUFACTURE_NAME "ATMEL ASF" -#define USB_DEVICE_PRODUCT_NAME "CDC Virtual Com" -// #define USB_DEVICE_SERIAL_NAME "12...EF" +#define USB_DEVICE_MANUFACTURE_NAME "Svyazcom LLC"//"ATMEL ASF" +#define USB_DEVICE_PRODUCT_NAME "RealSense box controller"//"CDC Virtual Com" +#define USB_DEVICE_SERIAL_NAME "00000000" /** @@ -122,9 +122,9 @@ //! Interface callback definition #define UDI_CDC_ENABLE_EXT(port) main_cdc_enable(port) #define UDI_CDC_DISABLE_EXT(port) main_cdc_disable(port) -#define UDI_CDC_RX_NOTIFY(port) uart_rx_notify(port) +#define UDI_CDC_RX_NOTIFY(port) //uart_rx_notify(port) #define UDI_CDC_TX_EMPTY_NOTIFY(port) -#define UDI_CDC_SET_CODING_EXT(port,cfg) uart_config(port,cfg) +#define UDI_CDC_SET_CODING_EXT(port,cfg) //uart_config(port,cfg) #define UDI_CDC_SET_DTR_EXT(port,set) main_cdc_set_dtr(port,set) #define UDI_CDC_SET_RTS_EXT(port,set) diff --git a/TE_Controller/src/main.c b/TE_Controller/src/main.c index d83b0c1..7471bb4 100644 --- a/TE_Controller/src/main.c +++ b/TE_Controller/src/main.c @@ -38,6 +38,7 @@ #include "conf_usb.h" #include "ui.h" #include "uart.h" +#include static volatile bool main_b_cdc_enable = false; void prvGetRegistersFromStack (uint32_t *pulFaultStackAddress); @@ -70,7 +71,7 @@ int main(void) InitTask_cdc_rx_check(); // Init LED InitTask_led_blink(); - ui_init();//ui_powerdown(); + //ui_init();//ui_powerdown(); vTaskStartScheduler(); while(true){ @@ -80,9 +81,23 @@ int main(void) void Task_cdc_rx_check(void *parameters) { + #define PORT0 0 //volatile uint8_t led = 1; + char rcvBuff[128] = {0}; + char *pStr = rcvBuff; + int len = 0; while(true) - { + { + while(udi_cdc_multi_is_rx_ready(PORT0)) + { + len += sprintf(pStr++, "%c", udi_cdc_multi_getc(PORT0)); + } + if(len>0) + { + printf("<%s\n", rcvBuff); + len=0; + pStr = rcvBuff; + } //cdc_rx_check(); /*#if !defined (DEBUG_CPU_IRQ_DISABLE) @@ -120,9 +135,9 @@ void Task_led_blink(void *parameters) while(1) { - printf("%u sec\n\r", cnt++);//// stdio_usb_putchar (NULL, "data");// + printf(">%u sec\n\r", 10*(cnt++));//// stdio_usb_putchar (NULL, "data");// + vTaskDelay(10000); LED_Toggle(LED_PIN); - vTaskDelay(1000); /*if((c1 % 50000) == 0){ //periodic_event_1s(); if(!stdio_cdc_opened){