树莓派pi 4 编译 linuxcnc
1.先用sd 卡安装操作系统操作系统 选择buster debian因为linuxcnc 有在buster 这个版本上面跑安装完之后,第一步是开vnc 和ssh因为 linuxcnc 是分模拟和真实跑两种情况,模拟是控制不了硬件真实跑有打补丁rt 补丁 我这边安装完之后usb 是不能使用了,坑多多git 下载树莓 rpi 补丁文件: git 地址https://github.com/raspber
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 ,因为机器的运行有控制下面电机和主轴之类的,
更多推荐
所有评论(0)