LuckFox-pico 入门记录一:编译环境与GPIO

news/2024/11/18 12:17:00/文章来源:https://www.cnblogs.com/muheandrabbit/p/18198590

LuckFox RV1106 点灯

本文使用VMwave+ubuntu20.04虚拟机,并用CLion开发linux,简单记录一下配置过程;

1 虚拟机安装

拿到板子,首先是配置环境,虚拟机选择ubuntu20.04,安装教程随便搜一下就行,网络配置选择NAT就行,可以不选择桥接模式,其他没有什么注意事项。
比较难的一点是samba共享文件夹配置,记得安装sumba前更新apt,更新apt后python版本不匹配的问题好像就没了:

sudo apt update

具体步骤,可以参考博客:
https://cn.linux-console.net/?p=13157
如果按照上篇博客配置完成后,在虚拟机中无法添加文件,需要为虚拟机的sambashare更改权限

sudo chmod 777 sambashare

window端访问虚拟机,需要知道虚拟机的ip地址,在ubuntu中使用ifconfig指令获取虚拟机ip地址

ifconfig 

若window端,无法访问虚拟机,尝试重启window端电脑,一般就可以连上共享文件夹。

2 烧录sdk

烧录sdk,可以参考博客:
https://blog.csdn.net/SuperiorEE/article/details/133611634
以及LuckFox 的wiki教程:
https://wiki.luckfox.com/zh/Luckfox-Pico/Luckfox-Pico-SDK
不过其gitee地址貌似clone不了,建议在window端下载压缩包,然后使用共享文件传递至虚拟机部分
烧录SDK若是烧录失败,并且在设备管理中的驱动带有感叹号,需要关闭window的驱动强制签名,具体步骤参照:
https://zhuanlan.zhihu.com/p/622920268
至此应该能烧录sdk了

3 GPIO测试

可以直接参考博客:
https://cn.linux-console.net/?p=13157
以及wiki:
https://wiki.luckfox.com/zh/Luckfox-Pico/Luckfox-Pico-GPIO
常用命令有:
连接开发板的命令

adb connect 172.32.0.93
adb -s 172.32.0.93:5555 shell
adb disconnect 172.32.0.93
adb push LuckFox1 /userdata/LinuxTest/

GPIO操作的命令

echo 55 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio55/direction 
echo 1 > /sys/class/gpio/gpio55/value    
echo 55 > /sys/class/gpio/unexport

简单测试通过后,尝试修改SDK并编译

SDK编译

更改设备书后,SDK编译可以参考:
https://wiki.luckfox.com/zh/Luckfox-Pico/Luckfox-Pico-GPIO#5修改设备树
如果过程中报错/usr/bin/env:'python':No such file or directory,可以参考博客:
https://www.cnblogs.com/chenmoyu/p/15527312.html
不要尝试直接卸载默认python,虚拟机容易崩溃。

Clion配置

CLion建议安装在window端,安装在虚拟机中不太好用,可以用CLion连接虚拟机中的编译器,然后使用Remote host terminal进行开发,效果会好一点。
CLion配置见博客:
https://sjtu-robomaster-team.github.io/campus-competition-2-Clion_SSH/
配置好的样子:

部署(deployment)配置的作用,是你在window端每次编译完成后,直接同步到linux虚拟机端,十分好用,建议配置,配置完成见:


Local path:为window端的文件地址
deployment path:为linux端文件地址
IP地址为linux的地址,见上文的ifconfig

常用函数记录

snprintf()
函数原型:

int snprintf(char *str, size_t size, const char *format, ...)

(1) 如果格式化后的字符串长度 < size,则将此字符串全部复制到str中,并给其后添加一个字符串结束符('\0');

(2) 如果格式化后的字符串长度 >= size,则只将其中的(size-1)个字符复制到str中,并给其后添加一个字符串结束符('\0'),返回值为欲写入的字符串长度。
perror函数
perror(s) 用来将上一个函数发生错误的原因输出到标准设备(stderr)。参数 s 所指的字符串会先打印出,后面再加上错误原因字符串。
system函数

int system(const char * command)

执行 dos(windows系统) 或 shell(Linux/Unix系统) 命令,参数字符串command为命令名。另,在windows系统下参数字符串不区分大小写。

说明:在windows系统中,system函数直接在控制台调用一个command命令。
在Linux/Unix系统中,system函数会调用fork函数产生子进程,由子进程来执行command命令,命令执行完后随即返回原调用的进程。
函数返回值

命令执行成功返回0,执行失败返回-1。
linux cat(concatenate) 命令

cat [选项] [文件]

用于连接文件并打印到标准输出设备上,它的主要作用是用于查看和连接文件。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

tinkphp 配置二級域名访问

1.路由配置Route::domain(admin, function () {//系统管理Route::rule(/system/saveSubscriber$, admin/system/saveSubscriber,POST); });2.nginx 配置文件listen 80; server_name xxx.com admin.xxx.com;3.tp项目public下创建 nginx.htaccess 文件location / {index …

P7448

problem & 双倍经验 低配版本 没有 Ynoi 标志性算法卡常,这点差评。拆解问题 定义 \(lst_i\) 为上一个和 \(i\) 号点相同的位置。 由于几个转移都差不多,我们以 \([l,r - 1]\) 扩展到 \([l,r]\) 为例。 我们知道答案会加上 \([lst_r,r]\) 中 新出现的 且 \(> a_r\) 的…

Games101-9 advanced rendering

Physically Based Rendering: From Theory to Implementation (pbr-book.org) advanced light transport 有/无偏的光线传播方法双向路径追踪这里主要的光照为间接光 --- 不是直接光源 --- 实现比较困难。使用马尔科夫链进行推测。优势: 对于光线复杂的情况来水,比较好。 劣势…

Games101-1 Linear Algebra

简单介绍和资源列表 https://sites.cs.ucsb.edu/~lingqi/teaching/games101.html 线代vector -- 向量表示 $\vec{a}$ and $\mathbf{a}$ and $\vec{AB} = B - A$ 指代方向 没有起始点 向量的长度$\left | \vec{a} \right |$ 单位向量 $\hat{a} = \vec{a} / \left | \vec{a} \ri…

Games101-2 transform

2D point = $(x,y,1)^T$ 2D vector = $(x,y,0)^T$ --- 平移不变性transform translationAffine transformner逆变换 就是逆矩阵 变换的组合 矩阵的乘法 变换的分解变换到中心 旋转 变换回原始位置三维3D 旋转view transformationmodel transform view transform projection tr…

es集群迁移操作

logstash迁移集群/home/secure/logstash-7.8.1/bin/logstash -f /home/secure/logstash-7.8.1/config/event0515.conf -f --debug -f 检查配置文件语法/home/secure/logstash-7.8.1/bin/logstash -f /home/secure/logstash-7.8.1/config/event0515.conf > /home/secure…

智慧园区可视化大屏设计

首先,让我们来了解一下什么是智慧园区可视化大屏。简单来说,它是一种将复杂的数据通过图形化的方式展示出来的技术。这种技术的出现,让我们可以更直观、更清晰地理解数据,从而做出更准确的决策。那么,为什么我们要讨论智慧园区可视化大屏设计呢?因为,它不仅仅是一种技术…

【Modbus】转发:Modbus通讯模拟仿真环境的搭建

文章目录一、概要二、所需工具介绍三、搭建虚拟仿真环境1.Modbus RTU虚拟仿真环境搭建1.1.虚拟串口工具(VSPD)使用1.2.虚拟从站工具(ModSim32)使用1.3.虚拟主站工具(Modscan32)使用1.4.更改虚拟从站工具(ModSim32)的Modbus寄存器的值1.5.更改虚拟主站工具(Modscan32)…

深度学习项目-MobileNetV2水果识别模型

本项目旨在研究利用深度学习模型进行水果图像分类的方法,具体包括两个主要任务:一是使用卷积神经网络(CNN)模型进行水果图片的分类,二是探索轻量级神经网络模型MobileNetV2在水果图像分类中的应用。FruitRecognition DeepLearning深度学习小项目,利用CNN和MobileNetV2搭建…

celery异步框架

celery 介绍 https://github.com/celery/celery/ https://docs.celeryq.dev/en/stable/celery是一个分布式异步任务框架,是一个灵活且可靠的,处理大量消息的分布式系统,可以在多个节点之间处理某个任务,是一个专注于实时处理的任务队列,支持任务调度,所以 celery 本质上是…

北航研究生算法期末复习整理

算法设计与分析 数据结构 二叉树 线索二叉树(Threaded Binary Tree) 利用二叉链表中空的指针域指出结点在某种遍历序列中的直接前驱或直接后继 指向前驱和后继的指针称为线索 实现不用栈的树深度优先遍历算法 二叉查找树(Binary Search Tree, BST) 左子树都更小,右子树都更大…

让你的电脑准时“打个盹”:Win10定时休眠

哈喽,大家好,我是木头左!一、Windows 10任务计划程序 在快节奏的工作生活中,常常需要让电脑在特定时间执行某些任务,而Windows 10的任务计划程序就是为此而生的神器。它不仅可以自动更新系统、备份文件,甚至还能帮你管理休息时间。想象一下,工作到深夜,电脑突然自己进入…