|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 Heaven_1 于 2025-2-28 17:47 编辑
5 h9 ~1 Y& \. P/ ]& o) c0 X5 J3 E, m$ \: _; Y- }9 d
一、RK3562J处理器概述. y5 F( E, i: M- p- F9 m
RK3562J处理器是一款高性能、多核心的处理器,采用了独特的异构架构设计。它集成了4个Cortex-A53核心和1个Cortex-M0核心,其中4个Cortex-A53核心运行频率高达1.8GHz,凭借其强大的处理能力,主要负责运行复杂的操作系统任务和各种高性能应用程序,能够高效地处理多任务操作和数据密集型计算,为设备提供卓越的性能表现。而Cortex-M0核心则以200MHz的频率运行,作为一个辅助核心,它运行裸核系统,具有极高的响应速度和低延迟特性,能够快速响应实时性要求较高的任务,如传感器数据采集、电机控制等,确保设备在实时任务处理方面具备出色的稳定性和可靠性。这种独特的架构设计使得RK3562J处理器在兼顾高性能计算的同时,还能满足对实时性要求较高的应用场景,广泛适用于智能物联网设备、工业自动化控制以及嵌入式系统等多种领域,为用户带来高效、稳定且灵活的解决方案。8 P) a* f% ~: j, s! \
/ |& u' }1 g6 H C$ ]+ Y
9 S7 e3 m0 X0 v, k
! _ |5 L0 V! D& X7 E! _
s! d, U5 |, O- J( U$ n
[backcolor=rgba(0, 0, 0, 0.1)] 8 s, e) y% J# o+ u
[backcolor=rgba(0, 0, 0, 0.1)]
, m" P( j0 f3 m1 w9 }
. {0 U0 ?3 D7 u" G ) R9 N* a+ ~4 z7 g( a
4 R4 B9 [" M% X* @8 T) r% k& V
2 n0 g7 Y. J5 a4 E: e. }( K
9 x. b" `# t5 e1 X H8 A
% W1 c) n2 y) m2 M4 W0 z, u" i添加图片注释,不超过 140 字(可选)+ S: W& K; J3 ~9 Q( b# d
3 d7 ^- R/ J% a1 r' M I
4 ^/ U9 Q+ m3 N
( b1 O a4 W5 S8 k# ^3 O7 x9 A6 X* d5 J; }7 e6 J0 D$ y6 K5 g* L0 s5 f' X% v
二、启动M0核固件的前期准备
4 T9 s6 V. c1 ]目前,飞凌嵌入式OK3562J-C开发板上默认并没有启动M0核固件。因此,我们需要通过一系列步骤来配置和启动M0核。以下是具体的操作步骤:( ?- Y, q6 s b d
' z- r h; w+ `# w1. U-Boot修改
6 x0 T- z$ K0 y0 }理论上我们需要打开AMP(非对称多处理)编译宏,但由于飞凌嵌入式OK3562J-C开发板的U-Boot已默认配置AMP功能,因此用户无需进行任何U-Boot修改操作。$ F9 M- q% h6 \' m) n# ~0 r$ n+ k
/ E$ \1 t. V# N7 l+ |% f
2. Kernel修改" G4 u/ Z( y2 k) H* o
(1)安装工具包
$ K' Q: h. {) g" s; [$ d9 P; V0 i. Q$ j1 q) P3 y9 n# z. A
首先,我们需要安装SCons工具包,用于后续的编译工作。可以通过以下命令进行安装:
: X( V$ O# ?: t& N0 H% d2 m0 E; w4 @5 y8 R
forlinx@ubuntu:~$ sudo apt-get install scons
$ ^4 _5 P% ~, p+ L3 S (2)添加AMP设备树的调用
6 h- @( N0 n' R* | ~& s( ~- `+ w, `' u" m, [
OK3562J-C开发板已经添加了AMP设备树的调用,我们可以查看相关配置文件以了解其内容。
- u* [ b2 a- S1 ~
" T! W# D0 | O$ p/ Xforlinx@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"/ q4 D& _: U; v' f3 a; n% u1 C
rk3562-amp.dtsi 主要内容包括:
. P+ v0 m6 y: {9 P: n
& j2 F, d( P# {1 b+ ^3 o/ {/* 描述设备 */ 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"; };};3 q9 e3 R2 @$ W* e; l: V1 ~3 l! O
3. 生成配置文件4 L/ b4 d* z6 T( x
接下来,我们需要生成M0核固件的配置文件。在RTOS源码目录下,通过复制默认配置文件并运行SCons菜单配置界面来生成所需的配置文件。虽然在此示例中无需进行额外配置,但用户可以根据需求进行相应的配置。# g0 d& e$ H; b w
7 d! n* w' F: U( Mforlinx@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
7 ]/ P# M/ m9 o2 B2 T 打开图形化配置界面后,无需配置,直接退出即可。( s& E5 K$ _; d, Z
* G, U# T9 X9 b& u3 U8 n( C
2 A1 j; j6 w+ d7 R# a8 w
2 R+ N" I0 w: h M: s) s5 ~$ G. E, M! W6 U6 N3 ^/ s! }
[backcolor=rgba(0, 0, 0, 0.1)]
' u6 L8 y* F* T) N& ][backcolor=rgba(0, 0, 0, 0.1)] $ h# {3 r c2 `2 F/ c$ `
3 g0 M& {5 j) c
% b8 ~5 ]1 s- A, f/ B( ^( J9 _0 Y# w5 H1 C# x" l+ k
% c4 \5 q5 F1 B# ~6 I& I X9 J; N
, C5 ~+ |+ s2 `. i. Z
( L* m; p. u5 g' V添加图片注释,不超过 140 字(可选)
4 C' I/ @6 L ?# n# ]' @. |) G, }/ R2 }$ `9 R' c
- Y1 s q P/ v% R0 N/ w! B
: K: Z* k/ N; u- B+ q" h# m
0 o, M; L0 p+ C! q% A4 ~1 l0 k若有其他功能需求,可进行相应配置后再退出并保存。- S+ K6 u, Z7 j2 v
9 `* _/ p3 s: e1 \: `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.h6 L8 U: l: Z$ i0 {( l* B/ R! f2 }: e
4. 编译源码 Z9 f# c2 g$ F b
完成配置文件的生成后,我们可以开始编译源码。通过运行构建脚本,选择相应的defconfig配置,并分别编译Linux系统和M0核固件。编译成功后,会在指定目录下生成 amp.img 镜像文件。
* y F! E& o+ S* \4 `" O5 ?2 P* R
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% Y& x- o/ H' B
编译后在rockdev目录下生成amp.img:
* b) f! `" s; T: i6 x1 J; J2 E/ Y3 E
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; X% s% u; }5 \+ B- ~
三、烧写镜像
. o" i7 Y, k% ?# j/ p+ V将生成的 amp.img 镜像文件拷贝到电脑中,并将开发板切换到烧写模式。使用烧写工具配置 amp.img 的路径。
& R% R6 D& E- E1 Y' m& l3 s
8 s" x) Z1 ?2 i* R0 s
[backcolor=rgba(0, 0, 0, 0.1)] ! [6 @' I: A) L. A3 L7 ^: F
[backcolor=rgba(0, 0, 0, 0.1)]
Q( C" Z: n2 D! j7 m
: _. W! }8 a7 R 0 E1 E, {- ]& F/ B
/ }1 s2 y. `% ]8 @8 p6 G+ q% D3 y5 Y- I
) U2 z$ s+ |) h+ S8 @6 V
0 l/ t) i/ N5 b! N! m添加图片注释,不超过 140 字(可选)
; S0 H( ]0 b: G
, a% e4 _2 u! q5 m1 c. F5 S$ ~点击“设备分区表”,读取成功后点击“执行”。4 b, _, C$ Z R& I( }& U
s5 L- B5 P' n6 g1 z+ W9 b7 @+ |4 @5 Z" }$ }' \ P! [3 K3 `# }
! o$ y7 R/ H: ?/ e
% X+ u5 o' X; U, p
[backcolor%3保魑患抑档眯爬档墓┯ι蹋鹑缱佑涤惺甑腗CU设计经验,并以双源生产模式、业界先进的MCU工艺技术,以及由250多家生态系统合作伙伴组成的庞大体系为后盾。 J2 [' _/ Q" R0 k1 V
: @& \5 P- z) G. w2 O* ^) E- `
1 `; B6 X S9 g) A# n6 c
( @7 r1 Q% o" W8 x/ z6 Y. j
|
|