Files
luban-lite-t3e-pro/doc/topics/sdk/mac/mac_config_lite.html
2025-01-23 16:37:00 +08:00

610 lines
69 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn" lang="zh-cn" data-whc_version="26.0">
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="description" content="以太网配置 内核配置主要是通过 scons --menuconfig 命令进行 以太网的功能配置, 配置完成后的项目存储在 target/configs/xxx_defconfig 文件中。 MAC 参数配置 内核中要使用以太网功能,首先需要配置 MAC 的属性参数。MAC 的参数随着板卡的不同而不同 以下是展开后 MAC 的所有的配置选项及其介绍 注: 为防止配置错误,实际的 MAC ..."/><meta name="DC.rights.owner" content="(C) 版权 2025"/><meta name="copyright" content="(C) 版权 2025"/><meta name="generator" content="DITA-OT"/><meta name="DC.type" content="topic"/><meta name="DC.relation" content="../../../topics/sdk/mac/mac_user_guide_2.html"/><meta name="DC.relation" content="../../../topics/sdk/mac/mac_user_guide_2.html"/><meta name="DC.relation" content="../../../topics/sdk/mac/mac_debug_lite.html"/><meta name="DC.contributor" content="yan.wang"/><meta name="DC.contributor" content="yan.wang"/><meta name="DC.date.modified" content="2024-01-15"/><meta name="DC.format" content="HTML5"/><meta name="DC.identifier" content="id"/><meta name="DC.language" content="zh-CN"/><title>参数配置</title><!-- Build number 2023110923. --><meta name="wh-path2root" content="../../../"/><meta name="wh-toc-id" content="id-d5856e6023"/><meta name="wh-source-relpath" content="topics/sdk/mac/mac_config_lite.dita"/><meta name="wh-out-relpath" content="topics/sdk/mac/mac_config_lite.html"/>
<link rel="stylesheet" type="text/css" href="../../../webhelp/app/commons.css?buildId=2023110923"/>
<link rel="stylesheet" type="text/css" href="../../../webhelp/app/topic.css?buildId=2023110923"/>
<script src="../../../webhelp/app/options/properties.js?buildId=20250121171154"></script>
<script src="../../../webhelp/app/localization/strings.js?buildId=2023110923"></script>
<script src="../../../webhelp/app/search/index/keywords.js?buildId=20250121171154"></script>
<script defer="defer" src="../../../webhelp/app/commons.js?buildId=2023110923"></script>
<script defer="defer" src="../../../webhelp/app/topic.js?buildId=2023110923"></script>
<link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-styles-web.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/notes.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-common.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-images.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/footnote.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/aic-web-watermark.css?buildId=2023110923"/><link rel="stylesheet" type="text/css" href="../../../webhelp/template/topic-body-list.css?buildId=2023110923"/></head>
<body id="id" class="wh_topic_page frmBody">
<a href="#wh_topic_body" class="sr-only sr-only-focusable">
跳转到主要内容
</a>
<header class="navbar navbar-default wh_header">
<div class="container-fluid">
<div class="wh_header_flex_container navbar-nav navbar-expand-md navbar-dark">
<div class="wh_logo_and_publication_title_container">
<div class="wh_logo_and_publication_title">
<a href="http://www.artinchip.com" class=" wh_logo d-none d-sm-block "><img src="../../../company-logo-white.png" alt="RTOS SDK 使用指南SDK 指南文件"/></a>
<div class=" wh_publication_title "><a href="../../../index.html"><span class="booktitle"><span class="ph mainbooktitle">RTOS SDK 使用指南</span><span class="ph booktitlealt">SDK 指南文件</span></span></a></div>
</div>
</div>
<div class="wh_top_menu_and_indexterms_link collapse navbar-collapse" id="wh_top_menu_and_indexterms_link">
</div>
</div>
</div>
</header>
<div class=" wh_search_input navbar-form wh_topic_page_search search " role="form">
<form id="searchForm" method="get" role="search" action="../../../search.html"><div><input type="search" placeholder="搜索 " class="wh_search_textfield" id="textToSearch" name="searchQuery" aria-label="搜索查询" required="required"/><button type="submit" class="wh_search_button" aria-label="搜索"><span class="search_input_text">搜索</span></button></div></form>
</div>
<div class="container-fluid" id="wh_topic_container">
<div class="row">
<nav class="wh_tools d-print-none navbar-expand-md" aria-label="Tools">
<div data-tooltip-position="bottom" class=" wh_breadcrumb "><ol class="d-print-none"><li><span class="home"><a href="../../../index.html"><span>主页</span></a></span></li><li><div class="topicref" data-id="id"><div class="title"><a href="../../../topics/sdk/chapter-advanced-app.html">高级应用</a><div class="wh-tooltip"><p class="shortdesc">系统、存储、多媒体、接口、安全等模块的详细配置和设计说明。</p></div></div></div></li><li><div class="topicref" data-id="concept_nww_hzh_pzb"><div class="title"><a href="../../../topics/chapter-title/chapter-interface-sdk.html">接口</a><div class="wh-tooltip"><p class="shortdesc">CAN<span class="ph">、CAP</span>、CIR、GPAI、GPIO、I2C、PSADC、PWM 等接口模块的介绍和使用说明。</p></div></div></div></li><li><div class="topicref" data-id="id"><div class="title"><a href="../../../topics/sdk/mac/mac_user_guide_2.html">MAC 使用指南</a></div></div></li><li class="active"><div class="topicref" data-id="id"><div class="title"><a href="../../../topics/sdk/mac/mac_config_lite.html">参数配置</a></div></div></li></ol></div>
<div class="wh_right_tools">
<button class="wh_hide_highlight" aria-label="切换搜索突出显示" title="切换搜索突出显示"></button>
<button class="webhelp_expand_collapse_sections" data-next-state="collapsed" aria-label="折叠截面" title="折叠截面"></button>
<div class=" wh_navigation_links "><span id="topic_navigation_links" class="navheader">
<span class="navprev"><a class="- topic/link link" href="../../../topics/sdk/mac/mac_user_guide_2.html" title="MAC 使用指南" aria-label="上一主题: MAC 使用指南" rel="prev"></a></span>
<span class="navnext"><a class="- topic/link link" href="../../../topics/sdk/mac/mac_debug_lite.html" title="调试指南" aria-label="下一主题: 调试指南" rel="next"></a></span> </span></div>
<div class=" wh_print_link print d-none d-md-inline-block "><button onClick="window.print()" title="打印此页" aria-label="打印此页"></button></div>
<button type="button" id="wh_toc_button" class="custom-toggler navbar-toggler collapsed wh_toggle_button navbar-light" aria-expanded="false" aria-label="Toggle publishing table of content" aria-controls="wh_publication_toc">
<span class="navbar-toggler-icon"></span>
</button>
</div>
</nav>
</div>
<div class="wh_content_area">
<div class="row">
<nav id="wh_publication_toc" class="col-lg-3 col-md-3 col-sm-12 d-md-block d-none d-print-none" aria-label="Table of Contents Container">
<div id="wh_publication_toc_content">
<div class=" wh_publication_toc " data-tooltip-position="right"><span class="expand-button-action-labels"><span id="button-expand-action" role="button" aria-label="Expand"></span><span id="button-collapse-action" role="button" aria-label="Collapse"></span><span id="button-pending-action" role="button" aria-label="Pending"></span></span><ul role="tree" aria-label="Table of Contents"><li role="treeitem"><div data-tocid="revinfo_linux-d5856e989" class="topicref" data-id="revinfo_linux" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/revinfo/revinfo_rtos.html" id="revinfo_linux-d5856e989-link">修订记录</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d5856e1003" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d5856e1003-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/env/sdk-compile.html" id="id-d5856e1003-link">SDK 编译</a><div class="wh-tooltip"><p class="shortdesc">介绍不同编译环境下 SDK 的详细编译流程。</p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d5856e1152" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d5856e1152-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/advanced/sdk-usage.html" id="id-d5856e1152-link">使用指南</a><div class="wh-tooltip"><p class="shortdesc">系统镜像、编译选项、开发板、应用等相关的详细使用说明。</p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_rcx_czh_pzb-d5856e1416" class="topicref" data-id="concept_rcx_czh_pzb" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_rcx_czh_pzb-d5856e1416-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/chapter-app.html" id="concept_rcx_czh_pzb-d5856e1416-link">应用场景</a><div class="wh-tooltip"><p class="shortdesc">描述了 SDK 在不同应用场景中的配置和使用包括系统更新、OTA、安全方案等。</p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d5856e2119" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d5856e2119-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/peripheral/peripheral-intro.html" id="id-d5856e2119-link">外设移植</a><div class="wh-tooltip"><p class="shortdesc"><span class="ph">CTP、U 盘、SD 卡、有线和无线网络</span>等外设的介绍和使用说明。</p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d5856e2244" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d5856e2244-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/bringup/chapter-bringup.html" id="id-d5856e2244-link">BringUp</a><div class="wh-tooltip"><p class="shortdesc">在硬件上电后快速初始化系统,为操作系统的启动准备好必要的硬件环境。</p></div></div></div></li><li role="treeitem" aria-expanded="true"><div data-tocid="id-d5856e2345" class="topicref" data-id="id" data-state="expanded"><span role="button" tabindex="0" aria-labelledby="button-collapse-action id-d5856e2345-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/chapter-advanced-app.html" id="id-d5856e2345-link">高级应用</a><div class="wh-tooltip"><p class="shortdesc">系统、存储、多媒体、接口、安全等模块的详细配置和设计说明。</p></div></div></div><ul role="group" class="navbar-nav nav-list"><li role="treeitem" aria-expanded="false"><div data-tocid="_0-d5856e2360" class="topicref" data-id="_0" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action _0-d5856e2360-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/boot/lite_boot_direct.html" id="_0-d5856e2360-link">启动引导</a><div class="wh-tooltip"><p class="shortdesc">启动引导程序 Bootloader 可以实现加载启动应用程序、 烧录和升级功能。</p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="chapter-system-d5856e2435" class="topicref" data-id="chapter-system" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action chapter-system-d5856e2435-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/chapter-title/chapter-system.html" id="chapter-system-d5856e2435-link">系统</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="chapter-memory-d5856e3357" class="topicref" data-id="chapter-memory" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action chapter-memory-d5856e3357-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/chapter-title/chapter-memory-sdk.html" id="chapter-memory-d5856e3357-link">存储</a><div class="wh-tooltip"><p class="shortdesc">SDMC、SPI NAND、SPI NOR<span class="ph"> 以及文件系统</span> 等存储模块的介绍和使用说明。</p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_mcc_32s_nbc-d5856e3639" class="topicref" data-id="concept_mcc_32s_nbc" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_mcc_32s_nbc-d5856e3639-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/chapter-title/chapter-multi-media-sdk.html" id="concept_mcc_32s_nbc-d5856e3639-link">多媒体</a><div class="wh-tooltip"><p class="shortdesc">GE、VE、Display、DVP、MPP、MPP 播放器等多媒体模块的介绍和使用说明。</p></div></div></div></li><li role="treeitem" aria-expanded="true"><div data-tocid="concept_nww_hzh_pzb-d5856e4868" class="topicref" data-id="concept_nww_hzh_pzb" data-state="expanded"><span role="button" tabindex="0" aria-labelledby="button-collapse-action concept_nww_hzh_pzb-d5856e4868-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/chapter-title/chapter-interface-sdk.html" id="concept_nww_hzh_pzb-d5856e4868-link">接口</a><div class="wh-tooltip"><p class="shortdesc">CAN<span class="ph">、CAP</span>、CIR、GPAI、GPIO、I2C、PSADC、PWM 等接口模块的介绍和使用说明。</p></div></div></div><ul role="group" class="navbar-nav nav-list"><li role="treeitem" aria-expanded="false"><div data-tocid="can-d5856e4886" class="topicref" data-id="can" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action can-d5856e4886-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/can/can_user_guide_2.html" id="can-d5856e4886-link">CAN 使用指南</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d5856e4958" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d5856e4958-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/cap/cap_user_guide.html" id="id-d5856e4958-link">CAP 使用指南</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d5856e5018" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d5856e5018-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/qep/qep_user_guide.html" id="id-d5856e5018-link">QEP 使用指南</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="cir-d5856e5228" class="topicref" data-id="cir" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action cir-d5856e5228-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/cir/cir_user_guide_2.html" id="cir-d5856e5228-link">CIR 使用指南</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="gpai-user-guide-d5856e5336" class="topicref" data-id="gpai-user-guide" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action gpai-user-guide-d5856e5336-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/gpai/gpai_user_guide_2.html" id="gpai-user-guide-d5856e5336-link">GPAI 使用指南</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d5856e5408" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d5856e5408-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/gpio/gpio_user_guide.html" id="id-d5856e5408-link">GPIO 使用指南</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="i2c_user_guide-d5856e5480" class="topicref" data-id="i2c_user_guide" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action i2c_user_guide-d5856e5480-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/i2c/i2c_user_guide_2.html" id="i2c_user_guide-d5856e5480-link">I2C 使用指南</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d5856e5576" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d5856e5576-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/psadc/psadc_user_guide_2.html" id="id-d5856e5576-link">PSADC 使用指南</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="id-d5856e5648" class="topicref" data-id="id" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action id-d5856e5648-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/pwm/pwm_user_guide_2.html" id="id-d5856e5648-link">PWM 使用指南</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="rtp-user-guide-d5856e5721" class="topicref" data-id="rtp-user-guide" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action rtp-user-guide-d5856e5721-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/rtp/rtp_user_guide_2.html" id="rtp-user-guide-d5856e5721-link">RTP 使用指南</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="spi-d5856e5805" class="topicref" data-id="spi" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action spi-d5856e5805-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/spi/spi_user_guide_2.html" id="spi-d5856e5805-link"><span class="ph">Q</span>SPI 使用指南</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="uart_user_guide-d5856e5879" class="topicref" data-id="uart_user_guide" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action uart_user_guide-d5856e5879-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/uart/uart_user_guide_2.html" id="uart_user_guide-d5856e5879-link">UART 使用指南</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="usb_user_guide-d5856e5951" class="topicref" data-id="usb_user_guide" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action usb_user_guide-d5856e5951-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/usb/usb_user_guide_2.html" id="usb_user_guide-d5856e5951-link">USB 使用指南</a></div></div></li><li role="treeitem" aria-expanded="true"><div data-tocid="id-d5856e6011" class="topicref" data-id="id" data-state="expanded"><span role="button" tabindex="0" aria-labelledby="button-collapse-action id-d5856e6011-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/mac/mac_user_guide_2.html" id="id-d5856e6011-link">MAC 使用指南</a></div></div><ul role="group" class="navbar-nav nav-list"><li role="treeitem" class="active"><div data-tocid="id-d5856e6023" class="topicref" data-id="id" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/mac/mac_config_lite.html" id="id-d5856e6023-link">参数配置</a></div></div></li><li role="treeitem"><div data-tocid="id-d5856e6035" class="topicref" data-id="id" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/mac/mac_debug_lite.html" id="id-d5856e6035-link">调试指南</a></div></div></li><li role="treeitem"><div data-tocid="mac_test_guide-d5856e6047" class="topicref" data-id="mac_test_guide" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/mac/mac_test_2.html" id="mac_test_guide-d5856e6047-link">测试指南</a></div></div></li><li role="treeitem"><div data-tocid="id-d5856e6059" class="topicref" data-id="id" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/mac/mac_design_lite.html" id="id-d5856e6059-link">设计说明</a></div></div></li><li role="treeitem"><div data-tocid="mac_common_issues-d5856e6071" class="topicref" data-id="mac_common_issues" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/sdk/mac/mac_faq_2.html" id="mac_common_issues-d5856e6071-link">常见问题</a></div></div></li></ul></li></ul></li><li role="treeitem" aria-expanded="false"><div data-tocid="chapter-safety-d5856e6083" class="topicref" data-id="chapter-safety" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action chapter-safety-d5856e6083-link" class="wh-expand-btn"></span><div class="title"><a href="../../../topics/chapter-title/chapter-safety-sdk.html" id="chapter-safety-d5856e6083-link">安全</a><div class="wh-tooltip"><p class="shortdesc">SPI ENC、CE、eFuse 等安全模块的介绍和使用说明。</p></div></div></div></li></ul></li></ul></div>
</div>
</nav>
<div class="col-lg-7 col-md-9 col-sm-12" id="wh_topic_body">
<button id="wh_close_publication_toc_button" class="close-toc-button d-none" aria-label="Toggle publishing table of content" aria-controls="wh_publication_toc" aria-expanded="true">
<span class="close-toc-icon-container">
<span class="close-toc-icon"></span>
</span>
</button>
<button id="wh_close_topic_toc_button" class="close-toc-button d-none" aria-label="Toggle topic table of content" aria-controls="wh_topic_toc" aria-expanded="true">
<span class="close-toc-icon-container">
<span class="close-toc-icon"></span>
</span>
</button>
<div class=" wh_topic_content body "><main role="main"><article class="- topic/topic topic" role="article" aria-labelledby="ariaid-title1"><span class="edit-link" style="font-size:12px; opacity:0.6; text-align:right; vertical-align:middle"><a target="_blank" href="http://172.16.35.88/tasks/jdssno1uvvbf2mltu9kb9v3if05d5gopuakboe8hlud18rma/edit/F:/aicdita/aicdita-cn/topics/sdk/mac/mac_config_lite.dita">Edit online</a></span><h1 class="- topic/title title topictitle1" id="ariaid-title1">参数配置</h1><div class="date inPage">15 Jan 2024</div><div style="color: gray;">
Read time: 13 minute(s)
</div><div class="- topic/body body"><section class="- topic/section section" id="id__ref-to-lite-mac-cfg" data-ofbid="id__ref-to-lite-mac-cfg"><h2 class="- topic/title title sectiontitle">以太网配置</h2>
<p class="- topic/p p" data-ofbid="d65433e24__20250121171521">内核配置主要是通过 <span class="+ topic/keyword sw-d/cmdname keyword cmdname">scons --menuconfig</span> 命令进行 以太网的功能配置, 配置完成后的项目存储在
<span class="+ topic/ph sw-d/filepath ph filepath">target/configs/xxx_defconfig</span> 文件中。</p>
<ul class="- topic/ul ul" id="id__ul_ehm_kys_4dc" data-ofbid="id__ul_ehm_kys_4dc"><li class="- topic/li li" data-ofbid="d65433e34__20250121171521">
<div class="- topic/div div section" id="id__mac">
<strong class="+ topic/ph hi-d/b ph b">MAC 参数配置</strong>
<p class="- topic/p p" data-ofbid="d65433e41__20250121171521">内核中要使用以太网功能,首先需要配置 MAC 的属性参数。MAC 的参数随着板卡的不同而不同 以下是展开后 MAC
的所有的配置选项及其介绍</p><div class="- topic/note note note note_note" id="id__note_eql_qn3_ddc" data-ofbid="id__note_eql_qn3_ddc"><span class="note__title">注:</span>
<div class="- topic/p p" data-ofbid="d65433e45__20250121171521">为防止配置错误,实际的 MAC
配置有一套依赖规则,不会同时出现以下全部的配置选项<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="id__codeblock_nvz_yjn_fdc" data-ofbid="id__codeblock_nvz_yjn_fdc">Board options ---&gt;
[*] Using Gmac0
gmac0 parameter ---&gt;
(PE.<span class="hl-number">6</span>) gmac0 PHY reset GPIO
Select gmac0 bus (RMII) ---&gt;
Select PHY clk (external clk) ---&gt;
(<span class="hl-number">0</span>) gmac0 rx delay
(<span class="hl-number">0</span>) gmac0 tx delay
(<span class="hl-number">192.168</span>.<span class="hl-number">1.2</span>) gmac0 IPv4 addr
(<span class="hl-number">192.168</span>.<span class="hl-number">1.1</span>) gmac0 Gateway
(<span class="hl-number">255.255</span>.<span class="hl-number">255.0</span>) gmac0 Subnet Mask
[*] gmac0 MAC address use chip-id
(<span class="hl-number">002244887766</span>) gmac0 MAC addr
(<span class="hl-number">1</span>) gmac0 PHY MDIO addr
Clocks Options ---&gt;
...
[ ] Enable CLK_OUT0
[ ] Enable CLK_OUT1
[*] Enable CLK_OUT2
(<span class="hl-number">25000000</span>) Clk CLK_OUT2 frequence
[ ] Enable CLK_OUT3</pre></div>
</div><ul class="- topic/ul ul simple" id="id__ul_of4_kys_4dc" data-ofbid="id__ul_of4_kys_4dc"><li class="- topic/li li" data-ofbid="d65433e51__20250121171521">
<dl class="- topic/dl dl simple" id="id__dl_pf4_kys_4dc" data-ofbid="id__dl_pf4_kys_4dc"><dt class="- topic/dt dt dlterm" data-ofbid="d65433e55__20250121171521">gmac0 PHY reset GPIO</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e59__20250121171521">外部 PHY 芯片的复位脚相连接的 IO 引脚,根据板卡设计决定</p>
</dd></dl>
</li><li class="- topic/li li" data-ofbid="d65433e63__20250121171521">
<dl class="- topic/dl dl simple" id="id__dl_qf4_kys_4dc" data-ofbid="id__dl_qf4_kys_4dc"><dt class="- topic/dt dt dlterm" data-ofbid="d65433e67__20250121171521">Select gmac0 bus</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e71__20250121171521">选择 MAC 与 PHY 相连接的接口类型,根据板卡决定是 RGMII 还是 RMII</p>
</dd></dl>
</li><li class="- topic/li li" data-ofbid="d65433e75__20250121171521">
<dl class="- topic/dl dl simple" id="id__dl_rf4_kys_4dc" data-ofbid="id__dl_rf4_kys_4dc"><dt class="- topic/dt dt dlterm" data-ofbid="d65433e79__20250121171521">Select PHY clk</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e83__20250121171521">选择 MAC 使用的总线参考时钟类型是 external clk (外部时钟)还是 internal
clk (内部时钟)。这个配置需要根据电路设计决定。如果 MAC 的时钟参考时钟是来自 PHY 芯片
(即 GMAC_CLKIN 引脚接到 PHY 芯片)则这里选择 external clk否则选择
internal clk</p>
</dd></dl>
</li><li class="- topic/li li" data-ofbid="d65433e87__20250121171521">
<dl class="- topic/dl dl simple" id="id__dl_sf4_kys_4dc" data-ofbid="id__dl_sf4_kys_4dc"><dt class="- topic/dt dt dlterm" data-ofbid="d65433e91__20250121171521">gmac0 rx delay</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e95__20250121171521">gmac0 的接收时延,适用于 RGMII 接口模式下, MAC 匹配 PHY 芯片的数据建立时间和保留时
间(单位0.17 ns) 需要根据外部使用的 PHY 芯片调整。一般情况下,设置为 12 ,即
2.04 ns</p>
</dd></dl>
</li><li class="- topic/li li" data-ofbid="d65433e99__20250121171521">
<dl class="- topic/dl dl simple" id="id__dl_tf4_kys_4dc" data-ofbid="id__dl_tf4_kys_4dc"><dt class="- topic/dt dt dlterm" data-ofbid="d65433e103__20250121171521">gmac0 tx delay</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e107__20250121171521">gmac0 的发送时延,适用于 RGMII 接口模式下MAC 匹配 PHY 芯片的数据建立时间和保留时间
(单位0.17 ns),需要根据外部使用的 PHY 芯片调整。一般情况下,可设置为 12即 2.04
ns</p>
</dd></dl>
</li><li class="- topic/li li" data-ofbid="d65433e111__20250121171521">
<dl class="- topic/dl dl simple" id="id__dl_uf4_kys_4dc" data-ofbid="id__dl_uf4_kys_4dc"><dt class="- topic/dt dt dlterm" data-ofbid="d65433e115__20250121171521">gmac0 IPv4 addr</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e119__20250121171521">当前网卡的初始静态 IP 地址,如打开 DHCP 功能,此处设置无效</p>
</dd></dl>
</li><li class="- topic/li li" data-ofbid="d65433e123__20250121171521">
<dl class="- topic/dl dl simple" id="id__dl_vf4_kys_4dc" data-ofbid="id__dl_vf4_kys_4dc"><dt class="- topic/dt dt dlterm" data-ofbid="d65433e127__20250121171521">gmac0 Gateway</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e131__20250121171521">当前网卡的初始静态网关地址,如打开 DHCP 功能,此处设置无效</p>
</dd></dl>
</li><li class="- topic/li li" data-ofbid="d65433e135__20250121171521">
<dl class="- topic/dl dl simple" id="id__dl_wf4_kys_4dc" data-ofbid="id__dl_wf4_kys_4dc"><dt class="- topic/dt dt dlterm" data-ofbid="d65433e139__20250121171521">gmac0 Subnet Mask</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e143__20250121171521">当前网卡初始静态子网掩码,如打开 DHCP 功能,此处设置无效</p>
</dd></dl>
</li><li class="- topic/li li" data-ofbid="d65433e147__20250121171521">
<dl class="- topic/dl dl simple" id="id__dl_xf4_kys_4dc" data-ofbid="id__dl_xf4_kys_4dc"><dt class="- topic/dt dt dlterm" data-ofbid="d65433e151__20250121171521">gmac0 MAC address use chip-id</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e155__20250121171521">使用芯片的 chip-id 作为 MAC 地址,使能此选项后会使用 chip-id 的低六位经过加密后作为
MAC 地址。这样的好处是同一系列产品的 MAC 地址基本不会重复。</p>
</dd></dl>
</li><li class="- topic/li li" data-ofbid="d65433e159__20250121171521">
<dl class="- topic/dl dl simple" id="id__dl_yf4_kys_4dc" data-ofbid="id__dl_yf4_kys_4dc"><dt class="- topic/dt dt dlterm" data-ofbid="d65433e163__20250121171521">gmac0 MAC addr</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e167__20250121171521">gmac0 默认 MAC 地址,当不使能
<span class="+ topic/ph ui-d/uicontrol ph uicontrol">gmac0 MAC address use chip-id</span>
时,即用户需要自定义 MAC 地址时可以在这里配置用户自己的 MAC 地址。</p>
</dd></dl>
</li><li class="- topic/li li" data-ofbid="d65433e174__20250121171521">
<dl class="- topic/dl dl simple" id="id__dl_zf4_kys_4dc" data-ofbid="id__dl_zf4_kys_4dc"><dt class="- topic/dt dt dlterm" data-ofbid="d65433e178__20250121171521">gmac0 PHY MDIO addr</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e182__20250121171521">PHY 在 总线上的挂载地址PHY 芯片地址一般取决于 PHY
芯片外部电路设计,请根据板卡设计决定</p>
</dd></dl>
</li><li class="- topic/li li" data-ofbid="d65433e187__20250121171521">
<dl class="- topic/dl dl simple" id="id__dl_ag4_kys_4dc" data-ofbid="id__dl_ag4_kys_4dc"><dt class="- topic/dt dt dlterm" data-ofbid="d65433e191__20250121171521">Clocks Options</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e195__20250121171521">如果 PHY 的工作时钟由主控芯片的 CLK_OUTx 提供,则需要在这里使能 CLK_OUT。
具体使能哪一个 CLK_OUT取决于硬件设计</p>
</dd></dl>
</li><li class="- topic/li li" data-ofbid="d65433e199__20250121171521">
<dl class="- topic/dl dl simple" id="id__dl_bg4_kys_4dc" data-ofbid="id__dl_bg4_kys_4dc"><dt class="- topic/dt dt dlterm" data-ofbid="d65433e203__20250121171521">Clk CLK_OUT2 frequence</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e207__20250121171521">CLK_OUTx 的输出时钟频率,对于常用的 PHY 芯片,一般是 25 MHz</p>
</dd></dl>
</li></ul></div>
</li><li class="- topic/li li" data-ofbid="d65433e212__20250121171521">
<div class="- topic/div div section" id="id__lwip">
<strong class="+ topic/ph hi-d/b ph b">LwIP 协议配置</strong>
<div class="- topic/p p" data-ofbid="d65433e219__20250121171521"><span class="- topic/ph ph">Luban-Lite</span> 内置 LwIP2.1.3 协议栈,用户可以根据自身需求通过 <span class="+ topic/keyword sw-d/cmdname keyword cmdname">scons
--menuconfig</span> 进行裁剪。 <span class="- topic/ph ph">Luban-Lite</span>
提供的可裁剪属性如下,如有其他特别需求,可自行配置
<span class="+ topic/ph sw-d/filepath ph filepath">packages/third-party/lwip/lwipopts.h</span>
文件。<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="id__codeblock_a4l_2kn_fdc" data-ofbid="id__codeblock_a4l_2kn_fdc">Local packages options ---&gt;
Third-party packages options ---&gt;
[*] lwIP: light weight TCP/IP stack ---&gt;
[ ] IPv6 protocol
[*] lwIP Example
[*] Using net tools
[ ] IGMP protocol
[*] ICMP protocol
[ ] SNMP protocol
[ ] Enable DNS <strong class="hl-keyword">for</strong> name resolution
[ ] Enable alloc IP address through DHCP
[*] UDP protocol
[*] TCP protocol
[*] RAW protocol
[ ] PPP protocol
(<span class="hl-number">8</span>) the number of <strong class="hl-keyword">struct</strong> netconns
(<span class="hl-number">16</span>) the number of PBUF
(<span class="hl-number">15360</span>) the size of lwIP<span class="hl-string">'s dynamic memory
</span> (<span class="hl-number">4</span>) the number of raw connection
(<span class="hl-number">4</span>) the number of UDP socket
(<span class="hl-number">4</span>) the number of TCP socket
(<span class="hl-number">40</span>) the number of TCP segment
(<span class="hl-number">8196</span>) the size of send buffer
(<span class="hl-number">8196</span>) the size of TCP send window
(<span class="hl-number">10</span>) the priority level value of lwIP thread
(<span class="hl-number">8</span>) the number of mail in the lwIP thread mailbox
(<span class="hl-number">3072</span>) the stack size of lwIP thread
[ ] Enable IP reassembly and frag
[ ] Enable lwIP statistics
[ ] Enable tx hardware generate checksum
[ ] Enable rx hardware check checksum
[ ] Enable ping features ----
[ ] Using socket interface during ping requests
( ) the priority level value of ping thread
[ ] Using MQTT protocol
[ ] USing DHCP server
(<span class="hl-number">192.168</span>.<span class="hl-number">1.1</span>) DHCP server IP addresss
(<span class="hl-number">2</span>) Start address of DHCP allocation(Last byte)
(<span class="hl-number">254</span>) End address of DHCP allocation(Last byte)
[ ] Enable lwIP Debugging Options ----</pre></div><dl class="- topic/dl dl" data-ofbid="d65433e234__20250121171521"><dt class="- topic/dt dt dlterm" data-ofbid="d65433e236__20250121171521">IPv6 protocol</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e240__20250121171521">LwIP 支持 IPV6 协议</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e244__20250121171521">lwIP Example</dt><dd class="- topic/dd dd">SDK 提供的初始化以太网示例,示例程序源码在
<span class="+ topic/ph sw-d/filepath ph filepath">packages/third-party/lwip/contrib/examples/example_app/</span>
目录下的
<span class="+ topic/ph sw-d/filepath ph filepath">test.c</span><span class="+ topic/ph sw-d/filepath ph filepath">netif_start.c</span><span class="+ topic/ph sw-d/filepath ph filepath">netif_start.h</span>。打开此选项后SDK
会在启动过程中自动 初始化以太网。用户可根据自身需求定义以太网初始化流程。如果不开启此选项,则需要用户自己编写以太网
的初始化程序</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e259__20250121171521">IPv6 protocol</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e263__20250121171521">LwIP 支持 IPV6 协议</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e267__20250121171521">lwIP Example</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e271__20250121171521">SDK 提供的初始化以太网示例,示例程序源码在
<span class="+ topic/ph sw-d/filepath ph filepath">packages/third-party/lwip/contrib/examples/example_app/</span>
目录下的
<span class="+ topic/ph sw-d/filepath ph filepath">test.c</span><span class="+ topic/ph sw-d/filepath ph filepath">netif_start.c</span>
<span class="+ topic/ph sw-d/filepath ph filepath">netif_start.h</span> 文件。打开此选项后SDK 会在启动过程中自动
初始化以太网。用户可根据自身需求定义以太网初始化流程。如果不开启此选项,则需要用户自己编写以太网 的初始化程序</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e287__20250121171521">Using net tools</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e291__20250121171521">使用网络调试命令ifconfig, dhcpc …</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e295__20250121171521">IGMP protocol</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e299__20250121171521">以太网支持 IGMP 协议,使用组播功能时打开</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e303__20250121171521">ICMP protocol</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e307__20250121171521">以太网支持 ICMP 协议,使用 ping 命令时打开</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e311__20250121171521">SNMP protocol</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e315__20250121171521">以太网支持 SNMP 协议,需要时打开</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e319__20250121171521">Enable DNS for name resolution</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e323__20250121171521">支持 DNS 用户端功能,需要时打开</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e327__20250121171521">Enable alloc IP address through DHCP</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e331__20250121171521"> 支持 DHCP 用户端功能,需要时打开。如果打开 DHCP 选项,默认 IP 地址会失效,如果 IP 申请失败,则此时
IP 地址为 0.0.0.0</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e335__20250121171521">UDP protocol</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e339__20250121171521">支持 UDP 协议,默认打开</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e344__20250121171521">TCP protocol</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e348__20250121171521">支持 TCP 协议,默认打开</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e352__20250121171521">RAW protocol</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e356__20250121171521">支持原始套接字接口,如需要编写基于 RAW 套接字的程序时,需要打开</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e360__20250121171521">PPP protocol</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e364__20250121171521">支持 PPP 协议,需要时打开</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e368__20250121171521">the number of struct netconns</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e372__20250121171521">struct netconns 接口的数量,默认为 8 个,可根据需求自行修改</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e376__20250121171521">the number of PBUF</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e380__20250121171521">pbuf 结构的数量,如果需要发送较多的 ROM 类型消息,可自行修改</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e384__20250121171521">the size of lwIPs dynamic memory</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e388__20250121171521">LwIP 堆空间大小,与数据发送有关,不建议修改</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e392__20250121171521">the number of raw connection</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e396__20250121171521">RAW 控制块数量,根据需求修改</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e400__20250121171521">the number of UDP socket</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e404__20250121171521">UDP 控制块数量,根据需求修改</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e408__20250121171521">the number of TCP socket</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e412__20250121171521">TCP 控制块数量,根据需求修改</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e416__20250121171521">the number of TCP segment</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e420__20250121171521">TCP 等待队列的个数,这个值应该不小于 TCP 的发送队列的个数</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e424__20250121171521">the size of send buffer</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e428__20250121171521">TCP 发送缓存大小,如无特别需求,请保持默认值</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e433__20250121171521">the size of TCP send window</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e437__20250121171521">TCP 滑动窗口大小,如无特别需求,请保持默认值</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e441__20250121171521">the priority level value of lwIP thread</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e445__20250121171521">LwIP 协议栈任务优先级,为防止网络丢包,建议保持较高优先级</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e449__20250121171521">the number of mail in the lwIP thread mailbox</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e453__20250121171521">消息邮箱数量,如无特别需求,不建议修改此数量</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e457__20250121171521">the stack size of lwIP thread</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e461__20250121171521">LwIP 协议栈任务的栈空间大小,如没有添加基于 RAW 接口的应用程序,不建议修改任务栈。
否则,应该加大协议栈任务的栈空间</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e465__20250121171521">Enable IP reassembly and frag</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e469__20250121171521">使能 IP 包的分片重装功能</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e473__20250121171521">Enable lwIP statistics</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e477__20250121171521">使能 LwIP 统计信息</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e481__20250121171521">Enable tx hardware generate checksum</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e485__20250121171521">使能发送时自动生成硬件校验和</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e489__20250121171521">Enable rx hardware check checksum</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e493__20250121171521">使能接收时硬件检查校验和</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e497__20250121171521">Enable ping features —-</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e501__20250121171521">ping 命令支持,使能此选项后,可在终端中使用 ping 命令</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e505__20250121171521">Using MQTT protocol</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e509__20250121171521">支持 MQTT 协议</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e513__20250121171521">USing DHCP server</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e517__20250121171521">使用 dhcp server 服务。使能此选项后可以使用 dhcpd 命令开启 dhcp 服务端</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e522__20250121171521">DHCP server IP addresss</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e526__20250121171521">做 dhcp 服务端时的 IP 地址</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e530__20250121171521">Start address of DHCP allocation(Last byte)</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e534__20250121171521">dhcp 服务端分配给用户端的起始 ip 地址的低八位</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e538__20250121171521">End address of DHCP allocation(Last byte)</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e542__20250121171521">dhcp 服务端分配给用户端的结束 ip 地址的低八位</p>
</dd><dt class="- topic/dt dt dlterm" data-ofbid="d65433e546__20250121171521">Enable lwIP Debugging Options —-</dt><dd class="- topic/dd dd">
<p class="- topic/p p" data-ofbid="d65433e550__20250121171521">LwIP 调试信息选项,可根据自身需求进行打开</p>
</dd></dl>
</div>
</li></ul>
</section><section class="- topic/section section" id="id__section_twf_bkn_fdc" data-ofbid="id__section_twf_bkn_fdc"><h2 class="- topic/title title sectiontitle">时钟</h2>
<p class="- topic/p p" data-ofbid="d65433e561__20250121171521">MAC 和 PHY 的协同工作共牵涉到四组时钟, <span class="- topic/ph ph">Luban-Lite</span> 已将时钟部分处理完整,不需要用户除 <span class="+ topic/keyword sw-d/cmdname keyword cmdname">scons
--menuconfig</span> 配置 MAC 使用 <span class="+ topic/keyword pr-d/parmname keyword parmname">external clk</span>
<span class="+ topic/keyword pr-d/parmname keyword parmname">internal clk</span> 之外的其他任何修改</p>
<ul class="- topic/ul ul" id="id__ul_zvb_lys_4dc" data-ofbid="id__ul_zvb_lys_4dc"><li class="- topic/li li" data-ofbid="d65433e577__20250121171521">
<div class="- topic/div div section" id="id__id4">
<strong class="+ topic/ph hi-d/b ph b">MAC 工作时钟</strong>
<div class="- topic/p p" data-ofbid="d65433e584__20250121171521">MAC 的内部工作时钟通过 PLL 分频获得,为 50M 工作时钟不会因为方案的不同而不同,为一固定值 配置代码在
<span class="+ topic/ph sw-d/filepath ph filepath">packages/third-party/lwip/contrib/ports/drv/aic/aic_mac_ll.c</span>
中。<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="id__codeblock_lxy_qxn_fdc" data-ofbid="id__codeblock_lxy_qxn_fdc"><strong class="hl-keyword">void</strong> aicmac_low_level_init(uint32_t port, bool en)
{
uint32_t id = CLK_GMAC0 + port;
<em class="hl-comment">/* MAC clock */</em>
<strong class="hl-keyword">if</strong> (en) {
<em class="hl-comment">/* Set clock frequence = 50M */</em>
hal_clk_set_freq(id, <span class="hl-number">50000000</span>);
<em class="hl-comment">/* clock enable &amp; reset deassert */</em>
hal_clk_enable_deassertrst_iter(id);
} <strong class="hl-keyword">else</strong> {
<em class="hl-comment">/* clock enable &amp; reset deassert */</em>
hal_clk_disable_assertrst(id);
}
}</pre></div>
</div>
</li><li class="- topic/li li" data-ofbid="d65433e593__20250121171521">
<div class="- topic/div div section" id="id__mdc">
<strong class="+ topic/ph hi-d/b ph b">MDC 时钟</strong>
<div class="- topic/p p" data-ofbid="d65433e600__20250121171521">MDC 时钟是 MDIO 的工作时钟,是 MAC 和 PHY 进行配置的工作时钟,双方在使用初期会有一个协 商,一般是 MAC 通知
PHY该时钟为 MAC 通过模块的内部工作时钟处理生成,也不会因为方案的 不同而不同为一固定值。MDIO 时钟初始化在
<span class="+ topic/ph sw-d/filepath ph filepath">packages/third-party/lwip/contrib/ports/drv/aic/aicmac.c</span>
文件的 <span class="+ topic/keyword pr-d/apiname keyword apiname">aicmac_init</span>
函数中:<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="id__codeblock_ir5_jyn_fdc" data-ofbid="id__codeblock_ir5_jyn_fdc"><strong class="hl-keyword">int</strong> aicmac_init(uint32_t port)
{
...
<em class="hl-comment">/* MDCIO Internal Clock Select */</em>
tmpreg = readl(MAC(port, mdioctl));
tmpreg &amp;= ~(ETH_MDIOCTL_CR_MSK);
ahbclk = hal_clk_get_freq(CLK_AHB0);
<strong class="hl-keyword">if</strong> ((ahbclk ≥ <span class="hl-number">20000000</span>) &amp;&amp; (ahbclk &lt; <span class="hl-number">35000000</span>)) {
tmpreg |= ETH_MDIOCTL_CR_Div16;
} <strong class="hl-keyword">else</strong> <strong class="hl-keyword">if</strong> ((ahbclk ≥ <span class="hl-number">35000000</span>) &amp;&amp; (ahbclk &lt; <span class="hl-number">60000000</span>)) {
tmpreg |= ETH_MDIOCTL_CR_Div26;
} <strong class="hl-keyword">else</strong> <strong class="hl-keyword">if</strong> ((ahbclk ≥ <span class="hl-number">60000000</span>) &amp;&amp; (ahbclk &lt; <span class="hl-number">100000000</span>)) {
tmpreg |= ETH_MDIOCTL_CR_Div42;
} <strong class="hl-keyword">else</strong> <strong class="hl-keyword">if</strong> ((ahbclk ≥ <span class="hl-number">100000000</span>) &amp;&amp; (ahbclk &lt; <span class="hl-number">150000000</span>)) {
tmpreg |= ETH_MDIOCTL_CR_Div62;
} <strong class="hl-keyword">else</strong> <strong class="hl-keyword">if</strong> ((ahbclk ≥ <span class="hl-number">150000000</span>) &amp;&amp; (ahbclk &lt; <span class="hl-number">250000000</span>)) {
tmpreg |= ETH_MDIOCTL_CR_Div102;
} <strong class="hl-keyword">else</strong> <em class="hl-comment">/* ((ahbclk ≥ 250000000)&amp;&amp;(ahbclk &lt;= 300000000)) */</em>
{
tmpreg |= ETH_MDIOCTL_CR_Div124;
}
writel(tmpreg, MAC(port, mdioctl));
...
...
}</pre></div><p class="- topic/p p" data-ofbid="d65433e610__20250121171521">MDC 时钟配置错误,则 MAC 和 PHY 的通信不通,呈现的现象是 MAC 无法发现 PHY
设备</p>
</div>
</li><li class="- topic/li li" data-ofbid="d65433e614__20250121171521">
<div class="- topic/div div section" id="id__phy">
<strong class="+ topic/ph hi-d/b ph b">PHY 工作时钟</strong>
<p class="- topic/p p" data-ofbid="d65433e621__20250121171521">一般 PHY 的工作时钟是 25M 一般的设计是外挂一个晶振提供时钟给 PHY 模组, AIC
不同型号芯片都对外提供几组时钟(CLK_OUT),也可以使用该时钟供给 PHY 模块工作。</p><div class="- topic/p p" data-ofbid="d65433e623__20250121171521">该时钟 (CLK_OUT) 使能在
<span class="+ topic/ph sw-d/filepath ph filepath">target/soc name/board name/sys_clk.c</span>
中配置。如果需要可以打开<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="id__codeblock_brh_kyn_fdc" data-ofbid="id__codeblock_brh_kyn_fdc"><strong class="hl-keyword">struct</strong> aic_sysclk aic_sysclk_config[] = {
...
#ifdef AIC_USING_CLK_OUT0
{AIC_CLK_OUT0_FREQ, CLK_OUT0, <span class="hl-number">0</span>},
#endif <em class="hl-comment">/* AIC_USING_CLK_OUT0 */</em>
#ifdef AIC_USING_CLK_OUT1
{AIC_CLK_OUT1_FREQ, CLK_OUT1, <span class="hl-number">0</span>},
#endif <em class="hl-comment">/* AIC_USING_CLK_OUT1 */</em>
#ifdef AIC_USING_CLK_OUT2
{AIC_CLK_OUT2_FREQ, CLK_OUT2, <span class="hl-number">0</span>},
#endif <em class="hl-comment">/* AIC_USING_CLK_OUT2 */</em>
#ifdef AIC_USING_CLK_OUT3
{AIC_CLK_OUT3_FREQ, CLK_OUT3, <span class="hl-number">0</span>},
#endif <em class="hl-comment">/* AIC_USING_CLK_OUT3 */</em>
...
};
<strong class="hl-keyword">void</strong> aic_board_sysclk_init(<strong class="hl-keyword">void</strong>)
{
uint32_t i = <span class="hl-number">0</span>;
<strong class="hl-keyword">for</strong> (i=<span class="hl-number">0</span>; i&lt;<strong class="hl-keyword">sizeof</strong>(aic_sysclk_config)/<strong class="hl-keyword">sizeof</strong>(<strong class="hl-keyword">struct</strong> aic_sysclk); i++) {
hal_clk_set_freq(aic_sysclk_config[i].clk_id, aic_sysclk_config[i].freq);
}
<em class="hl-comment">/* Enable sys clk */</em>
hal_clk_enable_deassertrst_iter(CLK_GPIO);
hal_clk_enable_deassertrst_iter(CLK_GTC);
}</pre></div></div>
</li><li class="- topic/li li" data-ofbid="d65433e631__20250121171521">
<div class="- topic/div div section" id="id__mdata">
<strong class="+ topic/ph hi-d/b ph b">MDATA 时钟</strong>
<p class="- topic/p p" data-ofbid="d65433e638__20250121171521">MDATA 时钟 为 MAC 和 PHY 进行数据传输的时钟,对于百兆和千兆有不同的使用方式 </p><ul class="- topic/ul ul simple" id="id__ul_yd3_bkn_fdc" data-ofbid="id__ul_yd3_bkn_fdc"><li class="- topic/li li" data-ofbid="d65433e641__20250121171521">
<p class="- topic/p p" data-ofbid="d65433e643__20250121171521">百兆网络:可以是 MAC 供给 PHY 也可以是 PHY 供给 MAC</p>
</li><li class="- topic/li li" data-ofbid="d65433e646__20250121171521">
<p class="- topic/p p" data-ofbid="d65433e648__20250121171521">千兆网络:只能是 MAC 供给 PHYRGMII0-TXCK 端口</p>
</li></ul><div class="- topic/p p" data-ofbid="d65433e651__20250121171521">代码中会根据 <span class="+ topic/keyword sw-d/cmdname keyword cmdname">scons --menuconfig</span> 中的配置来决定 MAC
使用的时钟来源是内部时钟还是外部时钟<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="id__codeblock_zk2_lyn_fdc" data-ofbid="id__codeblock_zk2_lyn_fdc"><strong class="hl-keyword">static</strong> s32 syscfg_gmac_init(u32 ch)
{
#ifdef AIC_SYSCFG_DRV_V10
u32 cfg_reg = ch ? SYSCFG_GMAC1_CFG : SYSCFG_GMAC0_CFG;
#<strong class="hl-keyword">else</strong>
u32 cfg_reg = SYSCFG_GMAC0_CFG;
#endif
s32 cfg;
cfg = syscfg_readl(cfg_reg);
<strong class="hl-keyword">if</strong> (ch == <span class="hl-number">0</span>) {
#ifdef AIC_SYSCFG_DRV_V10
#ifdef AIC_DEV_GMAC0_RGMII
cfg |= SYSCFG_GMAC_PHY_RGMII_<span class="hl-number">1000</span>M;
#<strong class="hl-keyword">else</strong>
cfg &amp;= ~SYSCFG_GMAC_PHY_RGMII_<span class="hl-number">1000</span>M;
#endif
#endif
#ifdef AIC_DEV_GMAC0_PHY_EXTCLK
cfg |= SYSCFG_GMAC_RMII_EXTCLK_SEL;
#endif
#<strong class="hl-keyword">if</strong> AIC_DEV_GMAC0_TXDELAY
cfg |= (AIC_DEV_GMAC0_TXDELAY &lt;&lt; SYSCFG_GMAC_TXDLY_SEL_SHIFT);
#endif
#<strong class="hl-keyword">if</strong> AIC_DEV_GMAC0_RXDELAY
cfg |= (AIC_DEV_GMAC0_RXDELAY &lt;&lt; SYSCFG_GMAC_RXDLY_SEL_SHIFT);
#endif
} <strong class="hl-keyword">else</strong> <strong class="hl-keyword">if</strong> (ch == <span class="hl-number">1</span>) {
#ifdef AIC_SYSCFG_DRV_V10
#ifdef AIC_DEV_GMAC1_RGMII
cfg |= SYSCFG_GMAC_PHY_RGMII_<span class="hl-number">1000</span>M;
#<strong class="hl-keyword">else</strong>
cfg &amp;= ~SYSCFG_GMAC_PHY_RGMII_<span class="hl-number">1000</span>M;
#endif
#endif
#ifdef AIC_DEV_GMAC1_PHY_EXTCLK
cfg |= SYSCFG_GMAC_RMII_EXTCLK_SEL;
#endif
#<strong class="hl-keyword">if</strong> AIC_DEV_GMAC1_TXDELAY
cfg |= (AIC_DEV_GMAC1_TXDELAY &lt;&lt; SYSCFG_GMAC_TXDLY_SEL_SHIFT);
#endif
#<strong class="hl-keyword">if</strong> AIC_DEV_GMAC1_RXDELAY
cfg |= (AIC_DEV_GMAC1_RXDELAY &lt;&lt; SYSCFG_GMAC_RXDLY_SEL_SHIFT);
#endif
}
syscfg_writel(cfg, cfg_reg);
<strong class="hl-keyword">return</strong> <span class="hl-number">0</span>;
}</pre></div></div>
</li><li class="- topic/li li" data-ofbid="d65433e659__20250121171521">
<div class="- topic/div div section" id="id__pinmux">
<strong class="+ topic/ph hi-d/b ph b">pinmux 配置</strong>
<div class="- topic/p p" data-ofbid="d65433e666__20250121171521"><span class="+ topic/ph sw-d/filepath ph filepath">target/soc name/board name/pinmux.c</span> 中设置 MAC 端口的
pinmux
需要根据开发板板的不同进行不同的设置<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="id__codeblock_s2s_lyn_fdc" data-ofbid="id__codeblock_s2s_lyn_fdc">#ifdef AIC_USING_GMAC0
<em class="hl-comment">/* gmac0 */</em>
{<span class="hl-number">6</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PE.0"</span>},
{<span class="hl-number">6</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PE.1"</span>},
{<span class="hl-number">6</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PE.2"</span>},
{<span class="hl-number">6</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PE.3"</span>},
{<span class="hl-number">6</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PE.4"</span>},
{<span class="hl-number">6</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PE.5"</span>},
{<span class="hl-number">6</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PE.7"</span>},
{<span class="hl-number">6</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PE.8"</span>},
{<span class="hl-number">6</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PE.9"</span>},
<em class="hl-comment">/* phy0 reset GPIO */</em>
{<span class="hl-number">1</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PE.6"</span>},
#endif</pre></div><div class="- topic/p p" data-ofbid="d65433e673__20250121171521">如果 PHY 工作时钟是由主控芯片的 CLK_OUT 提供,则还需要配置 CLK_OUT
引脚的
pinmux<pre class="+ topic/pre pr-d/codeblock pre codeblock language-c" id="id__codeblock_skh_myn_fdc" data-ofbid="id__codeblock_skh_myn_fdc">#ifdef AIC_USING_CLK_OUT0
{<span class="hl-number">6</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PD.21"</span>},
#endif
#ifdef AIC_USING_CLK_OUT1
{<span class="hl-number">5</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PE.11"</span>},
#endif
#ifdef AIC_USING_CLK_OUT2
{<span class="hl-number">6</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PE.10"</span>},
#endif
#ifdef AIC_USING_CLK_OUT3
{<span class="hl-number">6</span>, PIN_PULL_DIS, <span class="hl-number">3</span>, <span class="hl-string">"PF.10"</span>},
#endif</pre></div></div>
</li></ul>
</section></div></article></main></div>
</div>
<nav role="navigation" id="wh_topic_toc" aria-label="On this page" class="col-lg-2 d-none d-lg-block navbar d-print-none">
<div id="wh_topic_toc_content">
<div class=" wh_topic_toc "><div class="wh_topic_label">在本页上</div><ul><li class="section-item"><div class="section-title"><a href="#id__ref-to-lite-mac-cfg" data-tocid="id__ref-to-lite-mac-cfg">以太网配置</a></div></li><li class="section-item"><div class="section-title"><a href="#id__section_twf_bkn_fdc" data-tocid="id__section_twf_bkn_fdc">时钟</a></div></li></ul></div>
</div>
</nav>
</div>
</div>
</div>
<footer class="navbar navbar-default wh_footer">
<div class=" footer-container mx-auto ">
<title>footer def</title>
<style><!--
.p1 {
font-family: FangZhengShuSong, Times, serif;
}
.p2 {
font-family: Arial, Helvetica, sans-serif;
}
.p3 {
font-family: "Lucida Console", "Courier New", monospace;
}
--></style>
<div class="webhelp.fragment.footer">
<p class="p1">Copyright © 2019-2024 广东匠芯创科技有限公司. All rights reserved.</p>
</div><div>
<div class="generation_time">
Update Time: 2025-01-21
</div>
</div>
</div>
</footer>
<div id="go2top" class="d-print-none">
<span class="oxy-icon oxy-icon-up"></span>
</div>
<div id="modal_img_large" class="modal">
<span class="close oxy-icon oxy-icon-remove"></span>
<div id="modal_img_container"></div>
<div id="caption"></div>
</div>
<script src="${pd}/publishing/publishing-styles-AIC-template/js/custom.js" defer="defer"></script>
</body>
</html>