查看: 423|回复: 0

[经验] 飞凌嵌入式ElfBoard ELF 1板卡-文件IO的方式控制LED

[复制链接]

该用户从未签到

发表于 2024-10-21 09:37:29 | 显示全部楼层 |阅读模式
分享到:
led点灯程序
下面使用一段简单代码来演示如何控制LED,并且让大家了解应用编写时常用的文件I/O模型:
10-1.png
程序步骤如下:
(一)LED1_BRIGHTNESS、 LED2_BRIGHTNESS两个宏分别对应LED1、LED2两个灯的亮度属性;
(二)使用open分别打开两个亮度属性文件,如果错误返回报错;
(三)间隔0.5秒,打开和关闭两个LED灯;
(四)退出时使用close关闭属性文件;
编译源码
此时就有个问题,我们好不容易写好的第一个程序怎么放到开发板执行呢?直接把led.c拷贝到开发板上好像不行,因为led.c是C语言,而开发板只认识二进制程序。如果使用之前ubuntu中介绍过的gcc编译工具,用gcc编译完放到开发板上会发现无法执行,会提示格式错误。
10-2.png
这是因为虚拟机是在电脑上,属于x86架构,而开发板是arm架构,不同架构主机上分别编译运行的话就需要用到交叉编译链。
在虚拟机设置交叉编译链的环境变量,查看环境变量$CC:
10-3.png
这个$CC变量就是交叉编译器arm-poky-linux-gnueabi-gcc + 配置参数。
首先创建led.c文件,将上面代码添加到led.c文件,保存退出并编译:
10-4.png
ELF 1板卡验证
将生成的可执行程序led拷贝到开发板:
10-5.png
在开发板执行程序:
10-6.png
观察现象,可以看到红绿灯同时循环闪烁。

回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条



手机版|小黑屋|与非网

GMT+8, 2024-12-19 00:12 , Processed in 0.114451 second(s), 17 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.