正点原子IMX6ULL阿尔法开发板点亮LED

2023-11-08 17:40

本文主要是介绍正点原子IMX6ULL阿尔法开发板点亮LED,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、准备工作

二、编写程序,使得LED能让我们控制

三、开发板上运行可执行程序

四、作者自述


一、准备工作

1.开发板为出厂时的镜像时不需要进行修改

2.开发板不为出厂时的镜像时需要进行修改,改回原来的系统镜像。

(1)官网下载LINUX阿尔法A盘资料

(2)找到开发工具

(2) 进入到【正点原子】阿尔法Linux开发板(A盘)-基础资料(1)\05、开发工具\04、正点原子MFG_TOOL出厂固件烧录工具\mfgtool目录下双击运行Mfgtool2-eMMC-ddr512-eMMC.vbs烧写原来的系统镜像:如下所示

 tips:根据自己开发板是ddr大小和烧写的去向做选择,我这里使用的时emmc版本,ddr为512,所以我选择上述工具。

(3)数据线连接OTG接口,拨码开关拨到USB启动,出现如下所示方为正常,即可点击下载

tips:镜像烧录过程中会出现短暂识别不到USB,这为正常现象,静静等待烧录完成即可。

(4)镜像烧写完成标志,如下所示:

(5)将拨码开关重新拨到emmc启动,重启开发板即可,出现以下信息为进入系统成功。

二、编写程序,使得LED能让我们控制

1.程序代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/types.h>//触发方式
#define LED_TRIGGER     "/sys/class/leds/sys-led/trigger"
//亮度等级
#define LED_BRIGHTNESS  "/sys/class/leds/sys-led/brightness"
#define USAGE()     fprintf(stderr,"usage:\n""   %s<on|off>\n""   %s<trigger><type>\n",\argv[0],argv[0])int main(int argc,char* argv[])
{int fd1,fd2,ret;//检验传参if(argc < 2){USAGE();exit(-1);}//打开文件fd1 = open(LED_TRIGGER,O_RDWR);if(fd1 == -1){perror("open error1");exit(-1);}fd2 = open(LED_BRIGHTNESS,O_RDWR);if(fd2 == -1){perror("open error2");ret = -1;goto out1;}//根据传参控制LEDif(strcmp(argv[1],"on") == 0) //使用字符串比较函数,相等返回0{//修改触发方式,无触发nonewrite(fd1,"none",4);//修改亮度等级为1write(fd2,"1",1);}else if(strcmp(argv[1],"off") == 0){//修改触发方式,无触发nonewrite(fd1,"none",4);//修改亮度等级为0write(fd2,"0",1);}else if(strcmp(argv[1],"trigger") == 0){//检验传参if(argc != 3){USAGE();ret = -1;goto out2;}//修改触发方式if(write(fd1,argv[2],strlen(argv[2])) < 0){perror("write error");ret = -1;goto out2;}}else{USAGE();}out2:close(fd2);
out1:close(fd1);exit(-1);
}

2.编译可执行文件

        因为我是在X86架构CPU上写的LED程序,但是我们要在ARM架构上运行这个可执行文件,GCC编译出来的可执行文件为x86类型,所以我们得使用交叉编译工具在X86架构上编译程ARM架构的可执行文件。交叉编译工具可以参考《正点原子驱动开发指南》pdf的163页,详细的去讲述了如何去安装这个交叉编译工具。

3.生成可执行文件如下所示:

三、开发板上运行可执行程序

1.将可执行程序放到开发板上

(1)本实验这里使用的是nfs和tftp进行网络下载。将可执行程序拷贝到文件系统目录下即可。

(2)查看开发板上有无这个文件,如下所示:

 (3)点亮LED灯

 tips:亮红色的为可程序控制的LED灯

 2.其它方法

        将可执行文件放到【正点原子】阿尔法Linux开发板(A盘)-基础资料(1)\05、开发工具\04、正点原子MFG_TOOL出厂固件烧录工具\mfgtool\Profiles\Linux\OS Firmware\files\filesystem目录下的rootfs.tar.bz2压缩包里。然后回到文章开头重新对它进行烧录即可。

 

四、作者自述

        文章只是记录一下生活,文章有错的地方欢迎指出。

这篇关于正点原子IMX6ULL阿尔法开发板点亮LED的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/371440

相关文章

Lua 脚本在 Redis 中执行时的原子性以及与redis的事务的区别

在 Redis 中,Lua 脚本具有原子性是因为 Redis 保证在执行脚本时,脚本中的所有操作都会被当作一个不可分割的整体。具体来说,Redis 使用单线程的执行模型来处理命令,因此当 Lua 脚本在 Redis 中执行时,不会有其他命令打断脚本的执行过程。脚本中的所有操作都将连续执行,直到脚本执行完成后,Redis 才会继续处理其他客户端的请求。 Lua 脚本在 Redis 中原子性的原因

开发板NFS挂载文件目录

文章目录 序NFS1. 安装 NFS 服务器和客户端在服务器上(NFS 服务器端)在客户端上(NFS 客户端) 2. 配置 NFS 服务器创建共享目录编辑 `/etc/exports` 文件启动 NFS 服务 3. 在客户端挂载 NFS 共享创建挂载点挂载 NFS 共享验证挂载 4. 设置开机自动挂载5. 解决权限问题 序 本节主要实现虚拟机(服务器)与开发板(客户端)通过N

物联网之流水LED灯、正常流水灯、反复流水灯、移动流水灯

MENU 硬件电路设计软件程序设计正常流水LED灯反复流水LED灯移动流水LED灯 硬件电路设计 材料名称数量直插式LED1kΩ电阻杜邦线(跳线)若干面包板1 每一个LED的正极与开发板一个GPIO引脚相连,并串联一个电阻,负极接GND。 当然也可以选择只使用一个电阻。 软件程序设计 正常流水LED灯 因为要用到多个GPIO引脚,所以最好把所有的GPI

什么是LED智能会议一体机?COB超微小间距LED会议一体机大势所趋

LED智能会议一体机,作为现代会议室革新的核心装备,正逐步颠覆传统会议模式的界限。它不仅仅是一台集成了高清显示、触控互动、音视频处理及远程协作等功能于一体的智能设备,更是推动会议效率与体验双重飞跃的关键力量。随着技术的不断进步,特别是COB(Chip On Board)超微小间距LED技术的引入,LED智能会议一体机正迎来前所未有的发展机遇,成为大势所趋。 COB技术通过将LED芯片直接封装在基

Unity 资源 之 Super Confetti FX:点亮项目的璀璨粒子之光

Unity 资源 之 Super Confetti FX:点亮项目的璀璨粒子之光 一,前言二,资源包内容三,免费获取资源包 一,前言 在创意的世界里,每一个细节都能决定一个项目的独特魅力。今天,要向大家介绍一款令人惊艳的粒子效果包 ——Super Confetti FX。 二,资源包内容 💥充满活力与动态,是 Super Confetti FX 最显著的标签。它宛如一位

全倒装COB超微小间距LED显示屏的工艺技术,相比SMD小间距有何优势

全倒装COB(Chip On Board)超微小间距LED显示屏,在工艺技术上的革新,相较于传统的SMD(Surface Mount Device)小间距LED显示屏,展现出了多方面的显著优势。 首先,全倒装技术极大地提升了LED芯片的散热性能。通过将芯片直接焊接在基板上,减少了热阻,使得热量能够更快速地传导至基板并散发出去,有效避免了因高温导致的光衰和色彩偏移问题,从而保证了显示屏的长期稳定性

安卓开发板_联发科MTK开发评估套件串口调试

串口调试 如果正在进行lk(little kernel ) 或内核开发,USB 串口适配器( USB 转串口 TTL 适配器的简称)对于检查系统启动日志非常有用,特别是在没有图形桌面显示的情况下。 1.选购适配器 常用的许多 USB 转串口的适配器,按芯片来分,有以下几种: CH340PL2303CP2104FT232 一般来说,采用 CH340 芯片的适配器,性能比较稳定,价

Redis 篇-深入了解基于 Redis 实现分布式锁(解决多线程安全问题、锁误删问题和确保锁的原子性问题)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录         1.0 分布式锁概述         1.1 Redis 分布式锁实现思路         1.2 实现基本的分布式锁         2.0 Redis 分布式锁误删问题         2.1 解决 Redis 分布式锁误删问题         3.0 Redis 分

没资料的屏幕怎么点亮?思路分享

这次尝试调通一个没资料的屏幕,型号是HYT13264,这个是淘宝上面的老王2.9元屏,成色很好但是长期库存没有资料和代码能点亮,仅仅只有一个引脚定义。这里我使用Arduino Nano作为控制器尝试点亮这个模块。 首先,已知别人找出来的线序如下 1 - CS2 - RST 3 - DC4 - SCK5 - SDA6 - VCC7 - GND8 - K59 - K410

RK3288 点亮LVDS屏

本文记录调试 LVDS接口屏的一些关键步骤,主要是dts文件中关于 频率、分辨率 、时序参数的设置  环境: RK3288 9tripod CV5  linux 4.4.189 LCD:JYT121XQ01 (追曦 DS1212)12.1电容触控屏   查看屏幕规格书    只要在rockchip dts 中 设置 T(HB)=Thb+Thf+Thsyn=320clock  T