master
张程凯 2022-01-14 12:16:38 +08:00
parent 9b2655cfa0
commit 09e1b5bd1c
11 changed files with 223 additions and 36 deletions

2
.gitignore vendored
View File

@ -38,7 +38,7 @@ ncscope.*
tags tags
.idea .idea
.vscode
.history .history
CMakeLists.txt CMakeLists.txt
cmake-build-debug cmake-build-debug

View File

@ -0,0 +1 @@
[{"node":"xpsr","expanded":true},{"node":"control","expanded":true}]

36
.vscode/c_cpp_properties.json vendored Normal file
View File

@ -0,0 +1,36 @@
{
"configurations": [
{
"name": "Win32",
"defines": [
"HAVE_CCONFIG_H",
"HC32L073",
"RT_USING_NEWLIB",
"USE_DDL_DRIVER",
"__DEBUG",
"__RTTHREAD__"
],
"intelliSenseMode": "gcc-arm",
"compilerPath": "/usr/bin/arm-none-eabi-gcc",
"cStandard": "c99",
"cppStandard": "c++11",
"includePath": [
"/home/bookshiyi/repos/motion_ec",
"/home/bookshiyi/repos/motion_ec/Libraries/CMSIS/Device/HDSC/HC32L073/Include",
"/home/bookshiyi/repos/motion_ec/Libraries/CMSIS/Include",
"/home/bookshiyi/repos/motion_ec/Libraries/HC32L073_StdPeriph_Driver/inc",
"/home/bookshiyi/repos/motion_ec/applications",
"/home/bookshiyi/repos/motion_ec/board",
"/home/bookshiyi/repos/motion_ec/drivers",
"/home/bookshiyi/repos/motion_ec/rt-thread/components/drivers/include",
"/home/bookshiyi/repos/motion_ec/rt-thread/components/finsh",
"/home/bookshiyi/repos/motion_ec/rt-thread/components/libc/compilers/common",
"/home/bookshiyi/repos/motion_ec/rt-thread/components/libc/compilers/gcc/newlib",
"/home/bookshiyi/repos/motion_ec/rt-thread/include",
"/home/bookshiyi/repos/motion_ec/rt-thread/libcpu/arm/common",
"/home/bookshiyi/repos/motion_ec/rt-thread/libcpu/arm/cortex-m0"
]
}
],
"version": 4
}

54
.vscode/launch.json vendored Normal file
View File

@ -0,0 +1,54 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{//Build & Download & Debug
"cwd": "${workspaceRoot}",
"executable": "hc32L073.elf",
"name": "Build & Download & Debug",
"request": "launch",
"type": "cortex-debug",
"showDevDebugOutput": true,
"interface": "swd",
"runToMain": true,
"servertype": "pyocd" ,
"targetId": "hc32l072kata",
// "svdFile": "core/HC32L07X.svd",
"svdFile": "Libraries/HC32L073KATA.svd",
// "cmsisPack": "HDSC.HC32L07X.1.1.0.pack",
"armToolchainPath": "/usr/bin/",
"preLaunchTask": "Build",
"preLaunchCommands": [
"load",
],
"preRestartCommands": [
"monitor reset"
]
},
{//Debug
"cwd": "${workspaceRoot}",
"executable": "hc32L073.elf",
"name": "Debug",
"request": "launch",
"type": "cortex-debug",
"showDevDebugOutput": true,
"interface": "swd",
"runToMain": true,
"servertype": "pyocd" ,
"targetId": "hc32l072kata",
"svdFile": "Libraries/HC32L073KATA.svd",
"armToolchainPath": "/usr/bin/",
"preLaunchCommands": [
"load",
],
"preRestartCommands": [
"monitor reset"
]
}
]
}

16
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,16 @@
{
"RTT_Studio.Build.Parallel_Jobs": "8",
"files.associations": {
"*.tpp": "cpp",
"*.cu": "cpp",
"*.tcu": "cpp",
"*.json": "json",
"*.txt": "txt",
"board.h": "c",
"gpio.h": "c",
"drv_gpio.h": "c",
"system_hc32l07x.h": "c",
"hc32l07x.h": "c"
},
"cortex-debug.variableUseNaturalFormat": false
}

54
.vscode/tasks.json vendored Normal file
View File

@ -0,0 +1,54 @@
{
"version": "2.0.0",
"options": {
"cwd": "${workspaceFolder}"
},
"tasks": [
{
"label": "Download",
"type": "shell",
"command": "pyocd load -t hc32l072kata rtthread.bin",
"detail":"pyocd load -t hc32l072kata rtthread.bin",
"group": "build"
},
{
"label": "Build & Download",
"type": "shell",
"command": "scons && pyocd load -t hc32l072kata rtthread.bin",
"detail":"scons && pyocd load -t hc32l072kata rtthread.bin",
"group": "build"
},
{
"label": "Probe",
"type": "shell",
"command": "pyocd list -p",
"detail":"pyocd list -p",
"group": "build"
},
{
"label": "Build",
"type": "shell",
"command": "scons -j8",
"detail":"scons -j8",
"group": "build"
},
{
"label": "Rebuild",
"type": "shell",
"command": "scons -c && scons -j8",
"detail":"scons -c && scons -j8",
"group": "build"
},
{
"label": "Clean",
"type": "shell",
"command": "scons -c",
"detail":"scons -c",
"group": "build"
}
]
}

View File

@ -1,3 +1,10 @@
/*
* @Description:
* @Date: 2022-01-10 17:05:41
* @LastEditors: CK.Zh
* @LastEditTime: 2022-01-12 14:00:39
* @FilePath: /motion_ec/Libraries/CMSIS/Device/HDSC/HC32L073/Include/board_motion.h
*/
#ifndef __BOARD_CONF_H__ #ifndef __BOARD_CONF_H__
#define __BOARD_CONF_H__ #define __BOARD_CONF_H__
@ -5,13 +12,13 @@
#include "gpio.h" #include "gpio.h"
//hc32最小系统 // //hc32最小系统
#define RUN_LED_PORT GpioPortC // #define RUN_LED_PORT GpioPortC
#define RUN_LED_PIN GpioPin13 // #define RUN_LED_PIN GpioPin13
//motion // //motion
#define PWR_LED_PORT GpioPortB // #define PWR_LED_PORT GpioPortB
#define PWR_LED_PIN GpioPin10 // #define PWR_LED_PIN GpioPin10
//XTH //XTH
#define SYSTEM_XTH (12*1000*1000u) //12MHZ #define SYSTEM_XTH (12*1000*1000u) //12MHZ

View File

@ -2,8 +2,8 @@
* @Description: * @Description:
* @Date: 2022-01-06 16:18:23 * @Date: 2022-01-06 16:18:23
* @LastEditors: CK.Zh * @LastEditors: CK.Zh
* @LastEditTime: 2022-01-10 12:02:32 * @LastEditTime: 2022-01-12 17:24:59
* @FilePath: /rt-thread/bsp/hc32l073/Libraries/CMSIS/Device/HDSC/HC32L073/Source/interrupts_hc32l07x.c * @FilePath: /motion_ec/Libraries/CMSIS/Device/HDSC/HC32L073/Source/interrupts_hc32l07x.c
*/ */
/****************************************************************************** /******************************************************************************
* Copyright (C) 2019, Huada Semiconductor Co.,Ltd All rights reserved. * Copyright (C) 2019, Huada Semiconductor Co.,Ltd All rights reserved.
@ -178,7 +178,7 @@ void SysTick_Handler(void)
void PORTA_IRQHandler(void) void PORTA_IRQHandler(void)
{ {
#if (INT_CALLBACK_ON == INT_CALLBACK_PORTA) #if (INT_CALLBACK_ON == INT_CALLBACK_PORTA)
PortA_IRQHandler(); Gpio_IRQHandler(0);
#endif #endif
} }
@ -191,7 +191,7 @@ void PORTA_IRQHandler(void)
void PORTB_IRQHandler(void) void PORTB_IRQHandler(void)
{ {
#if (INT_CALLBACK_ON == INT_CALLBACK_PORTB) #if (INT_CALLBACK_ON == INT_CALLBACK_PORTB)
PortB_IRQHandler(); Gpio_IRQHandler(1);
#endif #endif
} }
@ -204,11 +204,11 @@ void PORTB_IRQHandler(void)
void PORTC_E_IRQHandler(void) void PORTC_E_IRQHandler(void)
{ {
#if (INT_CALLBACK_ON == INT_CALLBACK_PORTC) #if (INT_CALLBACK_ON == INT_CALLBACK_PORTC)
PortC_IRQHandler(); Gpio_IRQHandler(2);
#endif #endif
#if (INT_CALLBACK_ON == INT_CALLBACK_PORTE) #if (INT_CALLBACK_ON == INT_CALLBACK_PORTE)
PortE_IRQHandler(); Gpio_IRQHandler(3);
#endif #endif
} }
@ -221,11 +221,11 @@ void PORTC_E_IRQHandler(void)
void PORTD_F_IRQHandler(void) void PORTD_F_IRQHandler(void)
{ {
#if (INT_CALLBACK_ON == INT_CALLBACK_PORTD) #if (INT_CALLBACK_ON == INT_CALLBACK_PORTD)
PortD_IRQHandler(); Gpio_IRQHandler(4);
#endif #endif
#if (INT_CALLBACK_ON == INT_CALLBACK_PORTF) #if (INT_CALLBACK_ON == INT_CALLBACK_PORTF)
PortF_IRQHandler(); Gpio_IRQHandler(5);
#endif #endif
} }

View File

@ -1,3 +1,10 @@
/*
* @Description:
* @Date: 2022-01-10 17:05:41
* @LastEditors: CK.Zh
* @LastEditTime: 2022-01-12 17:22:57
* @FilePath: /motion_ec/Libraries/HC32L073_StdPeriph_Driver/inc/gpio.h
*/
/******************************************************************************* /*******************************************************************************
* Copyright (C) 2018, Huada Semiconductor Co.,Ltd All rights reserved. * Copyright (C) 2018, Huada Semiconductor Co.,Ltd All rights reserved.
* *

View File

@ -2,7 +2,7 @@
* @Description: * @Description:
* @Date: 2022-01-10 17:05:41 * @Date: 2022-01-10 17:05:41
* @LastEditors: CK.Zh * @LastEditors: CK.Zh
* @LastEditTime: 2022-01-11 16:59:05 * @LastEditTime: 2022-01-13 12:14:46
* @FilePath: /motion_ec/applications/main.c * @FilePath: /motion_ec/applications/main.c
*/ */
/* /*
@ -25,9 +25,9 @@
#include <rtdevice.h> #include <rtdevice.h>
#define LOG_TAG "MAIN" // #define LOG_TAG "MAIN"
#define LOG_LVL LOG_LVL_DBG // #define LOG_LVL LOG_LVL_DBG
#include <ulog.h> // #include <ulog.h>
/******************************************************************************* /*******************************************************************************
* Local type definitions ('typedef') * Local type definitions ('typedef')
@ -59,6 +59,8 @@
void key_handler(void *param) void key_handler(void *param)
{ {
flag = ~flag; flag = ~flag;
char *a = param;// 获取参数
rt_kprintf("key down! %s\n",a);
} }
@ -73,18 +75,21 @@ void key_handler(void *param)
******************************************************************************/ ******************************************************************************/
int32_t main(void) int32_t main(void)
{ {
LOG_I("Go to main function");
rt_pin_mode(BUZZ_CTL_PIN, PIN_MODE_OUTPUT);
rt_pin_mode(PWR_LED_PIN, PIN_MODE_OUTPUT);
rt_pin_mode(PWR_BTN, PIN_MODE_INPUT); //DEBUG
rt_pin_mode(FUN_BTN, PIN_MODE_INPUT); rt_pin_mode(TEST_LED_PIN, PIN_MODE_OUTPUT);
// LOG_I("Go to main function");
rt_pin_mode(EC_BUZZ_CTL_PIN, PIN_MODE_OUTPUT);
rt_pin_mode(EC_PWR_LED_PIN, PIN_MODE_OUTPUT);
rt_pin_attach_irq(PWR_BTN, PIN_IRQ_MODE_FALLING, key_handler, RT_NULL); rt_pin_mode(EC_PWR_BTN, PIN_MODE_INPUT);
rt_pin_irq_enable(PWR_BTN, PIN_IRQ_ENABLE); rt_pin_attach_irq(EC_PWR_BTN, PIN_IRQ_MODE_FALLING, key_handler, (void*)"callback args");
rt_pin_attach_irq(FUN_BTN, PIN_IRQ_MODE_FALLING, key_handler, RT_NULL); rt_pin_irq_enable(EC_PWR_BTN, PIN_IRQ_ENABLE);
rt_pin_irq_enable(FUN_BTN, PIN_IRQ_ENABLE);
rt_pin_mode(EC_FUN_BTN, PIN_MODE_INPUT);
rt_pin_attach_irq(EC_FUN_BTN, PIN_IRQ_MODE_FALLING, key_handler, (void*)"callback args");
rt_pin_irq_enable(EC_FUN_BTN, PIN_IRQ_ENABLE);
@ -92,17 +97,21 @@ int32_t main(void)
{ {
if (flag == 0) if (flag == 0)
{ {
rt_pin_write(PWR_LED_PIN, PIN_HIGH); rt_pin_write(EC_PWR_LED_PIN, PIN_HIGH);
rt_pin_write(TEST_LED_PIN, PIN_HIGH);
rt_thread_delay(500); rt_thread_delay(500);
rt_pin_write(PWR_LED_PIN, PIN_LOW); rt_pin_write(EC_PWR_LED_PIN, PIN_LOW);
rt_pin_write(TEST_LED_PIN, PIN_LOW);
rt_thread_delay(500); rt_thread_delay(500);
} }
else else
{ {
rt_pin_write(PWR_LED_PIN, PIN_HIGH); rt_pin_write(EC_PWR_LED_PIN, PIN_HIGH);
rt_thread_delay(2000); rt_pin_write(TEST_LED_PIN, PIN_HIGH);
rt_pin_write(PWR_LED_PIN, PIN_LOW); rt_thread_delay(100);
rt_thread_delay(2000); rt_pin_write(EC_PWR_LED_PIN, PIN_LOW);
rt_pin_write(TEST_LED_PIN, PIN_LOW);
rt_thread_delay(100);
} }
} }
} }

View File

@ -2,7 +2,7 @@
* @Description: * @Description:
* @Date: 2022-01-06 14:31:32 * @Date: 2022-01-06 14:31:32
* @LastEditors: CK.Zh * @LastEditors: CK.Zh
* @LastEditTime: 2022-01-11 18:12:23 * @LastEditTime: 2022-01-13 12:13:28
* @FilePath: /motion_ec/board/board.h * @FilePath: /motion_ec/board/board.h
*/ */
/* /*
@ -46,6 +46,9 @@ extern int __bss_end;
#define HEAP_END SRAM_END #define HEAP_END SRAM_END
#endif #endif
// debug
#define TEST_LED_PIN GET_PIN(C, 13)
//MISC //MISC
#define EC_PWR_BTN GET_PIN(B, 11) #define EC_PWR_BTN GET_PIN(B, 11)
#define EC_PWR_LED_PIN GET_PIN(B, 10) #define EC_PWR_LED_PIN GET_PIN(B, 10)