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:对 Dataload 软件使用 TMS570LS1227闪存 BANK7

Guru**** 2379590 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/1508909/tms570ls1227-using-tms570ls1227-flash-bank7-for-dataload-software

器件型号:TMS570LS1227

工具/软件:

TI 团队大家好、

我们将在航空航天计划中使用 TMS570LS1227微控制器。 此器件包含两个闪存存储体:BANK0和 BANK7。 根据参考手册、BANK7用于 EEPROM 仿真、不支持从其闪存执行代码。

我们的计划是将非关键且无需在飞行过程中执行的"Dataload 软件"编程到 BANK7中。 在维护期间、系统会将 Dataload 软件从 BANK7闪存复制到 RAM、交换存储器(闪存和 RAM)、并重置 CPU 以从 RAM 执行 Dataload 软件。

关于这一实施、我有以下问题:

1、Dataload 软件的大小约为50 KB。 我们可以将 Dataload 软件编程到 BANK7中吗? BANK0和 BANK7闪存之间的编程过程是否有任何差异? 请注意,我们不打算将 ECC 用于 Dataload 软件,而 ECC 将用于飞行软件。 我们将在运行 Dataload 软件之前禁用 ECC。

2.运行飞行软件时、如果控制装置意外跳转到存储 Dataload 软件的 BANK7闪存、处理器是否会触发任何 NMI (例如、ESM 引脚是否会置位)?

我期待收到您的答复。 谢谢。

此致、
Jagadish

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

    请注意、我们将使用 JTAG 将 Dataload 软件加载到 BANK7闪存中。

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

    尊敬的 Jagadish Palle:

    您可以直接在存储体7中执行代码、我的意思是无需将其复制到 RAM 中。 最近、我在下面的主题中遇到了其他客户的类似要求:

    (18) TMS570LC4357:CPU 能否跳转到闪存 OTP 区域以寻址和执行程序? -基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    请参阅以上随附线程中 min 的注释。 在这里,我给出了一个分步的程序和代码来执行代码从银行-7。 您可以将其用作参考。 在上述项目中,我执行了 LED 闪烁代码从银行-7没有任何问题。

    [引述 userid="624406" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1508909/tms570ls1227-using-tms570ls1227-flash-bank7-for-dataload-software ]1. Dataload 软件大小约为50KB。 我们可以将 Dataload 软件编程到 BANK7中吗? BANK0和 BANK7闪存之间的编程过程是否有任何差异? 请注意,我们不打算将 ECC 用于 Dataload 软件,而 ECC 将用于飞行软件。 我们将在运行 Dataload 软件之前禁用 ECC。

    对于此器件、我们在 bank-7中拥有64KB 的存储器、因此在存储大小为50KB 的程序时不会出现任何问题。

    [引述 userid="624406" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1508909/tms570ls1227-using-tms570ls1227-flash-bank7-for-dataload-software。]2. 运行飞行软件时、如果控件意外跳转到存储 Dataload 软件的 BANK7闪存、处理器是否会触发任何 NMI (例如、ESM 引脚是否会置位)?

    否、在组7中执行代码时不会获得任何 NMI 中断。 此外、也不会有任何 ESM 中断。  

    在 RAM 或任何其他闪存存储体中执行代码、在 ESM 角度上不会有任何差异。 内核将直接执行代码、而不会出现任何中断或 ESM 触发。

    --
    此致、
    Jagadish。

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

    您好 Jagadish、

    谢谢你。 这看起来就像你的语句"你可以直接执行代码银行7…" 与参考手册相矛盾(SPNS192B–2012年10月–2015年2月修订)。 它说,"( 3)代码 不允许执行 从闪存存储库7。" 请参阅以下快照。

    闪存和 RAM 都将受到 ECC 保护、并将校正一位错误并检测多个一位错误并生成 NMI (组3错误)并将 NERROR 引脚置为有效。 那么、您是否说如果有多位错误、SECDED 逻辑不会触发 NMI? 请阐明这两项内容。

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

    您好、

    谢谢。 这看起来就像你的语句"你可以直接执行代码银行7…" 与参考手册相矛盾(SPNS192B–2012年10月–2015年2月修订)。 它说,"( 3)代码 不允许执行 从闪存存储库7。" 请参阅以下快照。

    最初我认为同样(执行不能发生在银行-7 ),但我试了一下,它对我有效。 您也可以从 RAM 执行此操作、我的意思是、存储在闪存中并从 RAM 运行、这也应该可以正常工作、而不会出现任何问题。

    闪存和 RAM 都将受到 ECC 保护、并将校正一位错误、检测多个一位错误并生成 NMI (组3错误)并使 nERROR 引脚生效。 那么、您是否说如果有多位错误、SECDED 逻辑不会触发 NMI? 请澄清这两个项目。

    您是正确的、我们可以将 ESM 错误称为 NMI、在 ESM 级别有一个对组1错误的控制、这意味着我们可以配置它们是否应该触发 ESM 中断。

    但是、对于 Group2、不会有任何配置来禁用中断、并且它们始终会触发中断。 最后、对于 Group3、它们将触发中止、并且不会生成任何组3错误的中断。

    有关此方面的更多详细信息、请参阅我的以下主题:

    (+) TMS570LC4357-MCU:EP 上的 ESM 组2和3个通道-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    --
    此致、
    Jagadish。