树莓派pi 4 编译 linuxcnc

树莓派pi 4 编译 linuxcnc,第1张

树莓派pi 4 编译 linuxcnc

1.
先用sd 卡安装 *** 作系统
*** 作系统 选择
buster debian


因为linuxcnc 有在buster 这个版本上面跑

安装完之后,第一步是开vnc 和ssh
因为 linuxcnc 是分模拟和真实跑两种情况,
模拟是控制不了硬件
真实跑有打补丁
rt 补丁 我这边安装完之后usb 是不能使用了,坑多多


git 下载树莓 rpi 补丁文件
: git 地址 https://github.com/raspberrypi/linux
git clone https://github.com/raspberrypi/linux.git -b rpi-4.19.y-rt


编译有几种方式,一种是直接在树莓pi4 上面编译,别一种是在x86 linux 平台上面交叉编译,

最后编译成功之后都是有移动文件到sd 相对的分区
到源文件的kernel目录运行: KERNEL=kernel7l
KERNEL=kernel7l
这步如果不做的话,那只能编译好内核之后,修config.txt 指定 生产出来的img 文件

返回源码根目录,运行4b 的配置文件
make bcm2711_defconfig

成功之后,编译
make -j4 zImage
make -j4 modules
make -j4 dtbs
make -j4 modules_install
make -j4 dtbs_install
// 也可以写成make -j4 zImage modules dtbs

然后移动 dtb 等文件到 sd 卡目录

cp arch/arm/boot/dts/.dtb /boot/
cp arch/arm/boot/dts/overlays/
.dtb* /boot/overlays/
cp arch/arm/boot/dts/overlays/README /boot/overlays/

./scripts/mkknlimg ./arch/arm/boot/zImage /boot/ K E R N E L . i m g m k k n l i m g 是 把 z l m a g e 生 成 i m g 文 件 的 , 如 果 上 面 没 运 行 K E R N E L = k e r n e l 7 l / b o o t / KERNEL.img mkknlimg 是把zlmage 生成img文件的,如果上面没运行KERNEL=kernel7l /boot/ KERNEL.imgmkknlimg是把zlmage生成img文件的,如果上面没运行KERNEL=kernel7l/boot/KERNEL.img $KERNEL这个变量不有这样写了, 直接写成自已想要的名字就,英文.img
然后到boot/config.txt 增加
KERNEL=英文.img
重启设备

查看 *** 作 是否打上了补丁
uname -a

补丁打上了,
2. 开始编译 linuxcnc

下载源码
https://github.com/LinuxCNC/linuxcnc

这个是已经编译和打包deb 完成之后的文件源码了,
打包deb 之后可以直接安装,

这官网的教程地址
http://linuxcnc.org/docs/devel/html/code/building-linuxcnc.html

因为环境问题,可能会有很依赖项的报错,补上依赖就行了

./configure --with-realtime=uspace 这个有注意一下,一定有满足之后才去运行 make

打包deb 流程,

之后就可以打包 deb 软件了
然后安装deb ,deb 安装还有点问题,有安装依赖。



安装之后
linuxcnc 有控制 pi4 gpio 去控制 电机等硬件

源码中有个hal_pi_gpio 文件

这个配置方式,

BCM方式

2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 (gpio1& 0 not used ) 输入输出 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 dir mask (0 means in 1 means out) dec 78855

// 0 是打这个gpio 使用

0 1 1 1 1 1 0 1 1 0 0 1 0 0 1 0 1 1 1 1 1 1 1 0 0 0 exclude mask (0 means use 1 means dont use) dec 32918520

loadrt hal_pi_gpio dir=78855 exclude=32918520


测试引脚 pi4 功能

第一步加载 引脚 , 不然不会在pin 引脚看 pi gpio 的
loadrt hal_pi_gpio dir=78855 exclude=32918520

第二步把
loadrt stepgen step_type=0,0,0
addf hal_pi_gpio.read base-thread
addf hal_pi_gpio.write base-thread
读写加载完成之后,就可以测试 gpio 功能了
黄色表示通电,红色没电, out 可以点 set 和clr 实现开关功能,

第三步是net ,因为机器的运行有控制下面电机和主轴之类的,

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5694109.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存