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

嵌入式 - 内核驱动1 - 配置linux驱动

一. linux组成

1. bootloader

        一个裸机程序,为kernel启动准备环境并引导 kernel 启动

  • 初始化CPU(工作模式)
  • 初始化异常向量表
  • 关看门狗
  • 初始化时钟
  • 关中断
  • 关闭Cache (D-Cache必须关闭)
  • 关MMU
  • 初始化内存
  • 初始化相关设备(串口、emmc、nandflash、网口)
  • 集成相关的协议
  • 搬移内核到内存 (向内核传参---根文件系统类型/位置/ 终端及相关参数)

启动内核后bootloader不在控制CPU,CPU的控制权转交给内个kernel

2. kernel

  • 进程管理 IPC
  • 内存管理 MM
  • 文件管理
  • 网络管理
  • 设备管理

之后加载(挂载)根文件系统
init ->设置环境变量/启动相关服务 -> shell -> userapp

3. rootfs

        文件系统—操作系统启动后第一个挂载的文件系统,是一堆文件的集合
配置文件      =>       库文件       =>       启动脚本       =>        命令(系统程序)        =>        用户程序

二、交叉编译准备

1. tftp

1. 概念

        tftp是基于TCP/IP网络协议的一个应用层协议,主要用来实现简单文本的传输,在嵌入式开发中,一般用于开发板和电脑间文件的传输。
        比如开发板需要内核镜像文件,可以使用tftp从服务器下载,并在开发板中运行。

2. 配置

1. 下载tftp-hpa 客户端软件
sudo apt-get install tftpd-hpa tftp
2. 配置文件
sudo vim /etc/default/tftpd-hpa
--secure                安全模式
-l                           独立性
-c                          允许创建文件

3. 创建管理目录路径
mkdir /home/linux/tftpboot                                    //创建tftp管理目录
chmod 0777 /home/linux/tftpboot                         //为tftp管理目录增加权限
4. 重启服务器
sudo service tftpd-hpa restart

2. nfs

1. 概念

        nfs是基于网络的一种分布式文件系统协议,允许主机利用网络来实现目录的挂载。
        在嵌入式开发中,通常将开发板的文件系统挂载到Ubuntu的指定目录下,形成共享文件,这样在Ubuntu下编写软件,编译软件,将可执行程序放到共享目录下,开发板即可拿到代码,并执行代码。
        有了nfs,就不需要手动拷贝代码到开发板中,提高开发效率。

2. 配置

1. 下载tftp-hpa 客户端软件
sudo apt-get install nfs-kernel-server
2. 配置文件
sudo vim /etc/exports

/home/linux/nfs/rootfs                            允许客户端挂载的服务器目录路径
*                                                             允许所有客户端挂载
rw                                                          允许客户端读写
sync                                                       客户端读写后,服务器同步写入磁盘
no_subtree_check                                 无需检测子目录权限
no_root_squash                                    保留root权限
3. 创建共享目录路径
sudo mkdir -p /home/linux/nfs/rootfs
sudo chmod 0777 /home/linux/nfs
sudo chmod 0777 /home/linux/nfs/rootfs
4. 修改版本信息
sudo vim /etc/default/nfs-kernel-server

5. 重启虚拟机后重启 nfs 服务
sudo service nfs-kernel-server restart

三、网络配置

1. 双网卡网络

        双网卡网络实现Ubuntu既能通过一个网卡与开发板连接,实现tftp及nfs服务,与开发板通信
又能通过apt-get工具下载软件,ping 通baidu,实现上网功能        

2. 网络模式

1. 桥接模式

        Ubuntu虚拟机通过桥接模式以192.168.1.100作为IP地址来操作网卡
Windows
系统则通过 192.168.1.200作为IP地址操作网卡
        两个IP地址均是存在的,所以Ubuntu可以作为独立的IP地址来进行 网络操作。
该模式主要功能及局限性为:
        作为服务器时必须选择桥接模式,因为服务器必须有真实IP地址,这样才能在网络中被找到。
        Ubuntu与Windows作为独立的IP地址来上网,Ubuntu网络是否正常与Windows没有关系,两者网络连接状态是独立的。
       

2. NET模式

        Ubuntu虚拟机通过NAT模式工作时,Windows会认为Ubuntu系统是工作在其上的一款软件,因此会为Ubuntu系统虚拟一个不存在的网卡,即192.168.XX.XX(IP地址可以通过软件配置)
如果Windows能够正常上网,那么Ubuntu
一定也是能够上网的。
该模式的主要功能及局限性为:
        上网方式简单,Windows有网的情况下,Ubuntu想要上网,配置为NAT模式最简单快捷。
        NAT模式因为Ubuntu地址是虚拟IP地址,所以不能作为服务器IP地址,在网络中也是无法被找到的。
        如果只是想Ubuntu上网,而不需要作为服务器被网络终端访问,推荐配置为NAT模式。

3. 配置

不配置成双网卡模式时实现桥接和NET切换

1. 设置

        虚拟机        =>        设置
选择网络连接

2. 编辑网络

        编辑        =>        虚拟网络编辑器
选择桥接网络:上网                --        WI-FI
连接板子        --        PCIe

3. 修改网络配置文件

sudo vim /etc/network/interfaces

4. 重启ubutu

sudo shutdown -r now

5. 测试网络

1. 查看网卡信息

ifconfig

2. 能否ping 通 baidu

ping www.baidu.com

http://www.dtcms.com/a/406417.html

相关文章:

  • 工作中学习自己的Qt知识误区-Version3
  • C#连接达梦(DM)数据库
  • 服务器独立显卡可以亮机但进不了系统怎么办
  • 超高密度2kW GaN基低压电机驱动器的设计
  • 「日拱一码」100 机器学习辅助定向进化MLDE
  • C++项目:仿muduo库高并发服务器------EventLoop模块的设计
  • 电子商务网站开发综合实训报告h5页面制作工具包括
  • 全栈信创+AI大模型:百分点科技BD-OS重塑数据治理基座
  • 时隔一天第二阶段他来了 html!!!!!!!!!!!
  • [创业之路-596]:半导体生产中所需要光源的上下游产业链
  • spring-ai简单示例
  • sqlsugar sqlite
  • IP 授权管理标识:守护 IP 价值,解锁商业新可能
  • 深度学习学习路线图:从MNIST到MobileNetV4,从理论到实践的完整指南——基础理论与经典模型实践
  • C++项目:仿muduo库高并发服务器-------poller模块
  • 建设项目审批后公示在哪个网站国内重大新闻2022
  • 联雅网站建设公司谷城网站定制
  • Rust语言入门难,难在哪?所有权、借用检查器、生命周期和泛型介绍
  • 告别轮询!WebSocket 实战宝典:构建高效实时应用的完整解决方案
  • 【rust】: use of unstable library feature ‘os_str_display‘
  • seo如何根据网站数据做报表视频号推广方法
  • 政务网站队伍建设情况wordpress主题更改
  • PostIn入门到实战(3) - 如何快速设计并分享接口文档
  • Golang学习笔记: 常用标准库
  • 华为OD最新机试题A卷双机位-增强的strstr-2025年
  • SpringBoot+Vue学生选课管理系统
  • Golang语言基础篇007_结构体详解
  • 跨周期共振效应在ETF网格参数适配中的应用技巧
  • 济南网站开发招聘有赞商城官网登录
  • 湘潭网站设计外包公司定制v软件下载