0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【Milk-V Duo开发板免费体验】评测二、Linux最小系统验证

史逸如 来源:史逸如 作者:史逸如 2023-07-10 09:05 次阅读

评测二、Linux最小系统验证

控制GPIO有3种方式,shell命令、用户态函数或者脚本、内核态函数,详细见https://doc.sophgo.com/cvitek-develop-docs/master/docs_latest_release/CV180x_CV181x/zh/01.software/OSDRV/Peripheral_Driver/build/html/7_GPIO_Operation_Guide.html#id5。

1.shell命令

不妨以GPIOA26为例,外接一上拉电阻LED。由文档可知XGPIOA组号为480,所以GPIOA26组好值为480+25=506,敲击echo 506 > /sys/class/gpio/export申请资源,稍后就能看到/sys/class/gpio下新建了一gpio506文件,敲击echo out > /sys/class/gpio/gpio506/direction设置方向,敲击echo 0 > /sys/class/gpio/gpio506/value输出0电平,echo 1 > /sys/class/gpio/gpio506/value输出1电平,不停切换就能实现电平切换达到blinky目的:

wKgZomSpGISAJvfVAACYw4joHf8802.png

图1创建设备文件以及配置GPIO方向

wKgaomSpGCaAJHqOAU8f8FUHcik866.png

图2实际切换效果

2.用户态函数或脚本

上述不用手动输命令太费事,提高效率的方法就是用脚本或函数来作业处理,先touch main.sh,然后vi main.sh用户态脚本可以如下:

#!/bin/sh LED_GPIO=/sys/class/gpio/gpio506 if test -d $LED_GPIO; then echo "GPIOA26 already exported" else echo 506 > /sys/class/gpio/export fi echo out > $LED_GPIO/direction while true; do echo 0 > $LED_GPIO/value sleep 0.5 echo 1 > $LED_GPIO/value sleep 0.5 done

敲击./main.sh执行就能看到效果:

wKgZomSpGB-ASnfZAK9b1_SK3VE275.png

图3 shell脚本作业处理

脚本语法不熟,可以C语言控制:

wKgZomSpGBiAM6DrAACbEiU9atI319.png

图4传统C语言控制

但发现没有带gcc编译器,安装发现回到上篇评测的问题了,网络问题没解决暂时无法安装软件,于是Windows主机SDK交叉编译,执行文件上传Milkv,再运行,弊端就是无法调试。首先WSL命令输入:git clone --recursive https://github.com/sophgo/cvi_mmf_sdk,再敲击sudo apt install dialog python3-dev make git bc gcc flex bison ninja-build libssl-dev rsync pkg-config device-tree-compiler squashfs-tools parted dosfstools安装,缺依赖装依赖。然后去https://developer.sophgo.com/site/index/material/32/all.html下载工具链并解压到刚才cvi_mmf_sdk目录下,再敲击source build/cvisetup.sh,此时riscv64-unknown-linux-gnu-gcc还未生效,再敲击defconfig cv1800b_sophpi_duo_sd再输入riscv64-unknown-linux-gnu-gcc –version就能愉快玩耍了:

wKgaomSpGBiAIAm9AAIZLytok4c348.png

图5 SDK开发编译环境搭建

再Windows下输入riscv64-unknown-linux-gnu-gcc -static -o blink blink.c交叉编译生成RISC-V环境固件,由于Milkv的外网一直未解决包括Ethernet或WiFi,由于SSH有scp和rsync传输工具,就临时解决了通信问题,输入scp F:ElectronicsMilk-Vcvi_mmf_sdkblink root@192.168.42.1:/mxj,然后Milkv就有可执行文件了:

wKgaomSpGBiAFbwlAAA4qwL1siY315.png

图6 scp上传执行文件至Milkv

输入chmod +x ./blink,再./blink但一直报错“Segmentation fault”,可能程序问题,因为用网友https://community.milkv.io/t/duo-shell-c/46的例子验证就能成功点灯,不妨本地hello world交叉编译再上传milkv运行发现果然可行:

wKgaomSpGBiAV-JLAACXavwYmY8072.png

图7经典hello world

3.内核态函数

这个没测试,待做,第1章节的链接有讲怎么注册进内核并运行

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11302

    浏览量

    209431
  • 开发板
    +关注

    关注

    25

    文章

    5046

    浏览量

    97426
  • 最小系统
    +关注

    关注

    9

    文章

    252

    浏览量

    29078
  • RISC-V
    +关注

    关注

    45

    文章

    2276

    浏览量

    46148
收藏 人收藏

    评论

    相关推荐

    Milk-V Duo 开发板免费体验】小身板大能力RISC-V开发板

    Milk-V Duo是一款基于算能 CV1800B芯片的MPU,能够运行基于LINUX和RTOS的操作系统Milk-V
    的头像 发表于 06-30 10:25 4933次阅读
    【<b class='flag-5'>Milk-V</b> <b class='flag-5'>Duo</b> <b class='flag-5'>开发板</b><b class='flag-5'>免费</b>体验】小身板大能力RISC-<b class='flag-5'>V</b><b class='flag-5'>开发板</b>

    Milk-V Duo】1、入门篇

    入门milk-V Duo开发板
    的头像 发表于 07-07 11:21 1648次阅读
    【<b class='flag-5'>Milk-V</b> <b class='flag-5'>Duo</b>】1、入门篇

    Milk-V Duo开发板免费体验】Milk-V初次使用

    Milk-V Duo开发板免费体验】Milk-V初次使用
    的头像 发表于 08-08 09:03 2486次阅读
    【<b class='flag-5'>Milk-V</b> <b class='flag-5'>Duo</b><b class='flag-5'>开发板</b><b class='flag-5'>免费</b>体验】<b class='flag-5'>Milk-V</b>初次使用

    Milk-V Duo 开发板免费体验】 + 系统镜像烧录以及登录

    Milk-V Duo 开发板免费体验】+系统镜像烧录以及登录 一.Milk-V
    发表于 07-11 11:43

    Milk-V Duo 开发板免费体验】Milk-V Duo之开箱初体验

    STM32103C8T6核心的体积能与之媲美了,但是前者在同样的体积下塞进去了更强的功能。 ,外设 Milk-V Duo是一个基于CV1800B芯片的超紧凑嵌入式
    发表于 07-16 01:15

    Milk-V Duo 开发板免费体验】Milk-V Duo 开发板学习初体验

    milkv-duo-20230616-2232.img自制成linux启动盘 3、通过Type-C数据线连接电脑,小板系统顺畅的启动了 登录Milk-V
    发表于 07-28 15:58

    Milk-V Duo 开发板免费体验】开发板使用3

    接上文 【Milk-V Duo 开发板免费体验】开发板使用1 |和接上文 【Milk-V
    发表于 07-29 08:17

    Milk-V Duo 开发板免费体验】milkv-duo 申请成功体验

    。 引脚图 总结 Milk-V Duo开发板的小巧精致设计和强悍的性能确实为创客和开发者提供了一个优秀的平台。它的紧凑设计使得它适用于各种空间有限的场景,同时强大的性能可以支持复杂
    发表于 07-29 14:31

    Milk-V Duo 开发板免费体验】初步体验 + 搭建开发环境

    链接依赖过去即可了,后续可以直接修改文件系统去烧录。【Milk-V Duo 开发板免费体验】OpenCV的交叉编译 - RISC-
    发表于 08-01 12:49

    Milk-V Duo 开发板免费体验】Milk-V Duo 开发板初体验

    今天收到 ,打开快递的第一感觉就是非常精致小巧,一个黑色的小盒子及一块非常小巧但功能非常完善的开发板Milk-V Duo是一款基于算能 CV1800B芯片的MPU,能够运行基于LINUX
    发表于 08-18 00:26

    Milk-V Duo 开发板免费体验】Milk-V Duo 开发板Linux环境准备

    先来看看Milk-V Duo开发板开发板是一款基于CV1800B芯片的MPU。CV1800B芯片由算能提供,它采用了两颗RISC-V内核,
    发表于 08-18 00:38

    Milk-V Duo 开发板免费体验】3-Linux控制小车方向

    接上两篇:【Milk-V Duo 开发板免费体验】2控制螺旋桨电路https://bbs.elecfans.com/jishu_2371054_1_1.html 【
    发表于 08-20 23:57

    Milk-V Duo 开发板免费体验】4-Linux控制小车动作(原创)首发

    接上三篇: [接上两篇:【Milk-V Duo 开发板免费体验】3-Linux控制小车方向https://bbs.elecfans.com/
    发表于 08-21 02:11

    Milk-V Duo 开发板免费体验】初体验及开箱视频

    刚刚收到开发板,给大家做个视频来初步了解以下Milk-V Duo 开发板Milk-V Duo
    发表于 08-22 23:59

    Milk-V Duo 开发板免费体验】②、ssh连接Milk-V Duo开发板

    承接上期的开箱贴,此次将Milk-V Duo开发板运行linux系统。在此之前需要手头准备一张8GB以上的TF卡,并使用读卡器将TF烧录
    发表于 08-29 00:53