Linux驱动开发-01配置开发环境

一、配置网络环境

使用桥接网卡时 Ubuntu 就是使用一个真实的网卡 :开发板的网线也连接到这个真实的网卡上,这样 Windows 、 Ubuntu 、开发板就都可以用过这个网卡互通了。

  • NAT 网卡: Ubuntu 通过它上网,只要 Windows 能上网, Ubuntu 就能上网
  • 桥接网卡: Ubuntu 通过它跟开发板联通

 NAT网卡设置

 桥接网卡设置

Ubuntu、电脑、开发板三者之间必须可以ping通

这里作者的开发板和电脑都是直接接在路由器上,三者可以ping通

 二、下载BSP及配置工具链

要确保有以下两个东西

测试交叉编译工具链

//执行以下命令测试环境变量:
book@100ask:~$ echo $ARCH
arm
book@100ask:~$ echo $CROSS_COMPILE
arm-buildroot-linux-gnueabihf-
//确保输入的命令和下面的输出正确

/***********执行以下命令测试工具链***************/
book@100ask:~$ arm-buildroot-linux-gnueabihf-gcc -v

测试结果

 三、配置Windows开发环境

3.1 将Linux源码传输到Windows上

(1)压缩Linux源码

/*压缩Linux源码*/
book@100ask:~/100ask_imx6ull_mini-sdk$ tar cjf Linux-4.9.88.tar.bz2 Linux-4.9.88/

 

(2)使用FileZilla将压缩包传输到Windows上

(ens33就是NAT网卡的ip;密码是123456)

 (3)连接好之后进行移动

 (4)Windows上进行解压

Linux上是区分文件名和大小写的,但是Windows是不区分的

Windows上并不执行Linux上的一些链接文件,可能会出现以下的信息

3.2 使用Source Insight去阅读源码

 (1)为了方便阅读源码对Source Insight进行设置

 (2)建立工程文件

 同步文件这里就是同步函数、定义哪些,相当于建立了一个数据库,方便跳转

3.3 Source Insight使用技巧

  • 按住ctrl可以跳转到定义,alt+逗号(,)可以返回
  • Ctrl+/查找引用它的地方

 四、开发板挂载 Ubuntu 的NFS目录

 我们是通过NFS把Ubuntu下的NFS目录挂载到开发板的/mnt路径下

 进行挂载的命令

//挂载的命令(这里的ip是桥接网卡的ip)
root@ATK-IMX6U:~# mount -t nfs -o nolock,vers=3 192.168.5.11:/home/book/nfs_rootfs /mnt

这里的NFS的意思就是说:我们的开发板下的/mnt目录下建立新文件,Ubuntu的NFS目录下也可以马上看到,同理Ubuntu下新建也是一样的

 开发板(在开发板中创建一个1.txt)

root@ATK-IMX6U:~# ls /mnt
driver_projects
root@ATK-IMX6U:~# cd /mnt
root@ATK-IMX6U:/mnt# ls
driver_projects
root@ATK-IMX6U:/mnt# touch 1.txt
root@ATK-IMX6U:/mnt# ls
1.txt  driver_projects
root@ATK-IMX6U:/mnt#

 Ubuntu

 五、开发板挂的第一个应用程序

在Ubuntu中创建一个.c文件并运行它

book@100ask:~/nfs_rootfs$ ls
driver_projects  hello.c
book@100ask:~/nfs_rootfs$ cat hello.c 
#include <stdio.h>
/* 执行命令 : ./hello weidongshan
 * argc = 2
 * argv[0] = ./hello
 * argv[1] = weidongshan
 */
 int main(int argc, char **argv)
 {
    if (argc >= 2)
        printf("Hello, %s! n", argv[1]);
    else
        printf("Hello, world! n");
    return 0;
   }
book@100ask:~/nfs_rootfs$ gcc -o hello hello.c
book@100ask:~/nfs_rootfs$ ls
driver_projects  hello  hello.c
book@100ask:~/nfs_rootfs$ ./hello
Hello, world! n

 因为我们已经挂载了NFS目录,我们的开发板下也有这个.c文件,但是直接运行报错;

因为我们在Ubuntu上面是通过gcc来编译的,这里应该去使用交叉编译链去编译,才能在开发板上执行

 1.在Ubuntu上重新使用交叉编译链进行编译

arm-buildroot-linux-gnueabihf-gcc -o hello hello.c

 2.在开发板上运行

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/718799.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

图说SpringCloudStream消息驱动

SpringCloud Stream消息驱动实现原理 通过定义Binder绑定器作为中间层&#xff0c;实现了应用程序和消息中间件之间实现细节的隔离。通过向应用程序暴露统一的Channel通道&#xff0c;可以让应用程序不再需要考虑各种不同的消息中间件实现的兼容性问题。当需要升级消息中间件&a…

pytest配置文件配置并通过allure生成报告

之前已经学习了使用pytestrequests实现各种方式的调用和一些脚本的执行&#xff0c;今天来学习下如何使用pytest.ini配置文件来管理用例的执行以及如何使用allure生成测试报告。 1.pytest.ini文件配置 在项目目录下新建pytest.ini文件&#xff0c;然后进行配置&#xff0c;pyt…

QT实现多摄像头监控

工具使用方法&#xff1a; 1、在add camera后面输入对应摄像头的IP后&#xff0c;点击add会自动布局显示。 2、在del camera后选择一个对应IP后&#xff0c;点击del会自动删除对应摄像头的显示&#xff0c;且整体布局会自动调整。 工具使用场景&#xff1a; 测试摄像头的好坏。…

mac如何检测硬盘损坏 常用mac硬盘检测坏道工具推荐

mac有时候也出现一些问题&#xff0c;比如硬盘损坏。硬盘损坏会导致数据丢失、系统崩溃、性能下降等严重的后果&#xff0c;所以及时检测和修复硬盘损坏是非常必要的。那么&#xff0c;mac如何检测硬盘损坏呢&#xff1f;有哪些常用的mac硬盘检测坏道工具呢&#xff1f; 一、m…

[C++][数据结构][哈希表]详细讲解

目录 1.哈希概念2.哈希冲突3.哈希函数4.哈希冲突解决5.闭散列1.何时扩容&#xff1f;如何扩容&#xff1f;2.线性探测3.二次探测 6.开散列(哈希桶)1.概念2.开散列增容3.开散列思考只能存储key为整形的元素&#xff0c;其他类型怎么解决&#xff1f;除留余数法&#xff0c;最好模…

ROS学习记录:SLAM软件包Hector_Mapping

前言 了解和尝试使用Hector_Mapping软件包 一、搜索进入ROS Index 二、搜索hector_mapping 三、选择noetic的版本 四、进入Website 五、订阅的话题中&#xff0c;一个是scan话题&#xff0c;就是获取激光雷达数据的话题 六、另一个话题是syscommand话题&#xff0c;主要用来接…

【ai】初识pytorch

初识PyTorch 大神的例子运行: 【ai】openai-quickstart 配置pycharm工程 简单例子初识一下Pytorch 好像直接点击下载比较慢? 大神的代码 在这个例子中,首先定义一个线性模型,该模型有一个输入特征和一个输出特征。然后定义一个损失函数和一个优化器,接着生成一些简单的线性…

如何用优盘加密自己的电脑:人离后自动锁定

看电影的时候&#xff0c;看到有人展示&#xff0c;用优盘加密自己的电脑&#xff0c;人走开的时候拔下优盘&#xff0c;自动上锁。似乎很科幻&#xff0c;其实这样的软件非常多&#xff0c;不论是成品商业用的还是免费的&#xff0c;都非常多&#xff0c;很多版权管理比较强的…

wondershaper 一款限制 linux 服务器网卡级别的带宽工具

文章目录 一、关于奇迹整形器二、文档链接三、源码下载四、限流测试五、常见报错1. /usr/local/sbin/wondershaper: line 145: tc: command not found2. Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist: No URLs.. 一、关于奇迹整形…

HTML/CSS Xiaomi综合案例day 6.13-6.16

ok了家人们今天不做别的&#xff0c;今天浅做一个小米网站&#xff0c;话不多说看看怎么事 一.顶部 我们先看看代码 1&#xff0c;html 2&#xff0c;css代码 1.我们先消除浏览器自带的内外边距&#xff0c;添加一个总背景颜色为浅灰色&#xff0c;设置顶部盒子的大小&#x…

CentOS7的#!bash #!/bin/bash #!/bin/env bash #!/usr/bin/bash #!/usr/bin/env bash

bash脚本开头可写成 #!/bin/bash , #!/bin/env bash , #!/usr/bin/bash , #!/usr/bin/env bash #!/bin/bash , #!/usr/bin/bash#!/bin/env bash , #!/usr/bin/env bash CentOS7的 /bin 是 /usr/bin 的软链接, /sbin 是 /usr/sbin 的软链接, [root3050 ~]# ll /bin lrwxrwxrw…

IntelliJ IDEA 2024.1安装_idea2024.1版本激 活 码分享

一&#xff1a;IDEA官方下载 ①如题&#xff0c;先到IDEA官方下载&#xff0c;简简单单 ②IDEA官方&#xff1a;IntelliJ IDEA – the Leading Java and Kotlin IDE 二&#xff1a;获取脚本 https://www.yuque.com/fengye-cyk1s/dxii3c/orbl5ruhvm7m3s4g &#x1f31f;获取完…

C++ | Leetcode C++题解之第162题寻找峰值

题目&#xff1a; 题解&#xff1a; class Solution { public:int findPeakElement(vector<int>& nums) {int n nums.size();// 辅助函数&#xff0c;输入下标 i&#xff0c;返回一个二元组 (0/1, nums[i])// 方便处理 nums[-1] 以及 nums[n] 的边界情况auto get …

理解CA-IS3050G高速CAN收发器的CANH和CANL的电压

CA-IS3050G高速CAN收发器符合ISO 11898-2物理层标准。 1、CANH和CANL的电压之和为5V&#xff0c;下图是CA-IS3050G的高速CAN收发器参数&#xff0c;分析如下&#xff1a; 1&#xff09;、总线输出显性电压 2.75V < VCANH <4.5V&#xff0c;负载为60Ω&#xff0c;CANH…

【Linux】进程_8

文章目录 五、进程10. 进程等待阻塞等待和非阻塞等待 11. 进程程序替换 未完待续 五、进程 10. 进程等待 上一篇我们知道了 wait 和 waitpid 函数都有一个 status 参数&#xff0c;这个参数是什么呢&#xff1f;这个参数其实就是进程的返回结果&#xff0c;当子进程结束的时候…

【考研数学】如何保证进度不掉队?暑假强化保姆级规划

数一125学长前来解答&#xff01;一句话&#xff0c;跟对老师&#xff0c;抓基础&#xff0c;有计划的进行复习才是关键&#xff01; 数学基础非常重要&#xff0c;包括高等数学、线性代数和概率论等基础知识点。要确保对这些基础知识有扎实的掌握。 按照教材的顺序&#xff…

Go - 1.Go 语言安装

目录 一.引言 二.下载与安装 1.下载 PKG 2.安装 PKG 三.验证 一.引言 最近开始从头学习 Go 语言&#xff0c;趁着这个机会把学习当中遇到的坑进行整理。学习前首先下载 Go 的安装包。 二.下载与安装 1.下载 PKG 官网地址: All releases - The Go Programming Language …

如何实现element表格合并行?

前两天我一个朋友咨询我element表格合并行的问题,他研究了很久,已经开始怀疑是不是element UI出现了bug,然后跟我一阵沟通,最终解决了问题,他的问题在于他把事情想复杂了,接下来我们一起来看一下这个经典“案例”,很多人真的很有可能走入这个误区,当然老鸟就不用看了,…

centos7 xtrabackup mysql 基本测试(1)---虚拟机环境安装

centos7 xtrabackup mysql 基本测试&#xff08;1&#xff09;—虚拟机环境安装 win10 建立目录 G:\centos7_mini_1810_server_test\ 下载 centos7 安装文件 CentOS-7-x86_64-Minimal-1810.iso CentOS7_64_mini_1810_server_test G:\centos7_mini_1810_server_test 开…

期末模拟GGG--求逆序数

求逆序数 #include <stdio.h> # include <math.h>unsigned int reverse( unsigned int number );int main() {unsigned int n;scanf("%u", &n);printf("%u\n", reverse(n));return 0; } 函数实现&#xff1a; unsigned int reverse( unsi…