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.

TMS320F280025: 请问需要在flash内划分两个区域,一块boot一块主程序跳转后程序跑飞

Part Number: TMS320F280025
Other Parts Discussed in Thread: C2000WARE

已经通过lin口把bin文件烧写入flash了,但是不知道一些配置如何配置,导致最后跳转到主程序main的时候进入Interrupt_illegalOperationHandler错误中断,请教下

  • 额,抱歉直接把工程发上来的话其实像我们对工程不了解的诊断起来会有的吃力啊。

    你的项目应该是要实现二次boot,不过用lin的方式boot我这边没有这方面的实操经验,但是TI是有提供一个基于SCI的二次bootloader例程的,你可以参考例程里面的跳转方法和跳转地址:

    C:\ti\c2000\C2000Ware_4_01_00_00\driverlib\f28002x\examples\flash

  • 你好,要更新的一个程序,仿真时看到的flash地址数据和生成的hex文件数据不一致是怎么回事,好像生成的文件数据只取了低8位

  • 你是用什么工具生成的Hex文件?是用CCS自带的生成工具来生成的吗

  • 是的,不知道是不是没设置好,应该看看哪些选项

  • Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    -stack 0x380
    MEMORY
    {
    BEGIN : origin = 0x080000, length = 0x000002
    BOOT_RSVD : origin = 0x00000002, length = 0x00000126
    RAMM0 : origin = 0x00000128, length = 0x000002D8
    RAMM1 : origin = 0x00000400, length = 0x000003F8 /* on-chip RAM block M1 */
    // RAMM1_RSVD : origin = 0x000007F8, length = 0x00000008 /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */
    /* RAMLS4 : origin = 0x0000A000, length = 0x00000800
    RAMLS5 : origin = 0x0000A800, length = 0x00000800
    RAMLS6 : origin = 0x0000B000, length = 0x00000800
    RAMLS7 : origin = 0x0000B800, length = 0x00000800*/
    /* Combining all the LS RAMs */
    RAMLS4567 : origin = 0x0000A000, length = 0x00002000
    RAMGS0 : origin = 0x0000C000, length = 0x000007F8
    // RAMGS0_RSVD : origin = 0x0000C7F8, length = 0x00000008 /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    -stack 0x380
    MEMORY
    {
    BEGIN : origin = 0x082000, length = 0x000002
    BOOT_RSVD : origin = 0x00000002, length = 0x00000126
    RAMM0 : origin = 0x00000128, length = 0x000002D8
    RAMM1 : origin = 0x00000400, length = 0x000003F8 /* on-chip RAM block M1 */
    // RAMM1_RSVD : origin = 0x000007F8, length = 0x00000008 /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */
    /* RAMLS4 : origin = 0x0000A000, length = 0x00000800
    RAMLS5 : origin = 0x0000A800, length = 0x00000800
    RAMLS6 : origin = 0x0000B000, length = 0x00000800
    RAMLS7 : origin = 0x0000B800, length = 0x00000800*/
    /* Combining all the LS RAMs */
    RAMLS4567 : origin = 0x0000A000, length = 0x00002000
    RAMGS0 : origin = 0x0000C000, length = 0x000007F8
    // RAMGS0_RSVD : origin = 0x0000C7F8, length = 0x00000008 /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    请问下这两个cmd的地址这样配置,为什么跳转0x82000的时候总是进入Interrupt_illegalOperationHandler错误中断啊

  • 你好,看到你发布了一个新帖,这个帖子先为你关闭了,后续在新帖中讨论:

    e2echina.ti.com/.../926344