热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

RT3070STA驱动程序编译步骤

说明本文内容测试时的编译环境开发平台:Ubuntu18.04(VMWare15.51)目标平台:Hi3518EV200目标Linux版本
说明

本文内容测试时的编译环境

开发平台:Ubuntu 18.04(VMWare15.51)

目标平台:Hi3518EV200

目标Linux版本:linux-3.4.35

交叉编译工具链:arm-hisiv300-linux-

本文使用的驱动适合多个网卡型号,我只编译了其中RT3070的网卡驱动。

注意:生成的ko模块未在具体硬件平台上验证,本文只是从编译流程上进行记录。

该驱动的编译过程和配置流程和MT7601U差不多,有感兴趣的可以参考MT7601U-STA驱动程序编译步骤。

〇、开始之前

在开始之前,你需要做出以下准备:

(1)已经建立了hi3518的交叉编译环境。 这一步骤可以参考我做的记录博文,详见【参考】部分第1项。

(2)已经准备好了一份linux内核源码,或者linux下编译需要使用的资源文件。 linux源码的获取可以在其官方网站上得到,下载地址详见【参考】部分的第2项。

(3)已经准备好了RT3070驱动程序源码,我们需要交叉编译得到在嵌入式Linux上运行的ko模块文件,驱动程序源码可从本文末的【原始驱动程序下载】部分得到。

一、Makefile文件的修改

添加目标平台编译配置信息:


修改平台增加平台配置信息

修改编译选项:


修改编译选项

二、修改config.mk文件

./os/linux/config.mk文件中针对选中平台的编译添加编译配置,在末尾追加如下配置代码:

增加编译选项

ifeq ($(PLATFORM),hi3518)
EXTRA_CFLAGS := $(WFLAGS) -I$(RT28xx_DIR)/include -Wno-error=implicit-function-declaration
export EXTRA_CFLAGS
endif

在文件开头修改对wpa_supplicant的支持(可选):


修改wpa_supplicant支持选项

三、修改Makefile.6.util文件

根据目标内核版本的不同,需要修改 Makefile.4.util(针对Linux 2.4) 或者 Makefile.6.util(针对Linux 2.6) 文件中的错误。

本文中,在 ./os/linux/Makefile.6.util 文件内,修改所有rt_rbus_pci_util.ort_rbus_pci_drv.o,这样的修改共有3处:


修改Makefile.6.util

四、在顶层目录下执行make

编译过程中的警告可以忽略;最后“cp: cannot create regular file ‘/tftpboot’: Permission denied
”的警告可以忽略,只要生成的3个ko文件存在即可。编译后使用file命令验证生成的ko模块:

验证ko文件

原始驱动程序下载

[2011_0719_RT3070_RT8070_RT3370_RT5370_RT5372_RT2070_Linux_STA_V2.5.0.3_DPO.tar.bz2]

百度网盘链接:https://pan.baidu.com/s/1lwQJXWsRRXrXGm64A9TU0w

提取码:6did

参考

1.【燕卫博】从零开始进行Hi3518_SDK安装、环境搭建和Linux内核编译,并生成可供烧写的uImage

2.Linux内核源码下载地址

————2020-1-28@燕卫博————


推荐阅读
  • 掌握DSP必备的56个核心问题,我已经将其收藏以备不时之需! ... [详细]
  • PJSIP 编译与开发指南:深入解析 PJSIP 库的应用与优化
    PJSIP 编译与开发指南:深入解析 PJSIP 库的应用与优化 ... [详细]
  • Android开发常见问题汇总(含Gradle解决方案)第二篇
    本文继续深入探讨Android开发中常见的问题及其解决方案,特别聚焦于Gradle相关的挑战。通过详细分析和实例演示,帮助开发者高效解决构建过程中的各种难题,提升开发效率和项目稳定性。 ... [详细]
  • 在Linux环境下编译安装Heartbeat时,常遇到依赖库缺失的问题。为确保顺利安装,建议预先通过yum安装必要的开发库,如glib2-devel、libtool-ltdl-devel、net-snmp-devel、bzip2-devel和ncurses-devel等。这些库是编译过程中不可或缺的组件,能够有效避免编译错误,确保Heartbeat的稳定运行。 ... [详细]
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
  • 对于以压缩包形式发布的软件,其目录中通常包含一个配置脚本 `configure`。该脚本的主要功能是确定编译所需的各项参数,如头文件的位置和链接库的路径,并生成相应的 `Makefile` 以供编译使用。通过运行此脚本,开发者可以确保软件在不同环境下的正确编译与安装。此外,该脚本还能够检测系统依赖项,进一步提高编译过程的可靠性和兼容性。 ... [详细]
  • Linux 信号处理全面解析(第六篇)
    本文深入探讨了信号及其来源。信号本质上是对中断机制的软件层面模拟,从原理上看,进程接收到信号与处理器接收到中断请求类似。信号具有异步特性,能够在进程执行过程中随时触发,从而中断当前操作并执行相应的处理程序。文章详细分析了信号的生成、传递和处理机制,并讨论了常见的信号类型及其应用场景。此外,还介绍了如何在 Linux 系统中使用信号进行进程间通信和错误处理,为开发者提供了实用的技术指导。 ... [详细]
  • 在Linux系统中,目录结构遵循文件系统层次标准(FHS),确保了系统的组织性和可维护性。其中,`/bin`目录是FHS要求必须存在的目录之一,主要存放了在单用户维护模式下仍可执行的基本命令和工具。这些命令不仅对root用户可用,普通用户也能使用,以确保系统在最小化运行状态下仍能进行基本的操作和管理。 ... [详细]
  • 深入解析Gradle中的Project核心组件
    在Gradle构建系统中,`Project` 是一个核心组件,扮演着至关重要的角色。通过使用 `./gradlew projects` 命令,可以清晰地列出当前项目结构中包含的所有子项目,这有助于开发者更好地理解和管理复杂的多模块项目。此外,`Project` 对象还提供了丰富的配置选项和生命周期管理功能,使得构建过程更加灵活高效。 ... [详细]
  • 在操作系统中,阻塞状态与挂起状态有着显著的区别。阻塞状态通常是指进程因等待某一事件(如I/O操作完成)而暂时停止执行,而挂起状态则是指进程被系统暂时移出内存,以释放资源或降低系统负载。此外,本文还深入分析了`sleep()`函数的实现机制,探讨了其在不同操作系统中的具体实现方式及其对进程调度的影响。通过这些分析,读者可以更好地理解操作系统如何管理进程的不同状态以及`sleep()`函数在其中的作用。 ... [详细]
  • 本文探讨了将PEBuilder转换为DIBooter.sh的方法,重点介绍了如何将DI工具集成到启动层,实现离线镜像引导安装。通过使用DD命令替代传统的grub-install工具,实现了GRUB的离线安装。此外,还详细解析了bootice工具的工作原理及其在该过程中的应用,确保系统在无网络环境下也能顺利引导和安装。 ... [详细]
  • Linux学习精华:程序管理、终端种类与命令帮助获取方法综述 ... [详细]
  • 深入RTOS实践,面对原子操作提问竟感困惑
    在实时操作系统(RTOS)的实践中,尽管已经积累了丰富的经验,但在面对原子操作的具体问题时,仍感到困惑。本文将深入探讨RTOS中的原子操作机制,分析其在多任务环境下的重要性和实现方式,并结合实际案例解析常见的问题及解决方案,帮助读者更好地理解和应用这一关键技术。 ... [详细]
  • 手机上编写和运行PHP代码的最佳软件推荐 ... [详细]
  • 利用PaddleSharp模块在C#中实现图像文字识别功能测试
    PaddleSharp 是 PaddleInferenceCAPI 的 C# 封装库,适用于 Windows (x64)、NVIDIA GPU 和 Linux (Ubuntu 20.04) 等平台。本文详细介绍了如何使用 PaddleSharp 在 C# 环境中实现图像文字识别功能,并进行了全面的功能测试,验证了其在多种硬件配置下的稳定性和准确性。 ... [详细]
author-avatar
吉祥二宝
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有