0
点赞
收藏
分享

微信扫一扫

树莓派pi 4 编译 linuxcnc


1.树莓派pi 4 编译 linuxcnc_linux

先用sd 卡安装操作系统

操作系统 选择

buster debian

树莓派pi 4 编译 linuxcnc_linux_02

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

安装完之后,第一步是开vnc 和ssh

因为 linuxcnc 是分模拟和真实跑两种情况,

模拟是控制不了硬件

真实跑有打补丁

rt 补丁 我这边安装完之后usb 是不能使用了,坑多多

树莓派pi 4 编译 linuxcnc_pi4 rt补丁_03

git 下载树莓 rpi 补丁文件

: git 地址 https://github.com/raspberrypi/linux

git clone https://github.com/raspberrypi/linux.git -b rpi-4.19.y-rt

树莓派pi 4 编译 linuxcnc_linux_04

树莓派pi 4 编译 linuxcnc_pi4 linuxcnc_05

编译有几种方式,一种是直接在树莓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

树莓派pi 4 编译 linuxcnc_linuxcnc_06

补丁打上了,

2. 开始编译 linuxcnc

树莓派pi 4 编译 linuxcnc_pi4 rt补丁_07

下载源码

​​

​​

​​

树莓派pi 4 编译 linuxcnc_linux_08

这个是已经编译和打包deb 完成之后的文件源码了,

打包deb 之后可以直接安装,

这官网的教程地址

​​

​​

​​

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

树莓派pi 4 编译 linuxcnc_pi4 rt补丁_09

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

树莓派pi 4 编译 linuxcnc_pi4 linuxcnc_10

打包deb 流程,

树莓派pi 4 编译 linuxcnc_pi4 rt补丁_11

之后就可以打包 deb 软件了

然后安装deb ,deb 安装还有点问题,有安装依赖。

树莓派pi 4 编译 linuxcnc_pi4 rt补丁_12

树莓派pi 4 编译 linuxcnc_pi4 rt补丁_13

安装之后

linuxcnc 有控制 pi4 gpio 去控制 电机等硬件

树莓派pi 4 编译 linuxcnc_pi4 rt补丁_14

源码中有个hal_pi_gpio 文件

树莓派pi 4 编译 linuxcnc_linux_15

这个配置方式,

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

树莓派pi 4 编译 linuxcnc_linuxcnc_16

测试引脚 pi4 功能

树莓派pi 4 编译 linuxcnc_pi4 rt补丁_17

第一步加载 引脚 , 不然不会在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 ,因为机器的运行有控制下面电机和主轴之类的,



举报

相关推荐

0 条评论