T113-S3 preempt测试:
要做一个linuxcnc移植到 T113-S3的项目,需要先对实时性进行测试,全志的原厂的tina系统对T113-S3已经进行了preempt-rt的打包,但是很不幸是不是打的RT,是desktop的,不能满足cnc系统的实时性要求
`
交叉编译环境的虚拟机配置
原厂提供基于ubuntu18.04的虚拟机,可以直接导入到vmware16下面运行,这部分工作在 windows虚拟机上运行。
虚拟机启动以后注意更新 工具和 环境
sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \
bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib \
git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libfuse-dev libglib2.0-dev libgmp3-dev \
libltdl-dev libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libpython3-dev libreadline-dev \
libssl-dev libtool lrzsz mkisofs msmtp ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 \
python3-pyelftools python3-setuptools qemu-utils rsync scons squashfs-tools subversion swig texinfo \
uglifyjs upx-ucl unzip vim make make-guile gcc g++ wget xmlto xxd zlib1g-dev
sudo curl -o /usr/bin/repo https://storage.googleapis.com/git-repo-downloads/repo
sudo chmod a+x /usr/bin/repo
重新配置环境
./build.sh config
网络配置
T113-S3的开发板上面默认的网络是非启动状态,要启动只能手动
ifconfig eth0 up
这里我们需要开机自启动
所以写了个脚本
vim /etc/init.d/S20network
#!/bin/sh
#
# Start the network....
#
case "$1" in
start)
printf "Start dhcpc: "
/sbin/ifconfig lo up
/sbin/ifconfig eth0 up
udhcpc &
[ $? = 0 ] && echo "OK" || echo "FAIL"
;;
static)
printf "Set network IP: "
/sbin/ifconfig lo up
/sbin/ifconfig eth0 192.168.1.127 netmask 255.255.255.0 up
/sbin/route add default gw 192.168.1.1
echo -e "nameserver 202.96.134.133\nnameserver 202.96.128.166" > /etc/resolv.conf
[ $? = 0 ] && echo "OK" || echo "FAIL"
;;
stop)
printf "Bring down network: "
killall udhcpc
ifconfig lo down
ifconfig eth0 down
[ $? = 0 ] && echo "OK" || echo "FAIL"
;;
restart|reload)
"$0" stop
"$0" start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?
注意存放位置为 T113开发板的/etc/init.d/下面
修改脚本权限,变成绿色就可以自启动
chmod 755 /etc/init.d/S20network
preempt-rt和rt-tools配置
preempt-rt配置需要在虚拟机交叉编译环境下做
在t113-sdk目录下执行 make menuconfig
在General Setup 下
preempt。。。。
如图

到这里

默认是第二项,这里我们严格实时需要选择第三项
然后保存退出
t113-sdk目录下执行
ls -al
会有一个.buildconfig 文件显示出来
这个文件里面是有关编译时候的宏定义
涉及到内核配置编译的是:
LICHEE_KERN_DEFCONF:=sun8iw20p1smp_t113_auto_defconfig
这里可以看到指向了:sun8iw20p1smp_t113_auto_defconfig,这个文件
所以对这个文件进行备份,然后用上面make menuconfig之后的替换之即可
RT-TOOLS和stress工具添加
~/t113-s-v1.1-2.1/buildroot/buildroot-201902$ sudo make menuconfig
注意使用sudo
进入图形界面以后选择如下
进入下个界面选择如下

继续进入Debugging, profiling and benchmark

保存退出
用保存的文件替换~/t113-s-v1.1-2.1/buildroot/buildroot-201902/configs$的 sun8iw20p1_t113_deconfig
回到
~/t113-s-v1.1-2.1$ sudo ./build.sh
等待编译结束
打包程img
~/t113-s-v1.1-2.1$ sudo ./build.sh pack
windows端用usb链接开发板
用adb push把img推送到开发板
万事大吉!
3874

被折叠的 条评论
为什么被折叠?



