|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 Heaven_1 于 2025-2-28 17:47 编辑
) o* u+ X' z( \- |% q' p. |2 k% l: _* o
一、RK3562J处理器概述
, m- S" n+ N" Y- E3 h" P' |* N. d' RRK3562J处理器是一款高性能、多核心的处理器,采用了独特的异构架构设计。它集成了4个Cortex-A53核心和1个Cortex-M0核心,其中4个Cortex-A53核心运行频率高达1.8GHz,凭借其强大的处理能力,主要负责运行复杂的操作系统任务和各种高性能应用程序,能够高效地处理多任务操作和数据密集型计算,为设备提供卓越的性能表现。而Cortex-M0核心则以200MHz的频率运行,作为一个辅助核心,它运行裸核系统,具有极高的响应速度和低延迟特性,能够快速响应实时性要求较高的任务,如传感器数据采集、电机控制等,确保设备在实时任务处理方面具备出色的稳定性和可靠性。这种独特的架构设计使得RK3562J处理器在兼顾高性能计算的同时,还能满足对实时性要求较高的应用场景,广泛适用于智能物联网设备、工业自动化控制以及嵌入式系统等多种领域,为用户带来高效、稳定且灵活的解决方案。
: J" [: H1 m) y/ m' |9 h6 g2 Y& X4 Z2 i$ c# n! ~5 _9 M. p& |8 m/ D. d0 q
" d \6 r Z o; m& p8 m
# n3 U. f" k" @, @/ [
' \6 P( l( s* f4 W& r
[backcolor=rgba(0, 0, 0, 0.1)] 3 i) E( g( v" _/ t6 n& O: I: Y5 o
[backcolor=rgba(0, 0, 0, 0.1)]
& }# ` r4 Y+ Y9 o
% R, H+ e, P. }) S( f' s
0 y% Q( `) L; ^" `' l: i. V# A T! W9 j. F' s2 m( u
. x' Q! X7 X. m k9 `8 ~: h
& A2 _! z. t$ c. b2 b
g$ [5 g% D2 a/ d$ I1 s添加图片注释,不超过 140 字(可选)
/ f6 T0 N `; E& K9 }. R" n. A9 f( F* n* G; \
2 c7 J" G6 N( s: s' {$ ~! e+ C" }4 K' O Q! t. c
* C" }, p& [7 J. X: K8 V& `
二、启动M0核固件的前期准备/ ~4 L* M% ?3 \
目前,飞凌嵌入式OK3562J-C开发板上默认并没有启动M0核固件。因此,我们需要通过一系列步骤来配置和启动M0核。以下是具体的操作步骤:
. {, I% e( ^3 q" V2 k4 R
. ~% B, D' J8 h4 \1. U-Boot修改. ~# x! Y& l2 J; L) f
理论上我们需要打开AMP(非对称多处理)编译宏,但由于飞凌嵌入式OK3562J-C开发板的U-Boot已默认配置AMP功能,因此用户无需进行任何U-Boot修改操作。# W5 ]6 \% B4 d* Z
/ `3 \/ T, Z& t B5 _6 B2. Kernel修改
2 ~0 u1 F( K/ t0 Q, J(1)安装工具包
0 d j9 b) Q) A( J& P* P+ c2 h3 z) |# Q$ c
首先,我们需要安装SCons工具包,用于后续的编译工作。可以通过以下命令进行安装:& c: ~3 B3 e5 ~* x8 M
* r {- ?7 q- w- Zforlinx@ubuntu:~$ sudo apt-get install scons
q- B9 n# B/ w (2)添加AMP设备树的调用
# C: A$ b1 r5 l; i" S4 {: t7 n2 X+ L
OK3562J-C开发板已经添加了AMP设备树的调用,我们可以查看相关配置文件以了解其内容。
( D' u5 m* q, Y& g; t$ t3 x/ X/ F, j
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"
! ~# O* Z' T6 R- |: X5 Y rk3562-amp.dtsi 主要内容包括:
: U4 Y7 X1 J% W& A8 F: y1 ?/ T
* n9 O, m( r2 F7 M8 Z7 z: k7 X/ {/* 描述设备 */ 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"; };};0 J {9 x6 a$ U4 y
3. 生成配置文件- X/ K4 l: f+ q- _5 W
接下来,我们需要生成M0核固件的配置文件。在RTOS源码目录下,通过复制默认配置文件并运行SCons菜单配置界面来生成所需的配置文件。虽然在此示例中无需进行额外配置,但用户可以根据需求进行相应的配置。
0 u% w& E/ e6 J- _9 F8 Z: \$ ~1 i9 T/ {
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 --menuconfig
; o" L6 e9 k9 E# m( S) C 打开图形化配置界面后,无需配置,直接退出即可。1 }) q6 t( W' J; P! I
4 |2 o x) m0 d" V
' d5 i$ K6 } O* ?. \0 f1 x& }. u/ b" V+ P# s$ O
5 ~# j, o m1 {
[backcolor=rgba(0, 0, 0, 0.1)]
+ ]# x) f& |5 ?# H[backcolor=rgba(0, 0, 0, 0.1)] 9 W8 L' J5 O" Y% Z ~
S5 h9 a/ c2 Y2 D ; _8 ?1 ~, H8 s5 F0 G
1 u0 O0 t5 M. h6 w4 k H
$ }% Q5 t8 R: m3 G! |" C# i& V: m
3 @: o# R# A( J# V- i0 j
' W3 Z- _: W5 n添加图片注释,不超过 140 字(可选)
2 ^) c" V2 }7 A8 `1 S' }8 j% R
7 K$ X; x4 \/ P* q
' W- A- @! T# N2 y3 l5 C' P
; u6 ^% N7 R+ g) {! t; k) _ {" a% v: q4 n$ A$ D
若有其他功能需求,可进行相应配置后再退出并保存。) x. @7 ~- o; q2 X
7 x% k# @. ]# m& ^# j( \
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.h7 d8 x, w) o* g9 Z9 L
4. 编译源码
9 ^, z8 w% u; A0 N4 B7 S' U完成配置文件的生成后,我们可以开始编译源码。通过运行构建脚本,选择相应的defconfig配置,并分别编译Linux系统和M0核固件。编译成功后,会在指定目录下生成 amp.img 镜像文件。- D. A' |5 G$ V2 y# r, r6 l
% x& u) G; D0 R/ u0 i$ j' ]
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
4 N8 p: ?& X/ h) [- ?9 \$ |, B; G 编译后在rockdev目录下生成amp.img:
" J- b/ A$ ^" h1 t
: l7 }0 s& n3 P5 J) d, Sforlinx@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
) y- a( s2 Q8 I. j; Y! | 三、烧写镜像- r( W% t/ d* k" g" t
将生成的 amp.img 镜像文件拷贝到电脑中,并将开发板切换到烧写模式。使用烧写工具配置 amp.img 的路径。# [; [9 [1 Y) _% {0 z# z! A, I
: E3 S: ^! C9 U8 c8 u5 P
[backcolor=rgba(0, 0, 0, 0.1)]
' c$ K- b# B% x$ N4 L2 [[backcolor=rgba(0, 0, 0, 0.1)]
8 r; T) ~! a2 B" Z; q: A
4 S: R* S* K0 F+ R. q 7 A" D* B5 D, j: D/ ]* F
! Q& U0 I* D$ }& e* I
: i4 p$ k2 Q: d% n* M; A) D! h; |0 S; p+ G% A; m4 |) `
0 Q9 g3 O4 k0 I/ s* ], `3 y添加图片注释,不超过 140 字(可选)
! s) t6 Y G! Y M+ a/ e' }1 y9 {# Y: ^
点击“设备分区表”,读取成功后点击“执行”。
1 B | l U) d6 Y. T2 Q% U4 C" L% W, E5 {( f2 }
; M- Y0 b& w% ?! L R
9 a* E% J4 K0 ?: a& C- D
, S1 V: Q- D U r' ]2 b
[backcolor%3保魑患抑档眯爬档墓┯ι蹋鹑缱佑涤惺甑腗CU设计经验,并以双源生产模式、业界先进的MCU工艺技术,以及由250多家生态系统合作伙伴组成的庞大体系为后盾。
2 |" U" ?* d v3 ~; h$ B- v1 {: ^1 F. |0 T. J+ C& \: a* }
4 O* Z6 R4 L& @7 x) z, [ D2 {
2 K9 p9 @* y5 L; h: \0 P
|
|