0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何让RK3562J在M核上启动?

飞凌嵌入式 2025-01-22 09:05 次阅读

飞凌嵌入式基于瑞芯微RK3562系列处理器打造的FET3562J-C全国产核心板,是一款专为工业自动化及消费类电子设备设计的产品,凭借其强大的功能和灵活性,自上市以来得到了各行业客户的广泛关注。本文将详细介绍如何启动并测试RK3562J处理器的MCU,通过实际操作步骤,帮助各位工程师朋友更好地了解这款芯片。

wKgZO2eTBICAbe-GAACvfJ6UHdg02.jpeg

1、RK3562J处理器概述

RK3562J处理器采用了4*Cortex-A53@1.8GHz+Cortex-M0@200MHz架构。其中,4个Cortex-A53核心作为主要核心,负责处理复杂的操作系统任务和应用程序;Cortex-M0核则作为辅助核心,运行裸核系统,能够快速响应和控制,实现实时性要求较高的任务。

2、启动M0核固件的前期准备

目前,飞凌嵌入式OK3562J-C开发板上默认并没有启动M0核固件。因此,我们需要通过一系列步骤来配置和启动M0核。以下是具体的操作步骤:

1. U-Boot修改

理论上我们需要打开AMP(非对称多处理)编译宏,但由于飞凌嵌入式OK3562J-C开发板的U-Boot已默认配置AMP功能,因此用户无需进行任何U-Boot修改操作。

2. Kernel修改

(1)安装工具包

首先,我们需要安装SCons工具包,用于后续的编译工作。可以通过以下命令进行安装:

forlinx@ubuntu:~$ sudo apt-get install scons

(2)添加AMP设备树的调用

OK3562J-C开发板已经添加了AMP设备树的调用,我们可以查看相关配置文件以了解其内容。

forlinx@ubuntu:~$ cd /home/forlinx/work/OK3562-linux-source/ forlinx@ubuntu:~/work/OK3562-linux-source$ vi kernel-5.10/arch/arm64/boot/dts/rockchip/OK3562-C-common.dtsi +include "rk3562-amp.dtsi"

rk3562-amp.dtsi 主要内容包括:

/ { /* 描述设备 */ rockchip_amp: rockchip-amp { compatible = "rockchip,amp"; clocks = <&cru FCLK_BUS_CM0_CORE>, <&cru CLK_BUS_CM0_RTC>, <&cru PCLK_MAILBOX>, <&cru PCLK_INTC>, // <&cru SCLK_UART7>, <&cru PCLK_UART7>, <&cru PCLK_TIMER>, <&cru CLK_TIMER4>, <&cru CLK_TIMER5>; //pinctrl-names = "default"; //pinctrl-0 = <&uart7m1_xfer>; amp-cpu-aff-maskbits = /bits/ 64 <0x0 0x1 0x1 0x2 0x2 0x4 0x3 0x8>; amp-irqs = /bits/ 64 ; status = "okay"; }; /* 定义了一些保留内存区域 */ reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; /* remote amp core address */ amp_shmem_reserved: amp-shmem@7800000 { reg = <0x0 0x7800000 0x0 0x400000>; no-map; }; rpmsg_reserved: rpmsg@7c00000 { reg = <0x0 0x07c00000 0x0 0x400000>; no-map; }; rpmsg_dma_reserved: rpmsg-dma@8000000 { compatible = "shared-dma-pool"; reg = <0x0 0x08000000 0x0 0x100000>; no-map; }; /* mcu address */ mcu_reserved: mcu@8200000 { reg = <0x0 0x8200000 0x0 0x100000>; no-map; }; }; /* 实现Rockchip RPMsg功能 */ rpmsg: rpmsg@7c00000 { compatible = "rockchip,rpmsg"; mbox-names = "rpmsg-rx", "rpmsg-tx"; mboxes = <&mailbox 0 &mailbox 3>; rockchip,vdev-nums = <1>; /* CPU3: link-id 0x03; MCU: link-id 0x04; */ rockchip,link-id = <0x03>; reg = <0x0 0x7c00000 0x0 0x20000>; memory-region = <&rpmsg_dma_reserved>; status = "okay"; }; };

3. 生成配置文件

接下来,我们需要生成M0核固件的配置文件。在RTOS源码目录下,通过复制默认配置文件并运行SCons菜单配置界面来生成所需的配置文件。虽然在此示例中无需进行额外配置,但用户可以根据需求进行相应的配置。

forlinx@ubuntu:~/work/OK3562-linux-source$ cd rtos/bsp/rockchip/rk3562-32 forlinx@ubuntu:~/work/OK3562-linux-source/rtos/bsp/rockchip/rk3562-32$ cp board/rk3562_evb1_lp4x/defconfig .config forlinx@ubuntu:~/work/OK3562-linux-source/rtos/bsp/rockchip/rk3562-32$ scons --menuconfig

打开图形化配置界面后,无需配置,直接退出即可。

wKgZPGeTBICAPp3IAACFfS7RIsY106.png

若有其他功能需求,可进行相应配置后再退出并保存。

forlinx@ubuntu:~/work/OK3562-linux-source/rtos/bsp/rockchip/rk3562-32$ cp .config board/rk3562_evb1_lp4x/defconfig forlinx@ubuntu:~/work/OK3562-linux-source/rtos/bsp/rockchip/rk3562-32$ cp rtconfig.h board/rk3562_evb1_lp4x/defconfig.h

4. 编译源码

完成配置文件的生成后,我们可以开始编译源码。通过运行构建脚本,选择相应的defconfig配置,并分别编译Linux系统和M0核固件。编译成功后,会在指定目录下生成 amp.img 镜像文件。

forlinx@ubuntu:~/work/OK3562-linux-source/rtos/bsp/rockchip/rk3562-32$ cd forlinx@ubuntu:~/work/OK3562-linux-source$ ./build.sh chip Log colors: message notice warning error fatal Log saved at /home/forlinx/work/3562/git/OK3562-linux-source/output/sessions/2024-08-27_15-48-21 Switching to chip: ok3562Pick a defconfig: 1. forlinx_defconfig 2. forlinx_ok3562_linux_defconfig 3. forlinx_ok3562_linux_mcu_defconfig 4. forlinx_ok3562_linux_rtos_defconfigWhich would you like? [1]: 4 //选择第四个配置forlinx@ubuntu:~/work/OK3562-linux-source$ ./build.sh rtos forlinx@ubuntu:~/work/OK3562-linux-source$ ./build.sh mcu

编译后在rockdev目录下生成amp.img:

forlinx@ubuntu:~/work/OK3562-linux-source$ ls rockdev/ amp.img boot.img linux-headers.tar MiniLoaderAll.bin misc.img oem.img parameter.txt recovery.img rootfs.img uboot.img update.img userdata.img

3、烧写镜像

将生成的 amp.img 镜像文件拷贝到电脑中,并将开发板切换到烧写模式。使用烧写工具配置 amp.img 的路径。

wKgZO2eTBH-ARRzeAAAokgJCNmw958.png

点击“设备分区表”,读取成功后点击“执行”。

wKgZPGeTBH-AO_VRAAAujmdv2ik432.pngwKgZO2eTBICACLCsAAAq9L2Tb-M312.png

4、验证启动

重新启动开发板时按下空格键进入U-Boot菜单。在U-Boot菜单中,输入 3 将 amp start 配置成 on。

wKgZPGeTBICABW7fAABJtXXa8A0751.png

然后输入 1 重启开发板。在启动过程中,观察U-Boot阶段的打印信息,如果看到与M0核固件启动相关的打印信息,则说明已成功使用U-Boot启动M0核固件。

wKgZO2eTBICALTIFAAFTNyg3pJE793.png

5、总结

上述操作仅为简单启动M0核并打印信息。实际上,M0核的功能非常强大,支持UART、PWM、I2C、SPI等多种外设接口。(目前飞凌嵌入式暂无更多M0核接口的测试例程,您若有相关需求,可以联系技术支持获取瑞芯微官方资料进行深入学习和开发)。

希望通过本文的介绍和实践操作,能让您对RK3562J处理器的M0核有更进一步的了解,并为后续的开发工作提供帮助。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11382

    浏览量

    211483
  • 瑞芯微
    +关注

    关注

    24

    文章

    463

    浏览量

    51781
  • RK3562
    +关注

    关注

    0

    文章

    47

    浏览量

    170
收藏 人收藏

    评论

    相关推荐

    RK3562J技术分享 | 使用SPI挂载数字式RTD温度传感器的方法

    OK3562J-C开发板使用SPI2挂载MAX31865(数字式RTD温度传感器)设备的方法
    的头像 发表于 08-06 14:26 1484次阅读
    <b class='flag-5'>RK3562J</b>技术分享 | 使用SPI挂载数字式RTD温度传感器的方法

    RK3562J开发笔记】MCP2518FD外部CAN-FD控制器的调试方法

    MCP2518FD是一款各行业中都有着广泛应用的CAN-FD控制器芯片,本文就将为大家介绍如何在飞凌嵌入式RK3562J开发板适配MCP2518FD芯片。
    的头像 发表于 12-07 14:22 1229次阅读
    【<b class='flag-5'>RK3562J</b>开发笔记】MCP2518FD外部CAN-FD控制器的调试方法

    如何在RK3562J的AMP双系统实现裸中断嵌套机制

    的AMP方案。不使用虚拟化管理,从而在运行实时性系统时获得更快的中断响应,以满足电力、工控等行业应用中严苛的硬实时性要求。 2. RK3562J处理器核心及AMP支持情况 处理器核心 AMP支持情况
    发表于 07-29 16:29

    延时仅33us,Linux-RT实时性能测试分享—基于瑞芯微RK3562J国产平台

    本文主要介绍瑞芯微RK3562J的实时性测试,开发环境如下:U-Boot:U-Boot-2017.09Kernel:Linux-RT-5.10.198LinuxSDK:LinuxSDK-[版本号
    发表于 08-22 13:51

    “双系统”出炉!瑞芯微RK3562J非对称AMP:Linux+RTOS/裸机

    ,既可各自独立运行不同的任务,又可多个核心之间进行间通信。 图 1 RK3562J AMP异构多核框架示意图 “非对称AMP”对工业有何意义 “系统实时性”更强 非对称AMP架构拥有更强的系统实时性
    发表于 11-21 16:44

    RK3562J 处理器 M 启动实操

    、稳定且灵活的解决方案。   二、启动M0固件的前期准备   目前,飞凌嵌入式OK3562J-C开发板默认并没有
    发表于 02-27 08:59

    瑞芯微米尔RK3562国产核心板,ARM中量级多面手

    网关、边缘计算等领域提供了高性价比的解决方案。 核心板基于 RK3562RK3562J处理器,采用四ARM Cortex-A53架构,主频高达2GHz,集成Mali-G52 GPU,支持4K视频解码
    发表于 02-28 15:32

    iCore-3562JQ 工业级核心板

    采用Rockchip高性能低功耗、四64位工业级处理器RK3562J,最大可配8GB大内存;采用BTB接口,传输能力更强;拥有工业级的稳定性,-40°C至85°C工作温度下可长时间运行;拥有丰富
    的头像 发表于 03-05 08:02 716次阅读
    iCore-<b class='flag-5'>3562</b>JQ 工业级核心板

    深度对比!瑞芯微RK3562JRK3568J好在哪里?

    了新的需求——寻找性能和接口基本保持不变的情况下,能有效降低产品成本、功耗的方案。因而RK3562J作为RK3568J的降本降功耗方案隆重登场!创龙科技基于瑞芯微
    的头像 发表于 04-29 08:07 1182次阅读
    深度对比!瑞芯微<b class='flag-5'>RK3562J</b>比<b class='flag-5'>RK3568J</b>好在哪里?

    新品发布 ▏全新国产多核异构瑞芯微RK3562J核心板,低功耗,高性价比,引领高效能“芯”时代

    ]HZ-CORE-RK3562J-S核心板其主处理器为四Cortex-A53,辅以独立的Cortex-M0控制核心,主频高达1.8GHz,兼具强大计算能力与高能效,适用于各种高
    的头像 发表于 07-26 17:52 1423次阅读
    新品发布 ▏全新国产多核异构瑞芯微<b class='flag-5'>RK3562J</b>核心板,低功耗,高性价比,引领高效能“芯”时代

    RK3562J正式支持NPU,性价比再提升!

    RK3562J是瑞芯微最新推出的一款超高性价比工业处理器,四Cortex-A53@1.8GHz + Cortex-M0@200MHz异构多核架构,并支持十路UART、两路CAN、两路网口、三种显示
    的头像 发表于 01-23 16:00 326次阅读
    <b class='flag-5'>RK3562J</b>正式支持NPU,性价比再提升!

    4CPU,ARM中量级多面手,米尔瑞芯微RK3562核心板上市

    网关、边缘计算等领域提供了高性价比的解决方案。核心板基于RK3562RK3562J处理器,采用四ARMCortex-A53架构,主频高达2GHz,集成Mali-G5
    的头像 发表于 02-27 08:03 287次阅读
    4<b class='flag-5'>核</b>CPU,ARM中量级多面手,米尔瑞芯微<b class='flag-5'>RK3562</b>核心板上市

    米尔-瑞芯微RK3562核心板开发板,4CPU,ARM中量级多面手

    RK3562:4*Cortex-A53@2.0GHz,1TOPSNPU;RK3562J:4*Cortex-A53,主频:normalmode1.2GHz,overdrivemode1.8GHz;丰富
    发表于 02-28 17:20 2次下载

    全国产!瑞芯微3562(2GHz四A53 NPU)工业核心板规格书

    核心板简介创龙科技SOM-TL3562是一款基于瑞芯微RK3562J/RK3562处理器设计的四ARMCortex-A53+单核ARMCortex-
    的头像 发表于 03-06 14:30 342次阅读
    全国产!瑞芯微<b class='flag-5'>3562</b>(2GHz四<b class='flag-5'>核</b>A53 NPU)工业核心板规格书

    全国产!瑞芯微3562Mini(2GHz四A53 NPU)工业开发板规格书

    评估板简介创龙科技TL3562-MiniEVM是一款基于瑞芯微RK3562J/RK3562处理器设计的四ARMCortex-A53+单核ARMCortex-
    的头像 发表于 03-10 09:16 298次阅读
    全国产!瑞芯微<b class='flag-5'>3562</b>Mini(2GHz四<b class='flag-5'>核</b>A53 NPU)工业开发板规格书