This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] PROCESSOR-SDK-AM64X:r5f 引导矢量 ARM 指令

Guru**** 2460440 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1481030/processor-sdk-am64x-r5f-boot-vector-arm-instruction

器件型号:PROCESSOR-SDK-AM64X

工具与软件:

您好!  

在 fsbl 中、有一个名为 init ATCM 的步骤、  

那么、我们将该表加载到 ATCM 中

CONST uint32_t bootloader_gSOC_r5fVectors[18]=
  0xE59FF018
  0xE59FF018
  0xE59FF018
  0xE59FF018
  0xE59FF018
  0xE59FF018
  0xE59FF018
  0xE59FF018
  0x00000040
  0x00000040
  0x00000040
  0x00000040
  0x00000040
  0x00000040
  0x00000040
  0x00000040
  0xE320F003/* WFI */
  0xEBFFFFFD/*循环回到 WFI */
};
0xE59FF018   059表示 LDR PC #0x18   am I under correct (我已正确站立)。

1.但又  是怎样的0x00000040他们代表什么?
为什么我们需要这么做?  设置为  0xE59FF018


2.稍后我们将加载我们的应用程序并重写这些条目,对吗?

例如:

传入  
UNDEF_TRAP  0x0
SVC_TRAP    0x4



BL .start 0x20

是否有与此特定区域相关的文档? 据我所知、  0 - 0x20 为中断处理程序保留、  那么我们的应用程序可以从0x20引导。  我对吗?

谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    然后、在后面的步骤中、我看到您的引导加载程序代码覆盖了 ATCM

    状态= CONFIG->Fxns->imgReadFxn ((void *)(uintptr_t)(section.addr)、section.sizeconfig->args);

    先前 在0x78000000加载到 ATCM 的 bootloader_gsoc_r5fVectors 再次被 config->args->curOffset 覆盖
    。  


    看起来是新数据。  
    "EEA000006 EA00009B EAFFFFFE EA000091 E320F000 EA0000BB EA0000E6 E3A00000 E3A00001000 E3A02000 E3A3000 E3A04000 E3A04000 E3A055000 E3A07000 E3A08000 E3A00009000 E3A59A000 EE112F10 E3C22005 E3C22A01 F57FF04F EE012F10 F57FF06F EE112F30 E3822802 E3822801 E3C22902 E3822302 E3822301 E3822402 E3C22020 E3C22010 E3C22008 EE012F30 F57FF04F E3A00000 F57FF04F



    • E3A00000→μ A MOV R0, #0   I recognize it , it is where my start symbol. 
    • E3A01000→μ A MOV R1, #0
    • E3A02000→μ A MOV R2, #0
    • E3A03000→μ A MOV R3, #0
    问题。 1为什么、  之前的步骤是重置 ATCM 步骤冗余。 既然我们在此步骤中仍然将启动总成加载到 ATCM 中? 谢谢