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.

[参考译文] UCD3138A:内存映射问题

Guru**** 2455360 points
Other Parts Discussed in Thread: UCD3138A

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/672204/ucd3138a-memory-map-question

器件型号:UCD3138A

尊敬的 TI:

UCD3138A 技术手册第16章说,”首先在 ROM 程序中,其它存储器的三个地址寄存器(存储器细基址高寄存器1-3 (MFBAHRx))对被更改 。

'在这个模式中、内存映射被初始化后、ROM 程序在程序闪存上执行一个简单的附加校验和。'

"无需修改任何存储器基址寄存器。"

但在 UCD3138A 的 load.asm 中、有以下代码、请更改存储器映射。

c_int00
;  B c_int00
  LDR  R13,c_sup_stack_top;初始化监控器堆栈指针
  LDR  R4、c_mfbalr1_hal0;将 R4指向程序闪存基地址寄存器
  MOV  r0、#0x62;使块大小为32K、地址0、只读
  STRH r0、[R4];将其存储在此处
  LDR  r0、c_mfbalr2_hal0_load;设置数据闪存仅用于写入
  STRH r0、[R4、#8];将其放入 mfbalr2中
  
;*--------------------------------------------------

但是、当运行 load.asm 意味着处理器开始在闪存模式下执行闪存程序时、为什么在闪存模式下运行时更改存储器映射代码?  它是否已经在 ROM 模式下执行?

祝你一切顺利

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

    另一位同事会回来。

    此致、
    肖恩
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们写入程序闪存基址寄存器、使其为只读。 这实际上是 UCD 的原型版本、它没有闪存密钥、并且闪存意外写入有其他问题。 对于生产器件、这并不是真正必要的。 实际上、在具有更多闪存块的较晚器件上、我们完全删除了该写入。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、LAN 先生、

    我只使用一个闪存 ucd3138A、所以我可以在 Load.asm 中删除用于编程闪存基址寄存器的写入代码吗? 这不会影响正常工作,对吧?

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

    是的。