Template
83 lines
2.8 KiB
C
83 lines
2.8 KiB
C
/*!
|
||
\file main.c
|
||
\brief GD32F4xx 工程模板入口(LED 心跳 + 串口收发框架)
|
||
|
||
基于 GD32E23x 工程模板移植,目标芯片 GD32F405RET6(Cortex-M4 @168MHz,512KB Flash)。
|
||
*/
|
||
|
||
/*
|
||
Copyright (c) 2025, GigaDevice Semiconductor Inc.
|
||
|
||
Redistribution and use in source and binary forms, with or without modification,
|
||
are permitted provided that the following conditions are met:
|
||
|
||
1. Redistributions of source code must retain the above copyright notice, this
|
||
list of conditions and the following disclaimer.
|
||
2. Redistributions in binary form must reproduce the above copyright notice,
|
||
this list of conditions and the following disclaimer in the documentation
|
||
and/or other materials provided with the distribution.
|
||
3. Neither the name of the copyright holder nor the names of its contributors
|
||
may be used to endorse or promote products derived from this software without
|
||
specific prior written permission.
|
||
|
||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||
OF SUCH DAMAGE.
|
||
*/
|
||
|
||
#include "gd32f4xx.h"
|
||
#include "systick.h"
|
||
#include "uart.h"
|
||
#include "uart_ring_buffer.h"
|
||
#include "led.h"
|
||
#include <stdio.h>
|
||
#include "board_config.h"
|
||
|
||
/* TODO: 以下模块尚未从 GD32E23x 工程移植,编译验证通过后逐步补充:
|
||
* - i2c.c/i2c.h I2C 主机读写驱动(硬件 I2C0 + 总线恢复)
|
||
* - command.c/h 串口命令协议解析(D5 帧格式)
|
||
* 移植时将对应文件加入 CMakeLists.txt 的 TARGET_SRC 即可。
|
||
*/
|
||
|
||
/*!
|
||
\brief main function
|
||
\param[in] none
|
||
\param[out] none
|
||
\retval none
|
||
*/
|
||
int main(void)
|
||
{
|
||
led_init();
|
||
|
||
systick_config();
|
||
|
||
uart_ring_buffer_init();
|
||
uart_init();
|
||
|
||
#if DEBUG_MODE == CFG_ENABLE
|
||
printf("Hello World!\r\n");
|
||
printf("GD32F405 template, flash size: %u KB\r\n", GD32_FLASH_SIZE_KB);
|
||
#endif
|
||
|
||
#if SEGGER_RTT_DETECTION == CFG_ENABLE
|
||
RTT_printf(0, "Hello World!\r\n");
|
||
#endif
|
||
printf("Hello World!\r\n");
|
||
|
||
/* ========== Command Testing ========== */
|
||
|
||
/* ========== */
|
||
|
||
while(1){
|
||
/* TODO: command_process(); 命令模块移植后启用 */
|
||
delay_ms(10);
|
||
}
|
||
}
|