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.

[参考译文] CCS/OMAP3530:在OMAP 3530中,当SYSBOOT_5=1时,引导空间重新映射到ROM引导加载器,但当SYSBOOT_5=0时发生了什么情况?

Guru**** 2604225 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/629142/ccs-omap3530-in-omap-3530-when-sysboot_5-1-then-boot-space-is-remapped-to-rom-boot-loader-but-what-happened-when-sysboot_5-0

部件号:OMAP3530

工具/软件:Code Composer Studio

在OMAP的TRM中,3530.it指出OMAP 3530具有 1GB启动空间,根据SYSBOOT_5引脚映射到ROM启动加载器或GPMC内存。

因此,当 SYSBOOT_5=1时,ROM被重新映射到启动空间,即向量表被映射到内部ROM。 在重置时,ARM将开始从内部 ROM执行指令,因为它被映射到 启动空间

我的问题是 ,当SYSBOOT_5 =0时会发生什么情况 。当 SYSBOOT_5等于0时,ROM启动加载程序是否会执行,或者直接启动空间将映射到GPMC,即,在这种情况下,ROM启动加载程序不会执行任何指令?

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

    引导过程始终从ROM引导装载程序开始。 然后,ROM引导装载程序读取SYS_BOOT信号,并决定引导进程的下一阶段是通过内存接口(GPMC,MMC)还是通过外设(USB,UART3,EMAC,SPI)。

    e2e.ti.com/.../9.5382万

    此致,
    Pavel
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的,但在数据表中,如果sys_boot_5 == 1,则只将ROM映射到从0x0万开始的引导空间
    根据您的情况,如果首先执行房间引导加载程序,但ROM映射到0x0.004亿,那么如何将此地址空间映射到0x0万 (重置矢量位置)?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Nirav,

    nirav parmar13 说:
    yea,但在数据表中,如果sys_boot_5 ==1,则只有ROM将从0x0万开始映射到引导空间
    根据您的说法,如果首先执行房间引导加载程序,但ROM映射到0x0.004亿,那么如何将此地址空间映射到0x0万,即重置矢量位置?[/QUOT]

    这是OMAP35x数据表:

    您到底在哪个页面上看到此内容?


    此致,
    Pavel

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

    重置后,ROM代码将从0x4001.4万开始。 然后,它将检查sys_boot pins (sys_boot5是其中之一),并根据该值切换到其它地址。 如果sys_boot针脚配置为快速外部引导,则会跳至地址0x0万。 请参阅OMAP35x TRM,第25.4 3节:总体引导顺序

    根据我的理解,在这两种情况下(sys_boot5 = 0或1),重置向量为0x4001.4万

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回复,您的回答中有一个问题,即为什么重置时,重置向量位于0x1.4万或4001.4万 (映射到启动空间的ROM)? 作为REST矢量,每个ARM必须在0x0万或0xffffff0000处。
    在第一个重置指令时,它将从连接到CCS的调试器中看到的0x1.4万中提取出来,因此也不会使用cp15的C12寄存器更改矢量表的基本地址。
    请详细解释


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

    OMAP35x TRM中有关ROM代码重置向量的信息不清楚,它指向0x4001.4万和0x1.4万。 当您使用JTAG/CCC在板上测试它并看到它是0x1.4万时,我同意您的意见。 另在e2e中检查,我看到其他线程也显示0x1.4万是复位矢量:

    e2e.ti.com/.../9.9722万
    e2e.ti.com/.../25.0652万

    此致,
    Pavel