OPENWRT MT7620 移植加开发

本文档记录了OpenWRT MT7620平台的移植和开发过程,包括从获取源码、安装编译工具到配置编译选项的详细步骤。重点介绍了如何启用LuCI界面、支持中文和各种文件系统,以及编译时的注意事项,如使用普通用户权限编译,避免使用`make dirclean`。此外,还提到了烧录固件的方法和解决长文件名导致的问题。
摘要由CSDN通过智能技术生成

以记录为主。内容多为从其他高手处借借鉴面来。多为方面自已以后查询。


首先从网上下载代码。

svn co svn://svn.openwrt.org/openwrt/trunk


下载好代码以后,开始下载一此编译时需要的工具。

sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip zip unrar p7zip p7zip-rar p7zip-full sharutils subversion libncurses5-dev ncurses-term zlib1g-dev gawk git-core libssl-dev


下载好工具以后,就开始编译 代码了。

首先更新feeds目录下面的东西。


在/trunk 路径下执行下面命令:

./scripts/feeds update -a

./scripts/feeds install -a


Feeds是OpenWRT环境所需要的软件包套件.比较重要的feeds有:

pacakges’:一些额外的基础路由器特性软件

‘LuCI’:OpenWRT默认的GUI

‘Xwrt’:另一种可选的GUI界面


注意了。编译openwrt的时候,最好用 普通用户权限编译。否则后面会有蛋疼的麻烦。

另外,make dirclean 慎用。

我用过之后,再编译,就会报一些权限上面的蛋疼错误。本人没有细究,chmod 777 编译的。

蛋疼的一逼。


执行完上面命令以后,就可以编译了。

首先make menuconfig 这个跟linux内核的功能一毛一样。就是配置一些功能.

//列一些常用功能 及编译时需要选择的一些选项。

Target System--->Ralink RT288x/RT3xxx

Sbutarget --->MT7620 base board

Target profile --->xiaomi Miwifi Mini


选择LuCI 配置(web网页管理程序): 
LuCI  ---> 1. Collections  --->  luci                                         启用LuCI 

LuCI  ---> 2. Modules  --->  Translations  --->Chinese (zh-cn)             支持中文

 LuCI  ---> 3. Applications  ---> lu

MT7620A是一款嵌入式芯片,支持PCIe接口,因此可以使用PCIe扩展板来增更多的外设。下面是关于OpenWrt MT7620A PCIe驱动程序的详细分析: 1. 驱动文件 MT7620A的PCIe驱动程序位于OpenWrt的内核源代码中,路径为:`/target/linux/ramips/mt7620a/`,其中包含了以下文件: - pcie.c - pcie.h - pcie-mediatek.c - pcie-mt7620.c - pcie.c 其中,pcie-mediatek.c和pcie-mt7620.c是MT7620A PCIe驱动程序的主要实现文件。 2. 驱动框架 MT7620A PCIe驱动程序的框架主要包括以下几个部分: - PCIe控制器初始化:在pcie-mt7620.c中实现。 - PCIe PHY初始化:在pcie-mediatek.c中实现。 - PCIe端口初始化:在pcie-mt7620.c中实现。 - PCIe设备驱动:在pcie.c中实现。 3. 驱动程序分析 在MT7620A PCIe驱动程序的实现中,pcie-mt7620.c主要负责PCIe控制器的初始化和端口的初始化,而pcie-mediatek.c则负责PCIe PHY的初始化。以下是MT7620A PCIe驱动程序的详细分析: - pcie-mt7620.c 在pcie-mt7620.c中,主要实现了mt7620_pcie_init()函数,用于初始化PCIe控制器和PCIe端口。在该函数中,首先进行了PCIe控制器的硬件初始化,然后进行PCIe端口的初始化。 PCIe控制器的硬件初始化包括设置PCIe控制器的寄存器和使能相关时钟。PCIe端口的初始化包括设置PCIe端口的寄存器和使能PCIe端口。 - pcie-mediatek.c 在pcie-mediatek.c中,主要实现了mtk_pcie_phy_init()函数,用于初始化PCIe PHY。在该函数中,首先进行了PHY的硬件初始化,然后进行了PHY的软件初始化。 PHY的硬件初始化包括设置PHY的寄存器和使能PHY相关时钟。PHY的软件初始化包括设置PHY的参数和使能PHY。 - pcie.c 在pcie.c中,主要实现了PCIe设备驱动程序。PCIe设备驱动程序可以通过PCIe总线与CPU相连接,用于管理和控制PCIe设备。PCIe设备驱动程序可以使用标准Linux设备驱动程序接口(如file_operations、ioctl等)来与用户空间进行交互。 4. 总结 以上是关于OpenWrt MT7620A PCIe驱动程序的详细分析。MT7620A PCIe驱动程序的实现主要涉及PCIe控制器的初始化、PCIe PHY的初始化、PCIe端口的初始化和PCIe设备驱动程序的实现等方面。如果你想更深入地了解MT7620A PCIe驱动程序的实现,可以阅读OpenWrt内核源代码中相关的文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值