• 正文
  • 相關推薦
申請入駐 產業(yè)圖譜

技術分享 | 如何讓RK3562J在M核上啟動?

01/23 12:25
1012
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

飛凌嵌入式基于瑞芯微RK3562系列處理器打造的FET3562J-C全國產核心板,是一款專為工業(yè)自動化及消費類電子設備設計的產品,憑借其強大的功能和靈活性,自上市以來得到了各行業(yè)客戶的廣泛關注。本文將詳細介紹如何啟動并測試RK3562J處理器的MCU,通過實際操作步驟,幫助各位工程師朋友更好地了解這款芯片。

1、RK3562J處理器概述

RK3562J處理器采用了4*Cortex-A53@1.8GHz+Cortex-M0@200MHz架構。其中,4個Cortex-A53核心作為主要核心,負責處理復雜的操作系統(tǒng)任務和應用程序;Cortex-M0核則作為輔助核心,運行裸核系統(tǒng),能夠快速響應和控制,實現(xiàn)實時性要求較高的任務。

2、啟動M0核固件的前期準備

目前,飛凌嵌入式OK3562J-C開發(fā)板上默認并沒有啟動M0核固件。因此,我們需要通過一系列步驟來配置和啟動M0核。以下是具體的操作步驟:

1. U-Boot修改

理論上我們需要打開AMP(非對稱多處理)編譯宏,但由于飛凌嵌入式OK3562J-C開發(fā)板的U-Boot已默認配置AMP功能,因此用戶無需進行任何U-Boot修改操作。

2. Kernel修改

(1)安裝工具包

首先,我們需要安裝SCons工具包,用于后續(xù)的編譯工作??梢酝ㄟ^以下命令進行安裝:

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

(2)添加AMP設備樹的調用

OK3562J-C開發(fā)板已經(jīng)添加了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 <GIC_AMP_IRQ_CFG_ROUTE(147, 0xd0, CPU_GET_AFFINITY(3, 0))>;        status = "okay";    };
/* 定義了一些保留內存區(qū)域 */    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;        };};
/* 實現(xiàn)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菜單配置界面來生成所需的配置文件。雖然在此示例中無需進行額外配置,但用戶可以根據(jù)需求進行相應的配置。

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

打開圖形化配置界面后,無需配置,直接退出即可。

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

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
4. 編譯源碼

完成配置文件的生成后,我們可以開始編譯源碼。通過運行構建腳本,選擇相應的defconfig配置,并分別編譯Linux系統(tǒng)和M0核固件。編譯成功后,會在指定目錄下生成?amp.img?鏡像文件。

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 fatal
Log 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

編譯后在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 鏡像文件拷貝到電腦中,并將開發(fā)板切換到燒寫模式。使用燒寫工具配置 amp.img 的路徑。

點擊“設備分區(qū)表”,讀取成功后點擊“執(zhí)行”。

4、驗證啟動

重新啟動開發(fā)板時按下空格鍵進入U-Boot菜單。在U-Boot菜單中,輸入 3 將 amp start 配置成 on。

然后輸入 1 重啟開發(fā)板。在啟動過程中,觀察U-Boot階段的打印信息,如果看到與M0核固件啟動相關的打印信息,則說明已成功使用U-Boot啟動M0核固件。

5、總結

上述操作僅為簡單啟動M0核并打印信息。實際上,M0核的功能非常強大,支持UART、PWM、I2CSPI等多種外設接口。(目前飛凌嵌入式暫無更多M0核接口的測試例程,您若有相關需求,可以聯(lián)系技術支持獲取瑞芯微官方資料進行深入學習和開發(fā))

希望通過本文的介紹和實踐操作,能讓您對RK3562J處理器的M0核有更進一步的了解,并為后續(xù)的開發(fā)工作提供幫助。點擊下圖進入飛凌嵌入式官網(wǎng),即可了解有關FET3562J-C核心板的更多詳情。

飛凌嵌入式

飛凌嵌入式

保定飛凌嵌入式技術有限公司,創(chuàng)建于2006年,是一家專注嵌入式核心控制系統(tǒng)研發(fā)、設計和生產的高新技術企業(yè),是國內較早專業(yè)從事嵌入式技術的企業(yè)之一。 經(jīng)過十幾年的發(fā)展與積累,公司擁有業(yè)內優(yōu)秀的軟硬件研發(fā)團隊,在北京及保定建立兩大研發(fā)基地,在蘇州、深圳設有華東、華南技術服務中心,并在北美、歐洲以及亞太等其他國家和地區(qū)擁有國際業(yè)務網(wǎng)絡。公司研發(fā)的智能設備核心平臺廣泛應用于物聯(lián)網(wǎng)、工控、軌道交通、醫(yī)療、電力、商業(yè)電子、智能家居、安防、機器人、環(huán)境監(jiān)測等諸多領域。

保定飛凌嵌入式技術有限公司,創(chuàng)建于2006年,是一家專注嵌入式核心控制系統(tǒng)研發(fā)、設計和生產的高新技術企業(yè),是國內較早專業(yè)從事嵌入式技術的企業(yè)之一。 經(jīng)過十幾年的發(fā)展與積累,公司擁有業(yè)內優(yōu)秀的軟硬件研發(fā)團隊,在北京及保定建立兩大研發(fā)基地,在蘇州、深圳設有華東、華南技術服務中心,并在北美、歐洲以及亞太等其他國家和地區(qū)擁有國際業(yè)務網(wǎng)絡。公司研發(fā)的智能設備核心平臺廣泛應用于物聯(lián)網(wǎng)、工控、軌道交通、醫(yī)療、電力、商業(yè)電子、智能家居、安防、機器人、環(huán)境監(jiān)測等諸多領域。收起

查看更多

相關推薦

登錄即可解鎖
  • 海量技術文章
  • 設計資源下載
  • 產業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

秉承專業(yè)態(tài)度,專注智能設備核心平臺研發(fā)與制造,以技術研發(fā)創(chuàng)新為主導,以客戶實用化,產品化為目標,把握嵌入式行業(yè)的前沿發(fā)展需求,利用核心技術為客戶提供穩(wěn)定、可靠、功能優(yōu)異的高品質產品。合作聯(lián)系:17713286011