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/KERNEL.imgmkknlimg是把zlmage生成img文件的,如果上面没运行KERNEL=kernel7l/boot/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 ,因为机器的运行有控制下面电机和主轴之类的,

树莓派pi 4 编译 linuxcnc相关推荐

  1. 树莓派-linux内核编译

    树莓派-linux内核编译 装虚拟机[^1] 配置共享文件夹 配置交叉编译工具 下载树莓派linux系统内核[^3] 树莓派等芯片带操作系统的启动过程 树莓派linux源码目录树 树莓派linux源码 ...

  2. 树莓派镜像备份/内核编译和更换/EC200U上网

    树莓派镜像备份/内核编译和更换/EC200U上网 操作涉及树莓派linux内核替换,由于我的树莓板子里跑了ROS,以免环境破坏,所以先进行镜像备份. 备份本机树莓派img 工具:win32diskim ...

  3. ARM树莓派高级开发——linux内核源码、树莓派源码编译、SD卡挂载

    文章目录 linux内核开发基础(linux内核源码.树莓派源码编译.SD卡挂载) 树莓派等芯片带操作系统的启动过程 linux内核源码树 Linux内核源代码目录树结构: 树莓派Linux源码配置 ...

  4. 树莓派交叉编译 内核编译 - HQ

    树莓派交叉编译 & 内核编译 - HQ 文章目录 树莓派交叉编译 & 内核编译 - HQ @[toc] 注意 树莓派交叉编译 引入 交叉编译工具链的安装 交叉编译使用举例 树莓派源码分 ...

  5. 在Linux下使用树莓派交叉编译工具编译opencv库并进行移植

    一.交叉编译opencv 继上一篇博客:"在Linux下配置opencv"之后,我以为直接将编译命令:g++ `pkg-config --cflags opencv` -o Tes ...

  6. 就是上来吐槽一下树莓派上,编译个模块都过不去的郁闷。 欢迎使用CSDN-markdown编辑器

    我草,这是第一次用markdown 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居 ...

  7. Liunx树莓派(ARM)开发篇—第十四章、树莓派Linux内核编译步骤(超详细、图文结合)

    对树莓派内核源码进行配置后,下一步要进行树莓派Linux内核编译 以下步骤均在PC端虚拟机上完成 准备材料:PC端虚拟机.树莓派交叉编译工具.树莓派内核(交叉编译工具.内核下载步骤见树莓派内核源码) ...

  8. 树莓派Linux内核编译、文件系统、Linux内核驱动基础框架、驱动测试步骤、总线地址

    树莓派高阶开发课程 1. ubuntu18.04版本安装          让程序猿搭建环境太搞笑了,轻松easy! ========================================= ...

  9. 树莓派02 ------ 内核编译、移植

    目录 底层知识 芯片启动过程 树莓派Linux源码目录树分析 ARM树莓派高级开发--linux内核源码.树莓派源码编译.SD卡挂载 编译移植条件 树莓派Linux源码配置 如何配置树莓派的Linux ...

  10. 树莓派安装python3.8_在树莓派(Raspberry Pi)上编译安装更新版本的Python

    Raspiban Wheezy上预装的Python3版本是3.2.3,本文将介绍升级到3.4.3的方法. 此文也适用于安装其它版本(比如最新版本)的Python,只要下载时选择特定版本可以了. 我用的 ...

最新文章

  1. 剑指offer:调整数组顺序使奇数位于偶数前面
  2. 上传EXCEL到ABAP内表
  3. php 账号与密码比对,Php - 将密码与root密码进行比较
  4. 2.12 Hivet中order by,sort by、distribute by和cluster by
  5. iconfont 图标转为字体_iconfont字体图标的使用方法--超简单!
  6. Eclipse查看hadoop源代码出现Source not found,是因为没有添加.zip
  7. 【雕虫小技第10篇】scratch编程技巧之源码素材快速导出为png或者svg格式
  8. redis key 操作大全
  9. 学习A-level课程能申请哪些国家
  10. Aho-Corasick 多模式匹配算法(AC自动机)
  11. 1分钟了解 rap2
  12. python爬虫爬取图片代码_Python爬虫爬取煎蛋网图片代码实例
  13. 鸡年的年度编程语言,非它莫属
  14. 学物理赶不上计算机,高二上学期物理为何这么难?
  15. vue项目中使用 Echarts的一些总结,包括饼图,折现图,折柱混图,年月日切换
  16. javascript:history.go(-1)
  17. php中的$_REQUEST是什么意思
  18. markdown字体大小设置_Markdown 颜色和字体
  19. 计算机科学与技术制药工程就业前景分析,2018制药工程专业就业前景和就业方向分析...
  20. apache2三种模式及参数调优

热门文章

  1. 七夕动态表白代码,基于python
  2. JQuery实战图片特效-遁地龙卷风
  3. Davids阅读笔记:《Redis设计与实现》
  4. excel和html互相转换,Excel2016与Html格式之间的互相转换
  5. 图书馆占座系统(四)
  6. 使用非参数统计检验进行分析的指南
  7. Java程序调用linux脚本-简单版
  8. 【支持4G插卡上网】京东云1代完美固件
  9. 卸载mysql数据库报错_完全卸载mysql数据库图文教程
  10. css实现时间数字特效字体格式