一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MPSoC R5引導(dǎo)4個A53和兩個R5的應(yīng)用程序的例子

FPGA之家 ? 來源:賽靈思中文社區(qū)論壇 ? 作者:付漢杰 ? 2022-10-20 11:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

01 介紹

工程師反饋R5引導(dǎo)A53和R5的應(yīng)用程序后,A53和R5的應(yīng)用程序沒有正確執(zhí)行。因此做了一個MPSoC R5引導(dǎo)4個A53和兩個R5的應(yīng)用程序的例子。

02 FSBL

MPSoC的FSBL能引導(dǎo)多個CPU的應(yīng)用程序。工程師可以不理解上述寄存器的細(xì)節(jié)。如果boot.bin里的某個parttiion是某一個CPU的可執(zhí)行代碼,F(xiàn)SBL中的函數(shù)XFsbl_Handoff( )會啟動對應(yīng)的CPU。如果是目標(biāo)CPU是A53,會使用函數(shù)

XFsbl_UpdateResetVector()更新A53的服務(wù)地址。

03 應(yīng)用程序例子

由于只是簡單例子,所以所有CPU都使用同一個串口。為了防止所有CPU打印出來的信息,混雜在一起,所以在打印之后,增加了1秒鐘延時。


打印中,增加了CPU的信息,用于區(qū)分不同CPU。

int main()
{
    init_platform();

sleep(1);

    for( int i=0; ; i++ )
    {
    xil_printf("No.%d Hello World from r5-aaa.

", i );
    sleep(1);
    }

    cleanup_platform();
    return 0;
}

04 內(nèi)存分配

4個A53和兩個R5的應(yīng)用程序,都運(yùn)行在DDR里。每個應(yīng)用程序,必須使用不同的DDR空間。

CPU DDR起始地址 DDR大小

84fa0ae0-3c6f-11ed-9e49-dac502259ad0.png

請根據(jù)上表,更新lscript.ld中的MEMORY里的ddr字段。A53-0的lscript.ld中的MEMORY部分,設(shè)置如下:

MEMORY
{
   psu_ddr_0_MEM_0 : ORIGIN = 0x1000000, LENGTH = 0x1000000
}

R5-0的lscript.ld中的MEMORY部分,設(shè)置如下:

MEMORY
{
   psu_ocm_ram_0_MEM_0 : ORIGIN = 0xFFFC0000, LENGTH = 0x40000
   psu_r5_0_atcm_MEM_0 : ORIGIN = 0x0, LENGTH = 0x10000
   psu_r5_0_btcm_MEM_0 : ORIGIN = 0x20000, LENGTH = 0x10000
   psu_r5_ddr_0_MEM_0 : ORIGIN = 0x3000000, LENGTH = 0x1000000
   psu_r5_tcm_ram_0_MEM_0 : ORIGIN = 0x0, LENGTH = 0x40000
}

05 R5引導(dǎo)4個A53和兩個R5的bif文件例子

SDK里,制作啟動文件boot.bin時,需要正確設(shè)置每個ELF文件的目標(biāo)CPU。SDK不能根據(jù)ELF文件,自動設(shè)置目標(biāo)CPU。如果設(shè)置錯誤,可能引起錯誤,導(dǎo)致相關(guān)CPU的代碼,不能正確執(zhí)行。

//arch = zynqmp; split = false; format = BIN
the_ROM_image:
{
[fsbl_config]r5_single
[bootloader]C:prjzcu106v183zcu106_bsp_hw_hdf
5a_fsblDebugd_r5a_fsbl.elf
[destination_cpu = a53-0]C:prjzcu106v183zcu106_bsp_hw_hdfa53a_helloDebugd_a53a_hello.elf
[destination_cpu = a53-1]C:prjzcu106v183zcu106_bsp_hw_hdfa53b_helloDebugd_a53b_hello.elf
[destination_cpu = a53-2]C:prjzcu106v183zcu106_bsp_hw_hdfa53c_helloDebugd_a53c_hello.elf
[destination_cpu = a53-3]C:prjzcu106v183zcu106_bsp_hw_hdfa53d_helloDebugd_a53d_hello.elf
[destination_cpu = r5-0]C:prjzcu106v183zcu106_bsp_hw_hdf
5a_helloDebugd_r5a_hello.elf
[destination_cpu = r5-1]C:prjzcu106v183zcu106_bsp_hw_hdf
5b_helloDebugd_r5b_hello.elf
}

06 R5引導(dǎo)4個A53和兩個R5的啟動記錄
Xilinx Zynq MP First Stage Boot Loader
Release 2018.3   Oct 12 2020  -  1708
Reset Mode      :       System Reset
Platform: Silicon (4.0), Cluster ID 0xC0000100
Running on R5-0 Processor, Device Name: XCZU7EV
Initializing TCM ECC
Address 0xFFFD95F0, Length FFE00020, ECC initialized
Address 0xFFFD95F0, Length FFE20000, ECC initialized
FMC VADJ Configuration Successful
Board Configuration successful
Processor Initialization Done
================= In Stage 2 ============
SD1 with level shifter Boot Mode
SD: rc= 0
File name is BOOT.BIN
Multiboot Reg : 0x0
Image Header Table Offset 0x8C0
*****Image Header Table Details********
Boot Gen Ver: 0x1020000
No of Partitions: 0x9
Partition Header Address: 0x440
Partition Present Device: 0x0
Initialization Success
======= In Stage 3, Partition No:1 =======
UnEncrypted data Length: 0x2812
Data word offset: 0x2812
Total Data word length: 0x2812
Destination Load Address: 0x1000000
Execution Address: 0x1000000
Data word offset: 0x5CF0
Partition Attributes: 0x116
Partition 1 Load Success
======= In Stage 3, Partition No:2 =======
UnEncrypted data Length: 0x2812
Data word offset: 0x2812
Total Data word length: 0x2812
Destination Load Address: 0x2000000
Execution Address: 0x2000000
Data word offset: 0x8510
Partition Attributes: 0x216
Partition 2 Load Success
======= In Stage 3, Partition No:3 =======
UnEncrypted data Length: 0x2812
Data word offset: 0x2812
Total Data word length: 0x2812
Destination Load Address: 0x5000000
Execution Address: 0x5000000
Data word offset: 0xAD30
Partition Attributes: 0x316
Partition 3 Load Success
======= In Stage 3, Partition No:4 =======
UnEncrypted data Length: 0x2812
Data word offset: 0x2812
Total Data word length: 0x2812
Destination Load Address: 0x6000000
Execution Address: 0x6000000
Data word offset: 0xD550
Partition Attributes: 0x416
Partition 4 Load Success
======= In Stage 3, Partition No:5 =======
UnEncrypted data Length: 0x148
Data word offset: 0x148
Total Data word length: 0x148
Destination Load Address: 0x0
Execution Address: 0x3C
Data word offset: 0xFD70
Partition Attributes: 0x51E
XFsbl_PartitionCopy:Going for LOVEC HIGHVEC Mechanism for R5.
XFsbl_PartitionLoad:After Partition Validation
Going for LOVEC HIGHVEC Mechanism for R5.
Partition 5 Load Success
======= In Stage 3, Partition No:6 =======
UnEncrypted data Length: 0x9B1
Data word offset: 0x9B1
Total Data word length: 0x9B1
Destination Load Address: 0x3000000
Execution Address: 0x0
Data word offset: 0xFEC0
Partition Attributes: 0x51E
Partition 6 Load Success
======= In Stage 3, Partition No:7 =======
UnEncrypted data Length: 0x148
Data word offset: 0x148
Total Data word length: 0x148
Destination Load Address: 0x0
Execution Address: 0x3C
Data word offset: 0x10880
Partition Attributes: 0x61E
Initializing TCM ECC
Address 0xFFFD95F0, Length FFE90000, ECC initialized
Address 0xFFFD95F0, Length FFEB0000, ECC initialized
Partition 7 Load Success
======= In Stage 3, Partition No:8 =======
UnEncrypted data Length: 0x9B1
Data word offset: 0x9B1
Total Data word length: 0x9B1
Destination Load Address: 0x4000000
Execution Address: 0x0
Data word offset: 0x109D0
Partition Attributes: 0x61E
Partition 8 Load Success
All Partitions Loaded
================= In Stage 4 ============
PMU-FW is not running, certain applications may not be supported.
Protection configuration applied
CPU 0x100 reset release, Exec State 0x0, HandoffAddress: 1000000
CPU 0x200 reset release, Exec State 0x0, HandoffAddress: 2000000
CPU 0x300 reset release, Exec State 0x0, HandoffAddress: 5000000
CPU 0x400 reset release, Exec State 0x0, HandoffAddress: 6000000
CPU 0x600 reset release, Exec State 0x8, HandoffAddress: 3C
XFsbl_Handoff:Restored R5LovecBuffer to LOVEC for R5.
Running Cpu Handoff address: 0x3C, Exec State: 8
Exit from FSBL
No.0 Hello World from a53-aaa.
No.0 Hello World from a53-bbb.
No.0 Hello World from a53-ccc.
No.0 Hello World from a53-ddd.
No.0 Hello World from r5-bbb.
No.0 Hello World from r5-aaa.
No.1 Hello World from a53-aaa.
No.1 Hello World from a53-bbb.
No.1 Hello World from a53-ccc.
No.1 Hello World from a53-ddd.
No.1 Hello World from r5-bbb.
No.1 Hello World from r5-aaa.
No.2 Hello World from a53-aaa.
No.2 Hello World from a53-bbb.
No.2 Hello World from a53-ccc.
No.2 Hello World from a53-ddd.
No.2 Hello World from r5-bbb.

07 APU Module

由于MPSoC的FSBL能引導(dǎo)多個CPU的應(yīng)用程序,工程師可以不理解下述寄存器的細(xì)節(jié)。


APU Module的基地址是0xFD5C0000,下列寄存器用于設(shè)置APU的復(fù)位地址。

RVBARADDR0L0x00000040Reset Vector Base Address
RVBARADDR0H0x00000044Reset Vector Base Address
RVBARADDR1L0x00000048Reset Vector Base Address
RVBARADDR1H0x0000004CReset Vector Base Address
RVBARADDR2L0x00000050Reset Vector Base Address
RVBARADDR2H0x00000054Reset Vector Base Address
RVBARADDR3L0x00000058Reset Vector Base Address
RVBARADDR3H0x0000005CReset Vector Base Address

08 RPU Module

RPU Module的基地址是0xFF9A0000,下列寄存器用于設(shè)置RPU的復(fù)位地址。

RPU0_CFG    0x00000100Configuration Parameters specific to RPU0
RPU1_CFG0x00000200Configuration Parameters specific to RPU1

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5433

    瀏覽量

    124324
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11074

    瀏覽量

    216908
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    38

    文章

    3333

    瀏覽量

    58998

原文標(biāo)題:【工程師分享】MPSoC R5引導(dǎo)4個A53和兩個R5的應(yīng)用程序的例子

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    MSPM0引導(dǎo)加載程序

    電子發(fā)燒友網(wǎng)站提供《MSPM0引導(dǎo)加載程序.pdf》資料免費(fèi)下載
    發(fā)表于 11-14 16:08 ?1次下載
    MSPM0<b class='flag-5'>引導(dǎo)</b>加載<b class='flag-5'>程序</b>

    TAS5710的PLL_FLTP和電源VR_ANA的電阻和電容的C9,R5,C10的值是怎么算出來的?

    TAS5710的PLL_FLTP和電源VR_ANA的電阻和電容的C9,R5,C10的值是怎么算出來的,誤差大的話會有什么影響?
    發(fā)表于 11-01 07:15

    使用TMS320C6452引導(dǎo)加載程序

    電子發(fā)燒友網(wǎng)站提供《使用TMS320C6452引導(dǎo)加載程序.pdf》資料免費(fèi)下載
    發(fā)表于 10-15 13:53 ?0次下載
    使用TMS320C6452<b class='flag-5'>引導(dǎo)</b>加載<b class='flag-5'>程序</b>

    使用TMS320DM647/DM648引導(dǎo)加載程序

    電子發(fā)燒友網(wǎng)站提供《使用TMS320DM647/DM648引導(dǎo)加載程序.pdf》資料免費(fèi)下載
    發(fā)表于 10-15 09:57 ?0次下載
    使用TMS320DM647/DM648<b class='flag-5'>引導(dǎo)</b>加載<b class='flag-5'>程序</b>

    使用TMS320C6747/45/43引導(dǎo)加載程序

    電子發(fā)燒友網(wǎng)站提供《使用TMS320C6747/45/43引導(dǎo)加載程序.pdf》資料免費(fèi)下載
    發(fā)表于 10-14 11:22 ?2次下載
    使用TMS320C6747/45/43<b class='flag-5'>引導(dǎo)</b>加載<b class='flag-5'>程序</b>

    使用TMS320VC5505/04引導(dǎo)加載程序

    電子發(fā)燒友網(wǎng)站提供《使用TMS320VC5505/04引導(dǎo)加載程序.pdf》資料免費(fèi)下載
    發(fā)表于 10-14 10:48 ?0次下載
    使用TMS320VC5505/04<b class='flag-5'>引導(dǎo)</b>加載<b class='flag-5'>程序</b>

    使用TMS320C5517引導(dǎo)加載程序

    電子發(fā)燒友網(wǎng)站提供《使用TMS320C5517引導(dǎo)加載程序.pdf》資料免費(fèi)下載
    發(fā)表于 10-12 11:29 ?0次下載
    使用TMS320C5517<b class='flag-5'>引導(dǎo)</b>加載<b class='flag-5'>程序</b>

    使用TMS320C5545/35/34/33/32引導(dǎo)程序

    電子發(fā)燒友網(wǎng)站提供《使用TMS320C5545/35/34/33/32引導(dǎo)程序.pdf》資料免費(fèi)下載
    發(fā)表于 10-12 10:33 ?1次下載
    使用TMS320C5545/35/34/33/32<b class='flag-5'>引導(dǎo)</b><b class='flag-5'>程序</b>

    使用TMS320C5515/14/05/04引導(dǎo)加載程序

    電子發(fā)燒友網(wǎng)站提供《使用TMS320C5515/14/05/04引導(dǎo)加載程序.pdf》資料免費(fèi)下載
    發(fā)表于 10-12 09:34 ?0次下載
    使用TMS320C5515/14/05/04<b class='flag-5'>引導(dǎo)</b>加載<b class='flag-5'>程序</b>

    運(yùn)放電路的反饋回路中的R4R5是什么意思?

    如下圖所示 這個運(yùn)放電路的反饋回路中的R4R5是什么意思? 按照我的想法,是直接用c4作為反饋電容就可以了,但是一直不懂別人的設(shè)計為什么加這兩個電阻。 求哪位高手幫我解答一下,謝
    發(fā)表于 09-20 08:13

    INA217使用時輸入偏置電流回路的電阻改了會有什么影響?

    如下圖中的R4R5改大阻值會有什么影響? 目前由于這兩個電阻的存在,信號源內(nèi)阻較大時,輸入信號會被這兩個電阻拉低
    發(fā)表于 09-10 08:00

    AWR2243引導(dǎo)加載程序流程

    電子發(fā)燒友網(wǎng)站提供《AWR2243引導(dǎo)加載程序流程.pdf》資料免費(fèi)下載
    發(fā)表于 09-06 11:27 ?0次下載
    AWR2243<b class='flag-5'>引導(dǎo)</b>加載<b class='flag-5'>程序</b>流程

    OPA1632負(fù)載接在了R3和R5中間,如何計算其傳遞函數(shù)?

    OPA1632手冊中的參考電路如下: 1.負(fù)載接在了R3和R5中間,如何計算其傳遞函數(shù)? 2.手冊中說該電路增益約為0.25,這是指的VO-與輸入的比還是指V-與輸入的比值? 3.手冊中說R5/C3起到濾波的作用,其傳遞函
    發(fā)表于 08-30 12:57

    采用OPA2377設(shè)計跨阻放大器,其中R5,R4,R6構(gòu)成T型反饋回路,請問電容C4的作用是什么?

    1、采用OPA2377設(shè)計跨阻放大器,其中R5,R4,R6構(gòu)成T型反饋回路,請問電容C4的作用是什么? 2、APD接收光信號頻率為130MHz,同時將本振信號輸入APD實(shí)現(xiàn)混頻,使
    發(fā)表于 08-09 07:41

    可以在單個esp8266上安裝兩個NON OS SDK應(yīng)用程序嗎?

    簡單的問題。我可以在單個 esp8266 上安裝兩個 NON OS SDK 應(yīng)用程序嗎?我的自定義引導(dǎo)加載程序(包括 os libs)和
    發(fā)表于 07-19 07:28