找回密码
 注册
查看: 251|回复: 2
打印 上一主题 下一主题

RK3562J 处理器 M 核启动实操

[复制链接]

该用户从未签到

跳转到指定楼层
1#
 楼主| 发表于 2025-2-27 11:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 Heaven_1 于 2025-2-28 17:47 编辑
6 i/ _8 f0 V+ q% U. ^6 ~1 j
) t) L& s4 h; I4 S' W: R6 }0 _6 D; n一、RK3562J处理器概述
5 ]9 ]1 ]6 g8 G) FRK3562J处理器是一款高性能、多核心的处理器,采用了独特的异构架构设计。它集成了4个Cortex-A53核心和1个Cortex-M0核心,其中4个Cortex-A53核心运行频率高达1.8GHz,凭借其强大的处理能力,主要负责运行复杂的操作系统任务和各种高性能应用程序,能够高效地处理多任务操作和数据密集型计算,为设备提供卓越的性能表现。而Cortex-M0核心则以200MHz的频率运行,作为一个辅助核心,它运行裸核系统,具有极高的响应速度和低延迟特性,能够快速响应实时性要求较高的任务,如传感器数据采集、电机控制等,确保设备在实时任务处理方面具备出色的稳定性和可靠性。这种独特的架构设计使得RK3562J处理器在兼顾高性能计算的同时,还能满足对实时性要求较高的应用场景,广泛适用于智能物联网设备、工业自动化控制以及嵌入式系统等多种领域,为用户带来高效、稳定且灵活的解决方案。) t: l# `  w' O2 ]6 w- @; c
( Z. B/ w; K9 r$ l- \

  L* I. x) s+ f7 u# U0 F* L' Q4 k
# b' n+ Y6 u  ]5 Y* F: k% d. Z
, K( M/ m" ~% M; e0 Z
[backcolor=rgba(0, 0, 0, 0.1)]
5 J, l% z  D9 c. c& l3 V! G[backcolor=rgba(0, 0, 0, 0.1)]
4 i& {' g% l6 Q* x1 v% C" k! M0 M9 l+ w/ T% x
6 L) ]; w+ c4 `

) w' F3 r1 s- Z6 [4 S# }# S
, ?7 d: a7 L" e+ C9 v$ C! @9 g5 P% y
& i3 C8 d4 a- H/ p$ ^
0 q7 u/ h, \) x: ?: B: @/ u( t2 [添加图片注释,不超过 140 字(可选)
" ?3 h3 ^/ O5 D" o7 R- G: k
3 h& u6 O* s2 M" o6 J. g8 p: {& b5 j! C5 i2 b, }1 v

  j; H6 w' v4 J* D9 e% ?* N( `( d& T7 w( d: I
二、启动M0核固件的前期准备
; G, E( H( V1 X& O" f% C目前,飞凌嵌入式OK3562J-C开发板上默认并没有启动M0核固件。因此,我们需要通过一系列步骤来配置和启动M0核。以下是具体的操作步骤:' [4 \5 S2 K2 M4 D, ~" m! O

8 b+ Y, j; X  s$ _7 G1. U-Boot修改3 N3 N- [" k8 D( g. `( U
理论上我们需要打开AMP(非对称多处理)编译宏,但由于飞凌嵌入式OK3562J-C开发板的U-Boot已默认配置AMP功能,因此用户无需进行任何U-Boot修改操作。. D0 j/ ^; {& P/ B" J
& q8 ?$ Q" u* I- V) _3 t
2. Kernel修改
2 J3 R+ F. e9 O0 n2 g8 X(1)安装工具包
" Y  x3 v9 e/ ?; k9 K, K# h4 N9 N* R- U7 B7 _) g. r5 F/ A
首先,我们需要安装SCons工具包,用于后续的编译工作。可以通过以下命令进行安装:- m$ {% w3 J0 o
2 b& ~. O0 t, g
forlinx@ubuntu:~$ sudo apt-get install scons  n: Q$ @  t1 x& R8 z! h# r
(2)添加AMP设备树的调用1 G: {6 c* S$ ?* j, B5 G! y& h

- d* Q& S- x2 L3 aOK3562J-C开发板已经添加了AMP设备树的调用,我们可以查看相关配置文件以了解其内容。
7 g$ Z% W: T! }( X2 j7 ?3 }) l& L" @6 I% b
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"
" ^7 M8 {8 t9 ?2 O+ N' [# c
rk3562-amp.dtsi 主要内容包括:
# h, S' N$ T  y7 G* O4 q  s4 A3 q* @  D0 ^7 X, N; @5 z& X; A
/ {/* 描述设备 */    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 <GIC_AMP_IRQ_CFG_ROUTE(147, 0xd0, CPU_GET_AFFINITY(3, 0))>;        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";    };};
, V& a8 m7 t% e4 N( c6 [+ J; p' }
3. 生成配置文件+ R8 K1 w: v9 }6 s
接下来,我们需要生成M0核固件的配置文件。在RTOS源码目录下,通过复制默认配置文件并运行SCons菜单配置界面来生成所需的配置文件。虽然在此示例中无需进行额外配置,但用户可以根据需求进行相应的配置。
+ d4 }6 p; Q% V- l- B  b* b: ~4 {6 Y- T# U  s! M
forlinx@ubuntu:~/work/OK3562-linux-source$ cd rtos/bsp/rockchip/rk3562-32forlinx@ubuntu:~/work/OK3562-linux-source/rtos/bsp/rockchip/rk3562-32$ cp board/rk3562_evb1_lp4x/defconfig .configforlinx@ubuntu:~/work/OK3562-linux-source/rtos/bsp/rockchip/rk3562-32$ scons --menuconfig4 Z* K3 Y0 \4 h( V- o
打开图形化配置界面后,无需配置,直接退出即可。* d, ^1 H% b) D: l) e6 I  ?
/ \- P- Q8 M$ F3 J% f

/ I0 f3 `6 Z5 C7 Y( V$ o2 T7 g! q" x0 \
1 O+ V: v) N* c( F$ T
[backcolor=rgba(0, 0, 0, 0.1)]1 n1 Z9 f  [. L; F! L
[backcolor=rgba(0, 0, 0, 0.1)]! X8 r6 `4 H8 d* e2 N: M% S7 Y

- M" W' V1 o$ w6 [' F5 r0 l
- l* a3 M5 ?) S7 f* L! b) ^

. h/ }# U' W% d6 {
! L  r! c# S9 A
) a3 D& P5 L' O$ [# r& ?
$ v; i# d% _( O添加图片注释,不超过 140 字(可选)7 {! y" Z1 g( M7 u1 z4 Y! y7 o2 v

9 n# e3 z' j/ w, {2 Z: r' \3 m" v# t1 B4 L

% ]; s! |2 U/ C9 t6 n: S; `, F/ n$ K. o: q: J
若有其他功能需求,可进行相应配置后再退出并保存。
) A+ F: v7 _! O" L- K: Y# n- L/ x" D7 M# z
forlinx@ubuntu:~/work/OK3562-linux-source/rtos/bsp/rockchip/rk3562-32$ cp .config board/rk3562_evb1_lp4x/defconfigforlinx@ubuntu:~/work/OK3562-linux-source/rtos/bsp/rockchip/rk3562-32$ cp rtconfig.h board/rk3562_evb1_lp4x/defconfig.h
6 F( F7 r: @  g. b: U
4. 编译源码
( e, D; M# J6 t! _4 S2 M: u完成配置文件的生成后,我们可以开始编译源码。通过运行构建脚本,选择相应的defconfig配置,并分别编译Linux系统和M0核固件。编译成功后,会在指定目录下生成 amp.img 镜像文件。, f4 q7 L0 |1 Y0 a' `3 A$ c
$ ^, S5 z: j2 a- V" t
forlinx@ubuntu:~/work/OK3562-linux-source/rtos/bsp/rockchip/rk3562-32$ cd ../../../../forlinx@ubuntu:~/work/OK3562-linux-source$ ./build.sh chipLog colors: message notice warning error fatalLog saved at /home/forlinx/work/3562/git/OK3562-linux-source/output/sessions/2024-08-27_15-48-21Switching to chip: ok3562Pick a defconfig:1. forlinx_defconfig2. forlinx_ok3562_linux_defconfig3. forlinx_ok3562_linux_mcu_defconfig4. forlinx_ok3562_linux_rtos_defconfigWhich would you like? [1]: 4   //选择第四个配置forlinx@ubuntu:~/work/OK3562-linux-source$ ./build.sh rtosforlinx@ubuntu:~/work/OK3562-linux-source$ ./build.sh mcu
/ Z0 H" a7 ?: m! q' J
编译后在rockdev目录下生成amp.img:
2 {, i! t; S8 L% h5 m: p) E. C6 @. ^- F  o
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
% t* @2 R, A7 h9 Y6 v) P
三、烧写镜像: b6 _8 X3 N# @/ `+ P
将生成的 amp.img 镜像文件拷贝到电脑中,并将开发板切换到烧写模式。使用烧写工具配置 amp.img 的路径。
! ?8 `6 S9 U+ n6 Z& t5 }" U+ A; ~' p0 K" J/ Q+ g! l1 Q
[backcolor=rgba(0, 0, 0, 0.1)]
* m4 Q* }7 }0 ~" ][backcolor=rgba(0, 0, 0, 0.1)]! s/ M8 ^5 K; j8 t4 ?
( c, j( O. a( s, [9 F, _
+ {1 z' @' K3 @0 m, D
2 C- T: h! o7 P/ b" ?4 I

, l! b6 e9 Q- z3 d* _, M$ c
0 f- u/ W! C" ?$ P3 p6 o, d  g; D4 `4 g# U* k# a% v
添加图片注释,不超过 140 字(可选)9 P: C, ~3 q3 z, S% B3 B1 W3 A* z2 g
8 _1 s8 j7 c. C: O* B. s% i
点击“设备分区表”,读取成功后点击“执行”。
  R6 G- ^$ S0 a
: V* b/ l9 v+ Y+ q) Y. }! `: e( v8 Y6 u. `

) v0 f. n$ D2 E& n; G7 T
  I5 v5 A9 f9 }0 g1 K* ~
[backcolor%3保魑患抑档眯爬档墓┯ι蹋鹑缱佑涤惺甑腗CU设计经验,并以双源生产模式、业界先进的MCU工艺技术,以及由250多家生态系统合作伙伴组成的庞大体系为后盾。: }  ], x! o( x3 D

. h& d  g2 E0 L$ q" S+ H$ ^2 w# N) d& Z5 c* t
! J1 m% }1 n9 e' F& o9 z* u+ L
  • TA的每日心情
    开心
    2023-5-15 15:25
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2025-2-28 17:47 | 只看该作者
    RK3562J处理器整体性能很不错,要是有开发板就好了
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-5-25 21:21 , Processed in 0.093750 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表