diff options
| author | sakumisu <[email protected]> | 2022-07-29 19:58:03 +0800 |
|---|---|---|
| committer | sakumisu <[email protected]> | 2022-07-29 20:35:45 +0800 |
| commit | 09c23ff7aa5cc3cb27ee252e88142019103a59c9 (patch) | |
| tree | b3bd8ba1f2a1366e9bb2b6f1486592fd751dfba8 /demo | |
| parent | a8893f2a9f5bdfa6717659ef0cf91522b08c72a9 (diff) | |
add hpm device demo
Diffstat (limited to 'demo')
| -rw-r--r-- | demo/hpm/usb_device/CMakeLists.txt | 19 | ||||
| -rw-r--r-- | demo/hpm/usb_device/src/hello_world.c | 36 | ||||
| -rw-r--r-- | demo/hpm/usb_device/src/usb_config.h | 129 |
3 files changed, 184 insertions, 0 deletions
diff --git a/demo/hpm/usb_device/CMakeLists.txt b/demo/hpm/usb_device/CMakeLists.txt new file mode 100644 index 00000000..8427e520 --- /dev/null +++ b/demo/hpm/usb_device/CMakeLists.txt @@ -0,0 +1,19 @@ +# Copyright 2021 hpmicro +# SPDX-License-Identifier: BSD-3-Clause + +cmake_minimum_required(VERSION 3.13) + +set(CONFIG_CHERRYUSB 1) +set(CONFIG_USB_DEVICE 1) +set(CONFIG_CHERRYUSB_DEVICE 1) +set(CONFIG_CHERRYUSB_DEVICE_CDC 1) +set(CONFIG_CHERRYUSB_DEVICE_MSC 1) +set(CONFIG_CHERRYUSB_DEVICE_DEMO_CDC_MSC 1) + +find_package(hpm-sdk REQUIRED HINTS $ENV{HPM_SDK_BASE}) + +project(cherryusb) + +sdk_app_inc(src) +sdk_app_src(src/hello_world.c) +generate_ses_project() diff --git a/demo/hpm/usb_device/src/hello_world.c b/demo/hpm/usb_device/src/hello_world.c new file mode 100644 index 00000000..8427b757 --- /dev/null +++ b/demo/hpm/usb_device/src/hello_world.c @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2021 hpmicro + * + * SPDX-License-Identifier: BSD-3-Clause + * + */ + +#include <stdio.h> +#include "board.h" +#include "hpm_debug_console.h" + +#define LED_FLASH_PERIOD_IN_MS 300 + +int main(void) +{ + int u; + + l1c_dc_disable(); + board_init(); + board_init_led_pins(); + board_init_usb_pins(); + + board_timer_create(LED_FLASH_PERIOD_IN_MS, board_led_toggle); + + printf("hello world\n"); + + extern void cdc_acm_msc_init(void); + + cdc_acm_msc_init(); + while(1) + { + extern void cdc_acm_data_send_with_dtr_test(void); + cdc_acm_data_send_with_dtr_test(); + } + return 0; +} diff --git a/demo/hpm/usb_device/src/usb_config.h b/demo/hpm/usb_device/src/usb_config.h new file mode 100644 index 00000000..f906a0c1 --- /dev/null +++ b/demo/hpm/usb_device/src/usb_config.h @@ -0,0 +1,129 @@ +#ifndef _USB_CONFIG_H +#define _USB_CONFIG_H + +/* USB common Configuration */ +#ifndef CONFIG_USB_DBG_LEVEL +#define CONFIG_USB_DBG_LEVEL USB_DBG_INFO +#endif + +#ifndef CONFIG_USB_PRINTF +#define CONFIG_USB_PRINTF printf +#endif + +#define CONFIG_USB_PRINTF_COLOR_ENABLE + +/* USB DEVICE Configuration */ +/* core */ +#ifndef CONFIG_USBDEV_REQUEST_BUFFER_LEN +#define CONFIG_USBDEV_REQUEST_BUFFER_LEN 256 +#endif + +// #define CONFIG_USBDEV_SETUP_LOG_PRINT +// #define CONFIG_USBDEV_DESC_CHECK +// #define CONFIG_USBDEV_TEST_MODE + +/* cdc class */ +// #define CONFIG_USBDEV_CDC_ACM_UART + +/* msc class */ +#ifndef CONFIG_USBDEV_MSC_MANUFACTURER_STRING +#define CONFIG_USBDEV_MSC_MANUFACTURER_STRING "" +#endif + +#ifndef CONFIG_USBDEV_MSC_PRODUCT_STRING +#define CONFIG_USBDEV_MSC_PRODUCT_STRING "" +#endif + +#ifndef CONFIG_USBDEV_MSC_VERSION_STRING +#define CONFIG_USBDEV_MSC_VERSION_STRING "0.01" +#endif + +// #define CONFIG_USBDEV_MSC_THREAD + +#ifdef CONFIG_USBDEV_MSC_THREAD +#ifndef CONFIG_USBDEV_MSC_STACKSIZE +#define CONFIG_USBDEV_MSC_STACKSIZE 2048 +#endif + +#ifndef CONFIG_USBDEV_MSC_PRIO +#define CONFIG_USBDEV_MSC_PRIO 4 +#endif +#endif + +/* audio class */ +#ifndef CONFIG_USBDEV_AUDIO_VERSION +#define CONFIG_USBDEV_AUDIO_VERSION 0x0100 +#endif + +#ifndef CONFIG_USBDEV_AUDIO_MAX_CHANNEL +#define CONFIG_USBDEV_AUDIO_MAX_CHANNEL 2 +#endif + +/* 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_PIPE_NUM +#define CONFIG_USBHOST_PIPE_NUM 10 +#endif + +#ifndef CONFIG_USBHOST_INTF_NUM +#define CONFIG_USBHOST_INTF_NUM 6 +#endif + +#ifndef CONFIG_USBHOST_EP_NUM +#define CONFIG_USBHOST_EP_NUM 4 +#endif + +#ifndef CONFIG_USBHOST_CONTROL_TRANSFER_TIMEOUT +#define CONFIG_USBHOST_CONTROL_TRANSFER_TIMEOUT 5000 +#endif + +#ifndef CONFIG_USBHOST_MSC_TIMEOUT +#define CONFIG_USBHOST_MSC_TIMEOUT 5000 +#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_DISABLE +// #define CONFIG_USB_EHCI_CONFIGFLAG +// #define CONFIG_USB_EHCI_PORT_POWER + +#endif |
