今天再给大家分享一下瑞米派(Remi Pi)快速上手的教程。
一、系统概述
Remi Pi的myir-image-core系统是基于 Yocto 构建的带有LVGL界面的镜像,包含完整的硬件驱动,常用的系统工具,调试工具等,包含RT-Linux实时补丁和Ethercat 主站,支持使用 Shell, C/C++进行应用开发。
类别 | 名称 | 描述 |
源码 | Flash-Writer | Flash-Writer 1.06 |
TF-A | Arm Trusted Firmware 2.6 | |
Bootloader | U-boot 2021.10 | |
Kernel | Linux Kernel 5.10.83 | |
Yocto | Yocto 3.1.20 | |
文件系统 | myir-image-core | yocto构建的文件系统 |
工具 | 开发工具 | sdk.tar.bz2、e2 studio |
烧录工具 | Win32DiskImager teraterm | |
文档 | Remi Pi_Linux软件开发指南 | 包含源码编译,烧录等 |
Remi Pi FreeRTOS应用开发笔记 | 包含环境搭建,工程创建等 | |
Remi Pi实时系统与Ethercat移植应用笔记 | 包含rtlinux、ethercat移植 |
二、快速上手
1.LVGL显示
从04_Sources目录下获取lvgl.tar.bz2源码包,解压源码包。
PC:~/renesas/04_Sources$ tar -xvf lvgl.tar.gz
编译源码包,拷贝lvgl_demo可执行文件到开发板运行即可。
PC:~/renesas/04_Sources/lvgl$ source /opt/remi-sdk/environment-setup-aarch64-poky-linux
PC:~/renesas/04_Sources/lvgl$ make
米尔-瑞米派的LVGL显示效果
2.RT-Linux实时补丁
从RT官网获取L5.10.83内核版本对应的补丁,链接如下:
https://cdn.kernel.org/pub/linux/kernel/projects/rt/5.10/older/
把补丁包解压到自己的工作目录下。
PC:~/renesas/04_Sources$ tar -xvf patches-5.10.83-rt58.tar.gz
到内核源码目录下打补丁。
PC:~/renesas/04_Sources/myir-renesas-linux$ for p in `ls -1 ../patches/*.patch`;do patch -p1 < $p;done
修改mys_g2lx_defconfig配置文件
PC:~/renesas/04_Sources/myir-renesas-linux$ vi arch/arm64/configs/mys_g2lx_defconfig
CONFIG_EXPERT=y
CONFIG_ARCH_SUPPORTS_RT=y
CONFIG_PREEMPT_RT=y
#CONFIG_PREEMPT=y
#CONFIG_KVM=y
编译内核源码,更新Image文件即可。
PC:~/renesas/04_Sources/myir-renesas-linux$ source /opt/remi-sdk/environment-setup-aarch64-poky-linux
PC:~/renesas/04_Sources/myir-renesas-linux$ make ARCH=arm64 mys_g2lx_defconfig
PC:~/renesas/04_Sources/myir-renesas-linux$ make ARCH=arm64 Image dtbs -j16
3.IGH Ethercat 主站
到官网下载1.5版本的Ethercat源码,链接如下:
https://gitlab.com/etherlab.org/ethercat/-/tree/stable-1.5?ref_type=heads
把Ethercat源码包解压到自己的工作目录下。
PC:~/renesas/04_Sources$ tar -xvf ethercat-stable-1.5.tar.bz2
PC:~/renesas/04_Sources$ cd ethercat-stable-1.5
加载环境变量。
PC:~/renesas/04_Sources/ethercat-stable-1.5$ source /opt/remi-sdk/environment-setup-aarch64-poky-linux
生成configure文件。
PC:~/renesas/04_Sources/ethercat-stable-1.5$ ./bootstrap
configure设置。
PC:~/renesas/04_Sources/ethercat-stable-1.5$ mkdir output
PC:~/renesas/04_Sources/ethercat-stable-1.5$ ./configure --prefix=/home/renesas/04_Sources/ethercat-stable-1.5/output --with-linux-dir=/home/renesas/04_Sources/myir-renesas-linux --enable-8139too=no --enable-generic=yes --host=aarch64-poky-linux
编译和安装。
PC:~/renesas/04_Sources/ethercat-stable-1.5$ make
PC:~/renesas/04_Sources/ethercat-stable-1.5$ make modules
PC:~/renesas/04_Sources/ethercat-stable-1.5$ make install
编译和安装完成后,生成的ec_generic.ko驱动文件位于devices目录,ec_master.ko驱动文件位于master目录,生成的库相关文件位于output目录。
PC:~/renesas/04_Sources/ethercat-stable-1.5$ ls devices/en_genric.ko
devices/ec_generic.ko
PC:~/renesas/04_Sources/ethercat-stable-1.5$ master/ec_master.ko
devices/ec_master.ko
PC:~/renesas/04_Sources/ethercat-stable-1.5$ ls output/
bin etc include lib sbin share
将上面output目录下的相关文件和ec_master.ko拷贝到开发板如下目录:
root@myir-remi-1g:~/output# ls
bin etc include lib modules sbin share
root@myir-remi-1g:~/output# cp bin/ethercat /bin/
root@myir-remi-1g:~/output# cp etc/ethercat.conf /etc/
root@myir-remi-1g:~/output# cp etc/init.d/* /etc/init.d
root@myir-remi-1g:~/output# cp -r etc/sysconfig/ /etc/
root@myir-remi-1g:~/output# cp lib/libethercat.* /lib64/
root@myir-remi-1g:~/output# cp -r lib/pkgconfig /lib64/
root@myir-remi-1g:~/output# cp modules/ec_master.ko /lib/modules/5.10.83-cip1-rt58-yocto-standard/
root@myir-remi-1g:~/output# cp sbin/ethercatctl /sbin/
启动Ethercat。
root@myir-remi-1g:~# depmod
root@myir-remi-1g:~# modprobe ec_master main_devices=1E:ED:19:27:1A:B3
root@myir-remi-1g:~# /etc/init.d/ethercat start
Starting EtherCAT master 1.5.2 done
4.Freertos
首先要下载e2 studio工具并搭建好环境和到04_Sources目录获取GPIO.zip工程包,打开e2 studio工具后,点击File->Import->General-> Existing Projects into Workspace来导入GPIO工程,导入工程后点击Project->Build Project进行工程的编译,详细请参考《Remi Pi FreeRTOS应用开发笔记》。
编译成功会生成一个debug目录,生成的如下文件拷贝到sd卡上,用于在uboot进行CM33工程调用。
GPIO_non_secure_code.bin
GPIO_non_secure_vector.bin
GPIO_secure_code.bin
GPIO_secure_vector.bin
把sd卡插入到开发板的sd卡槽,启动板子并在uboot阶段执行如下调用,查看sd卡里面的内容,如下:
=> switch_sdhi1 sdcard
switch to sdcard
=> ls mmc 1:1
System Volume Information/
64 GPIO_secure_vector.bin
16926 GPIO_non_secure_code.bin
1984 GPIO_non_secure_vector.bin
480 GPIO_secure_code.bin
4 file(s), 1 dir(s)
加载编译出来的固件,如下:
=> dcache off
=> mmc dev 1
switch to partitions #0, OK
mmc1 is current device
=> fatload mmc 1:1 0x0001FF80 GPIO_secure_vector.bin
64 bytes read in 24 ms (2 KiB/s)
=> fatload mmc 1:1 0x42EFF440 GPIO_secure_code.bin
480 bytes read in 25 ms (18.6 KiB/s)
=> fatload mmc 1:1 0x00010000 GPIO_non_secure_vector.bin
1984 bytes read in 26 ms (74.2 KiB/s)
=> fatload mmc 1:1 0x40010000 GPIO_non_secure_code.bin
16926 bytes read in 29 ms (569.3 KiB/s)
=> cm33 start_debug 0x1001FF80 0x00010000
当加载完以上命令之后可以看到蓝灯在闪烁。
米尔-瑞米派的加载效果展示
三、内核清单
为了方便用户进行内核的移植,下面将内核驱动各个模块的源码路径整理如下:
模块 | 描述 | 源码路径 |
四、获取链接
关于Remi Pi的myir-image-core系统,用户可以从下面地址获取镜像文件和源码:
下载地址:http://down.myir-tech.com/RemiPi
https://www.myir.cn/shows/23/14.html
https://bbs.myir-tech.com/forum-66-1.html
用Keil开发Cortext-M85单片机是一种什么体验?
MCU高精度旋转变压器电机控制方案
MCU产品测试和运行阶段如何实施有效的代码保护措施