add hpm device demo
This commit is contained in:
19
demo/hpm/usb_device/CMakeLists.txt
Normal file
19
demo/hpm/usb_device/CMakeLists.txt
Normal file
@@ -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()
|
||||
36
demo/hpm/usb_device/src/hello_world.c
Normal file
36
demo/hpm/usb_device/src/hello_world.c
Normal file
@@ -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;
|
||||
}
|
||||
129
demo/hpm/usb_device/src/usb_config.h
Normal file
129
demo/hpm/usb_device/src/usb_config.h
Normal file
@@ -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
|
||||
Reference in New Issue
Block a user