diff options
| author | sakumisu <[email protected]> | 2022-03-20 21:19:40 +0800 |
|---|---|---|
| committer | sakumisu <[email protected]> | 2022-03-20 21:19:40 +0800 |
| commit | eb8048e98e4cecf1b75a1ec46eed6f705166ae65 (patch) | |
| tree | eeb9b6d4819f27d56c035a36d7e7cc90e1236623 | |
| parent | 0c39b0a2bdd90a01eec43e7028175fc006c2392e (diff) | |
add musb host demo with es32f3xx
| -rw-r--r-- | demo/es32/usb_host/ES32F369x/Inc/FreeRTOSConfig.h | 311 | ||||
| -rw-r--r-- | demo/es32/usb_host/ES32F369x/Inc/ald_conf.h | 213 | ||||
| -rw-r--r-- | demo/es32/usb_host/ES32F369x/Inc/main.h | 47 | ||||
| -rw-r--r-- | demo/es32/usb_host/ES32F369x/Inc/usb_config.h | 60 | ||||
| -rw-r--r-- | demo/es32/usb_host/ES32F369x/MDK-ARM/example.uvoptx | 705 | ||||
| -rw-r--r-- | demo/es32/usb_host/ES32F369x/MDK-ARM/example.uvprojx | 594 | ||||
| -rw-r--r-- | demo/es32/usb_host/ES32F369x/Src/irq.c | 181 | ||||
| -rw-r--r-- | demo/es32/usb_host/ES32F369x/Src/main.c | 178 | ||||
| -rw-r--r-- | demo/es32/usb_host/ES32F369x/copy Drivers from es32 sdk here.txt | 0 |
9 files changed, 2289 insertions, 0 deletions
diff --git a/demo/es32/usb_host/ES32F369x/Inc/FreeRTOSConfig.h b/demo/es32/usb_host/ES32F369x/Inc/FreeRTOSConfig.h new file mode 100644 index 00000000..c5eb9baa --- /dev/null +++ b/demo/es32/usb_host/ES32F369x/Inc/FreeRTOSConfig.h @@ -0,0 +1,311 @@ +/* + FreeRTOS V9.0.0 - Copyright (C) 2016 Real Time Engineers Ltd. + All rights reserved + + VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. + + This file is part of the FreeRTOS distribution. + + FreeRTOS is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License (version 2) as published by the + Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception. + + *************************************************************************** + >>! NOTE: The modification to the GPL is included to allow you to !<< + >>! distribute a combined work that includes FreeRTOS without being !<< + >>! obliged to provide the source code for proprietary components !<< + >>! outside of the FreeRTOS kernel. !<< + *************************************************************************** + + FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. Full license text is available on the following + link: http://www.freertos.org/a00114.html + + *************************************************************************** + * * + * FreeRTOS provides completely free yet professionally developed, * + * robust, strictly quality controlled, supported, and cross * + * platform software that is more than just the market leader, it * + * is the industry's de facto standard. * + * * + * Help yourself get started quickly while simultaneously helping * + * to support the FreeRTOS project by purchasing a FreeRTOS * + * tutorial book, reference manual, or both: * + * http://www.FreeRTOS.org/Documentation * + * * + *************************************************************************** + + http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading + the FAQ page "My application does not run, what could be wrong?". Have you + defined configASSERT()? + + http://www.FreeRTOS.org/support - In return for receiving this top quality + embedded software for free we request you assist our global community by + participating in the support forum. + + http://www.FreeRTOS.org/training - Investing in training allows your team to + be as productive as possible as early as possible. Now you can receive + FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers + Ltd, and the world's leading authority on the world's leading RTOS. + + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, + including FreeRTOS+Trace - an indispensable productivity tool, a DOS + compatible FAT file system, and our tiny thread aware UDP/IP stack. + + http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate. + Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS. + + http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High + Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS + licenses offer ticketed support, indemnification and commercial middleware. + + http://www.SafeRTOS.com - High Integrity Systems also provide a safety + engineered and independently SIL3 certified version for use in safety and + mission critical applications that require provable dependability. + +*/ + + +#ifndef FREERTOS_CONFIG_H +#define FREERTOS_CONFIG_H + + +//��Բ�ͬ�ı��������ò�ͬ��stdint.h�ļ� +#if defined(__ICCARM__) || defined(__CC_ARM) || defined(__GNUC__) + #include <stdint.h> + //extern uint32_t SystemCoreClock; +#endif + +//���� + +#define configASSERT(x) +/************************************************************************ + * FreeRTOS������������ѡ�� + *********************************************************************/ +/* ��1��RTOSʹ����ռʽ����������0��RTOSʹ��Э��ʽ��������ʱ��Ƭ�� + * + * ע���ڶ�������������ϣ�����ϵͳ���Է�Ϊ��ռʽ��Э��ʽ���֡� + * Э��ʽ����ϵͳ�����������ͷ�CPU���л�����һ������ + * �����л���ʱ����ȫȡ�����������е����� + */ +#define configUSE_PREEMPTION 1 + +//1ʹ��ʱ��Ƭ����(Ĭ��ʽʹ�ܵ�) +#define configUSE_TIME_SLICING 1 + +/* ijЩ����FreeRTOS��Ӳ�������ַ���ѡ����һ��Ҫִ�е����� + * ͨ�÷������ض���Ӳ���ķ��������¼�ơ����ⷽ�������� + * + * ͨ�÷����� + * 1.configUSE_PORT_OPTIMISED_TASK_SELECTION Ϊ 0 ����Ӳ����֧���������ⷽ���� + * 2.������������FreeRTOS֧�ֵ�Ӳ�� + * 3.��ȫ��Cʵ�֣�Ч���Ե������ⷽ���� + * 4.��ǿ��Ҫ���������������ȼ���Ŀ + * ���ⷽ���� + * 1.���뽫configUSE_PORT_OPTIMISED_TASK_SELECTION����Ϊ1�� + * 2.����һ�������ض��ܹ��Ļ��ָ�һ�������Ƽ���ǰ����[CLZ]ָ��� + * 3.��ͨ�÷�������Ч + * 4.һ��ǿ�������������ȼ���ĿΪ32 + * һ����Ӳ������ǰ����ָ������ʹ�õģ�MCUû����ЩӲ��ָ��Ļ��˺�Ӧ������Ϊ0�� + */ +#define configUSE_PORT_OPTIMISED_TASK_SELECTION 1 + +/* ��1��ʹ�ܵ���ticklessģʽ����0������ϵͳ���ģ�tick���ж�һֱ���� + * ���迪�����ĵĻ����ܻᵼ�����س������⣬��Ϊ������˯����,�������°취��� + * + * ���ط����� + * 1.���������������Ӻ� + * 2.��ס��λ�������������˲���ɿ���λ���� + * + * 1.ͨ������ñ�� BOOT 0 �Ӹߵ�ƽ(3.3V) + * 2.�����ϵ磬���� + * + * 1.ʹ��FlyMcu����һ��оƬ��Ȼ��������� + * STMISP -> ���оƬ(z) + */ +#define configUSE_TICKLESS_IDLE 0 + +/* + * д��ʵ�ʵ�CPU�ں�ʱ��Ƶ�ʣ�Ҳ����CPUָ��ִ��Ƶ�ʣ�ͨ����ΪFclk + * FclkΪ����CPU�ں˵�ʱ���źţ�������˵��cpu��ƵΪ XX MHz�� + * ����ָ�����ʱ���źţ���Ӧ�ģ�1/Fclk��Ϊcpuʱ�����ڣ� + */ +#define configCPU_CLOCK_HZ (72000000) + +//RTOSϵͳ�����жϵ�Ƶ�ʡ���һ���жϵĴ�����ÿ���ж�RTOS�������������� +#define configTICK_RATE_HZ (( TickType_t )1000) + +//��ʹ�õ�������ȼ� +#define configMAX_PRIORITIES (32) + +//��������ʹ�õĶ�ջ��С +#define configMINIMAL_STACK_SIZE ((unsigned short)128) + +//���������ַ������� +#define configMAX_TASK_NAME_LEN (16) + + //ϵͳ���ļ����������������ͣ�1��ʾΪ16λ�������Σ�0��ʾΪ32λ�������� +#define configUSE_16_BIT_TICKS 0 + +//�����������CPUʹ��Ȩ������ͬ���ȼ����û����� +#define configIDLE_SHOULD_YIELD 1 + +//���ö��� +#define configUSE_QUEUE_SETS 1 + +//��������֪ͨ���ܣ�Ĭ�Ͽ��� +#define configUSE_TASK_NOTIFICATIONS 1 + +//ʹ�û����ź��� +#define configUSE_MUTEXES 1 + +//ʹ�õݹ黥���ź��� +#define configUSE_RECURSIVE_MUTEXES 0 + +//Ϊ1ʱʹ�ü����ź��� +#define configUSE_COUNTING_SEMAPHORES 1 + +/* ���ÿ���ע����ź�������Ϣ���и��� */ +#define configQUEUE_REGISTRY_SIZE 10 + +#define configUSE_APPLICATION_TASK_TAG 0 + + +/***************************************************************** + FreeRTOS���ڴ������й�����ѡ�� +*****************************************************************/ +//֧�ֶ�̬�ڴ����� +#define configSUPPORT_DYNAMIC_ALLOCATION 1 +//֧�־�̬�ڴ� +#define configSUPPORT_STATIC_ALLOCATION 0 +//ϵͳ�����ܵĶѴ�С +#define configTOTAL_HEAP_SIZE ((size_t)(36*1024)) + + +/*************************************************************** + FreeRTOS�빳�Ӻ����йص�����ѡ�� +**************************************************************/ +/* ��1��ʹ�ÿ��й��ӣ�Idle Hook�����ڻص�����������0�����Կ��й��� + * + * ������������һ������������������û���ʵ�֣� + * FreeRTOS�涨�˺��������ֺͲ�����void vApplicationIdleHook(void )�� + * ���������ÿ�������������ڶ��ᱻ���� + * �����Ѿ�ɾ����RTOS��������������ͷŷ�������ǵĶ�ջ�ڴ档 + * ��˱��뱣֤����������Ա�CPUִ�� + * ʹ�ÿ��й��Ӻ�������CPU����ʡ��ģʽ�Ǻܳ����� + * �����Ե��û������������������API���� + */ +#define configUSE_IDLE_HOOK 0 + +/* ��1��ʹ��ʱ��Ƭ���ӣ�Tick Hook������0������ʱ��Ƭ���� + * + * + * ʱ��Ƭ������һ������������������û���ʵ�֣� + * FreeRTOS�涨�˺��������ֺͲ�����void vApplicationTickHook(void ) + * ʱ��Ƭ�жϿ��������Եĵ��� + * ��������dz���С�����ܴ���ʹ�ö�ջ�� + * ���ܵ����ԡ�FromISR" �� "FROM_ISR����β��API���� + */ + /*xTaskIncrementTick��������xPortSysTickHandler�жϺ����б����õġ���ˣ�vApplicationTickHook()����ִ�е�ʱ�����̲ܶ���*/ +#define configUSE_TICK_HOOK 0 + +//ʹ���ڴ�����ʧ�ܹ��Ӻ��� +#define configUSE_MALLOC_FAILED_HOOK 0 + +/* + * ����0ʱ���ö�ջ������ܣ����ʹ�ô˹��� + * �û������ṩһ��ջ������Ӻ��������ʹ�õĻ� + * ��ֵ����Ϊ1����2����Ϊ������ջ�����ⷽ�� */ +#define configCHECK_FOR_STACK_OVERFLOW 0 + + +/******************************************************************** + FreeRTOS������ʱ�������״̬�ռ��йص�����ѡ�� +**********************************************************************/ +//��������ʱ��ͳ�ƹ��� +#define configGENERATE_RUN_TIME_STATS 0 + //���ÿ��ӻ����ٵ��� +#define configUSE_TRACE_FACILITY 0 +/* ���configUSE_TRACE_FACILITYͬʱΪ1ʱ���������3������ + * prvWriteNameToBuffer() + * vTaskList(), + * vTaskGetRunTimeStats() +*/ +#define configUSE_STATS_FORMATTING_FUNCTIONS 1 + + +/******************************************************************** + FreeRTOS��Э���йص�����ѡ�� +*********************************************************************/ +//����Э�̣�����Э���Ժ���������ļ�croutine.c +#define configUSE_CO_ROUTINES 0 +//Э�̵���Ч���ȼ���Ŀ +#define configMAX_CO_ROUTINE_PRIORITIES ( 2 ) + + +/*********************************************************************** + FreeRTOS��������ʱ���йص�����ѡ�� +**********************************************************************/ + //����������ʱ�� +#define configUSE_TIMERS 0 +//������ʱ�����ȼ� +#define configTIMER_TASK_PRIORITY (configMAX_PRIORITIES-1) +//������ʱ�����г��� +#define configTIMER_QUEUE_LENGTH 10 +//������ʱ�������ջ��С +#define configTIMER_TASK_STACK_DEPTH (configMINIMAL_STACK_SIZE*2) + +/************************************************************ + FreeRTOS��ѡ��������ѡ�� +************************************************************/ +#define INCLUDE_xTaskGetSchedulerState 1 +#define INCLUDE_vTaskPrioritySet 1 +#define INCLUDE_uxTaskPriorityGet 1 +#define INCLUDE_vTaskDelete 1 +#define INCLUDE_vTaskCleanUpResources 1 +#define INCLUDE_vTaskSuspend 1 +#define INCLUDE_vTaskDelayUntil 1 +#define INCLUDE_vTaskDelay 1 +#define INCLUDE_eTaskGetState 1 +#define INCLUDE_xTimerPendFunctionCall 0 +//#define INCLUDE_xTaskGetCurrentTaskHandle 1 +//#define INCLUDE_uxTaskGetStackHighWaterMark 0 +//#define INCLUDE_xTaskGetIdleTaskHandle 0 + + +/****************************************************************** + FreeRTOS���ж��йص�����ѡ�� +******************************************************************/ +#ifdef __NVIC_PRIO_BITS + #define configPRIO_BITS __NVIC_PRIO_BITS +#else + #define configPRIO_BITS 4 +#endif +//�ж�������ȼ� +#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY 15 + +//ϵͳ�ɹ���������ж����ȼ� +#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 5 + +#define configKERNEL_INTERRUPT_PRIORITY ( configLIBRARY_LOWEST_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) ) /* 240 */ + +#define configMAX_SYSCALL_INTERRUPT_PRIORITY ( configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - 4) ) + + +/**************************************************************** + FreeRTOS���жϷ������йص�����ѡ�� +****************************************************************/ +#define xPortPendSVHandler PendSV_Handler +#define vPortSVCHandler SVC_Handler + + +/* ����Ϊʹ��Percepio Tracealyzer��Ҫ�Ķ���������Ҫʱ�� configUSE_TRACE_FACILITY ����Ϊ 0 */ +#if ( configUSE_TRACE_FACILITY == 1 ) +#include "trcRecorder.h" +#define INCLUDE_xTaskGetCurrentTaskHandle 1 // ����һ����ѡ�������ú����� TraceԴ��ʹ�ã�Ĭ�ϸ�ֵΪ0 ��ʾ���ã� +#endif + + +#endif /* FREERTOS_CONFIG_H */ + diff --git a/demo/es32/usb_host/ES32F369x/Inc/ald_conf.h b/demo/es32/usb_host/ES32F369x/Inc/ald_conf.h new file mode 100644 index 00000000..e0123e76 --- /dev/null +++ b/demo/es32/usb_host/ES32F369x/Inc/ald_conf.h @@ -0,0 +1,213 @@ +/** + ********************************************************************************* + * + * @file ald_conf.h + * @brief Enable/Disable the peripheral module. + * + * @version V1.0 + * @date 26 Jun 2019 + * @author AE Team + * @note + * Change Logs: + * Date Author Notes + * 26 Jun 2019 AE Team The first version + * + * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved. + * + * 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 + * + * 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 __ALD_CONF_H__ +#define __ALD_CONF_H__ + + +#define ALD_DMA +#define ALD_GPIO +#define ALD_UART +#define ALD_I2C +#define ALD_CMU +#define ALD_RMU +#define ALD_PMU +#define ALD_WDT +#define ALD_LCD +#define ALD_RTC +#define ALD_CAN +#define ALD_FLASH +#define ALD_ADC +#define ALD_CRC +#define ALD_CRYPT +#define ALD_TIMER +#define ALD_LPTIM +#define ALD_PIS +#define ALD_SPI +#define ALD_CALC +#define ALD_ACMP +#define ALD_OPAMP +#define ALD_TRNG +#define ALD_TSENSE +#define ALD_BKPC +#define ALD_DAC +#define ALD_IAP +#define ALD_I2S +#define ALD_ECC +#define ALD_NAND +#define ALD_QSPI +#define ALD_NOR +#define ALD_SRAM +#define ALD_USB +#define ALD_NOR_LCD +#define ALD_SYSCFG +#define ALD_RTCHW +#if defined(ALD_NAND) || defined(ALD_NOR) || defined(ALD_SRAM) +#define ALD_EBI +#endif + +#ifdef ALD_GPIO + #include "ald_gpio.h" +#endif /*ALD_GPIO */ + +#ifdef ALD_DMA + #include "ald_dma.h" +#endif /* ALD_DMA */ + +#ifdef ALD_UART + #include "ald_uart.h" +#endif /* ALD_UART */ + +#ifdef ALD_I2C + #include "ald_i2c.h" +#endif /* ALD_I2C */ + +#ifdef ALD_CMU + #include "ald_cmu.h" +#endif /* ALD_CMU */ + +#ifdef ALD_RMU + #include "ald_rmu.h" +#endif /* ALD_RMU */ + +#ifdef ALD_PMU + #include "ald_pmu.h" +#endif /* ALD_PUM */ + +#ifdef ALD_WDT + #include "ald_wdt.h" +#endif /* ALD_WDT */ + +#ifdef ALD_RTC + #include "ald_rtc.h" +#endif /* ALD_RTC */ + +#ifdef ALD_FLASH + #include "ald_flash.h" +#endif /*ALD_FLASH*/ + +#ifdef ALD_ADC + #include "ald_adc.h" +#endif /* ALD_ADC */ + +#ifdef ALD_CRC + #include "ald_crc.h" +#endif /* ALD_CRC */ + +#ifdef ALD_CRYPT + #include "ald_crypt.h" +#endif /* ALD_CRYPT */ + +#ifdef ALD_TIMER + #include "ald_timer.h" +#endif /* ALD_TIMER */ + +#ifdef ALD_PIS + #include "ald_pis.h" +#endif /* ALD_PIS */ + +#ifdef ALD_SPI + #include "ald_spi.h" +#endif /* ALD_SPI */ + +#ifdef ALD_CALC + #include "ald_calc.h" +#endif /* ALD_CALC */ + +#ifdef ALD_ACMP + #include "ald_acmp.h" +#endif /* ALD_ACMP */ + +#ifdef ALD_TRNG + #include "ald_trng.h" +#endif /* ALD_TRNG */ + +#ifdef ALD_TSENSE + #include "ald_tsense.h" +#endif /* ALD_TSENSE */ + +#ifdef ALD_BKPC + #include "ald_bkpc.h" +#endif /* ALD_BKPC */ + +#ifdef ALD_DAC + #include "ald_dac.h" +#endif /* ALD_DAC */ + +#ifdef ALD_IAP + #include "ald_iap.h" +#endif /* ALD_IAP */ + +#ifdef ALD_CAN + #include "ald_can.h" +#endif /* ALD_CAN */ + +#ifdef ALD_QSPI + #include "ald_qspi.h" +#endif /* ALD_QSPI */ + +#ifdef ALD_USB + #include "ald_usb.h" +#endif /* ALD_USB */ + +#ifdef ALD_SRAM + #include "ald_sram.h" +#endif /* ALD_SRAM */ + +#ifdef ALD_EBI + #include "ald_ebi.h" +#endif /* ALD_EBI */ + +#ifdef ALD_NAND + #include "ald_nand.h" +#endif /* ALD_NAND */ + +#ifdef ALD_NOR_LCD + #include "ald_nor_lcd.h" +#endif /* ALD_NOR_LCD */ + +#ifdef ALD_I2S + #include "ald_i2s.h" +#endif /* ALD_I2S */ + +#ifdef ALD_SYSCFG + #include "ald_syscfg.h" +#endif /* ALD_SYSCFG */ + +#ifdef ALD_RTCHW + #include "ald_rtchw.h" +#endif /* ALD_RTCHW */ + +#define TICK_INT_PRIORITY 3 + +#endif diff --git a/demo/es32/usb_host/ES32F369x/Inc/main.h b/demo/es32/usb_host/ES32F369x/Inc/main.h new file mode 100644 index 00000000..6060da8b --- /dev/null +++ b/demo/es32/usb_host/ES32F369x/Inc/main.h @@ -0,0 +1,47 @@ +/** + ********************************************************************************* + * + * @file main.h + * @brief Header file for DEMO + * + * @version V1.0 + * @date 26 Jun 2019 + * @author AE Team + * @note + * Change Logs: + * Date Author Notes + * 26 Jun 2019 AE Team The first version + * + * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved. + * + * 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 + * + * 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 __MAIN_H__ +#define __MAIN_H__ + +#include "ald_conf.h" + +typedef struct env_s { + uint8_t conn; + uint8_t update; + uint32_t button; + int32_t x_pos; + int32_t y_pos; +} env_t; + +extern env_t env; +#endif diff --git a/demo/es32/usb_host/ES32F369x/Inc/usb_config.h b/demo/es32/usb_host/ES32F369x/Inc/usb_config.h new file mode 100644 index 00000000..9a428ac1 --- /dev/null +++ b/demo/es32/usb_host/ES32F369x/Inc/usb_config.h @@ -0,0 +1,60 @@ +#ifndef _USB_CONFIG_H +#define _USB_CONFIG_H + +/* USB DEVICE Configuration */ + +/* USB HOST Configuration */ +#ifndef CONFIG_USBHOST_RHPORTS +#define CONFIG_USBHOST_RHPORTS 1 +#endif + +#ifndef CONFIG_USBHOST_EHPORTS +#define CONFIG_USBHOST_EHPORTS 4 +#endif + +#ifndef CONFIG_USBHOST_INTF_NUM +#define CONFIG_USBHOST_INTF_NUM 6 +#endif + +#ifndef CONFIG_USBHOST_EP_NUM +#define CONFIG_USBHOST_EP_NUM 2 +#endif + +#ifndef CONFIG_USBHOST_HPWORKQ_PRIO +#define CONFIG_USBHOST_HPWORKQ_PRIO 5 +#endif +#ifndef CONFIG_USBHOST_HPWORKQ_STACKSIZE +#define CONFIG_USBHOST_HPWORKQ_STACKSIZE 2048 +#endif + +#ifndef CONFIG_USBHOST_LPWORKQ_PRIO +#define CONFIG_USBHOST_LPWORKQ_PRIO 1 +#endif +#ifndef CONFIG_USBHOST_LPWORKQ_STACKSIZE +#define CONFIG_USBHOST_LPWORKQ_STACKSIZE 2048 +#endif + +#ifndef CONFIG_USBHOST_PSC_PRIO +#define CONFIG_USBHOST_PSC_PRIO 4 +#endif +#ifndef CONFIG_USBHOST_PSC_STACKSIZE +#define CONFIG_USBHOST_PSC_STACKSIZE 4096 +#endif + +#ifndef CONFIG_USBHOST_DEV_NAMELEN +#define CONFIG_USBHOST_DEV_NAMELEN 16 +#endif + +#define CONFIG_USBHOST_ASYNCH +//#define CONFIG_USBHOST_GET_STRING_DESC + +/* EHCI Configuration */ +#define CONFIG_USB_EHCI_HCCR_BASE (0x20072000) +#define CONFIG_USB_EHCI_HCOR_BASE (0x20072000 + 0x10) +#define CONFIG_USB_EHCI_QH_NUM (10) +#define CONFIG_USB_EHCI_QTD_NUM (10) +// #define CONFIG_USB_EHCI_INFO_ENABLE +// #define CONFIG_USB_ECHI_HCOR_RESERVED +// #define CONFIG_USB_EHCI_CONFIGFLAG + +#endif
\ No newline at end of file diff --git a/demo/es32/usb_host/ES32F369x/MDK-ARM/example.uvoptx b/demo/es32/usb_host/ES32F369x/MDK-ARM/example.uvoptx new file mode 100644 index 00000000..ddca724c --- /dev/null +++ b/demo/es32/usb_host/ES32F369x/MDK-ARM/example.uvoptx @@ -0,0 +1,705 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_optx.xsd"> + + <SchemaVersion>1.0</SchemaVersion> + + <Header>### uVision Project, (C) Keil Software</Header> + + <Extensions> + <cExt>*.c</cExt> + <aExt>*.s*; *.src; *.a*</aExt> + <oExt>*.obj; *.o</oExt> + <lExt>*.lib</lExt> + <tExt>*.txt; *.h; *.inc; *.md</tExt> + <pExt>*.plm</pExt> + <CppX>*.cpp</CppX> + <nMigrate>0</nMigrate> + </Extensions> + + <DaveTm> + <dwLowDateTime>0</dwLowDateTime> + <dwHighDateTime>0</dwHighDateTime> + </DaveTm> + + <Target> + <TargetName>target</TargetName> + <ToolsetNumber>0x4</ToolsetNumber> + <ToolsetName>ARM-ADS</ToolsetName> + <TargetOption> + <CLKADS>12000000</CLKADS> + <OPTTT> + <gFlags>1</gFlags> + <BeepAtEnd>1</BeepAtEnd> + <RunSim>0</RunSim> + <RunTarget>1</RunTarget> + <RunAbUc>0</RunAbUc> + </OPTTT> + <OPTHX> + <HexSelection>1</HexSelection> + <FlashByte>65535</FlashByte> + <HexRangeLowAddress>0</HexRangeLowAddress> + <HexRangeHighAddress>0</HexRangeHighAddress> + <HexOffset>0</HexOffset> + </OPTHX> + <OPTLEX> + <PageWidth>79</PageWidth> + <PageLength>66</PageLength> + <TabStop>8</TabStop> + <ListingPath>.\</ListingPath> + </OPTLEX> + <ListingPage> + <CreateCListing>1</CreateCListing> + <CreateAListing>1</CreateAListing> + <CreateLListing>1</CreateLListing> + <CreateIListing>0</CreateIListing> + <AsmCond>1</AsmCond> + <AsmSymb>1</AsmSymb> + <AsmXref>0</AsmXref> + <CCond>1</CCond> + <CCode>0</CCode> + <CListInc>0</CListInc> + <CSymb>0</CSymb> + <LinkerCodeListing>0</LinkerCodeListing> + </ListingPage> + <OPTXL> + <LMap>1</LMap> + <LComments>1</LComments> + <LGenerateSymbols>1</LGenerateSymbols> + <LLibSym>1</LLibSym> + <LLines>1</LLines> + <LLocSym>1</LLocSym> + <LPubSym>1</LPubSym> + <LXref>0</LXref> + <LExpSel>0</LExpSel> + </OPTXL> + <OPTFL> + <tvExp>1</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <IsCurrentTarget>1</IsCurrentTarget> + </OPTFL> + <CpuCode>255</CpuCode> + <DebugOpt> + <uSim>0</uSim> + <uTrg>1</uTrg> + <sLdApp>1</sLdApp> + <sGomain>1</sGomain> + <sRbreak>1</sRbreak> + <sRwatch>1</sRwatch> + <sRmem>1</sRmem> + <sRfunc>1</sRfunc> + <sRbox>1</sRbox> + <tLdApp>1</tLdApp> + <tGomain>1</tGomain> + <tRbreak>1</tRbreak> + <tRwatch>1</tRwatch> + <tRmem>1</tRmem> + <tRfunc>0</tRfunc> + <tRbox>1</tRbox> + <tRtrace>0</tRtrace> + <sRSysVw>1</sRSysVw> + <tRSysVw>1</tRSysVw> + <sRunDeb>0</sRunDeb> + <sLrtime>0</sLrtime> + <bEvRecOn>1</bEvRecOn> + <bSchkAxf>0</bSchkAxf> + <bTchkAxf>0</bTchkAxf> + <nTsel>6</nTsel> + <sDll></sDll> + <sDllPa></sDllPa> + <sDlgDll></sDlgDll> + <sDlgPa></sDlgPa> + <sIfile></sIfile> + <tDll></tDll> + <tDllPa></tDllPa> + <tDlgDll></tDlgDll> + <tDlgPa></tDlgPa> + <tIfile></tIfile> + <pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon> + </DebugOpt> + <TargetDriverDllRegistry> + <SetRegEntry> + <Number>0</Number> + <Key>ST-LINKIII-KEIL_SWO</Key> + <Name>-U066EFF555453774987091527 -O207 -SF4000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0es32f36xx.FLM -FS00 -FL080000 -FP0($$Device:ES32F3696LT$Flash\es32f36xx.FLM)</Name> + </SetRegEntry> + <SetRegEntry> + <Number>0</Number> + <Key>CMSIS_AGDI</Key> + <Name>-X"essemi CMSIS-DAP" -U0001A000000A -O495 -S0 -C0 -P00000000 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO65554 -TC10000000 -TT10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0es32f36xx.FLM -FS00 -FL080000 -FP0($$Device:ES32F3696LT$Flash\es32f36xx.FLM)</Name> + </SetRegEntry> + <SetRegEntry> + <Number>0</Number> + <Key>DLGUARM</Key> + <Name>(105=-1,-1,-1,-1,0)</Name> + </SetRegEntry> + <SetRegEntry> + <Number>0</Number> + <Key>UL2CM3</Key> + <Name>UL2CM3(-S0 -C0 -P0 ) -FN1 -FC1000 -FD20000000 -FF0es32f36xx -FL080000 -FS00 -FP0($$Device:ES32F3696LT$Flash\es32f36xx.FLM)</Name> + </SetRegEntry> + <SetRegEntry> + <Number>0</Number> + <Key>JL2CM3</Key> + <Name>-U788594195 -O78 -S5 -ZTIFSpeedSel1000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO23 -FD20000000 -FC4000 -FN1 -FF0es32f36xx.FLM -FS00 -FL080000 -FP0($$Device:ES32F3696LT$Flash\es32f36xx.FLM)</Name> + </SetRegEntry> + <SetRegEntry> + <Number>0</Number> + <Key>ARMRTXEVENTFLAGS</Key> + <Name>-L70 -Z18 -C0 -M0 -T1</Name> + </SetRegEntry> + <SetRegEntry> + <Number>0</Number> + <Key>DLGDARM</Key> + <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)</Name> + </SetRegEntry> + <SetRegEntry> + <Number>0</Number> + <Key>DLGTARM</Key> + <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name> + </SetRegEntry> + <SetRegEntry> + <Number>0</Number> + <Key>ARMDBGFLAGS</Key> + <Name>-T0</Name> + </SetRegEntry> + </TargetDriverDllRegistry> + <Breakpoint> + <Bp> + <Number>0</Number> + <Type>0</Type> + <LineNumber>174</LineNumber> + <EnabledFlag>1</EnabledFlag> + <Address>14404</Address> + <ByteObject>0</ByteObject> + <HtxType>0</HtxType> + <ManyObjects>0</ManyObjects> + <SizeOfObject>0</SizeOfObject> + <BreakByAccess>0</BreakByAccess> + <BreakIfRCount>1</BreakIfRCount> + <Filename>..\..\..\..\..\class\hid\usbh_hid.c</Filename> + <ExecCommand></ExecCommand> + <Expression>\\out\../../../../../class/hid/usbh_hid.c\174</Expression> + </Bp> + <Bp> + <Number>1</Number> + <Type>0</Type> + <LineNumber>175</LineNumber> + <EnabledFlag>1</EnabledFlag> + <Address>14412</Address> + <ByteObject>0</ByteObject> + <HtxType>0</HtxType> + <ManyObjects>0</ManyObjects> + <SizeOfObject>0</SizeOfObject> + <BreakByAccess>0</BreakByAccess> + <BreakIfRCount>1</BreakIfRCount> + <Filename>..\..\..\..\..\class\hid\usbh_hid.c</Filename> + <ExecCommand></ExecCommand> + <Expression>\\out\../../../../../class/hid/usbh_hid.c\175</Expression> + </Bp> + <Bp> + <Number>2</Number> + <Type>0</Type> + <LineNumber>88</LineNumber> + <EnabledFlag>1</EnabledFlag> + <Address>0</Address> + <ByteObject>0</ByteObject> + <HtxType>0</HtxType> + <ManyObjects>0</ManyObjects> + <SizeOfObject>0</SizeOfObject> + <BreakByAccess>0</BreakByAccess> + <BreakIfRCount>0</BreakIfRCount> + <Filename>..\..\..\..\..\class\hid\usbh_hid.c</Filename> + <ExecCommand></ExecCommand> + <Expression></Expression> + </Bp> + </Breakpoint> + <WatchWindow1> + <Ww> + <count>0</count> + <WinNumber>1</WinNumber> + <ItemText>class_driver</ItemText> + </Ww> + <Ww> + <count>1</count> + <WinNumber>1</WinNumber> + <ItemText>report_buffer</ItemText> + </Ww> + </WatchWindow1> + <MemoryWindow1> + <Mm> + <WinNumber>1</WinNumber> + <SubType>1</SubType> + <ItemText>0x40086510</ItemText> + <AccSizeX>0</AccSizeX> + </Mm> + </MemoryWindow1> + <MemoryWindow2> + <Mm> + <WinNumber>2</WinNumber> + <SubType>2</SubType> + <ItemText>0x40000000</ItemText> + <AccSizeX>0</AccSizeX> + </Mm> + </MemoryWindow2> + <MemoryWindow3> + <Mm> + <WinNumber>3</WinNumber> + <SubType>2</SubType> + <ItemText>0x00000000</ItemText> + <AccSizeX>0</AccSizeX> + </Mm> + </MemoryWindow3> + <MemoryWindow4> + <Mm> + <WinNumber>4</WinNumber> + <SubType>2</SubType> + <ItemText>0x5000</ItemText> + <AccSizeX>0</AccSizeX> + </Mm> + </MemoryWindow4> + <Tracepoint> + <THDelay>0</THDelay> + </Tracepoint> + <DebugFlag> + <trace>0</trace> + <periodic>1</periodic> + <aLwin>1</aLwin> + <aCover>0</aCover> + <aSer1>0</aSer1> + <aSer2>0</aSer2> + <aPa>0</aPa> + <viewmode>1</viewmode> + <vrSel>0</vrSel> + <aSym>0</aSym> + <aTbox>0</aTbox> + <AscS1>0</AscS1> + <AscS2>0</AscS2> + <AscS3>0</AscS3> + <aSer3>0</aSer3> + <eProf>0</eProf> + <aLa>0</aLa> + <aPa1>0</aPa1> + <AscS4>0</AscS4> + <aSer4>0</aSer4> + <StkLoc>0</StkLoc> + <TrcWin>0</TrcWin> + <newCpu>0</newCpu> + <uProt>0</uProt> + </DebugFlag> + <LintExecutable></LintExecutable> + <LintConfigFile></LintConfigFile> + <bLintAuto>0</bLintAuto> + <bAutoGenD>0</bAutoGenD> + <LntExFlags>0</LntExFlags> + <pMisraName></pMisraName> + <pszMrule></pszMrule> + <pSingCmds></pSingCmds> + <pMultCmds></pMultCmds> + <pMisraNamep></pMisraNamep> + <pszMrulep></pszMrulep> + <pSingCmdsp></pSingCmdsp> + <pMultCmdsp></pMultCmdsp> + </TargetOption> + </Target> + + <Group> + <GroupName>startup</GroupName> + <tvExp>1</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>1</GroupNumber> + <FileNumber>1</FileNumber> + <FileType>2</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Drivers\CMSIS\Device\EastSoft\ES32F36xx\Startup\keil\startup_es32f36xx.s</PathWithFileName> + <FilenameWithoutPath>startup_es32f36xx.s</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>ald</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>2</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Drivers\ALD\ES32F36xx\Source\ald_bkpc.c</PathWithFileName> + <FilenameWithoutPath>ald_bkpc.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>3</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Drivers\ALD\ES32F36xx\Source\ald_cmu.c</PathWithFileName> + <FilenameWithoutPath>ald_cmu.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>4</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Drivers\ALD\ES32F36xx\Source\ald_dma.c</PathWithFileName> + <FilenameWithoutPath>ald_dma.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>5</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Drivers\ALD\ES32F36xx\Source\ald_gpio.c</PathWithFileName> + <FilenameWithoutPath>ald_gpio.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>6</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Drivers\ALD\ES32F36xx\Source\ald_pmu.c</PathWithFileName> + <FilenameWithoutPath>ald_pmu.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>7</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Drivers\ALD\ES32F36xx\Source\ald_rmu.c</PathWithFileName> + <FilenameWithoutPath>ald_rmu.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>8</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Drivers\ALD\ES32F36xx\Source\ald_uart.c</PathWithFileName> + <FilenameWithoutPath>ald_uart.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>9</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Drivers\ALD\ES32F36xx\Source\ald_usb.c</PathWithFileName> + <FilenameWithoutPath>ald_usb.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>10</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Drivers\ALD\ES32F36xx\Source\ald_iap.c</PathWithFileName> + <FilenameWithoutPath>ald_iap.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>2</GroupNumber> + <FileNumber>11</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Drivers\ALD\ES32F36xx\Source\utils.c</PathWithFileName> + <FilenameWithoutPath>utils.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>app</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>3</GroupNumber> + <FileNumber>12</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\main.c</PathWithFileName> + <FilenameWithoutPath>main.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>3</GroupNumber> + <FileNumber>13</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\Src\irq.c</PathWithFileName> + <FilenameWithoutPath>irq.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>3</GroupNumber> + <FileNumber>14</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\usb_host.c</PathWithFileName> + <FilenameWithoutPath>usb_host.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>CherryUSB</GroupName> + <tvExp>1</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>15</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\..\core\usbh_core.c</PathWithFileName> + <FilenameWithoutPath>usbh_core.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>16</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\..\class\cdc\usbh_cdc_acm.c</PathWithFileName> + <FilenameWithoutPath>usbh_cdc_acm.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>17</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\..\class\msc\usbh_msc.c</PathWithFileName> + <FilenameWithoutPath>usbh_msc.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>18</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\..\class\hid\usbh_hid.c</PathWithFileName> + <FilenameWithoutPath>usbh_hid.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>19</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\..\class\hub\usbh_hub.c</PathWithFileName> + <FilenameWithoutPath>usbh_hub.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>20</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\..\osal\usb_osal_freertos.c</PathWithFileName> + <FilenameWithoutPath>usb_osal_freertos.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>21</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\..\osal\usb_workq.c</PathWithFileName> + <FilenameWithoutPath>usb_workq.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>22</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\..\port\musb\usb_hc_musb.c</PathWithFileName> + <FilenameWithoutPath>usb_hc_musb.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + + <Group> + <GroupName>FreeRTOS</GroupName> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <cbSel>0</cbSel> + <RteFlg>0</RteFlg> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>23</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\..\third_party\FreeRTOS-10.4\croutine.c</PathWithFileName> + <FilenameWithoutPath>croutine.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>24</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\..\third_party\FreeRTOS-10.4\event_groups.c</PathWithFileName> + <FilenameWithoutPath>event_groups.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>25</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\..\third_party\FreeRTOS-10.4\list.c</PathWithFileName> + <FilenameWithoutPath>list.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>26</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\..\third_party\FreeRTOS-10.4\queue.c</PathWithFileName> + <FilenameWithoutPath>queue.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>27</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\..\third_party\FreeRTOS-10.4\tasks.c</PathWithFileName> + <FilenameWithoutPath>tasks.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>28</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\..\third_party\FreeRTOS-10.4\timers.c</PathWithFileName> + <FilenameWithoutPath>timers.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>29</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\..\third_party\FreeRTOS-10.4\portable\MemMang\heap_4.c</PathWithFileName> + <FilenameWithoutPath>heap_4.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>5</GroupNumber> + <FileNumber>30</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>..\..\..\..\..\third_party\FreeRTOS-10.4\portable\GCC\ARM_CM3\port.c</PathWithFileName> + <FilenameWithoutPath>port.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + </Group> + +</ProjectOpt> diff --git a/demo/es32/usb_host/ES32F369x/MDK-ARM/example.uvprojx b/demo/es32/usb_host/ES32F369x/MDK-ARM/example.uvprojx new file mode 100644 index 00000000..6e740d5c --- /dev/null +++ b/demo/es32/usb_host/ES32F369x/MDK-ARM/example.uvprojx @@ -0,0 +1,594 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no" ?> +<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd"> + + <SchemaVersion>2.1</SchemaVersion> + + <Header>### uVision Project, (C) Keil Software</Header> + + <Targets> + <Target> + <TargetName>target</TargetName> + <ToolsetNumber>0x4</ToolsetNumber> + <ToolsetName>ARM-ADS</ToolsetName> + <pArmCC>6140001::V6.14.1::ARMCLANG</pArmCC> + <pCCUsed>6140001::V6.14.1::ARMCLANG</pCCUsed> + <uAC6>1</uAC6> + <TargetOption> + <TargetCommonOption> + <Device>ES32F3696LT</Device> + <Vendor>Eastsoft</Vendor> + <PackID>Eastsoft.ES32_DFP.1.0.10</PackID> + <PackURL>http://www.essemi.com/index/article/download?id=921</PackURL> + <Cpu>IRAM(0x20000000,0x00018000) IROM(0x00000000,0x00080000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE</Cpu> + <FlashUtilSpec></FlashUtilSpec> + <StartupFile></StartupFile> + <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0es32f36xx -FS00 -FL080000 -FP0($$Device:ES32F3696LT$Flash\es32f36xx.FLM))</FlashDriverDll> + <DeviceId>0</DeviceId> + <RegisterFile>$$Device:ES32F3696LT$Device\Include\es32f36xx.h</RegisterFile> + <MemoryEnv></MemoryEnv> + <Cmp></Cmp> + <Asm></Asm> + <Linker></Linker> + <OHString></OHString> + <InfinionOptionDll></InfinionOptionDll> + <SLE66CMisc></SLE66CMisc> + <SLE66AMisc></SLE66AMisc> + <SLE66LinkerMisc></SLE66LinkerMisc> + <SFDFile>$$Device:ES32F3696LT$SVD\es32f3xx.svd</SFDFile> + <bCustSvd>0</bCustSvd> + <UseEnv>0</UseEnv> + <BinPath></BinPath> + <IncludePath></IncludePath> + <LibPath></LibPath> + <RegisterFilePath></RegisterFilePath> + <DBRegisterFilePath></DBRegisterFilePath> + <TargetStatus> + <Error>0</Error> + <ExitCodeStop>0</ExitCodeStop> + <ButtonStop>0</ButtonStop> + <NotGenerated>0</NotGenerated> + <InvalidFlash>1</InvalidFlash> + </TargetStatus> + <OutputDirectory>.\obj\</OutputDirectory> + <OutputName>out</OutputName> + <CreateExecutable>1</CreateExecutable> + <CreateLib>0</CreateLib> + <CreateHexFile>1</CreateHexFile> + <DebugInformation>1</DebugInformation> + <BrowseInformation>1</BrowseInformation> + <ListingPath>.\</ListingPath> + <HexFormatSelection>1</HexFormatSelection> + <Merge32K>0</Merge32K> + <CreateBatchFile>0</CreateBatchFile> + <BeforeCompile> + <RunUserProg1>0</RunUserProg1> + <RunUserProg2>0</RunUserProg2> + <UserProg1Name></UserProg1Name> + <UserProg2Name></UserProg2Name> + <UserProg1Dos16Mode>0</UserProg1Dos16Mode> + <UserProg2Dos16Mode>0</UserProg2Dos16Mode> + <nStopU1X>0</nStopU1X> + <nStopU2X>0</nStopU2X> + </BeforeCompile> + <BeforeMake> + <RunUserProg1>0</RunUserProg1> + <RunUserProg2>0</RunUserProg2> + <UserProg1Name></UserProg1Name> + <UserProg2Name></UserProg2Name> + <UserProg1Dos16Mode>0</UserProg1Dos16Mode> + <UserProg2Dos16Mode>0</UserProg2Dos16Mode> + <nStopB1X>0</nStopB1X> + <nStopB2X>0</nStopB2X> + </BeforeMake> + <AfterMake> + <RunUserProg1>0</RunUserProg1> + <RunUserProg2>0</RunUserProg2> + <UserProg1Name></UserProg1Name> + <UserProg2Name></UserProg2Name> + <UserProg1Dos16Mode>0</UserProg1Dos16Mode> + <UserProg2Dos16Mode>0</UserProg2Dos16Mode> + <nStopA1X>0</nStopA1X> + <nStopA2X>0</nStopA2X> + </AfterMake> + <SelectedForBatchBuild>0</SelectedForBatchBuild> + <SVCSIdString></SVCSIdString> + </TargetCommonOption> + <CommonProperty> + <UseCPPCompiler>0</UseCPPCompiler> + <RVCTCodeConst>0</RVCTCodeConst> + <RVCTZI>0</RVCTZI> + <RVCTOtherData>0</RVCTOtherData> + <ModuleSelection>0</ModuleSelection> + <IncludeInBuild>1</IncludeInBuild> + <AlwaysBuild>0</AlwaysBuild> + <GenerateAssemblyFile>0</GenerateAssemblyFile> + <AssembleAssemblyFile>0</AssembleAssemblyFile> + <PublicsOnly>0</PublicsOnly> + <StopOnExitCode>3</StopOnExitCode> + <CustomArgument></CustomArgument> + <IncludeLibraryModules></IncludeLibraryModules> + <ComprImg>1</ComprImg> + </CommonProperty> + <DllOption> + <SimDllName>SARMCM3.DLL</SimDllName> + <SimDllArguments> -MPU</SimDllArguments> + <SimDlgDll>DCM.DLL</SimDlgDll> + <SimDlgDllArguments>-pCM3</SimDlgDllArguments> + <TargetDllName>SARMCM3.DLL</TargetDllName> + <TargetDllArguments> -MPU</TargetDllArguments> + <TargetDlgDll>TCM.DLL</TargetDlgDll> + <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments> + </DllOption> + <DebugOption> + <OPTHX> + <HexSelection>1</HexSelection> + <HexRangeLowAddress>0</HexRangeLowAddress> + <HexRangeHighAddress>0</HexRangeHighAddress> + <HexOffset>0</HexOffset> + <Oh166RecLen>16</Oh166RecLen> + </OPTHX> + </DebugOption> + <Utilities> + <Flash1> + <UseTargetDll>1</UseTargetDll> + <UseExternalTool>0</UseExternalTool> + <RunIndependent>0</RunIndependent> + <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging> + <Capability>1</Capability> + <DriverSelection>4096</DriverSelection> + </Flash1> + <bUseTDR>1</bUseTDR> + <Flash2>BIN\UL2CM3.DLL</Flash2> + <Flash3></Flash3> + <Flash4></Flash4> + <pFcarmOut></pFcarmOut> + <pFcarmGrp></pFcarmGrp> + <pFcArmRoot></pFcArmRoot> + <FcArmLst>0</FcArmLst> + </Utilities> + <TargetArmAds> + <ArmAdsMisc> + <GenerateListings>0</GenerateListings> + <asHll>1</asHll> + <asAsm>1</asAsm> + <asMacX>1</asMacX> + <asSyms>1</asSyms> + <asFals>1</asFals> + <asDbgD>1</asDbgD> + <asForm>1</asForm> + <ldLst>0</ldLst> + <ldmm>1</ldmm> + <ldXref>1</ldXref> + <BigEnd>0</BigEnd> + <AdsALst>1</AdsALst> + <AdsACrf>1</AdsACrf> + <AdsANop>0</AdsANop> + <AdsANot>0</AdsANot> + <AdsLLst>1</AdsLLst> + <AdsLmap>1</AdsLmap> + <AdsLcgr>1</AdsLcgr> + <AdsLsym>1</AdsLsym> + <AdsLszi>1</AdsLszi> + <AdsLtoi>1</AdsLtoi> + <AdsLsun>1</AdsLsun> + <AdsLven>1</AdsLven> + <AdsLsxf>1</AdsLsxf> + <RvctClst>0</RvctClst> + <GenPPlst>0</GenPPlst> + <AdsCpuType>"Cortex-M3"</AdsCpuType> + <RvctDeviceName></RvctDeviceName> + <mOS>0</mOS> + <uocRom>0</uocRom> + <uocRam>0</uocRam> + <hadIROM>1</hadIROM> + <hadIRAM>1</hadIRAM> + <hadXRAM>0</hadXRAM> + <uocXRam>0</uocXRam> + <RvdsVP>0</RvdsVP> + <RvdsMve>0</RvdsMve> + <RvdsCdeCp>0</RvdsCdeCp> + <hadIRAM2>0</hadIRAM2> + <hadIROM2>0</hadIROM2> + <StupSel>8</StupSel> + <useUlib>1</useUlib> + <EndSel>0</EndSel> + <uLtcg>0</uLtcg> + <nSecure>0</nSecure> + <RoSelD>3</RoSelD> + <RwSelD>3</RwSelD> + <CodeSel>0</CodeSel> + <OptFeed>0</OptFeed> + <NoZi1>0</NoZi1> + <NoZi2>0</NoZi2> + <NoZi3>0</NoZi3> + <NoZi4>0</NoZi4> + <NoZi5>0</NoZi5> + <Ro1Chk>0</Ro1Chk> + <Ro2Chk>0</Ro2Chk> + <Ro3Chk>0</Ro3Chk> + <Ir1Chk>1</Ir1Chk> + <Ir2Chk>0</Ir2Chk> + <Ra1Chk>0</Ra1Chk> + <Ra2Chk>0</Ra2Chk> + <Ra3Chk>0</Ra3Chk> + <Im1Chk>1</Im1Chk> + <Im2Chk>0</Im2Chk> + <OnChipMemories> + <Ocm1> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </Ocm1> + <Ocm2> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </Ocm2> + <Ocm3> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </Ocm3> + <Ocm4> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </Ocm4> + <Ocm5> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </Ocm5> + <Ocm6> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </Ocm6> + <IRAM> + <Type>0</Type> + <StartAddress>0x20000000</StartAddress> + <Size>0x18000</Size> + </IRAM> + <IROM> + <Type>1</Type> + <StartAddress>0x0</StartAddress> + <Size>0x80000</Size> + </IROM> + <XRAM> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </XRAM> + <OCR_RVCT1> + <Type>1</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </OCR_RVCT1> + <OCR_RVCT2> + <Type>1</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </OCR_RVCT2> + <OCR_RVCT3> + <Type>1</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </OCR_RVCT3> + <OCR_RVCT4> + <Type>1</Type> + <StartAddress>0x0</StartAddress> + <Size>0x80000</Size> + </OCR_RVCT4> + <OCR_RVCT5> + <Type>1</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </OCR_RVCT5> + <OCR_RVCT6> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </OCR_RVCT6> + <OCR_RVCT7> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </OCR_RVCT7> + <OCR_RVCT8> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </OCR_RVCT8> + <OCR_RVCT9> + <Type>0</Type> + <StartAddress>0x20000000</StartAddress> + <Size>0x18000</Size> + </OCR_RVCT9> + <OCR_RVCT10> + <Type>0</Type> + <StartAddress>0x0</StartAddress> + <Size>0x0</Size> + </OCR_RVCT10> + </OnChipMemories> + <RvctStartVector></RvctStartVector> + </ArmAdsMisc> + <Cads> + <interw>1</interw> + <Optim>2</Optim> + <oTime>0</oTime> + <SplitLS>0</SplitLS> + <OneElfS>1</OneElfS> + <Strict>0</Strict> + <EnumInt>0</EnumInt> + <PlainCh>0</PlainCh> + <Ropi>0</Ropi> + <Rwpi>0</Rwpi> + <wLevel>3</wLevel> + <uThumb>0</uThumb> + <uSurpInc>0</uSurpInc> + <uC99>0</uC99> + <uGnu>0</uGnu> + <useXO>0</useXO> + <v6Lang>3</v6Lang> + <v6LangP>3</v6LangP> + <vShortEn>1</vShortEn> + <vShortWch>1</vShortWch> + <v6Lto>0</v6Lto> + <v6WtE>0</v6WtE> + <v6Rtti>0</v6Rtti> + <VariousControls> + <MiscControls></MiscControls> + <Define>USE_ASSERT,ES32F36xx,USBD_CDC_HS</Define> + <Undefine></Undefine> + <IncludePath>..\Drivers\CMSIS\Include;..\Drivers\CMSIS\Device\EastSoft\ES32F36xx\Include;..\Drivers\ALD\ES32F36xx\Include;..\Inc;..\..\..\..\..\common;..\..\..\..\..\core;..\..\..\..\..\class\cdc;..\..\..\..\..\class\hid;..\..\..\..\..\class\msc;..\..\..\..\..\class\hub;..\..\..\..\..\osal;..\..\..\..\..\third_party\FreeRTOS-10.4\include;..\..\..\..\..\third_party\FreeRTOS-10.4\portable\GCC\ARM_CM3</IncludePath> + </VariousControls> + </Cads> + <Aads> + <interw>1</interw> + <Ropi>0</Ropi> + <Rwpi>0</Rwpi> + <thumb>0</thumb> + <SplitLS>0</SplitLS> + <SwStkChk>0</SwStkChk> + <NoWarn>0</NoWarn> + <uSurpInc>0</uSurpInc> + <useXO>0</useXO> + <ClangAsOpt>4</ClangAsOpt> + <VariousControls> + <MiscControls></MiscControls> + <Define></Define> + <Undefine></Undefine> + <IncludePath></IncludePath> + </VariousControls> + </Aads> + <LDads> + <umfTarg>1</umfTarg> + <Ropi>0</Ropi> + <Rwpi>0</Rwpi> + <noStLib>0</noStLib> + <RepFail>1</RepFail> + <useFile>0</useFile> + <TextAddressRange>0x00000000</TextAddressRange> + <DataAddressRange>0x00000000</DataAddressRange> + <pXoBase></pXoBase> + <ScatterFile></ScatterFile> + <IncludeLibs></IncludeLibs> + <IncludeLibsPath></IncludeLibsPath> + <Misc></Misc> + <LinkerInputFile></LinkerInputFile> + <DisabledWarnings></DisabledWarnings> + </LDads> + </TargetArmAds> + </TargetOption> + <Groups> + <Group> + <GroupName>startup</GroupName> + <Files> + <File> + <FileName>startup_es32f36xx.s</FileName> + <FileType>2</FileType> + <FilePath>..\Drivers\CMSIS\Device\EastSoft\ES32F36xx\Startup\keil\startup_es32f36xx.s</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>ald</GroupName> + <Files> + <File> + <FileName>ald_bkpc.c</FileName> + <FileType>1</FileType> + <FilePath>..\Drivers\ALD\ES32F36xx\Source\ald_bkpc.c</FilePath> + </File> + <File> + <FileName>ald_cmu.c</FileName> + <FileType>1</FileType> + <FilePath>..\Drivers\ALD\ES32F36xx\Source\ald_cmu.c</FilePath> + </File> + <File> + <FileName>ald_dma.c</FileName> + <FileType>1</FileType> + <FilePath>..\Drivers\ALD\ES32F36xx\Source\ald_dma.c</FilePath> + </File> + <File> + <FileName>ald_gpio.c</FileName> + <FileType>1</FileType> + <FilePath>..\Drivers\ALD\ES32F36xx\Source\ald_gpio.c</FilePath> + </File> + <File> + <FileName>ald_pmu.c</FileName> + <FileType>1</FileType> + <FilePath>..\Drivers\ALD\ES32F36xx\Source\ald_pmu.c</FilePath> + </File> + <File> + <FileName>ald_rmu.c</FileName> + <FileType>1</FileType> + <FilePath>..\Drivers\ALD\ES32F36xx\Source\ald_rmu.c</FilePath> + </File> + <File> + <FileName>ald_uart.c</FileName> + <FileType>1</FileType> + <FilePath>..\Drivers\ALD\ES32F36xx\Source\ald_uart.c</FilePath> + </File> + <File> + <FileName>ald_usb.c</FileName> + <FileType>1</FileType> + <FilePath>..\Drivers\ALD\ES32F36xx\Source\ald_usb.c</FilePath> + </File> + <File> + <FileName>ald_iap.c</FileName> + <FileType>1</FileType> + <FilePath>..\Drivers\ALD\ES32F36xx\Source\ald_iap.c</FilePath> + </File> + <File> + <FileName>utils.c</FileName> + <FileType>1</FileType> + <FilePath>..\Drivers\ALD\ES32F36xx\Source\utils.c</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>app</GroupName> + <Files> + <File> + <FileName>main.c</FileName> + <FileType>1</FileType> + <FilePath>..\Src\main.c</FilePath> + </File> + <File> + <FileName>irq.c</FileName> + <FileType>1</FileType> + <FilePath>..\Src\irq.c</FilePath> + </File> + <File> + <FileName>usb_host.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\usb_host.c</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>CherryUSB</GroupName> + <Files> + <File> + <FileName>usbh_core.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\..\core\usbh_core.c</FilePath> + </File> + <File> + <FileName>usbh_cdc_acm.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\..\class\cdc\usbh_cdc_acm.c</FilePath> + </File> + <File> + <FileName>usbh_msc.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\..\class\msc\usbh_msc.c</FilePath> + </File> + <File> + <FileName>usbh_hid.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\..\class\hid\usbh_hid.c</FilePath> + </File> + <File> + <FileName>usbh_hub.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\..\class\hub\usbh_hub.c</FilePath> + </File> + <File> + <FileName>usb_osal_freertos.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\..\osal\usb_osal_freertos.c</FilePath> + </File> + <File> + <FileName>usb_workq.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\..\osal\usb_workq.c</FilePath> + </File> + <File> + <FileName>usb_hc_musb.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\..\port\musb\usb_hc_musb.c</FilePath> + </File> + </Files> + </Group> + <Group> + <GroupName>FreeRTOS</GroupName> + <Files> + <File> + <FileName>croutine.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\..\third_party\FreeRTOS-10.4\croutine.c</FilePath> + </File> + <File> + <FileName>event_groups.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\..\third_party\FreeRTOS-10.4\event_groups.c</FilePath> + </File> + <File> + <FileName>list.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\..\third_party\FreeRTOS-10.4\list.c</FilePath> + </File> + <File> + <FileName>queue.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\..\third_party\FreeRTOS-10.4\queue.c</FilePath> + </File> + <File> + <FileName>tasks.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\..\third_party\FreeRTOS-10.4\tasks.c</FilePath> + </File> + <File> + <FileName>timers.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\..\third_party\FreeRTOS-10.4\timers.c</FilePath> + </File> + <File> + <FileName>heap_4.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\..\third_party\FreeRTOS-10.4\portable\MemMang\heap_4.c</FilePath> + </File> + <File> + <FileName>port.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\..\..\third_party\FreeRTOS-10.4\portable\GCC\ARM_CM3\port.c</FilePath> + </File> + </Files> + </Group> + </Groups> + </Target> + </Targets> + + <RTE> + <apis/> + <components/> + <files> + <file attr="config" category="source" condition="Compiler ARMCC" name="Device\Source\ARM\startup_es32f0xx.s" version="0.0.1"> + <instance index="0" removed="1">RTE\Device\ES32F0031XNLN\startup_es32f0xx.s</instance> + <component Cclass="Device" Cgroup="Startup" Cvendor="Eastsoft" Cversion="0.0.1" condition="ES32F0xx"/> + <package name="ES32_DFP" schemaVersion="1.4" supportContact="[email protected]" url="www.essemi.com" vendor="Eastsoft" version="0.0.1"/> + <targetInfos/> + </file> + <file attr="config" category="source" condition="Compiler ARMCC" name="Device\Source\ARM\startup_es32f0xx.s" version="1.0.0"> + <instance index="0" removed="1">RTE\Device\ES32F0334LX\startup_es32f0xx.s</instance> + <component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="ES32F0xx"/> + <package name="ES32F033x_F065x_F093x_DFP" schemaVersion="1.4" supportContact="[email protected]" url="http://www.essemi.com" vendor="Keil" version="1.0.0"/> + <targetInfos/> + </file> + <file attr="config" category="source" condition="Compiler ARMCC" name="Device\Source\ARM\startup_es32f0xx.s" version="1.0.0"> + <instance index="0" removed="1">RTE\Device\ES32F0356NLXN\startup_es32f0xx.s</instance> + <component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="ES32F0xx"/> + <package name="ES32F0396_F0356_F0336_DFP" schemaVersion="1.4" supportContact="[email protected]" url="http://www.essemi.com" vendor="Keil" version="1.0.0"/> + <targetInfos/> + </file> + <file attr="config" category="source" condition="Compiler ARMCC" name="Device\Source\ARM\startup_es32f0xx.s" version="1.0.0"> + <instance index="0" removed="1">RTE\Device\ES32F0396XNLN\startup_es32f0xx.s</instance> + <component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="ES32F0xx"/> + <package name="ES32F0396_F0356_F0336_DFP" schemaVersion="1.4" supportContact="[email protected]" url="http://www.essemi.com" vendor="Keil" version="1.0.0"/> + <targetInfos/> + </file> + </files> + </RTE> + +</Project> diff --git a/demo/es32/usb_host/ES32F369x/Src/irq.c b/demo/es32/usb_host/ES32F369x/Src/irq.c new file mode 100644 index 00000000..a4b75de9 --- /dev/null +++ b/demo/es32/usb_host/ES32F369x/Src/irq.c @@ -0,0 +1,181 @@ +/** + ********************************************************************************* + * + * @file irq.c + * @brief Interrupt handler + * + * @version V1.0 + * @date 26 Jun 2019 + * @author AE Team + * @note + * Change Logs: + * Date Author Notes + * 26 Jun 2019 AE Team The first version + * + * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved. + * + * 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 + * + * 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. + ********************************************************************************** + */ + +#include "main.h" +#include "utils.h" +#include "ald_cmu.h" +#ifdef ALD_DMA +#include "ald_dma.h" +#endif +#include "FreeRTOS.h" +#include "task.h" + +/** @addtogroup Projects_Examples_ALD + * @{ + */ + +/** @addtogroup Examples + * @{ + */ + +/** + * @brief NMI IRQ handler + * @retval None + */ +void NMI_Handler(void) +{ + /* Added Emergency operation */ + return; +} + +/** + * @brief Hardfault IRQ handler + * @retval None + */ +void HardFault_Handler(void) +{ + /* Added debug information */ + while (1) + ; +} + +/** + * @brief MemManage IRQ handler + * @retval None + */ +void MemManage_Handler(void) +{ + /* Added debug information */ + while (1) + ; +} + +/** + * @brief BusFault IRQ handler + * @retval None + */ +void BusFault_Handler(void) +{ + /* Added debug information */ + while (1) + ; +} + +/** + * @brief UsageFault IRQ handler + * @retval None + */ +void UsageFault_Handler(void) +{ + /* Added debug information */ + while (1) + ; +} + +/** + * @brief Supervisor Call IRQ handler + * @retval None + */ +//void SVC_Handler(void) +//{ +// /* Added system callback */ +// return; +//} + +/** + * @brief Debug Monitor IRQ handler + * @retval None + */ +void DebugMon_Handler(void) +{ + /* Added debug operation */ + return; +} + +///** +// * @brief PendSV IRQ handler +// * @retval None +// */ +//void PendSV_Handler(void) +//{ +// /* Added thread switching operation */ +// return; +//} + +/** + * @brief SysTick IRQ handler + * @retval None + */ +void SysTick_Handler(void) +{ + ald_inc_tick(); + if (xTaskGetSchedulerState() != taskSCHEDULER_NOT_STARTED){ + xPortSysTickHandler(); +} + return; +} + +#ifdef ALD_DMA +/** + * @brief DMA IRQ#66 handler + * @retval None + */ +void DMA_Handler(void) +{ + ald_dma_irq_handler(); +} +#endif + + +/** + * @brief USB IRQ#70 handler + * @retval None + */ +//void USB_INT_Handler() +//{ +// usb0_device_int_handler(); +//} + +/** + * @brief USB_DMA IRQ#71 handler + * @retval None + */ +//void USB_DMA_Handler() +//{ +// usb0_dma_int_handler(); +//} +/** + * @} + */ +/** + * @} + */ diff --git a/demo/es32/usb_host/ES32F369x/Src/main.c b/demo/es32/usb_host/ES32F369x/Src/main.c new file mode 100644 index 00000000..89fffd46 --- /dev/null +++ b/demo/es32/usb_host/ES32F369x/Src/main.c @@ -0,0 +1,178 @@ +/** + ********************************************************************************* + * + * @file main.c + * @brief Main file for DEMO + * + * @version V1.0 + * @date 26 Jun 2019 + * @author AE Team + * @note + * Change Logs: + * Date Author Notes + * 26 Jun 2019 AE Team The first version + * + * Copyright (C) Shanghai Eastsoft Microelectronics Co. Ltd. All rights reserved. + * + * 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 + * + * 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. + ********************************************************************************** + */ +#include "main.h" +#include "stdio.h" +#include "FreeRTOS.h" +#include "task.h" +#include "usbh_core.h" + +static void vtask_led(void *pvParameters); +uart_handle_t h_uart = { 0 }; +/** @addtogroup Projects_Examples_USB + * @{ + */ +int fputc(int ch, FILE *f) +{ + ald_uart_send(&h_uart, (uint8_t *)&ch, 1, 1000); + return ch; +} + +/** + * @brief Initializate pin of USB. + * @retval None + */ +void usb_pin_init(void) +{ + gpio_init_t x; + + /* Initialize vbus pin */ + x.mode = GPIO_MODE_OUTPUT; + x.odos = GPIO_PUSH_PULL; + x.pupd = GPIO_PUSH_UP; + x.podrv = GPIO_OUT_DRIVE_6; + x.nodrv = GPIO_OUT_DRIVE_6; + x.flt = GPIO_FILTER_DISABLE; + x.type = GPIO_TYPE_TTL; + x.func = GPIO_FUNC_5; + ald_gpio_init(GPIOB, GPIO_PIN_15, &x); + + return; +} +/** + * @brief Initializate pin of uart module. + * @retval None + */ +void uart_pin_init(void) +{ + gpio_init_t x; + + /* Initialize tx pin */ + x.mode = GPIO_MODE_OUTPUT; + x.odos = GPIO_PUSH_PULL; + x.pupd = GPIO_PUSH_UP; + x.podrv = GPIO_OUT_DRIVE_1; + x.nodrv = GPIO_OUT_DRIVE_0_1; + x.flt = GPIO_FILTER_DISABLE; + x.type = GPIO_TYPE_TTL; + x.func = GPIO_FUNC_3; + ald_gpio_init(GPIOB, GPIO_PIN_10, &x); + + /* Initialize rx pin */ + x.mode = GPIO_MODE_INPUT; + x.odos = GPIO_PUSH_PULL; + x.pupd = GPIO_PUSH_UP; + x.podrv = GPIO_OUT_DRIVE_1; + x.nodrv = GPIO_OUT_DRIVE_0_1; + x.flt = GPIO_FILTER_DISABLE; + x.type = GPIO_TYPE_TTL; + x.func = GPIO_FUNC_3; + ald_gpio_init(GPIOB, GPIO_PIN_11, &x); + + /* Initialize uart */ + h_uart.perh = UART0; + h_uart.init.baud = 115200; + h_uart.init.word_length = UART_WORD_LENGTH_8B; + h_uart.init.stop_bits = UART_STOP_BITS_1; + h_uart.init.parity = UART_PARITY_NONE; + h_uart.init.mode = UART_MODE_UART; + h_uart.init.fctl = UART_HW_FLOW_CTL_DISABLE; + h_uart.tx_cplt_cbk = NULL; + h_uart.rx_cplt_cbk = NULL; + h_uart.error_cbk = NULL; + ald_uart_init(&h_uart); +} + +void usb_hc_low_level_init(void) +{ + ald_pmu_perh_power_config(PMU_POWER_USB, ENABLE); + ald_cmu_perh_clock_config(CMU_PERH_USB, ENABLE); + ald_cmu_perh_clock_config(CMU_PERH_GPIO, ENABLE); + ald_cmu_usb_clock_config(CMU_USB_CLOCK_SEL_HOSC, CMU_USB_DIV_1); + ald_rmu_reset_periperal(RMU_PERH_USB); + ald_mcu_irq_config(USB_INT_IRQn, 2, 2, ENABLE); + ald_mcu_irq_config(USB_DMA_IRQn, 2, 2, ENABLE); + usb_pin_init(); +} + +void delay(uint32_t delay_us) +{ + while (delay_us--) { + } +} +/** + * @brief Test main function + * @retval Status. + */ +int main() +{ + int i; + + /* Initialize ALD */ + ald_cmu_init(); + /* Configure system clock */ + ald_cmu_pll1_config(CMU_PLL1_INPUT_HOSC_3, CMU_PLL1_OUTPUT_48M); + ald_cmu_clock_config(CMU_CLOCK_PLL1, 48000000); + ald_cmu_perh_clock_config(CMU_PERH_ALL, ENABLE); + + uart_pin_init(); + printf("\rSystem start...\r\n"); + + usbh_initialize(); + vTaskStartScheduler(); + while (1) { + + } +} + +/** + * @brief led task entry function + * @param parameter: user's paramter + * @retval None + */ +static void vtask_led(void *pvParameters) +{ + TickType_t xlast_wake_time; + const TickType_t xfreq = 500; + + xlast_wake_time = xTaskGetTickCount(); + + while(1) { + printf("test\r\n"); + vTaskDelayUntil(&xlast_wake_time, pdMS_TO_TICKS(xfreq)); + } +} +/** + * @} + */ +/** + * @} + */ diff --git a/demo/es32/usb_host/ES32F369x/copy Drivers from es32 sdk here.txt b/demo/es32/usb_host/ES32F369x/copy Drivers from es32 sdk here.txt new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/demo/es32/usb_host/ES32F369x/copy Drivers from es32 sdk here.txt |
