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.

[参考译文] TMS570LS1227:启动加载器和应用程序代码的cmd文件

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1094294/tms570ls1227-cmd-file-for-bootloader-and-application-code

部件号:TMS570LS1227

器件是TMS570LS1227

需要了解Bootloader代码和应用程序代码中cmd文件的内容。 如何为“引导程序”和其余部分执行分区。

我的应用程序代码位置必须在0x4万位置

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

    如果将bootloader放置在闪存(0x0万000000)的0万的开头,则引导程序为:

      引导程序  (X)  :origal=0x0万 length=0x0.002万

      FLASH0 (RX):Orig=0x0.002万 length=0x14万-0x20


    如果应用程序位于0x4万 (不是我的引导加载程序示例中使用的应用程序状态)

        矢量  (X)  :origal=0x4万 length=0x0.002万

        FLASH0   (RX) :原始=0x4.002万长度=0x14万-0x40020</s>4.002万

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

    在Application cmd文件中,如果使用了上述地址,则应用程序不会运行。

    lauchpad将打开全时功能,程序不可调试。  

    其它地方是否需要进行任何更改,如  中断向量文件 (sys_intvecs.ASM)。 这两种情况是否相同?

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

    bootloader是一个简单的项目,应该没有错误,所以我想将异常表更改为0x0万。

    这意味着bootloader sys_intvecs.asm中的异常表更改为:

    b _c_int00
    b 0x2万-0x08  ;;undefEntry
    b 0x2万-0x08 ;svcEntry
    b 0x2万-0x8   ;prefetchEntry
    b 0x2万-0x8   ;prefetchEntry
    b 0x2万-0x8   ;;_dabort
    B逻辑中断
    LDR PC,[PC,#-0x1b0]
    LDR PC,[PC,#-0x1b0]

    异常(例如数据中止)将在应用程序中处理,而不是在bootloader中处理。

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

    如果应用程序状态编程为0x4万,而应用程序映像编程为0x400x0,则需要将CMD文件更改为:

        矢量  (X)  :origal=0x0.04万x0 length=0x0.002万

        FLASH0   (RX) :Orig=0x0.04万y0 length=0x14万-0x400y0

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

    如果我在bootloader的sys_intvecs.asm中写入此内容  

    它给了我非法的操作数错误  

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

    内存

    矢量(X):origal=0x2万 length=0x0.002万
    FLASH0 (RX):原始=0x2.002万长度=0x0011ffe0
    stacks (RW):origid=0x800万 length=0x0.15万
    RAM (RW):Orig=0x800.15万 length=0x0002EB00

    /*用户代码开始(2)*/
    /*用户代码结束*/
    }

    如果我的应用程序位于0x2万位置,这对我的应用程序是否合适

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

    内存

    矢量(X):origal=0x2万 length=0x0.002万
    FLASH0 (RX):Orig=0x2.002万 length=0x0011ffE0
    stacks (RW):origid=0x800万 length=0x0.15万
    RAM (RW):Orig=0x800.15万 length=0x0002EB00

    /*用户代码开始(2)*/
    /*用户代码结束*/
    }

    lauchpad将打开全时,并且程序不能像您所说的那样调试该地址。

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

    是否有任何更新?

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

    请发布您的引导加载程序源代码

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

    是否有任何安全通道用于共享它?

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

    Lokesh,您好!

    只需阅读 Bootloader sys_intvecs.asm

    .sect ".intvecs"
    手臂

    ----------------------------------
    ;导入中断例程的引用

    .ref _c_int00
    .ref _dabort
    .ref phantomInterrupt
    .def重置启动

    ----------------------------------
    ;中断向量

    重置启动
      b _c_int00
    未定义结束
      b未定义结束
    svcEntry
      B服务入门
    PrefetchEntry
      B预胎儿心腔
      b _dabort
      B逻辑中断
      LDR PC,[PC,#-0x1b0]
      LDR PC,[PC,#-0x1b0]

    bootloader是一小段代码,应进行 全面的测试,并且没有错误。 因此,我想将所有异常处理程序都放在应用程序中:

    因此,我将异常向量更改为:

    b _c_int00
    b 0x2万-0x08  ;;undefEntry
    b 0x2万-0x08 ;svcEntry
    b 0x2万-0x8   ;prefetchEntry
    b 0x2万-0x8   ;prefetchEntry
    b 0x2万-0x8   ;;_dabort
    B逻辑中断
    LDR PC,[PC,#-0x1b0]
    LDR PC,[PC,#-0x1b0]