没有合适的资源?快使用搜索试试~ 我知道了~
首页基于ARM平台Linux+Xenomai系统搭建及主站、LinuxCNC移植(LCD版).pdf
基于ARM平台Linux+Xenomai系统搭建及主站、LinuxCNC移植(LCD版).pdf

本文档详细描述了交叉编译链的安装过程,以及在BeagleBone平台(带有LCD)移植Xenomai实时内核、移植IGH-EtherCAT、移植LinuxCNC的详细过程,以及可能遇到的具体问题,并且对问题作出了解决 备注:这里移植的LinuxCNC实时性能测试(latency-test)有问题,翻阅英文网页说的是ARM平台不支持LinuxCNC(虽然可以运行,但应该不可以实际运用到工业控制中),得用LinuxCNC的分支——MachineKit,最近在着手处理,欢迎大家一起探讨
资源详情
资源评论
资源推荐

基于 ARM 平台 Linux+Xenomai 系统搭建
及主站、LinuxCNC 移植(LCD 版)
1 烧写映像系统至 SD 卡,点亮 LCD
1.1 所需工具及文件
映像文件
http://www.waveshare.net/wiki/LCD-CAPE-7inch-IMG
SD 卡烧写工具
https://sourceforge.net/projects/win32diskimager/
MicroSD 卡(不小于 4G)
备注:Debian7 系统于 2019/03/15 官方不再维护更新,导致更新源有问题,之
后使用了 debian9.5,步骤大同小异。
1.2 烧录 SD 卡
①选择镜像文件 Debian-sdcard-beaglebone-2015.02.27-LCD-cape-LCD7-v2.0.img;
(必须位于英文目录下,否则烧写会出现下图错误)

②选择要烧录的目标即 SD 卡;
③点击 Write;
④跳出来的选项框选择 Yes,开始烧录;
⑤跳出来的选项框选择 OK,完成烧录。
1.3 点亮 LED
将烧录好的 SD 卡插入 BBB 卡槽,接通 5V 电源
1.4 扩容(剩余存储空间的利用)
BBB 开发板自带 2G eMMC,但此容量远远满足不了开发,因此使用 SD 卡扩
展空间。插入 SD 卡后,开发板无法启动。究其原因,BBB 原生系统所带的 uboot
启动时,若发现有 SD 卡,则 SD 变成 mmc0,eMMC 变成 mmc1,导致启动失败。
系统自行配置了运行脚本,运行此脚本即可扩容。

cd /opt/scripts/tools
./grow_partition.sh
reboot
2 安装交叉编译链
2.1 所需文件
交叉编译链 arm-linux-gnueabihf
https://launchpad.net/linaro-toolchain-binaries
2.2 安装步骤
(1)解压缩
cd /home/wh/qt-arm-source
tar -xjvf ~/Downloads/QT/
gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux.tar.bz2 -C ./
mv gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux cross-toolchain(重命名)
(2)配置环境变量
vim /etc/profile
在最后一行添加:
Export PATH=$PATH:/home/wh/qt-arm-source/cross-toolchain/bin
(3)使环境变量生效
source /etc/profile
检查是否将路径添加到 PATH 中:
echo $PATH
若显示的内容中有/ home/wh/qt-arm-source/cross-toolchain/bin,说明已经将
交叉编译器的路径添加至 PATH。
(4)测试
arm-linux-gnueabihf-gcc -v

显示如下图,则交叉编译链安装成功:
若测试过程中遇到下图所示问题:
这是由于 64 位的系统,缺少 lib32stdc++6 包,使用命令 sudo apt-get install
lib32stdc++6。
这是没有输入参数,实在粗心大意,-v 中的“-”是短划线。
备注:见触摸屏库 tslib 与 QT 的移植.docx
3 搭建 Linux+Xenomai 系统
3.1 所需文件
Linux 内核源码 bb-black-Debian-kernel-3.8.13-lcd-waveshare
http://www.waveshare.net/wiki/BB_Black_XXX_CAPE_Code
Xenomai 内核源码 xenomai-2.6.3
https://www.xenomai.org/downloads/xenomai/stable/
配置内核所需固件 am335x-pm-firmware.bin

http://arago-project.org/git/projects/?p=am33x-
cm3.git;a=blob_plain;f=bin/am335x-pm-firmware.bin;hb=HEAD
3.2 编译 linux 内核和移植
3.2.1 编译准备
(1)创建目标文件夹并解压缩
mkdir arm_rtlinux
cd arm_rtlinux
sudo apt-get install p7zip-full
7z x ~/Downloads/arm_rtlinux/
bb-black-Debian-kernel-3.8.13-lcd-waveshare.tar.bz2.7z
tar jxvf ~/Downloads/arm_rtlinux/
bb-black-Debian-kernel-3.8.13-lcd-waveshare.tar.bz2
mv kernel bbb-debian-3.8.13-lcd(重命名解压后文件夹)
tar jxvf ~/Downloads/arm_rtlinux/xenomai-2.6.3.tar.bz2 -C ./
(2)安装编译内核时的依赖包
sudo apt-get install kernel-package libqt4-dev
(3)将内核配置所需要的固件拷贝至 linux 内核目录下的 fireware 目录下
cd bbb-debian-3.8.13-lcd/kernel
cp ~/Downloads/arm_rtlinux/am335x-pm-firmware.bin ./firmware
(4)拷贝标准配置文件至隐藏文件夹.config
cp ../configs/beaglebone .config
(5)将 I-pipe 补丁应用于 BeagleBone 内核
patch -p1 < ../../xenomai-2.6.3/ksrc/arch/arm/patches/beaglebone/ipipe-core-
剩余20页未读,继续阅读

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论2