良许Linux教程网 干货合集 瑞米派(Remi Pi)移植FreeRTOS、LVGL教程

瑞米派(Remi Pi)移植FreeRTOS、LVGL教程

年初时我曾分享了瑞米派(Remi Pi)开发板的上市情况。

今天,我想再次分享一下瑞米派(Remi Pi)的快速入门教程。

image-20240408213416000
image-20240408213416000

一、系统概述

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
烧录工具 Win32DiskImagerteraterm
文档 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
image-20240408213437114
image-20240408213437114

米尔-瑞米派的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

当加载完以上命令之后可以看到蓝灯在闪烁。

image-20240408213553257
image-20240408213553257

米尔-瑞米派的加载效果展示

三、内核清单

为了方便用户进行内核的移植,下面将内核驱动各个模块的源码路径整理如下:

模块 描述 源码路径
MMC EMMC驱动程序 drivers/mmc/host/renesas_sdhi_internal_dmac.c
SD SD卡驱动程序 drivers/mmc/host/renesas_sdhi_internal_dmac.c
QSPI MTD驱动程序 drivers/memory/renesas-rpc-if.c
SPI SPI 驱动程序 drivers/spi/spidev.c
I2C I2C驱动程序 drivers/i2c/busses/i2c-riic.c
ADC ADC驱动程序 drivers/iio/adc/rzg2l_adc.c
E2PROM 24C256C驱动 drivers/misc/eeprom/at24.c
USB Host USB 驱动程序 drivers/usb/host/ehci-platform.cdrivers/usb/host/ohci-platform.c
Ethernet 千兆网络驱动程序 drivers/net/ethernet/renesas/ravb_main.c
USB OTG USB 驱动程序 drivers/phy/renesas/phy-rcar-gen3-usb2.c
RS232/RS485/Uart 串口驱动程序 drivers/tty/serial/sh-sci.c
CAN BUS CAN总线驱动程序 drivers/net/can/rcar/rcar_canfd.c
GPIO KEY KEY驱动程序 drivers/input/keyboard/gpio_keys.c
WIFI WIFI驱动程序 drivers/staging/rtl88x2cs/*
RTC RTC驱动程序 drivers/rtc/rtc-rx8025t.c
GPIO LED LED驱动程序 drivers/leds/leds-gpio.c
HDMI/LVDS MIPI转HDMI和LVDS驱动程序 drivers/gpu/drm/bridge/lt8912.c
LCD LCD驱动程序 drivers/gpu/drm/panel/panel-simple.c
TOUCH 触摸屏驱动程序 drivers/input/touchscreen/edt-ft5x06.c
ES8388 ES8388音频驱动 sound/soc/codecs/es8328-i2c.c
OV5640 OV5640摄像头驱动 drivers/media/i2c/ov5640.c

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部