/*!
\file gd32f10x_enet.c
\brief ENET driver
\version 2014-12-26, V1.0.0, firmware for GD32F10x
\version 2017-06-20, V2.0.0, firmware for GD32F10x
\version 2018-07-31, V2.1.0, firmware for GD32F10x
\version 2020-09-30, V2.2.0, firmware for GD32F10x
*/
/*
Copyright (c) 2020, 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 "gd32f10x_enet.h"
#ifdef GD32F10X_CL
#if defined (__CC_ARM) /*!< ARM compiler */
__align(4)
enet_descriptors_struct rxdesc_tab[ENET_RXBUF_NUM]; /*!< ENET RxDMA descriptor */
__align(4)
enet_descriptors_struct txdesc_tab[ENET_TXBUF_NUM]; /*!< ENET TxDMA descriptor */
__align(4)
uint8_t rx_buff[ENET_RXBUF_NUM][ENET_RXBUF_SIZE]; /*!< ENET receive buffer */
__align(4)
uint8_t tx_buff[ENET_TXBUF_NUM][ENET_TXBUF_SIZE]; /*!< ENET transmit buffer */
#elif defined ( __ICCARM__ ) /*!< IAR compiler */
#pragma data_alignment=4
enet_descriptors_struct rxdesc_tab[ENET_RXBUF_NUM]; /*!< ENET RxDMA descriptor */
#pragma data_alignment=4
enet_descriptors_struct txdesc_tab[ENET_TXBUF_NUM]; /*!< ENET TxDMA descriptor */
#pragma data_alignment=4
uint8_t rx_buff[ENET_RXBUF_NUM][ENET_RXBUF_SIZE]; /*!< ENET receive buffer */
#pragma data_alignment=4
uint8_t tx_buff[ENET_TXBUF_NUM][ENET_TXBUF_SIZE]; /*!< ENET transmit buffer */
#elif defined (__GNUC__) /* GNU Compiler */
enet_descriptors_struct rxdesc_tab[ENET_RXBUF_NUM] __attribute__ ((aligned (4))); /*!< ENET RxDMA descriptor */
enet_descriptors_struct txdesc_tab[ENET_TXBUF_NUM] __attribute__ ((aligned (4))); /*!< ENET TxDMA descriptor */
uint8_t rx_buff[ENET_RXBUF_NUM][ENET_RXBUF_SIZE] __attribute__ ((aligned (4))); /*!< ENET receive buffer */
uint8_t tx_buff[ENET_TXBUF_NUM][ENET_TXBUF_SIZE] __attribute__ ((aligned (4))); /*!< ENET transmit buffer */
#endif /* __CC_ARM */
/* global transmit and receive descriptors pointers */
enet_descriptors_struct *dma_current_txdesc;
enet_descriptors_struct *dma_current_rxdesc;
/* structure pointer of ptp descriptor for normal mode */
enet_descriptors_struct *dma_current_ptp_txdesc = NULL;
enet_descriptors_struct *dma_current_ptp_rxdesc = NULL;
/* init structure parameters for ENET initialization */
static enet_initpara_struct enet_initpara ={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
static uint32_t enet_unknow_err = 0U;
/* array of register offset for debug information get */
static const uint16_t enet_reg_tab[] = {
0x0000, 0x0004, 0x0008, 0x000C, 0x0010, 0x0014, 0x0018, 0x1080, 0x001C, 0x0028, 0x002C,
0x0038, 0x003C, 0x0040, 0x0044, 0x0048, 0x004C, 0x0050, 0x0054, 0x0058, 0x005C,
0x0100, 0x0104, 0x0108, 0x010C, 0x0110, 0x014C, 0x0150, 0x0168, 0x0194, 0x0198, 0x01C4,
0x0700, 0x0704,0x0708, 0x070C, 0x0710, 0x0714, 0x0718, 0x071C, 0x0720,
0x1000, 0x1004, 0x1008, 0x100C, 0x1010, 0x1014, 0x1018, 0x101C, 0x1020, 0x1048, 0x104C,
0x1050, 0x1054};
/*!
\brief deinitialize the ENET, and reset structure parameters for ENET initialization
\param[in] none
\param[out] none
\retval none
*/
void enet_deinit(void)
{
rcu_periph_reset_enable(RCU_ENETRST);
rcu_periph_reset_disable(RCU_ENETRST);
enet_initpara_reset();
}
/*!
\brief configure the parameters which are usually less cared for initialization
note -- this function must be called before enet_init(), otherwise
configuration will be no effect
\param[in] option: different function option, which is related to several parameters,
only one parameter can be selected which is shown as below, refer to enet_option_enum
\arg FORWARD_OPTION: choose to configure the frame forward related parameters
\arg DMABUS_OPTION: choose to configure the DMA bus mode related parameters
\arg DMA_MAXBURST_OPTION: choose to configure the DMA max burst related parameters
\arg DMA_ARBITRATION_OPTION: choose to configure the DMA arbitration related parameters
\arg STORE_OPTION: choose to configure the store forward mode related parameters
\arg DMA_OPTION: choose to configure the DMA descriptor related parameters
\arg VLAN_OPTION: choose to configure vlan related parameters
\arg FLOWCTL_OPTION: choose to configure flow control related parameters
\arg HASHH_OPTION: choose to configure hash high
\arg HASHL_OPTION: choose to configure hash low
\arg FILTER_OPTION: choose to configure frame filter related parameters
\arg HALFDUPLEX_OPTION: choose to configure halfduplex mode related parameters
\arg TIMER_OPTION: choose to configure time counter related parameters
\arg INTERFRAMEGAP_OPTION: choose to configure the inter frame gap related parameters
\param[in] para: the related parameters according to the option
all the related parameters should be configured which are shown as below
FORWARD_OPTION related parameters:
- ENET_AUTO_PADCRC_DROP_ENABLE/ ENET_AUTO_PADCRC_DROP_DISABLE ;
- ENET_FORWARD_ERRFRAMES_ENABLE/ ENET_FORWARD_ERRFRAMES_DISABLE ;
- ENET_FORWARD_UNDERSZ_GOODFRAMES_ENABLE/ ENET_FORWARD_UNDERSZ_GOODFRAMES_DISABLE .
DMABUS_OPTION related parameters:
- ENET_ADDRESS_ALIGN_ENABLE/ ENET_ADDRESS_ALIGN_DISABLE ;
- ENET_FIXED_BURST_ENABLE/ ENET_FIXED_BURST_DISABLE ;
DMA_MAXBURST_OPTION related parameters:
- ENET_RXDP_1BEAT/ ENET_RXDP_2BEAT/ ENET_RXDP_4BEAT/
ENET_RXDP_8BEAT/ ENET_RXDP_16BEAT/ ENET_RXDP_32BEAT/
ENET_RXDP_4xPGBL_4BEAT/ ENET_RXDP_4xPGBL_8BEAT/
ENET_RXDP_4xPGBL_16BEAT/ ENET_RXDP_4xPGBL_32BEAT/
ENET_RXDP_4xPGBL_64BEAT/ ENET_RXDP_4xPGBL_128BEAT ;
- ENET_PGBL_1BEAT/ ENET_PGBL_2BEAT/ ENET_PGBL_4BEAT/
ENET_PGBL_8BEAT/ ENET_PGBL_16BEAT/ ENET_PGBL_32BEAT/
ENET_PGBL_4xPGBL_4BEAT/ ENET_PGBL_4xPGBL_8BEAT/
ENET_PGBL_4xPGBL_16BEAT/ ENET_PGBL_4xPGBL_32BEAT/
ENET_PGBL_4xPGBL_64BEAT/ ENET_PGBL_4xPGBL_128BEAT ;
- ENET
没有合适的资源?快使用搜索试试~ 我知道了~
基于gd32f103设计的SVM算法源代码.zip
共213个文件
o:45个
d:45个
crf:44个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 6 浏览量
2023-12-23
14:59:58
上传
评论
收藏 7.32MB ZIP 举报
温馨提示
基于gd32f103设计的SVM算法源代码.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于gd32f103设计的SVM算法源代码.zip (213个子文件)
gd32f103.axf 166KB
gd32f10x_enet.c 127KB
gd32f10x_timer.c 83KB
gd32f10x_rcu.c 41KB
gd32f10x_can.c 41KB
gd32f10x_adc.c 36KB
system_gd32f10x.c 32KB
gd32f10x_fmc.c 30KB
gd32f10x_exmc.c 29KB
gd32f10x_sdio.c 27KB
gd32f10x_dma.c 27KB
gd32f10x_usart.c 25KB
gd32f10x_i2c.c 24KB
gd32f10x_spi.c 23KB
gd32f10x_gpio.c 20KB
gd32f10x_dac.c 16KB
gd32f10x_exti.c 8KB
gd32f10x_rtc.c 8KB
gd32f10x_pmu.c 8KB
gd32f10x_bkp.c 8KB
gd32f10x_misc.c 7KB
gd32f10x_fwdgt.c 7KB
gd32f10x_dbg.c 6KB
gd32f10x_wwdgt.c 4KB
gd32f10x_crc.c 4KB
gd32f10x_it.c 4KB
dsp_test.c 2KB
systick.c 963B
print.c 895B
main.c 848B
led.c 505B
bitband.c 308B
commontables.crf 898KB
main.crf 399KB
dsp_test.crf 399KB
gd32f10x_timer.crf 301KB
gd32f10x_can.crf 291KB
gd32f10x_fmc.crf 290KB
gd32f10x_adc.crf 289KB
gd32f10x_rcu.crf 287KB
gd32f10x_exmc.crf 287KB
systick.crf 287KB
led.crf 287KB
print.crf 286KB
gd32f10x_dma.crf 286KB
gd32f10x_usart.crf 286KB
bitband.crf 286KB
gd32f10x_i2c.crf 286KB
gd32f10x_spi.crf 285KB
gd32f10x_dac.crf 285KB
gd32f10x_sdio.crf 285KB
gd32f10x_gpio.crf 284KB
system_gd32f10x.crf 282KB
gd32f10x_bkp.crf 281KB
gd32f10x_pmu.crf 281KB
gd32f10x_exti.crf 281KB
gd32f10x_rtc.crf 281KB
gd32f10x_fwdgt.crf 281KB
gd32f10x_misc.crf 280KB
gd32f10x_crc.crf 280KB
gd32f10x_dbg.crf 280KB
gd32f10x_wwdgt.crf 280KB
gd32f10x_it.crf 280KB
gd32f10x_enet.crf 279KB
filteringfunctions.crf 221KB
transformfunctions.crf 206KB
matrixfunctions.crf 140KB
supportfunctions.crf 136KB
basicmathfunctions.crf 135KB
statisticsfunctions.crf 133KB
distancefunctions.crf 133KB
fastmathfunctions.crf 133KB
controllerfunctions.crf 131KB
complexmathfunctions.crf 128KB
svmfunctions.crf 124KB
bayesfunctions.crf 121KB
filteringfunctions.d 13KB
basicmathfunctions.d 6KB
transformfunctions.d 6KB
supportfunctions.d 5KB
statisticsfunctions.d 5KB
distancefunctions.d 4KB
matrixfunctions.d 4KB
complexmathfunctions.d 3KB
dsp_test.d 2KB
main.d 2KB
gd32f10x_wwdgt.d 2KB
gd32f10x_usart.d 2KB
gd32f10x_fwdgt.d 2KB
gd32f10x_timer.d 2KB
system_gd32f10x.d 2KB
gd32f10x_gpio.d 2KB
gd32f10x_exmc.d 2KB
gd32f10x_exti.d 2KB
gd32f10x_sdio.d 2KB
gd32f10x_misc.d 2KB
gd32f10x_enet.d 2KB
gd32f10x_dac.d 2KB
gd32f10x_crc.d 2KB
gd32f10x_rcu.d 2KB
共 213 条
- 1
- 2
- 3
资源评论
shengyin714959
- 粉丝: 884
- 资源: 6894
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- jQuery jPages分页工具库(jQuery Pagination Plugin)
- Spring框架学习指南
- Lan仿朋友圈系统开源源码,可用于表白墙等微商相册,商品图册等
- ASP.NET电子购物商城系统(源码)
- SLAM-V1.5.4
- Hibernate 版本 3.6.0 最终发布版(或Hibernate 3.6.0 最终版)
- 简约在线生成短网址系统源码 短链防红域名系统 带后台
- asp.netERP客户关系系统设计(源码)
- RJ45 PCB封装概述: SMD(表面贴装设备)封装 插件式封装 特定型号如R-RJ45R08P-A004等详细封装规格 以上
- 2024最新Zibll子比主题V7.7版本源码 开心版 - WordPress主题
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功