[ht32][drv]新增了CAN、USB和SDIO的驱动文件
ToolsCI / Tools (push) Waiting to run
AutoTestCI / components/cpp11 (push) Waiting to run
AutoTestCI / kernel/atomic (push) Waiting to run
AutoTestCI / kernel/atomic/riscv64 (push) Waiting to run
AutoTestCI / kernel/atomic_c11 (push) Waiting to run
AutoTestCI / kernel/atomic_c11/riscv64 (push) Waiting to run
AutoTestCI / kernel/device (push) Waiting to run
AutoTestCI / kernel/ipc (push) Waiting to run
AutoTestCI / kernel/irq (push) Waiting to run
AutoTestCI / kernel/mem (push) Waiting to run
AutoTestCI / kernel/mem/riscv64 (push) Waiting to run
AutoTestCI / kernel/thread (push) Waiting to run
AutoTestCI / kernel/timer (push) Waiting to run
AutoTestCI / rtsmart/aarch64 (push) Waiting to run
AutoTestCI / rtsmart/arm (push) Waiting to run
AutoTestCI / rtsmart/riscv64 (push) Waiting to run
AutoTestCI / components/utest (push) Waiting to run
RT-Thread BSP Static Build Check / ESP32C3 (push) Waiting to run
RT-Thread BSP Static Build Check / Infineon_TI_microchip (push) Waiting to run
RT-Thread BSP Static Build Check / RT-Thread Online Packages (STM32F407 RT-Spark) (push) Waiting to run
RT-Thread BSP Static Build Check / RTduino/Arduino Libraries (Raspberry Pico) (push) Waiting to run
RT-Thread BSP Static Build Check / RTduino/Arduino Libraries (STM32F412 Nucleo) (push) Waiting to run
RT-Thread BSP Static Build Check / aarch64 (push) Waiting to run
RT-Thread BSP Static Build Check / gd32_n32_apm32 (push) Waiting to run
RT-Thread BSP Static Build Check / hpmicro (push) Waiting to run
RT-Thread BSP Static Build Check / i386-unknown (push) Waiting to run
RT-Thread BSP Static Build Check / llvm-arm (push) Waiting to run
RT-Thread BSP Static Build Check / mips (push) Waiting to run
RT-Thread BSP Static Build Check / nordic(yml) (push) Waiting to run
RT-Thread BSP Static Build Check / nuvoton (push) Waiting to run
RT-Thread BSP Static Build Check / nxp_renesas (push) Waiting to run
RT-Thread BSP Static Build Check / others_at32_hc32_ht32 (push) Waiting to run
RT-Thread BSP Static Build Check / riscv-none (push) Waiting to run
RT-Thread BSP Static Build Check / riscv64-unknown (push) Waiting to run
RT-Thread BSP Static Build Check / simulator (push) Waiting to run
RT-Thread BSP Static Build Check / stm32_f2_f4 (push) Waiting to run
RT-Thread BSP Static Build Check / stm32_f7_g0_h7_mp15_u5_h5_wb5 (push) Waiting to run
RT-Thread BSP Static Build Check / stm32l4_f0_f1 (push) Waiting to run
BSP compilation with more drivers / BSP Compilation with More Drivers (push) Waiting to run
pkgs_test / change (push) Waiting to run

This commit is contained in:
QTbin
2025-01-12 21:32:15 -05:00
committed by GitHub
parent c5a79de38e
commit 3436aa64cb
286 changed files with 29783 additions and 4729 deletions
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -41,8 +41,8 @@ ESK32-30105使用32位ARM® Cortex®-M3高性能、低功耗单片机HT32F12366
| UART | 支持 | UART0/1 |
| SPI | 支持 | SPI0/1 |
| I2C | 支持 | 硬件 I2C0/1 |
| ADC | 暂不支持 | |
| WDT | 暂不支持 | |
| ADC | 支持 | |
| WDT | 支持 | |
## 使用说明
+3
View File
@@ -53,6 +53,9 @@ rtconfig.BSP_LIBRARY_TYPE = ht32_library
# include libraries
objs.extend(SConscript(os.path.join(libraries_path_prefix, ht32_library, 'SConscript')))
# include usb libraries
objs.extend(SConscript(os.path.join(libraries_path_prefix, 'usbd_library', 'SConscript')))
# include drivers
objs.extend(SConscript(os.path.join(libraries_path_prefix, 'ht32_drivers', 'SConscript')))
+121 -2
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2006-2024, RT-Thread Development Team
* Copyright (c) 2006-2025, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -58,10 +58,18 @@ static struct rt_semaphore rx_sem;
static rt_mutex_t task_mutex = RT_NULL; /* task mutex */
/* device handle */
#ifdef BSP_USING_UART
static rt_device_t serial;
#endif
#ifdef BSP_USING_WDT
static rt_device_t wdt_dev;
#endif
#ifdef BSP_USING_I2C
struct rt_i2c_bus_device *i2c_dev;
#endif
#ifdef BSP_USING_SPI
static struct rt_spi_device *spi_dev;
#endif
/* In-file function declarations */
static void sys_run_dir(void *parameter);
@@ -90,6 +98,7 @@ int task_registration(void)
INIT_BOARD_EXPORT(task_registration);
/* System operation indicator */
#ifdef BSP_USING_GPIO
static void sys_run_dir(void *parameter)
{
rt_uint32_t e;
@@ -301,7 +310,9 @@ static int gpio_input_task(int argc, char *argv[])
return -1;
}
MSH_CMD_EXPORT(gpio_input_task, gpio input task operation);
#endif
/* uart test */
#ifdef BSP_USING_UART
static rt_err_t uart_iqr_handle(rt_device_t dev, rt_size_t size)
{
/* Serial port callback function */
@@ -396,7 +407,9 @@ static int uart_task(int argc, char *argv[])
return ret;
}
MSH_CMD_EXPORT(uart_task, uart device sample);
#endif
/* hw/sw iic test */
#ifdef BSP_USING_I2C
static void i2c_thread(void *parameter)
{
uint8_t write_addr = 0x00;
@@ -497,7 +510,9 @@ static int i2c_task(int argc, char *argv[])
return ret;
}
MSH_CMD_EXPORT(i2c_task, i2c device sample);
#endif
/* spi test */
#ifdef BSP_USING_SPI
static void spi_thread(void *parameter)
{
rt_uint8_t w25x_read_id = 0x9F;
@@ -584,7 +599,9 @@ static int spi_task(int argc, char *argv[])
return ret;
}
MSH_CMD_EXPORT(spi_task, spi device sample);
#endif
/* adc test */
#ifdef BSP_USING_ADC
static void adc_test(void *parameter)
{
rt_uint32_t adc0_ch11_val,adc0_ch12_val;
@@ -640,8 +657,9 @@ static int adc_task(int argc, char *argv[])
return -1;
}
MSH_CMD_EXPORT(adc_task, adc task operation);
#endif
/* wdt test */
#ifdef BSP_USING_WDT
static void wdt_test(void)
{
rt_device_control(wdt_dev, RT_DEVICE_CTRL_WDT_KEEPALIVE, RT_NULL);
@@ -712,5 +730,106 @@ static int wdt_task(int argc, char *argv[])
return -1;
}
MSH_CMD_EXPORT(wdt_task, wdt task operation);
#endif
/* usbd test */
#ifdef BSP_USING_USBD
static void usbd_test(void *parameter)
{
rt_device_t dev = RT_NULL;
char dev_name[] = "vcom";
char buf[] = "usbd vcom test!\r\n";
dev = rt_device_find(dev_name);
if (dev)
{
rt_device_open(dev, RT_DEVICE_FLAG_RDWR);
}
else
{
rt_kprintf("Device with name %s not found.\n",dev_name);
rt_thread_t tid = rt_thread_self();
rt_thread_delete(tid);
}
while (1)
{
rt_device_write(dev, 0, buf, rt_strlen(buf));
rt_thread_mdelay(500);
}
}
static int usbd_task(int argc, char *argv[])
{
rt_err_t ret = -RT_ERROR;
if(argc == 2)
{
if(rt_strcmp(argv[1],"start") == 0)
{
/* Gpio input test tasks */
rt_thread_t usbd_vcom_task = rt_thread_create("usbd_vcom_task",
usbd_test, RT_NULL,
THREAD_STACK_SIZE,
THREAD_PRIORITY, THREAD_TIMESLICE);
if (usbd_vcom_task != RT_NULL)
{
rt_thread_startup(usbd_vcom_task);
rt_kprintf("The usbd vcom task is registered.\n");
}
else
{
rt_kprintf("usbd vcom task registration failed.\n");
}
ret = RT_EOK;
}
else if(rt_strcmp(argv[1],"stop") == 0)
{
ret = RT_EOK;
}
}
else
{
rt_kprintf("Necessary parameters are missing.\n");
rt_kprintf("You can use the following commands.\n");
rt_kprintf("%s start\n",__func__);
rt_kprintf("%s stop\n",__func__);
}
return ret;
}
MSH_CMD_EXPORT(usbd_task, usbd task operation);
#endif
#ifdef BSP_USING_SDIO
int mnt_init(void)
{
rt_device_t dev = RT_NULL;
char dev_name[] = BSP_USING_SDIO_NAME;
rt_thread_mdelay(1000);
dev = rt_device_find(dev_name);
if(dev)
{
if(dfs_mount("sd0","/","elm",0,0) == RT_EOK)
{
rt_kprintf("dfs mount success!\r\n");
}
else
{
rt_kprintf("dfs mount failed!\r\n");
rt_kprintf("Formatting the SD card!\r\n");
dfs_mkfs("elm",dev_name);
if(dfs_mount("sd0","/","elm",0,0) == RT_EOK)
{
rt_kprintf("dfs mount success!\r\n");
}
else
{
rt_kprintf("dfs mount failed!\r\n");
rt_kprintf("Exit SD card mount!\r\n");
}
}
}
return 0;
}
INIT_FS_EXPORT(mnt_init);
#endif /* BSP_USING_SDIO */
#endif /* BSP_USING_TEST */
+136 -1
View File
@@ -126,7 +126,7 @@ menu "On-chip Peripheral Drivers"
menuconfig BSP_USING_UART
bool "Enable UART"
default n
select RT_USING_SERIAL
select RT_USING_SERIAL if BSP_USING_UART
if BSP_USING_UART
config BSP_USING_USART0
bool "Enable USART0"
@@ -306,6 +306,141 @@ menu "On-chip Peripheral Drivers"
depends on BSP_USING_WDT
string "wdt device name"
default "wdt"
menuconfig BSP_USING_CAN
bool "Enable CAN"
depends on SOC_HT32F53241 || SOC_HT32F53242 || SOC_HT32F53252
default n
select RT_USING_CAN if BSP_USING_CAN
config BSP_USING_CAN_NAME
depends on BSP_USING_CAN
string "can device name"
default "can"
if BSP_USING_CAN
config CAN_DEFAULT_BASE_CONFIGURATION
choice
prompt "Default CAN baud rate"
default BSP_USING_CAN500kBaud
config BSP_USING_CAN1MBaud
bool "CAN1MBaud"
config BSP_USING_CAN800kBaud
bool "CAN800kBaud"
config BSP_USING_CAN500kBaud
bool "CAN500kBaud"
config BSP_USING_CAN250kBaud
bool "CAN250kBaud"
config BSP_USING_CAN125kBaud
bool "CAN125kBaud"
config BSP_USING_CAN100kBaud
bool "CAN100kBaud"
config BSP_USING_CAN50kBaud
bool "CAN50kBaud"
config BSP_USING_CAN20kBaud
bool "CAN20kBaud"
config BSP_USING_CAN10kBaud
bool "CAN10kBaud"
endchoice
choice
prompt "Default CAN mode"
default BSP_USING_RT_CAN_MODE_NORMAL
config BSP_USING_RT_CAN_MODE_NORMAL
bool "RT_CAN_MODE_NORMAL"
config BSP_USING_RT_CAN_MODE_LISTEN
bool "RT_CAN_MODE_LISTEN"
config BSP_USING_RT_CAN_MODE_LOOPBACK
bool "RT_CAN_MODE_LOOPBACK"
config BSP_USING_RT_CAN_MODE_LOOPBACKANLISTEN
bool "RT_CAN_MODE_LOOPBACKANLISTEN"
endchoice
config BSP_USING_CAN_BAUD
int
default 1000000 if BSP_USING_CAN1MBaud
default 800000 if BSP_USING_CAN800kBaud
default 500000 if BSP_USING_CAN500kBaud
default 250000 if BSP_USING_CAN250kBaud
default 125000 if BSP_USING_CAN125kBaud
default 100000 if BSP_USING_CAN100kBaud
default 50000 if BSP_USING_CAN50kBaud
default 20000 if BSP_USING_CAN20kBaud
default 10000 if BSP_USING_CAN10kBaud
config BSP_USING_CAN_MODE
int
default 0 if BSP_USING_RT_CAN_MODE_NORMAL
default 1 if BSP_USING_RT_CAN_MODE_LISTEN
default 2 if BSP_USING_RT_CAN_MODE_LOOPBACK
default 3 if BSP_USING_RT_CAN_MODE_LOOPBACKANLISTEN
config CAN_DEFAULT_FILTER_TABLE_CONFIGURATION
choice
prompt "Default filter id mode"
default BSP_USING_CAN_STD_ID
config BSP_USING_CAN_STD_ID
bool "CAN_STD_ID"
config BSP_USING_CAN_EXT_ID
bool "CAN_EXT_ID"
endchoice
choice
prompt "Default filter frame mode"
default BSP_USING_CAN_DATA_FRAME
config BSP_USING_CAN_DATA_FRAME
bool "CAN_DATA_FRAME"
config BSP_USING_CAN_REMOTE_FRAME
bool "CAN_REMOTE_FRAME"
endchoice
config BSP_USING_CAN_ID_MODE
int
default 0 if BSP_USING_CAN_STD_ID
default 1 if BSP_USING_CAN_EXT_ID
config BSP_USING_CAN_FRAME_MODE
int
default 0 if BSP_USING_CAN_REMOTE_FRAME
default 1 if BSP_USING_CAN_DATA_FRAME
config BSP_USING_CAN_MSG_NUM
int "Default filter table number"
range 0 31
default 0
config BSP_USING_CAN_ID
hex "Default filter arbitration bit(ID)"
range 0 0x7FF if BSP_USING_CAN_STD_ID
default 0x541 if BSP_USING_CAN_STD_ID
range 0 0x1FFFFFFF if BSP_USING_CAN_EXT_ID
default 0x541 if BSP_USING_CAN_EXT_ID
config BSP_USING_CAN_MASK
hex "Default filter mask bit(MASK)"
range 0 0x7FF if BSP_USING_CAN_STD_ID
default 0x7FF if BSP_USING_CAN_STD_ID
range 0 0x1FFFFFFF if BSP_USING_CAN_EXT_ID
default 0x1FFFFFFF if BSP_USING_CAN_EXT_ID
endif
menuconfig BSP_USING_SDIO
bool "Enable SDIO"
depends on SOC_HT32F12345 || SOC_HT32F12365 || SOC_HT32F12366
default n
select RT_USING_SDIO if BSP_USING_SDIO
select RT_USING_DFS if BSP_USING_SDIO
config BSP_USING_SDIO_NAME
depends on BSP_USING_SDIO
string "sdio device name"
default "sd0"
menuconfig BSP_USING_USBD
bool "Enable USB BUS"
default n
select RT_USING_USB_DEVICE if BSP_USING_USBD
config BSP_USING_USBD_NAME
depends on BSP_USING_USBD
string "usbd device name"
default "usbd"
endmenu
menu "Board extended module Drivers"
+4
View File
@@ -23,6 +23,10 @@
#include "drv_spi.h"
#endif
#ifdef BSP_USING_SDIO
#include "dfs_fs.h"
#endif
#ifdef __cplusplus
extern "C" {
#endif
+60 -5
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2006-2024, RT-Thread Development Team
* Copyright (c) 2006-2025, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -100,7 +100,7 @@ extern "C" {
#define HTCFG_UART1_RX_GPIO_PIN STRCAT2(GPIO_PIN_, _HTCFG_UART1_RX_GPION)
#endif
#endif
#endif /* BSP_USING_UART */
/* SPI gpio */
#ifdef BSP_USING_SPI
@@ -156,7 +156,7 @@ extern "C" {
#define HTCFG_SPI1_MOSI_GPIO_PIN STRCAT2(GPIO_PIN_, _HTCFG_SPI1_MOSI_GPION)
#endif
#endif
#endif /* BSP_USING_SPI */
/* I2C gpio */
#ifdef BSP_USING_I2C_HW
@@ -198,7 +198,8 @@ extern "C" {
#define HTCFG_I2C1_SDA_GPIO_PIN STRCAT2(GPIO_PIN_, _HTCFG_I2C1_SDA_GPION)
#endif
#endif
#endif /* BSP_USING_I2C_HW */
/* ADC gpio */
#ifdef BSP_USING_ADC
#ifdef BSP_USING_ADC0
@@ -335,12 +336,66 @@ extern "C" {
#define HTCFG_ADC1CH7_AFIO_PIN STRCAT2(AFIO_PIN_, _HTCFG_ADC1CH7_AFION)
#endif
#endif
#endif /* BSP_USING_ADC */
/* SDIO gpio */
#ifdef BSP_USING_SDIO
#define HTCFG_SDIO_IPN SDIO
#define _HTCFG_SDIO_CLK_GPIOX A
#define _HTCFG_SDIO_CLK_GPION 5
#define _HTCFG_SDIO_CMD_GPIOX A
#define _HTCFG_SDIO_CMD_GPION 4
#define _HTCFG_SDIO_DAT0_GPIOX C
#define _HTCFG_SDIO_DAT0_GPION 9
#define _HTCFG_SDIO_DAT1_GPIOX C
#define _HTCFG_SDIO_DAT1_GPION 10
#define _HTCFG_SDIO_DAT2_GPIOX C
#define _HTCFG_SDIO_DAT2_GPION 11
#define _HTCFG_SDIO_DAT3_GPIOX C
#define _HTCFG_SDIO_DAT3_GPION 12
#define HTCFG_SDIO_CLK_GPIO_CLK STRCAT2(P, _HTCFG_SDIO_CLK_GPIOX)
#define HTCFG_SDIO_CLK_GPIO_ID STRCAT2(GPIO_P, _HTCFG_SDIO_CLK_GPIOX)
#define HTCFG_SDIO_CLK_GPIO_PORT STRCAT2(HT_GPIO, _HTCFG_SDIO_CLK_GPIOX)
#define HTCFG_SDIO_CLK_GPIO_PIN STRCAT2(GPIO_PIN_, _HTCFG_SDIO_CLK_GPION)
#define HTCFG_SDIO_CMD_GPIO_CLK STRCAT2(P, _HTCFG_SDIO_CMD_GPIOX)
#define HTCFG_SDIO_CMD_GPIO_ID STRCAT2(GPIO_P, _HTCFG_SDIO_CMD_GPIOX)
#define HTCFG_SDIO_CMD_GPIO_PORT STRCAT2(HT_GPIO, _HTCFG_SDIO_CMD_GPIOX)
#define HTCFG_SDIO_CMD_GPIO_PIN STRCAT2(GPIO_PIN_, _HTCFG_SDIO_CMD_GPION)
#define HTCFG_SDIO_DAT0_GPIO_CLK STRCAT2(P, _HTCFG_SDIO_DAT0_GPIOX)
#define HTCFG_SDIO_DAT0_GPIO_ID STRCAT2(GPIO_P, _HTCFG_SDIO_DAT0_GPIOX)
#define HTCFG_SDIO_DAT0_GPIO_PORT STRCAT2(HT_GPIO, _HTCFG_SDIO_DAT0_GPIOX)
#define HTCFG_SDIO_DAT0_GPIO_PIN STRCAT2(GPIO_PIN_, _HTCFG_SDIO_DAT0_GPION)
#define HTCFG_SDIO_DAT1_GPIO_CLK STRCAT2(P, _HTCFG_SDIO_DAT1_GPIOX)
#define HTCFG_SDIO_DAT1_GPIO_ID STRCAT2(GPIO_P, _HTCFG_SDIO_DAT1_GPIOX)
#define HTCFG_SDIO_DAT1_GPIO_PORT STRCAT2(HT_GPIO, _HTCFG_SDIO_DAT1_GPIOX)
#define HTCFG_SDIO_DAT1_GPIO_PIN STRCAT2(GPIO_PIN_, _HTCFG_SDIO_DAT1_GPION)
#define HTCFG_SDIO_DAT2_GPIO_CLK STRCAT2(P, _HTCFG_SDIO_DAT2_GPIOX)
#define HTCFG_SDIO_DAT2_GPIO_ID STRCAT2(GPIO_P, _HTCFG_SDIO_DAT2_GPIOX)
#define HTCFG_SDIO_DAT2_GPIO_PORT STRCAT2(HT_GPIO, _HTCFG_SDIO_DAT2_GPIOX)
#define HTCFG_SDIO_DAT2_GPIO_PIN STRCAT2(GPIO_PIN_, _HTCFG_SDIO_DAT2_GPION)
#define HTCFG_SDIO_DAT3_GPIO_CLK STRCAT2(P, _HTCFG_SDIO_DAT3_GPIOX)
#define HTCFG_SDIO_DAT3_GPIO_ID STRCAT2(GPIO_P, _HTCFG_SDIO_DAT3_GPIOX)
#define HTCFG_SDIO_DAT3_GPIO_PORT STRCAT2(HT_GPIO, _HTCFG_SDIO_DAT3_GPIOX)
#define HTCFG_SDIO_DAT3_GPIO_PIN STRCAT2(GPIO_PIN_, _HTCFG_SDIO_DAT3_GPION)
#endif /* BSP_USING_SDIO */
void ht32_usart_gpio_init(void *instance);
void ht32_spi_gpio_init(void *instance);
void ht32_hardware_i2c_gpio_init(void *instance);
void ht32_adc_gpio_init(void *instance,int8_t channel);
void ht32_sdio_gpio_init(void *instance);
#ifdef __cplusplus
}
File diff suppressed because it is too large Load Diff
+43 -5
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2006-2024, RT-Thread Development Team
* Copyright (c) 2006-2025, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -69,7 +69,7 @@ void ht32_usart_gpio_init(void *instance)
}
#endif
}
#endif
#endif /* BSP_USING_UART */
/* GPIO configuration for SPI */
#ifdef BSP_USING_SPI
@@ -104,7 +104,7 @@ void ht32_spi_gpio_init(void *instance)
}
#endif
}
#endif
#endif /* BSP_USING_SPI */
/* GPIO configuration for I2C */
#ifdef BSP_USING_I2C_HW
@@ -135,7 +135,7 @@ void ht32_hardware_i2c_gpio_init(void *instance)
}
#endif
}
#endif
#endif /* BSP_USING_I2C_HW */
/* GPIO configuration for ADC */
#ifdef BSP_USING_ADC
void ht32_adc_gpio_init(void *instance,int8_t channel)
@@ -247,4 +247,42 @@ void ht32_adc_gpio_init(void *instance,int8_t channel)
}
#endif
}
#endif
#endif /* BSP_USING_ADC */
/* GPIO configuration for SDIO */
#ifdef BSP_USING_SDIO
void ht32_sdio_gpio_init(void *instance)
{
CKCU_PeripClockConfig_TypeDef CKCUClock = {{0}};
HT_SDIO_TypeDef *sdio_x = (HT_SDIO_TypeDef *)instance;
if(HT_SDIO == sdio_x)
{
CKCUClock.Bit.HTCFG_SDIO_CLK_GPIO_CLK = 1;
CKCUClock.Bit.HTCFG_SDIO_CMD_GPIO_CLK = 1;
CKCUClock.Bit.HTCFG_SDIO_DAT0_GPIO_CLK = 1;
CKCUClock.Bit.HTCFG_SDIO_DAT1_GPIO_CLK = 1;
CKCUClock.Bit.HTCFG_SDIO_DAT2_GPIO_CLK = 1;
CKCUClock.Bit.HTCFG_SDIO_DAT3_GPIO_CLK = 1;
CKCUClock.Bit.SDIO = 1;
CKCUClock.Bit.PDMA = 1;
CKCUClock.Bit.AFIO = 1;
CKCU_PeripClockConfig(CKCUClock, ENABLE);
/* Configure SDIO pins */
AFIO_GPxConfig(HTCFG_SDIO_CLK_GPIO_ID, HTCFG_SDIO_CLK_GPIO_PIN, AFIO_FUN_SDIO);
AFIO_GPxConfig(HTCFG_SDIO_CMD_GPIO_ID, HTCFG_SDIO_CMD_GPIO_PIN, AFIO_FUN_SDIO);
AFIO_GPxConfig(HTCFG_SDIO_DAT0_GPIO_ID, HTCFG_SDIO_DAT0_GPIO_PIN, AFIO_FUN_SDIO);
AFIO_GPxConfig(HTCFG_SDIO_DAT1_GPIO_ID, HTCFG_SDIO_DAT1_GPIO_PIN, AFIO_FUN_SDIO);
AFIO_GPxConfig(HTCFG_SDIO_DAT2_GPIO_ID, HTCFG_SDIO_DAT2_GPIO_PIN, AFIO_FUN_SDIO);
AFIO_GPxConfig(HTCFG_SDIO_DAT3_GPIO_ID, HTCFG_SDIO_DAT3_GPIO_PIN, AFIO_FUN_SDIO);
/* 配置SDIO引脚驱动能力 */
GPIO_DriveConfig(HTCFG_SDIO_CLK_GPIO_PORT, HTCFG_SDIO_CLK_GPIO_PIN, GPIO_DV_8MA);
GPIO_DriveConfig(HTCFG_SDIO_CMD_GPIO_PORT, HTCFG_SDIO_CMD_GPIO_PIN, GPIO_DV_8MA);
GPIO_DriveConfig(HTCFG_SDIO_DAT0_GPIO_PORT, HTCFG_SDIO_DAT0_GPIO_PIN, GPIO_DV_8MA);
GPIO_DriveConfig(HTCFG_SDIO_DAT1_GPIO_PORT, HTCFG_SDIO_DAT1_GPIO_PIN, GPIO_DV_8MA);
GPIO_DriveConfig(HTCFG_SDIO_DAT2_GPIO_PORT, HTCFG_SDIO_DAT2_GPIO_PIN, GPIO_DV_8MA);
GPIO_DriveConfig(HTCFG_SDIO_DAT3_GPIO_PORT, HTCFG_SDIO_DAT3_GPIO_PIN, GPIO_DV_8MA);
}
}
#endif /* BSP_USING_SDIO */
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -73,7 +73,7 @@
<LExpSel>0</LExpSel>
</OPTXL>
<OPTFL>
<tvExp>1</tvExp>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>1</IsCurrentTarget>
</OPTFL>
+3 -3
View File
@@ -15,8 +15,8 @@
<TargetCommonOption>
<Device>HT32F12366</Device>
<Vendor>Holtek</Vendor>
<PackID>Holtek.HT32_DFP.1.0.19</PackID>
<PackURL>http://mcu.holtek.com.tw/pack</PackURL>
<PackID>Holtek.HT32_DFP.1.0.55</PackID>
<PackURL>https://mcu.holtek.com.tw/pack</PackURL>
<Cpu>IRAM(0x20000000,0x20000) IROM(0x00000000,0x3FC00) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE</Cpu>
<FlashUtilSpec></FlashUtilSpec>
<StartupFile></StartupFile>
@@ -332,7 +332,7 @@
<v6WtE>0</v6WtE>
<v6Rtti>0</v6Rtti>
<VariousControls>
<MiscControls></MiscControls>
<MiscControls>--gnu</MiscControls>
<Define></Define>
<Undefine></Undefine>
<IncludePath></IncludePath>