米尔电子发布的瑞萨第一款MPU生态板卡——瑞米派(Remi Pi)自上市当天200套售罄,获得不少新老用户的青睐。为感谢大家的支持,米尔加推300套瑞米派活动,以补贴价回馈大家,抢完即止!
不仅如此,此次瑞米派发布myir-image-core系统,相比上次发布适用于HMI场景的全面型myir-image-full系统,myir-image-core系统则更轻量,非常适用于各种工业场景应用,如专为工业控制场景移植的RT-Linux实时补丁和Ethercat主站,专为轻量级工业显示场景移植的LVGL,专为工业实时性场景移植的FreeRTOS实时操作系统。瑞米派支持的系统会不断更新,下个月还会持续推出瑞米派的Ubuntu和Debian系统,敬请期待!
一、系统概述 Remi Pi的myir-image-core系统是基于 Yocto 构建的带有LVGL界面的镜像,包含完整的硬件驱动,常用的系统工具,调试工具等,包含RT-Linux实时补丁和Ethercat 主站,支持使用 Shell, C/C++进行应用开发。 | | | | | | | | | | | | | | | | | | | | | | | | | | | Remi Pi实时系统与Ethercat移植应用笔记 | |
二、功能介绍 1. LVGL显示 从04_Sources目录下获取lvgl.tar.bz2源码包,解压源码包。 <pre class="brush:cpp;toolbar:false" style="margin-top: 0.5em; margin-bottom: 0.5em; padding: 0.4em 0.6em; border-radius: 8px; background: rgb(248, 248, 248); line-height: 1.5;">PC:~/renesas/04_Sources[ DISCUZ_CODE_100 ]nbsp;tar -xvf lvgl.tar.gz</pre>
编译源码包,拷贝lvgl_demo可执行文件到开发板运行即可。
PC:~/renesas/04_Sources/lvgl[ DISCUZ_CODE_101 ]nbsp;source /opt/remi-sdk/environment-setup-aarch64-poky-linux
PC:~/renesas/04_Sources/lvgl[ DISCUZ_CODE_101 ]nbsp;make
米尔-瑞米派的LVGL显示效果 [color=rgba(0, 0, 0, 0.9)] 2. LVGL显示 从RT官网获取L5.10.83内核版本对应的补丁,链接如下: [color=rgba(0, 0, 0, 0.9)]https://cdn.kernel.org/pub/linux/kernel/projects/rt/5.10/older/ [color=rgba(0, 0, 0, 0.9)]把补丁包解压到自己的工作目录下。 <pre class="brush:cpp;toolbar:false" style="margin-top: 0.5em; margin-bottom: 0.5em; padding: 0.4em 0.6em; border-radius: 8px; background: rgb(248, 248, 248); line-height: 1.5;">PC:~/renesas/04_Sources[ DISCUZ_CODE_102 ]nbsp;tar -xvf patches-5.10.83-rt58.tar.gz</pre>
到内核源码目录下打补丁。 <pre class="brush:cpp;toolbar:false" style="margin-top: 0.5em; margin-bottom: 0.5em; padding: 0.4em 0.6em; border-radius: 8px; background: rgb(248, 248, 248); line-height: 1.5;">PC:~/renesas/04_Sources/myir-renesas-linux[ DISCUZ_CODE_103 ]nbsp;for p in `ls -1 ../patches/*.patch`;do patch -p1 < $p;done</pre>
修改mys_g2lx_defconfig配置文件 PC:~/renesas/04_Sources/myir-renesas-linux[ DISCUZ_CODE_104 ]nbsp;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[ DISCUZ_CODE_105 ]nbsp;source /opt/remi-sdk/environment-setup-aarch64-poky-linux
PC:~/renesas/04_Sources/myir-renesas-linux[ DISCUZ_CODE_105 ]nbsp;make ARCH=arm64 mys_g2lx_defconfig
PC:~/renesas/04_Sources/myir-renesas-linux[ DISCUZ_CODE_105 ]nbsp;make ARCH=arm64 Image dtbs -j16
3. IGH Ethercat 主站
到官网下载1.5版本的Ethercat源码,链接如下: [color=rgba(0, 0, 0, 0.9)]https://gitlab.com/etherlab.org/ethercat/-/tree/stable-1.5?ref_type=heads 把Ethercat源码包解压到自己的工作目录下。 PC:~/renesas/04_Sources[ DISCUZ_CODE_106 ]nbsp;tar -xvf ethercat-stable-1.5.tar.bz2
PC:~/renesas/04_Sources[ DISCUZ_CODE_106 ]nbsp;cd ethercat-stable-1.5
加载环境变量。 <pre class="brush:cpp;toolbar:false" style="margin-top: 0.5em; margin-bottom: 0.5em; padding: 0.4em 0.6em; border-radius: 8px; background: rgb(248, 248, 248); line-height: 1.5;">PC:~/renesas/04_Sources/ethercat-stable-1.5[ DISCUZ_CODE_107 ]nbsp;source /opt/remi-sdk/environment-setup-aarch64-poky-linux</pre>
生成configure文件。 <pre class="brush:cpp;toolbar:false" style="margin-top: 0.5em; margin-bottom: 0.5em; padding: 0.4em 0.6em; border-radius: 8px; background: rgb(248, 248, 248); line-height: 1.5;">PC:~/renesas/04_Sources/ethercat-stable-1.5[ DISCUZ_CODE_108 ]nbsp;./bootstrap</pre>
configure设置。
PC:~/renesas/04_Sources/ethercat-stable-1.5[ DISCUZ_CODE_109 ]nbsp;mkdir output
PC:~/renesas/04_Sources/ethercat-stable-1.5[ DISCUZ_CODE_109 ]nbsp;./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[ DISCUZ_CODE_110 ]nbsp;make
PC:~/renesas/04_Sources/ethercat-stable-1.5[ DISCUZ_CODE_110 ]nbsp;make modules
PC:~/renesas/04_Sources/ethercat-stable-1.5[ DISCUZ_CODE_110 ]nbsp;make install
编译和安装完成后,生成的ec_generic.ko驱动文件位于devices目录,ec_master.ko驱动文件位于master目录,生成的库相关文件位于output目录。 PC:~/renesas/04_Sources/ethercat-stable-1.5[ DISCUZ_CODE_111 ]nbsp;ls devices/en_genric.ko
devices/ec_generic.ko
PC:~/renesas/04_Sources/ethercat-stable-1.5[ DISCUZ_CODE_111 ]nbsp;master/ec_master.ko
devices/ec_master.ko
PC:~/renesas/04_Sources/ethercat-stable-1.5[ DISCUZ_CODE_111 ]nbsp;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
当加载完以上命令之后可以看到蓝灯在闪烁。 米尔-瑞米派的加载效果展示
三、内核清单 为了方便用户进行内核的移植,下面将内核驱动各个模块的源码路径整理如下: | | | 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 |
四、获取链接 关于Remi Pi的myir-image-core系统,用户可以从下面地址获取镜像文件和源码: 下载地址:http://down.myir-tech.com/RemiPi
|