工具/软件:Code Composer Studio
您好!
我需要在输入错误的 BSL 密码时禁用 FRAM 批量擦除、并使用永久自定义 BSL 密码、我可以使用该密码通过 BSL 进行未来固件升级。
我发现此密码特定于固件、每个 ISR 的地址位置用作密码数据。
那么、在每次固件升级期间、是否可以使用我们选择的任何永久密码?
如果可能、我们如何做到这一点?
在我们的项目中、防止 MSP FW 损坏的优先级高于 专有 FW 安全性、因此我们需要禁用此"密码错误批量擦除"功能。
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.
工具/软件:Code Composer Studio
您好!
我需要在输入错误的 BSL 密码时禁用 FRAM 批量擦除、并使用永久自定义 BSL 密码、我可以使用该密码通过 BSL 进行未来固件升级。
我发现此密码特定于固件、每个 ISR 的地址位置用作密码数据。
那么、在每次固件升级期间、是否可以使用我们选择的任何永久密码?
如果可能、我们如何做到这一点?
在我们的项目中、防止 MSP FW 损坏的优先级高于 专有 FW 安全性、因此我们需要禁用此"密码错误批量擦除"功能。
[引用用户="Rejath Paul Varkey"]
我发现此密码特定于固件、每个 ISR 的地址位置用作密码数据。
那么、在每次固件升级期间、是否可以使用我们选择的任何永久密码?
如果可能、我们如何做到这一点?
[/报价]
这可以通过使用定点矢量 ISR ADR 值来完成、该值指向在每次固件更新期间正在更改的另一个 ISR ADR 值。 或者使用定点固定 ISR 函数的固定 ISR ADR 值、该函数被锁定到特定地址。 我在简单的汇编器项目中使用了这两种方法。
您好!
正确、这是另一种实现方法。 不过、这可能会导致不同时序中代码和中断服务例程的复杂性产生依赖性、因为强制编译器将相关代码放置在特定位置、这可能会强制编译器包含其他跳转到 ISR 或其他代码的功能。
因此、在用户的情况下、需要考虑以下因素:更简单或首选的方法、可能存在不同实时行为的上述风险、或者自定义 BSL 的额外工作以及程序存储器中相应的代码开销。 当然、对于 MSP430FR2xx 器件、定制 BSL 的另一个缺点是定制 BSL 代码缺少硬件保护、如 MSP430FR2433。 只有由用户实现的代码中的保护才会保护定制的 BSL。
此致
Peter
尊敬的 Peter 和 zrno:
到目前为止、由于尺寸问题、我们无法在 MSP 中实现自定义 BSL。 仅在 MSP FRAM 中保留小于1KB 的编程空间。 我们已经在使用2端口 IRQ、3个计时器 IRQ、ADC IRQ 和 i2c IRQ 以及 FRAM 数据存储。 因此、我们无法在 FRAM 中进一步添加任何代码。
是否可以使用 MSP430FR2433中的内置 BSL 使用永久 BSL 密码?
您还能提到实现这一目标的步骤吗?
[引用 user="zrno soli"]
这可以通过使用定点矢量 ISR ADR 值来完成、该值指向在每次固件更新期间正在更改的另一个 ISR ADR 值。 或者使用定点固定 ISR 函数的固定 ISR ADR 值、该函数被锁定到特定地址。 我在简单的汇编器项目中使用了这两种方法。
[/报价]