网站首页

人工智能P2P分享搜索全网发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

试用视频丨开发环境篇:Linux C按键控制LED--米尔

时间:2022-08-23 10:23

人气:

作者:admin

标签: 开发板 

导读:本篇测评由电子工程世界的优秀测评者“qinyunti”提供。此次板卡的测试,是LinuxC开发环境下按键控制LED的操作实录。前言对于核心板或者开发板的选型我们一样会考虑二次开发的便捷性...

本篇测评由电子工程世界的优秀测评者“qinyunti”提供。此次板卡的测试,是Linux C开发环境下按键控制LED的操作实录。50438956-21d6-11ed-9ade-dac502259ad0.gif

前言

对于核心板或者开发板的选型我们一样会考虑二次开发的便捷性,开发环境,手册等的易用性和完整性。下面我们就从开发者的角度体验,从Linux C开发,Qt开发,python开发等常见开发入手进行体验。现在开始第一部分Linux C开发环境的简单体验。这里使用WIN11+WSL2+Ubuntu 20.04进行开发。Ubuntu单独安装在E盘,而不是直接从应用商店下载安装(具体安装方法可以网络搜索,这里不再赘述),因为开发环境需要的空间较大,直接应用商店安装默认位于C盘会导致C盘空间不够,所以独立安装在空间较大的盘。
试用视频戳这里

准备

串口登录丝印Debug对应的Type-C USB口为调试串口,接到电脑。设置串口终端,我这里使用crt。参数为115200-8-N-1。如果找不到COM则先网上搜索下载FTD21XX的驱动安装。登录到开发板。505b412c-21d6-11ed-9ade-dac502259ad0.png 用户名为root无需密码[root@myir:/]#SSH登录网口接到丝印ENET2的网口串口终端中ifconfig查看IP508a4dd2-21d6-11ed-9ade-dac502259ad0.png 开发板IP地址为169.254.127.228我们将电脑的IP设置为同一网段169.254.127.22750bef1d6-21d6-11ed-9ade-dac502259ad0.png 开发板中ping电脑50d3299e-21d6-11ed-9ade-dac502259ad0.png 电脑中ping开发板50fad8d6-21d6-11ed-9ade-dac502259ad0.png 如果ping不通可以关闭电脑的防火墙 修改root用户密码串口终端中输入passwd回车输入123回车继续输入123回车将密码设置为了123510d8e36-21d6-11ed-9ade-dac502259ad0.png
使用CRT SSH登录5122a55a-21d6-11ed-9ade-dac502259ad0.png514f3d18-21d6-11ed-9ade-dac502259ad0.png517372fa-21d6-11ed-9ade-dac502259ad0.png密码为刚才设置的12351810e2e-21d6-11ed-9ade-dac502259ad0.png

安装必备包

进入WSL打开终端sudo apt-get updatesudo apt-get install build-essential gcc libncurses5-dev bison flex texinfosudo apt-get install zlib1g-dev gettext libssl-dev autoconfsudo apt-get install autoconfsudo apt-get install automakesudo apt-get install libtoolsudo apt-get install linux-libc-dev:i386sudo apt-get install gitsudo apt-get install gnupgsudo apt-get install flexsudo apt-get install bisonsudo apt-get install gperfsudo apt-get install build-essentialsudo apt-get install zipsudo apt-get install curlsudo apt-get install libc6-devsudo apt-get install libncurses5-dev:i386sudo apt-get install x11proto-core-devsudo apt-get install libx11-dev:i386sudo apt-get install libreadline6-dev:i386sudo apt-get install libgl1-mesa-glx:i386sudo apt-get install libgl1-mesa-devsudo apt-get install g++-multilibsudo apt-get install mingw32sudo apt-get install tofrodossudo apt-get install python-markdownsudo apt-get install libxml2-utilssudo apt-get install xsltprocsudo apt-get install zlib1g-dev:i386sudo apt-get install gawksudo apt-get install texinfosudo apt-get install gettext sudo dpkg-reconfigure dash #选择 nosudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.sosudo apt-get install zlib1g-dev # 缺失 libz.so 时安装sudo apt-get install uboot-mkimage # 缺失 mkimge 时安装或者安装 u-boot-tools

交叉编译环境安装

windows下从http://down.myir-tech.com/MYD-YT507H/下载资料,其中03_Tools.zip解压;我这里解压后为E:\BOARD\MYC-YT507\03_Tools将文件夹Complie Toolchain名字改为Complie_Toolchain,因为Linux中命令行文件名不能有空格。 wsl中cd ~mkdir MYD-YT507Hcd MYD-YT507H/ 直接将windows下的文件解压到WSL中:tar -xvf /mnt/e/BOARD/MYC-YT507/03_Tools/Complie_Toolchain/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz -C . export PATH=$PATH:~/MYD-YT507H/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin aarch64-linux-gnu-gcc -v能看到打印信息说明安装成功。

测试

编写代码以下代码实现按键控制LED的亮灭。 led.c#include #include #include #include #include #include #include #include #include /* ./key_led /dev/input/event0 noblock */ intmain(intargc, char**argv){ intfd,bg_fd; interr, len, i; unsignedcharflag; unsignedintdata[1]; char*bg= "/sys/class/leds/blue/brightness"; structinput_eventevent; if(argc< 2)    {        printf("Usage: %s  [noblock]\n", argv[0]);        return -1;    }    if (argc == 3 && !strcmp(argv[2], "noblock"))    {        fd = open(argv[1], O_RDWR | O_NONBLOCK);    }    else     {        fd = open(argv[1], O_RDWR);    }    if (fd < 0)    {        printf("open %s err\n", argv[1]);        return -1;    }    while (1)    {        len = read(fd, &event, sizeof(event));        if (event.type == EV_KEY)        {            if (event.value == 1)//key down and up            {                printf("key test \n");                bg_fd = open(bg, O_RDWR);                if (bg_fd < 0)                {                    printf("open %d err\n", bg_fd);                    return -1;                }                read(bg_fd,&flag,1);                if(flag == '0')                    system("echo 1 > /sys/class/leds/blue/brightness");//l ed off - 62 - elsesystem("echo 0 > /sys/class/leds/blue/brightness ");//led on } } } return0;} 编译aarch64-linux-gnu-gcc led.c -o led
导入到开发板将编译后的程序led拷贝到windows下,再拷贝到开发板中cp led /mnt/e SSH登陆后输入rz回车选择程序文件led点击Add点击确定51939314-21d6-11ed-9ade-dac502259ad0.png 运行chmod +x led./led /dev/input/event1noblock 按下开发板上丝印ON/OFF的按键则对应的蓝色的LED亮和灭。

总结

米尔的资料是比较友好和全面的,手册,开发环境等都比较详尽,能方便用户快速熟悉开发环境进行二次开发。

另外参考文档中《MYD-YT507H_Linux软件开发指南V1.1.pdf》中相关信息有误,比如:

/dev/input/event0应该为/dev/input/event1;代码中/sys/class/leds/blue/brightness应该为/sys/class/leds/heartbeat/brightness等,也没明确按键对应关系。文档中也没有用户名密码等描述,所以需要手动修改root的密码等等。文档整体比较详细,但是一些细节还是需要尽可能描述清楚,并且保持更新。参考http://down.myir-tech.com/MYD-YT507H/MYD-YT507H_Linux软件开发指南V1.1.pdf

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信