IMX6ULLPRO交叉编译第一个APP和第一个led驱动

news2024/11/17 1:33:32

目录

配置交叉编译工具链

永久生效

测试交叉编译工具链  

第一个交叉编译程序 

开发板运行

LED第一个驱动

开发板下操作

执行测试程序  


配置交叉编译工具链

交叉编译工具链用来在 Ubuntu 主机上编译应用程序,而这些应用程序是在
ARM 等其他平台上运行。
设置交叉编译工具主要是设置 PATH ARCH CROSS_COMPILE 三个环境变
量,下面介绍具体设置方法。
在本文档中,源码、交叉编译工具链都是存放于 /home/book 目录下;如果 你的目录不一样,请自行修改本节所讲述的命令。

久生效

如需永久修改,请修改用户配置文件:
vim ~/.bashrc
在行尾添加或修改,加上下面几行 ( 请把第 3 4 行合并为一行,有些 PDF 具无法正确复制甚至丢失“ - ”符号,请仔细对比 )
export ARCH=arm
export CROSS_COMPILE=arm-buildroot-linux-gnueabihf-
export PATH=$PATH:/home/chl/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin
设置完毕后,要执行
source ~/.bashrc
命令使其生效,并通过
arm-buildroot-linux-gnueabihf-gcc -v
命令来验证是否配置成功:

以上操作是设置 IMX6ULL Pro 版工具链的过程。

测试交叉编译工具链  

echo $ARCH

echo $CROSS_COMPILE

 执行以下命令测试工具链,结果见后图 2.17

arm-buildroot-linux-gnueabihf-gcc -v

第一个交叉编译程序 

git clone https://e.coding.net/weidongshan/01_all_series_quickstart.git
cd 01_all_series_quickstart\04_嵌入式 Linux 应用开发基础知识\source\01_hello
arm-buildroot-linux-gnueabihf-gcc -o hello hello.c
cp hello /home/book/nfs_rootfs

开发板运行

mount -t nfs -o nolock,vers=3 192.168.5.11:/home/book/nfs_rootfs/ /mnt
cp /mnt/hello  . 
./hello 
file hello //查看文件类型

LED第一个驱动

注意:编译驱动时,要先编译内核,内核在IMX6ULLPRO单独编译kernel+dtb内核模块以及uboot_陈学弟的博客-CSDN博客y

led 驱动在 GIT 仓库里,由于前面已经克隆了这边就不需要重复了
目录位置如下:
01_all_series_quickstart/ 05_ 嵌入式 Linux 驱动开发基础知识 / source/02_led_drv/02_led_drv_for_boards/100ask_imx6ull_src_bin
首 先 , 进 入 100ask_imx6ull_src_bin 目 录 , 修 改 Makefile 文 件
KERN_DIR ”为自己的内核所在路径。如图 5.7 红框所示,如果你的内核源码
不在此目录则根据你的实际情况进行修改:

由于我的路径不一样所以我进行了修改

 

修改后执行下面的指令

make clean

make 

 编译完成后会生成 100ask_led.ko  ledtest 两个文件

此时,把这两个文件拷贝到 Ubuntu nfs 目录下备用:
cp 100ask_led.ko ledtest /home/book/nfs_rootfs //这里根据的自己的路径来安排 

开发板下操作

注意开发板要和Ubantu能够ping通

 mount -t nfs -o nolock,vers=3 192.168.5.11:/home/book/nfs_rootfs /mnt
cp /mnt/100ask_led.ko ./
cp /mnt/ledtest ./
安装驱动模块
insmod 100ask_led.ko
insmod 100ask_led.ko
安装完成后可以执行 lsmod 命令来查看是否安装成功,如图 5.9 所示:

执行测试程序  

驱动模块安装成功后,就可以使用测试程序来控制 led 灯的状态,如图 5.12
所示,操作 led 灯时可同时观察开发板串口旁的灯是否有亮灭的变化。
[root@100ask:~]# chmod +x ./ledtest
[root@100ask:~]# ./ledtest
Usage: ./ledtest <dev> <on | off>
[root@100ask:~]# ./ledtest /dev/100ask_led0 on //打开 led0 灯
[root@100ask:~]# ./ledtest /dev/100ask_led0 off //关闭 led0 灯

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GPT对SaaS领域有什么影响?

GPT火了&#xff0c;Chat GPT真的火了。 突然之间&#xff0c;所有人都在讨论AI&#xff0c;最初的访客是程序员、工程师、AI从业者&#xff0c;从早高峰写字楼电梯里讨论声&#xff0c;到村里大爷们的饭后谈资&#xff0c;路过的狗子都要和它讨论两句GPT的程度。 革命的前夜…

图像配准(匹配)与变化检测

文章目录 简介A Survey on Deep Learning-Based Change Detection from High-Resolution Remote Sensing Images 2022变化检测的基本框架基于神经网络的变化检测特征抽取变化检测的粒度场景级的变化检测&#xff08;SLCD&#xff09;目标级别的变化检测 Deep Learning-Based Ch…

全志v851s uart3 设置成普通串口收发

本文转载自&#xff1a;https://bbs.aw-ol.com/topic/3281/ 由于UART0 被设定为系统dubug 输出&#xff08;简单来说就是将ttyS0 设定为console&#xff09;&#xff0c;所以使用UART3 作为普通的串口&#xff0c;进行与别的设备通信。 1. 查看硬件电路图SCH_Schematic1_2022…

安全防御 --- APT、密码学

APT 深度包检测技术&#xff1a;将应用层内容展开进行分析&#xff0c;根据不同的设定从而做出不同的安全产品。 深度流检测技术&#xff1a;与APS画像类似。会记录正常流量行为&#xff0c;也会将某些应用的行为画像描述出来。也可将加密流量进行判断&#xff0c;并执行相应措…

揭秘移动云大会展区前沿科技

2023年4月25日-26日 我们苏州金鸡湖国际会议中心见&#xff01; 1场重磅主论坛、10场分论坛、2600㎡展区 数字中国新未来 尽在2023移动云大会 2023移动云大会设有中国移动和合作伙伴两大展区&#xff0c;联合40余家优质合作伙伴&#xff0c;全方位展示移动云在自主能力、行…

实验05:算法设计策略的比较与选择

1.实验目的&#xff1a; 比较同一问题&#xff0c;采用不同策略设计不同算法&#xff0c;分析和比较算法的性能。 2.实验内容&#xff1a; 自学第10章的10.1.1至10.1.3, 总结分析编程实现简单算法、分治法和动态规划算法的理论复杂度&#xff0c;编程实现这些算法。 3.实验…

C语言复习之顺序表(十五)

&#x1f4d6;作者介绍&#xff1a;22级树莓人&#xff08;计算机专业&#xff09;&#xff0c;热爱编程&#xff1c;目前在c阶段>——目标C、Windows&#xff0c;MySQL&#xff0c;Qt&#xff0c;数据结构与算法&#xff0c;Linux&#xff0c;多线程&#xff0c;会持续分享…

docker容器内的应用利用k8s configmap做配置中心

ConfigMap 能带来什么好处&#xff1f; 传统的应用服务都有自己的配置文件&#xff0c;各自配置文件存储在服务所在节点。如果配置出现变更&#xff0c;就需要对应节点的配置文件。Kubernetes 利用了 Volume 功能&#xff0c;完整设计了一套配置中心&#xff0c;其核心对象就是…

基于Java+Spring+vue+element实现旅游信息管理平台系统

基于JavaSpringvueelement实现旅游信息管理平台系统 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 文…

基于模型预测(MPC)的四轮转向车辆轨迹规划(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 在轨迹跟踪应用领域&#xff0c;通常 MPC 建模可根据机器人的控制方式选择基于运动学运动状态方程建模或者基于动力学运动状态…

深入探讨车载CAN协议的工作原理和应用场景

CAN概述 CAN&#xff08;Controller Area Network&#xff09;总线协议是一种数据通信协议&#xff0c;最初是由Bosch公司开发&#xff0c;用于汽车领域中的内部通讯。 CAN总线协议是一种串行通信协议&#xff0c;支持多主机和多从机之间的通讯&#xff0c;可以在不同的控制单…

典型的高可用设计(一):MinIO

为了更好的了解高可用设计&#xff0c;将各类常用服务关于高可用的设计原理汇总到一起&#xff0c;通过横向对比的方式去发现这些典型设计的共同之处和差异点。 一、部署方式 MinIO 有单机单硬盘、单机多硬盘、多机多硬盘三种部署模式。单机单硬盘存在单点风险&#xff0c;数据…

ElasticSearch 部署及安装ik分词器

ansiable playbook链接&#xff1a; https://download.csdn.net/download/weixin_43798031/87719490 需要注意的点&#xff1a;公司es集群现以三个角色部署分别为 Gateway、Master、Data 简单的理解可以理解为在每台机器上部署了三个es&#xff0c;以端口和配置文件来区分这三…

itop-3568 开发板系统编程学习笔记(18)LED 应用编程

【北京迅为】嵌入式学习之Linux系统编程篇 https://www.bilibili.com/video/BV1zV411e7Cy/ 个人学习笔记 文章目录 应用层操作 LED 的两种方式sysfs 方式控制 LED控制方法原理简介 编写 LED 应用程序 应用层操作 LED 的两种方式 应用层操作底层硬件有两种方法&#xff0c;分别…

数据治理与数据中台架构

随着工业 4.0 时代的到来&#xff0c;传统行业的数字化转型是大势所趋&#xff1b;将数据提高到数据要素层面&#xff0c;让传统的技术在新的场景下发挥出新的作用&#xff0c;是近期研究和探讨的焦点话题。数语科技支持和服务传统行业多年&#xff0c;聚焦于传统数据建模和数据…

PostgreSQL中的复制延迟

PostgreSQL是一个流行的开源关系数据库管理系统&#xff0c;PostgreSQL中可能遇到的一个常见问题是复制延迟。 在这篇博客中&#xff0c;我们将讨论什么是复制延迟&#xff0c;它为什么会发生&#xff0c;以及如何在PostgreSQL中减轻它。 什么是复制延迟&#xff1f; 复制延迟…

Flink系列-9、Flink DataStream的输入数据集Data Source

版权声明&#xff1a;本文为博主原创文章&#xff0c;遵循 CC 4.0 BY-SA 版权协议&#xff0c;转载请附上原文出处链接和本声明。 大数据系列文章目录 官方网址&#xff1a;https://flink.apache.org/ 学习资料&#xff1a;https://flink-learning.org.cn/ 目录 addSource方…

【A component required a bean of type ‘xxx‘ that could not be found.】

在学谷粒商城项目的时候出现了以下问题&#xff1a; *************************** APPLICATION FAILED TO START *************************** Description: A component required a bean of type org.redisson.Redisson that could not be found. Action: Consider defining a…

React-Router详解

React-Router详解 简介React-Router React-Router是一款用于构建单页面应用&#xff08;SPA&#xff09;中处理路由的JavaScript库。在现代的Web应用中&#xff0c;SPA已经成为了一种常见的应用架构模式&#xff0c;它允许在不刷新整个页面的情况下进行交互式的用户体验。而Re…

GPT能给审计带来什么

ChatGPT的出现&#xff0c;让人工智能再次站在了聚光灯下&#xff0c;引发持续性的热议和关注。GPT模型作为重要的支撑&#xff0c;国内外近段时间密集性地发布了众多的大语言模型&#xff0c;OpenAI推出GPT-4、谷歌推出LaMDA和PaLM等大模型、Meta推出开源大模型LLaMA&#xff…