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

c语言怎么做网站成都今天宣布的最新疫情消息

c语言怎么做网站,成都今天宣布的最新疫情消息,咸阳学校网站建设联系电话,WordPress博客自动更新文章一. 简介 本文学习 NXP官方Linux内核移植网络驱动的更改。 为了方便后面 Linux驱动的开发调试,所以,必须要把网络驱动调试好。 如果在做 Linux驱动开发时,写了一个 app或驱动,就需要将系统全部文件(即 uboot&#…

一.  简介

本文学习 NXP官方Linux内核移植网络驱动的更改。

为了方便后面 Linux驱动的开发调试,所以,必须要把网络驱动调试好。

如果在做 Linux驱动开发时,写了一个 app或驱动,就需要将系统全部文件(即 uboot,kernel,.dtb文件,filesystem文件系统)烧写到开发板上,这个烧写过程是很慢的,filesystem根文件系统是很大的。

网络调试的话,可以将所有文件存放在 ubuntu系统下,开发板系统启动后,将 ubuntu系统下的 某个文件目录挂载在开发板上。如果更新了某个程序或文件,可以将其直接拷贝到该文件目录下,开发板就可以直接运行调试。这样调试十分方便。

二.   Linux内核移植之网络驱动更改

在学习 uboot 移植的时候就已经说过了,正点原子开发板的网络和 NXP(恩智浦) 官方的网络硬件上 不同,网络 PHY 芯片由 KSZ8081 换为了 LAN8720A ,两个网络 PHY 芯片的复位 IO 也不同。 所以, NXP官方的 Linux 内核自带的网络驱动是驱动不起来 I.MX6U-ALPHA 开发板上的网络的,需要做修 改。

网络驱动的更改大体有五个方面更改。下面具体说明更改点。

1.  修改 LAN8720 的复位引脚驱动 与 网络时钟引脚驱动

(1) 删除 LAN8720(PHY芯片)的复位引脚做别的功能

结合IMX6ULL参考手册与网络硬件原理图可以知道,网络 ENET1 复位引脚 ENET1_RST 连接在 I.M6ULL SNVS_TAMPER7 这个引脚上。网络ENET2 的复位引脚 ENET2_RST 连接在 I.MX6ULL SNVS_TAMPER8 上。

这里我所使用的开发板是 nand-Flash版,对应的设备树配置文件为 imx6ull-alientek-nand.dts(之前添加ALPHA开发板添加的)。因为 imx6ull-alientek-nand.dts调用了imx6ull-14x14-evk.dts文件。

打开设备树文件 imx6ull-14x14-evk.dts,如下代码:

		pinctrl_spi4: spi4grp {fsl,pins = <MX6ULL_PAD_BOOT_MODE0__GPIO5_IO10        0x70a1MX6ULL_PAD_BOOT_MODE1__GPIO5_IO11        0x70a1/* MX6ULL_PAD_SNVS_TAMPER7__GPIO5_IO07      0x70a1 *//* MX6ULL_PAD_SNVS_TAMPER8__GPIO5_IO08      0x80000000 */>;};
5 行和 第 6 行,就是初始化 SNVS_TAMPER7 SNVS_TAMPER8 这两个 引脚的,这里是作为了 SPI4 IO ,这不是我们想要的,所以将第5行 第6行 代码 删除掉!

继续在 imx6ull-14x14-evk.dts 文件中,找到如下代码:

spi4 {compatible = "spi-gpio";
..................................../*	pinctrl-assert-gpios = <&gpio5 8 GPIO_ACTIVE_LOW>; */status = "okay";gpio-sck = <&gpio5 11 0>;gpio-mosi = <&gpio5 10 0>;/*	cs-gpios = <&gpio5 7 0>;  */num-chipselects = <1>;
...................................
}

如上所示:4 行,设置 GPIO5_IO08 SPI4 的一个功能引脚(我也不清楚具体作为什么功能用)GPIO5_IO08 就是 SNVS_TAMPER8 GPIO 功能引脚。

8 行,设置 GPIO5_IO07 作为 SPI4 的片选引脚,而 GPIO5_IO07 就是 SNVS_TAMPER7 GPIO 功能引脚。
现在我们需要 GPIO5_IO07 GPIO5_IO08 分别作为 ENET1 ENET2 的复位引脚,而不 SPI4 的功能引脚,因此,上面第 4 行与第 8行 处的代码删除掉!! 否则会干扰到网络复位引脚!

(2) 添加网络复位引脚,配置网络时钟

在 imx6ull-14x14-evk.dts 文件中找到名为 “ iomuxc_snvs ” 的节点 ,然后在 此节点下添加网络复位引脚信息,添加完成以后的 “ iomuxc_snvs ” 的节点内容如下:

&iomuxc_snvs {pinctrl-names = "default_snvs";pinctrl-0 = <&pinctrl_hog_2>;imx6ul-evk {
...............................    /*enet1 reset zuozhongkai*/pinctrl_enet1_reset: enet1resetgrp {fsl,pins = </* used for enet1 reset */MX6ULL_PAD_SNVS_TAMPER7__GPIO5_IO07 0x10B0 >;};/*enet2 reset zuozhongkai*/pinctrl_enet2_reset: enet2resetgrp {fsl,pins = </* used for enet2 reset */MX6ULL_PAD_SNVS_TAMPER8__GPIO5_IO08 0x10B0 >;};};
};

2.  修改 fec1 和 fec2 节点的 pinctrl-0 属性

在 imx6ull-14x14-evk.dts 文件中,找到名为 “ fec1 ” 和 “ fec2 ” 的这两个节点,修改其中的 “ pinctrl-0 ”属性值,修改以后如下所示:
&fec1 {pinctrl-names = "default";pinctrl-0 = <&pinctrl_enet1&pinctrl_enet1_reset>; phy-mode = "rmii";
............................phy-reset-gpios = <&gpio5 7 GPIO_ACTIVE_LOW>;phy-reset-duration = <200>;status = "okay";
};&fec2 {pinctrl-names = "default";pinctrl-0 = <&pinctrl_enet2&pinctrl_enet2_reset>;  
...........................phy-reset-gpios = <&gpio5 7 GPIO_ACTIVE_LOW>;phy-reset-duration = <200>;status = "okay";
};

3~4 行,修改后的 fec1 节点“ pinctrl-0 ”属性值。
14~15 行,修改后的 fec2 节点“ pinctrl-0 ”属性值。

3. 修改 LAN8720A 的 PHY 地址

4. 修改 fec_main.c 文件

5. 修改 smsc.c 文件

6. 配置 Linux 内核,使能 LAN8720 驱动

http://www.ds6.com.cn/news/76324.html

相关文章:

  • 用什么软件做网站模板网页设计作品
  • 营销网站制作网站seo设置是什么意思
  • 大连做企业网站哪家好百度广告联盟官网
  • 河北病例最新情况谷歌seo优化排名
  • 做电影网站 需要进那些群扬州百度seo公司
  • 上海网站建设与设计2023推广平台
  • 极品wordpress素材教程网站南宁市优化网站公司
  • 杭州 网站制作百度网络营销推广
  • 赣州信息港北京seo怎么优化
  • 微网站建设代理商西安seo王
  • 手机怎么自己做网站品牌营销服务
  • 北京做网站找哪家好链友之家
  • 网站建设投标邀请函外贸营销网站建站
  • 做区位分析的地图网站百度开户推广多少钱
  • 中国旅游网官网首页福建网络seo关键词优化教程
  • 厦门做企业网站太原做网站推广的公司
  • 广州制作网站平台网站关键词优化培训
  • 网站设计制作哪个公司的好经典营销案例100例
  • 广州建委网站免费创建网站的平台
  • wordpress中文论坛插件seo研究中心学员案例
  • 四川省城乡住房和城乡建设厅网站首页旺道seo软件技术
  • 目前网站在初级建设阶段 需要大量数据丰富怎么把广告发到各大平台
  • 常州网站设计如何在网上推广自己的产品
  • 湖寮做网站济南网站建设制作
  • 客户关系管理系统平台广州seo网站推广平台
  • wordpress全屏滚动网站营销策划机构
  • 广西住房和城乡建设厅网一键优化表格
  • 哈尔滨网站建设设计广告公司的业务范围
  • ps做网站首页效果特效域名注册 万网
  • 25转行做网站运营兰州网络推广公司哪家好