当前位置: 首页 > news >正文

嵌入式网络接口之MAC芯片与PHY芯片

目录

0. 参考文档

1.嵌入式网络接口简介

2.嵌入式网络硬件架构方案

2.1 SOC内未集成MAC芯片

2.2 SOC内集成MAC芯片

2.3 主流方案总结

2.3 参照实际网卡的说明

3.MII/RMII及MDIO接口

3.1 MII

3.2 RMII

3.3 MDIO


 

0. 参考文档

网卡构造:MAC与PHY的关系,GMAC介绍_学海无涯_come on的博客-CSDN博客对于上述三部分,并不一定都是独立的芯片,主要有以下几种情况CPU内部集成了MAC和PHY (难度较高)CPU内部集成MAC,PHY采用独立芯片 (主流方案)CPU不集成MAC和PHY,MAC和PHY采用独立芯片或者集成芯片 (高端采用)在软件上对网口的操作通常分为下面几步:为数据收发分配内存;初始化MAC寄存器;初始化PHY寄存器(通过MIIM);启动收发;_gmachttps://blog.csdn.net/chenhuanqiangnihao/article/details/128287341

【genius_platform软件平台开发】第九十八讲:嵌入式网络接口(MAC、PHY)_隨意的風的博客-CSDN博客15这16个寄存器的功能,16~31这16个寄存器由厂商自行实现。也就是说不管你用的哪个厂家的PHY芯片,其中0~15这16个寄存器是一模一样的。仅靠这16个寄存器是完全可以驱动起PHY芯片的,至少能保证基本的网络数据通信,因此Linux内核有通用PHY驱动,按道理来讲,不管你使用的哪个厂家的PHY芯片,都可以使用Linux的这个通用PHY驱动来验证网络工作是否正常。事实上在实际开发中可能会遇到一些其他的问题导致Linux内核的通用PHY驱动工作不正常,这个时候就需要驱动开发人员去调试了。https://blog.csdn.net/Windgs_YF/article/details/131262026

PHY芯片快速深度理解(持续更新中……)_daisy.skye的博客-CSDN博客物理层芯片称为PHY、数据链路层芯片称为MAC。可以看到PHY的数据是RJ45网络接口(网线口)穿过了的差分信号,而PHY作用就是将差分信号转为数字信号,这块内容不用深究,制造商都设计好了。那我们干什么呢?(主要是对phy芯片进行模式选择,比如工作速率,工作模式)为什么要熟悉RJ45网口上面说到针对phy芯片我们只要进行模式选择(下文会介绍使用mdio接口,通过寄存器控制)那模式选择后,如何查看是否有效呢?最简单直接的就是通过RJ45网口的指示灯查看。_phy芯片https://blog.csdn.net/qq_40715266/article/details/124095801

1.嵌入式网络接口简介

提起网络,我们一般想到的是“以太网卡”。网卡硬件分为两部分:1)数据链路层的MAC芯片;2)物理层的PHY芯片。

MAC位于OSI七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介质。MAC在发送数据的时候,事先判断是否可以发送数据,如果可以,给数据加上一些控制信息,再将数据以及控制信息以规定的格式封装成帧发送到物理层;在接收数据的时候,MAC只接收发送至本网卡的单播帧、组播帧和广播帧,其余的丢弃,再将帧重新组合成数据,并判断输入的数据是否发生传输错误,如果没有错误,则去掉控制信息发送至LLC层。

PHY位于OSI七层协议中的物理层。PHY在发送数据的时候,收到MAC过来的数据,然后把并行数据转化为串行流数据,按照物理层的编码规则把数据编码,再变为模拟信号送出去,收数据时的流程反之。

2.嵌入式网络硬件架构方案

大家都是通过看数据手册来判断一款SOC是否支持网络,如果一款芯片数据手册说自己支持网络,一般都是说的这款SOC内置MAC,MAC类似I2C控制器、SPI控制器一样的外设。

但是光有MAC还不能直接驱动网络,还需要另外一个芯片:PHY,因此对于内置MAC的SOC,其外部必须搭配一个PHY芯片。内部没有MAC的SOC芯片,就需要使用外置的MAC+PHY一体芯片了,这里就要牵扯出常见的两个嵌入式网络硬件方案了。

2.1 SOC内未集成MAC芯片

对于内部没有MAC的SOC芯片,可以使用外置 MAC+PHY一体的网络芯片来实现网络功能。比如三星linux开发板里面用的最多的DM9000,DM9000对SOC提供了一个SRAM接口,SOC会以SRAM的方式操作DM9000。

有些外置的网络芯片更强大,内部甚至集成了硬件TCP/IP协议栈,对外提供一个SPI接口,比如W5500。SOC通过SPI接口与W5500进行通信,由于W5500内置了硬件TCP/IP协议栈,因此SOC就不需要移植软件协议栈,直接通过SPI来操作W5500,简化了单片机联网方案。

这种方案的优点就是让不支持网络的SOC能够另辟蹊径,实现网络功能,但是缺点就是网络效率不高,因为一般芯片内置的MAC会有网络加速引擎,比如网络专用DMA,网络处理效率会很高。而且此类外置芯片网速都不快,基本就是10/100M。另外,相比PHY芯片而言,此类芯片的成本也比较高,可选择比较少。

SOC与外部MAC+PHY芯片的连接如下图所示:

d0f94c5612b34e7290e45cc64cf1354e.png

2.2 SOC内集成MAC芯片

我们一般说某个SOC支持网络,说的就是他内部集成网络MAC外设,此时我们还需要外接一个网络PHY芯片。目前几乎所有支持网络的SOC都是内置MAC外设,比如STM32F4/F7/H7系列、NXP的I.MX系列,内部集成网络MAC的优点如下:

1)内部MAC外设会有专用的加速模块,比如专用的DMA,加速网速数据的处理。

2)网速快,可以支持10/100/1000M网速。

3)外接PHY可选择性多,成本低。

内部的MAC外设会通过MII或者RMII接口来连接外部的PHY芯片,MII/RMII接口用来传输网络数据。另外主控需要配置或读取PHY芯片,也就是读写PHY的内部寄存器,所以还需要一个控制接口,叫做MDIO(也叫作SMI),MDIO很类似IIC,也是两根线,一根数据线叫做MDIO,一根时钟线叫做MDC。SOC内部MAC外设与外部PHY芯片的连接如下图所示:

24011a7599c54d548f7a6f10358ec1f3.png

2.3 主流方案总结

由于PHY包含大量模拟器件,而MAC是典型的数字电路,考虑到芯片面积及模拟/数字混合架构的原因,将MAC集成进SOC,PHY留在片外,这种结构是最常见的。

0df90fab3e4d426187e21b1d68d28e13.png

其中,MAC与PHY之间有两个重要的接口:1)MII总线接口,主要完成数据收发相关业务;2)MDIO总线接口(也叫作SMI),主要完成SOC对PHY芯片各寄存器的配置。

当PHY芯片发送数据时,接受MAC芯片从MII接口发送过来的数字信号,然后转换成模拟信号,通过MDI接口传输出去。

网络设备是通过网线连接起来的,插入网线的地方叫做RJ45座(见下图上),RJ45座要与PHY芯片连接在一起,但是中间还需要一个网络变压器(见下图下),其主要作用是1)增强信号。网线传输的距离很长,有时候需要送到100米甚至更远的地址,那么就会导致信号的流失,需要提前增强信号;2)隔离外部设备,增强芯片抗干扰能力。网线与内部芯片直接相连的话,电磁感应和静电也很容易导致芯片的损坏。所以就要使用网络变压器连接RJ45座。

0a7a208ff65d4729bd52042e44eb15f7.png

a7ef70d7786343e697f1afc89b08195c.png

同时,PHY芯片会引出两个引脚,连接到RJ45座的LED灯上,对LED灯进行控制,用来指示当前网络通信状态。RJ45 座子上一般有两个灯,一个橙色,一个绿色,绿色亮表示网络连接正常,黄色闪烁说明当前正在进行网络通信黄灯闪动频率越快表示网速越好。

2.3 参照实际网卡的说明

MAC和PHY分开的以太网卡 :

cc2e4fe5ce764939ba817215767d2ad7.png

MAC和PHY集成在一个芯片的网卡:

aee6b550002146bc89d8f9fa9d442b5f.png

 

上图中各部件为:①RJ-45接口、②Transformer(隔离变压器)、③PHY芯片、④MAC芯片、⑤EEPROM、⑥BOOTROM插槽、⑦WOL接头、⑧晶振、⑨电压转换芯片、⑩LED指示灯。

3.MII/RMII及MDIO接口

MAC与PHY接口支持四种类型:MII、RMII、GMII、RGMII。这四种类型都是从MII(Media Independent Interface)衍生出来的,RMII(Reduced MII)是精简版的MII,GMII(Gigabit MII)是支持千兆传输速率的MII,RGMII(Reduced GMII)是精简版的GMII。下面主要介绍MII和RMII。

3.1 MII

MII全称是Media Independent Interface,直译过来就是介质独立接口,它是IEEE-802.3定义的以太网标准接口,MII接口用于以太网MAC连接PHY芯片,连接示意图如下图所示:

b27ab95daf4d4e34a98a3d12f8d36be4.png

MII接口一共有16根信号线,含义如下:

  • TX_CLK:发送时钟,如果网速为100M的话时钟频率为25MHz,10M网速的话时钟频率为2.5MHz,此时钟由PHY产生并发送给MAC。
  • TX_EN:发送使能信号。
  • TX_ER:发送错误信号,高电平有效,表示TX_ER有效期内传输的数据无效。10Mpbs网速下TX_ER不起作用。
  • TXD[3:0]:发送数据信号线,一共4根。
  • RXD[3:0]:接收数据信号线,一共4根。
  • RX_CLK:接收时钟信号,如果网速为100M的话时钟频率为25MHz,10M网速的话时钟频率为2.5MHz,RX_CLK也是由PHY产生的。
  • RX_ER:接收错误信号,高电平有效,表示RX_ER有效期内传输的数据无效。10Mpbs网速下RX_ER不起作用。
  • RX_DV:接收数据有效,作用类似TX_EN。
  • CRS:载波侦听信号。
  • COL:冲突检测信号。

MII接口的缺点就是所需信号线太多,这还没有算MDIO和MDC这两根管理接口的数据线,因此MII接口使用已经越来越少了。

3.2 RMII

RMII全称是Reduced Media Independent Interface,翻译过来就是精简的介质独立接口,也就是MII接口的精简版本。RMII接口只需要7根数据线,相比MII直接减少了9根,极大的方便了板子布线,RMII接口连接PHY芯片的示意图如下图所示:

8ccad8e020014b88a0a3734561a59921.png

  • TX_EN:发送使能信号。
  • TXD[1:0]:发送数据信号线,一共2根。
  • RXD[1:0]:接收数据信号线,一共2根。
  • CRS_DV:相当于MII接口中的RX_DV和CRS这两个信号的混合。
  • REF_CLK:参考时钟,由外部时钟源提供, 频率为50MHz。这里与MII不同,MII的接收和发送时钟是独立分开的,而且都是由PHY芯片提供的。

3.3 MDIO

MDIO接口(也叫作SMI接口),全称是Management Data Input/Output,直译过来就是管理数据输入输出接口,是一个简单的两线串行接口,包括一根MDIO数据线和一根MDC时钟线。驱动程序可以通过MDIO和MDC这两根线访问任意PHY芯片的任意一个寄存器,总线框图如下图所示。

ed81ea3974e246f886997b91dd6f0fc5.png

MDIO的读写时序如下图所示,其含义是读/写某一PHY芯片(由PHYAD字段指定)中的某一寄存器(由REGAD字段指定):

afa2dfddf4be4a5780e5d7ae0d63045b.png

从上表可知,MDIO可读写的PHY地址(即图中的PHYAD字段)为5位,所以一个SOC最多管理2^5=32个PHY芯片(与MDIO总线框图相呼应)。MDIO可访问该PHY芯片(由PHYAD指定)中的寄存器地址(即图中的REGAD字段)也为5位,所以一个PHY芯片中最多有32个寄存器,其中寄存器0-15这16个寄存器各个公司都是一样的,后面16个寄存器则由不同厂家各自定义。

IEEE802.3协议英文原版中的 “22.2.4 Management functions”章节对PHY的前16个寄存器功能进行了规定,如下图所示:

ceb34bbbd90542fea915f4f0272256a4.png

 

 

 

相关文章:

嵌入式网络接口之MAC芯片与PHY芯片

目录 0. 参考文档 1.嵌入式网络接口简介 2.嵌入式网络硬件架构方案 2.1 SOC内未集成MAC芯片 2.2 SOC内集成MAC芯片 2.3 主流方案总结 2.3 参照实际网卡的说明 3.MII/RMII及MDIO接口 3.1 MII 3.2 RMII 3.3 MDIO 0. 参考文档 网卡构造:MAC与PHY的关系&…...

在华为云服务器上CentOS 7安装单机版Redis

https://redis.io/是官网地址。 点击右上角的Download。 可以进入https://redis.io/download/——Redis官网下载最新版的网址。 然后在https://redis.io/download/页面往下拉,点击下图超链接这里。 进入https://download.redis.io/releases/下载自己需要的安装…...

01_Bootstrap基础组件01

1 什么是 Bootstrap? Bootstrap,来自 Twitter,是目前很受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JavaScript 的,它简洁灵活,使 Web 开发更加快捷。它对 HTML、CSS 和 JavaScript 进行了封装,使它们…...

Java:OGNL对象图导航语言基本使用示例

OGNL是Object Graphic Navigation Language(对象图导航语言) 文档 https://commons.apache.org/proper/commons-ognl/language-guide.htmlhttps://github.com/orphan-oss/ognlhttps://ognl.orphan.software/developer-guide 引入依赖 <!-- https://mvnrepository.com/ar…...

中科院预警名单

2023年预警名单 (fenqubiao.com) 如果论文投稿到中国科学院预警期刊,可能会面临以下情况: 1. 预警期刊一般审稿周期长,容易出现迟迟不见回音的情况。 2. 这类期刊的学术质量参差不齐,接受论文的学术标准可能不严格。 3. 预警期刊发表论文的学术影响力比较有限,不容易为作者…...

Qt QCustomPlot介绍

介绍 主要介绍qcustomplot及其用法 最新版本:QCustomPlot Patch Release 2.1.1//November 6, 2022 下载:https://www.qcustomplot.com/index.php/download 官网:https://www.qcustomplot.com/index.php 简单使用 mainwindow.h /**************************************…...

什么是CORS(跨源资源共享)?如何解决前端中的CORS问题?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ CORS&#xff08;跨源资源共享&#xff09;⭐ 解决前端中的CORS问题的方法⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为…...

C 初级学习笔记(基础)

目录 1.预处理器指令 预定义宏 预处理器运算符 &#xff08;\&#xff09; 参数化的宏 头文件 .h 引用头文件操作 2.函数&#xff08;标识符&关键字&运算符&#xff09;存储类 函数参数 a. 标识符&关键字 b. 运算符&#xff08;算术、关系、逻辑、位、赋…...

Nodejs 相关知识

Nodejs是一个js运行环境&#xff0c;可以让js开发后端程序&#xff0c;实现几乎其他后端语言实现的所有功能&#xff0c;能够让js与其他后端语言平起平坐。 nodejs是基于v8引擎&#xff0c;v8是Google发布的开源js引擎&#xff0c;本身就是用于chrome浏览器的js解释部分&#…...

【vue+elementUI】输入框样式、选择器样式、树形选择器和下拉框样式修改

输入框样式、选择器样式和下拉框样式修改 1、输入框和选择器的样式修改&#xff1a;2、下拉弹框样式A. 选择器的下拉弹框样式修改B. 时间选择器的下拉弹框样式修改C. vue-treeselect树形下拉框样式 1、输入框和选择器的样式修改&#xff1a; 写在style中不能加scoped&#xff0…...

JavaScript - canvas - 放大镜

效果 示例 项目结构&#xff1a; 源码&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>放大镜</title><style type"text/css">div {width: 200px;height: 200px;display: inline-bl…...

PY32F003F18之输入捕获

输入捕获是定时器的功能之一&#xff0c;配合外部引脚&#xff0c;捕获脉宽时间或采集周期。 CPU中的定时器最基本的功能就是计数功能&#xff0c;其次是输入捕获(IC)&#xff0c;再次就是比较输出(OC)&#xff0c;还有就是使用引脚对外部时钟进行计数&#xff0c;触发信号捕捉…...

科目三基础四项(一)

​ 第一天&#xff0c;基础操作&#xff0c;仪表&#xff0c;方向&#xff0c;挡位 按照模块来 1、方向盘两手在两侧 ​ 编辑 转向时的角度&#xff0c;只用&#xff1a;向左540&#xff0c;向右180 向左打和向右打的角度要抵消&#xff0c;回正 掉头向左打满再回 注意…...

C语言入门Day_24 函数与指针

目录 前言&#xff1a; 1.指针和数组 2.函数和指针 3.易错点 4.思维导图 前言&#xff1a; 我们知道数组是用来存储多个数据的&#xff0c;以及我们可以用指针来指向一个变量。那么我们可以用指针来指向一个数组中的数据么&#xff1f; 指针除了可以像指向一个变量一样指…...

9月21日,每日信息差

今天是2023年9月21日&#xff0c;以下是为您准备的14条信息差 第一、谷歌高管已经广泛讨论了在2027年之前将博通作为人工智能芯片供应商的可能性 第二、清华系团队宣布研发出千亿参数“制药版ChatGPT”&#xff0c;覆盖药物立项、临床前研究、临床试验的各阶段&#xff0c;作…...

【FAQ】安防监控系统/视频云存储/监控平台EasyCVR服务器解释器出现变更该如何修改?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…...

Python手写人脸识别

Python手写人脸识别 引言 人脸识别是一种通过计算机视觉和模式识别技术来识别和验证人脸的技术。Python是一种广泛使用的编程语言,它提供了许多强大的库和工具来实现人脸识别。 在Python中,可以使用多种方法来实现人脸识别,包括基于特征提取的方法、基于深度学习的方法等…...

我的Qt作品(19)使用Qt写一个轻量级的视觉框架---第2章,仿海康VM实现思维导图拖拽方式的算法流程图

上次写的第1章介绍了主界面的设计。 https://blog.csdn.net/libaineu2004/article/details/130277151 本次是第2章&#xff0c;主要介绍流程图的运行。 目前市面上视觉框架很多&#xff0c;主要有列表图方式和流程图方式。海康VM的流程图方式比较受用户的喜爱和欢迎&#xf…...

仿写Timi记账

项目仿照Timi记账&#xff0c;本 APP 仅用作学习&#xff0c;如有侵权联系删除&#xff0c;项目地址&#xff1a;Timi记账 TIMI记账项目 简单功能对于tableview向上延伸部分采用了insertSubview形式&#xff1a;添加特殊字体添加.ttf文件获取plist文件数据 计算器功能说明简单逻…...

Java语言实现 比较两个Date日期的先后

在 Java 中&#xff0c;可以使用 Date 类的 compareTo() 方法或 before()、after() 方法来比较两个 Date 类型的日期的先后顺序。 使用 compareTo() 方法&#xff1a; Date date1 ...; // 第一个日期 Date date2 ...; // 第二个日期int result date1.compareTo(date2); if (…...

el-table 指定层级展开

先来看看页面默认全部展开时页面的显示效果&#xff1a;所有节点被展开&#xff0c;一眼望去杂乱无章&#xff01; 那么如何实现只展开指定的节点呢&#xff1f;最终效果如下&#xff1a;一眼看去很舒爽。 干货上代码&#xff1a; <el-table border v-if"refreshTabl…...

3288S Android11 适配红外遥控功能(超详细)

目录 一、rk3288平台红外遥控介绍二、原理图分析三、配置设备树并使能红外遥控功能四、打开红外打印功能&#xff0c;查看红外遥控的用户码和键值五、将查看到的红外遥控用户码和键值添加到设备树和.kl文件六、Android红外遥控.kl文件映射知识和使用添加新的.kl文件七、补充&am…...

Linux高性能服务器编程 学习笔记 第三章 TCP协议详解

与IP协议相比&#xff0c;TCP协议更靠近应用层&#xff0c;因此在应用程序中有更强的可操作性。一些重要的socket选项都和TCP协议相关。 本章从以下方面讨论TCP协议&#xff1a; 1.TCP头部信息。TCP头部信息出现在每个TCP报文段中&#xff0c;用于指定通信的源端端口号、目的端…...

【云原生】Kubernetes学习笔记

部署 在部署前强调几点 不要使用IPv6, 很多组件都不支持IPv6不要使用最新版本, 最新版本非常不稳定, 甚至可能存在无法运行的bug不要版本更新, 安装后就将版本固定下来, 新的版本可能会引入新功能, 或移除旧功能, 导致Kubernetes无法运行 Kubeadm介绍 K8s是由多个模块构成的…...

[Machine Learning][Part 2]监督学习的实现

目录 线性模型实现&#xff1a; cost function &#xff1a;代价函数或者损失函数——衡量模型优劣的一个指标 理论&#xff1a; 代码实现: 梯度下降——自动寻找最小的cost function 代价函数 梯度的概念&#xff1a; 梯度下降公式&#xff1a; 实现一个简单的监督学习…...

【计算机毕业设计】基于SpringBoot+Vue大学生心理健康管理系统的开发与实现

博主主页&#xff1a;一季春秋博主简介&#xff1a;专注Java技术领域和毕业设计项目实战、Java、微信小程序、安卓等技术开发&#xff0c;远程调试部署、代码讲解、文档指导、ppt制作等技术指导。主要内容&#xff1a;毕业设计(Java项目、小程序等)、简历模板、学习资料、面试题…...

下载水果FLStudio21.2软件安装更新教程

编曲是一种对音乐创作过程中涉及的元素和步骤进行组织和安排的艺术形式。对于想要学习编曲的人来说&#xff0c;以下是一些有用的建议&#xff1a; 1. 学习基础知识 在开始学习编曲之前&#xff0c;你需要掌握一些基础知识&#xff0c;例如音乐理论、乐器演奏和数字音乐制作技…...

人工智能机器学习-飞桨神经网络与深度学习

飞桨神经网络与深度学习-机器学习 目录 飞桨神经网络与深度学习-机器学习 1.机器学习概述 2.机器学习实践五要素 2.1.数据 2.2.模型 2.3.学习准则 2.4.优化算法 2.5.评估标准 3.实现简单的线性回归模型 3.1.数据集构建 3.2.模型构建 3.3.损失函数 3.4.模型优化 3…...

linux部署页面内容

/bin&#xff1a;该目录包含了常用的二进制可执行文件&#xff0c;如ls、cp、mv、rm等等。 /boot&#xff1a;该目录包含了启动Linux系统所需的文件&#xff0c;如内核文件和引导加载程序。 /dev&#xff1a;该目录包含了所有设备文件&#xff0c;如硬盘、光驱、鼠标、键盘等等…...

若依框架集成WebSocket带用户信息认证

一、WebSocket 基础知识 我们平时前后台请求用的最多的就是 HTTP/1.1协议&#xff0c;它有一个缺陷&#xff0c; 通信只能由客户端发起&#xff0c;如果想要不断获取服务器信息就要不断轮询发出请求&#xff0c;那么如果我们需要服务器状态变化的时候能够主动通知客户端就需要用…...

护卫神 安装wordpress/百度文库官网

目录 一、client系列 二、立即执行函数 三、scroll系列 3.1 scroll系列属性 3.2 页面被卷去的头部 3.3 案例练习 - 仿淘宝固定侧边栏 四、三大系列总结 一、client系列 client系列相关属性可以用来获取元素可视区的相关信息。通过client系列相关属性可以动态的得到元素…...

网站设计模板 英文翻译/响应式网站模板的优势

1、把html里的 codebase"./MyActiveX.ocx#version1,0" 暂时去掉&#xff0c;它会把*.doc下到临时目录并重新注册&#xff0c; 对调试产生影响。 2、用"Run"菜单中的 regiter activeX server注册。 3、编译运行&#xff0c;就可以断点了...

张店学校网站建设方案/seo1域名查询

1.Apache配置PHP个人认为首先要注意的是Apache和PHP的版本信息&#xff0c;不同的版本之间所要进行设置的参数是不同的&#xff0c;开始的盲目让自己受尽了苦头。 2.选择版本&#xff1a;Apache 2.2.14 PHP:5.2.5 具体细节不再赘述。。。3.验证Apache和PHP是否安装成功&#x…...

网站开发课程培训/小红书信息流广告

在http://freeglut.sourceforge.net/上寻找和下载freeglut最新版源代码&#xff08;我下载的是2.8.1&#xff09;解压缩&#xff0c;用vs2010打开“freeglut-2.8.1\VisualStudio\2010”目录下的“freeglut.sln”文件。生成解决方案&#xff0c;使用release&#xff0c;分别生成…...

怎样在网站图片做超级链接/女孩子做运营是不是压力很大

版权所有&#xff0c;转载请注明来自Mobile Developer (http://mdev.cc ) 作者 : SinFrancis 由于Android对于APN的网络API没有公开&#xff0c;不过我们可以阅读源代码&#xff0c;然后进行数据库操作&#xff0c;系统会自动监听数据库的变化&#xff0c;从而实现开启或者关…...

园区二学一做网站/企业营销咨询

1、百度git官网-下载最新版git 2、一路默认下一步安装 3、打开 git bash here 命令行 4、注册github账号&#xff08;用自己的邮箱就可以&#xff0c;不会英文可以用谷歌翻译&#xff09;注册成功后建立项目 5、根据项目起一个名字&#xff0c;建议勾选创建README 然后点击创建…...