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.

[参考译文] TM4C123GH6PM:通过读取 EEPROM 存储器进行双启动

Guru**** 2477885 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/687831/tm4c123gh6pm-dual-boot-by-reading-eeprom-memory

器件型号:TM4C123GH6PM

您好!

我不熟悉此 TI 社区、 如果我的调查表有误、请原谅我。 我尝试在闪存中写入两个应用程序,并通过读取 EEPROM 数据引导任何人。 我已经使用完成了部分引导   

  IntMasterDisable();

HWREG (NVIC_vtable)= 0x0001f7e8;
_asm (" LDR R1、[r0]\n"
" mov sp、r1");

_asm (" LDR r0、[r0、#4]\n"
" bx r0\n");

在上述情况下、我的所有中断都被禁用。

我的问题是

1) 1)如何在应用中重新启用中断?

2) 2)如何读取引导加载程序中的 EEPROM 值?  

提前感谢您、

Prakash

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

    您好!

    [引用 USER="Prakash S57]1)如何在应用程序中重新启用中断?

     我不清楚您的问题。 分支到应用程序后、应用程序将需要为所需的外设启用中断。

    [引用 USER="Prakash S57"]2)如何在引导加载程序中读取 EEPROM 值?  [/报价]

     TivaWare 外设驱动程序库用户指南的第128页中提供了一个示例。 下面是对 EEPROM 进行编程和读取的一个片段。  

    //
    //将一些数据编程到地址0x400的 EEPROM 中。
    //
    pui32Data[0]= 0x12345678;
    pui32Data[1]= 0x56789abc;
    EEPROMProgram (pui32Data、0x400、sizeof (pui32Data));
    //
    //读回它。
    //
    EEPROMRead (pui32Read、0x400、sizeof (pui32Read));

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Charles、
    感谢先生的帮助。 在上面的代码中,我禁用了中断(IntMasterDisable();),以便引导加载程序可以正常执行,但稍后当我在应用程序中启用中断(IntMasterEnable();)时,我的系统将停止。您能建议我如何启用它,以及我犯了什么错误。

    此致、

    Prakash