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.

[参考译文] UCD3138ALLCEVM150:UCD3138A 和写入中的存储器映射

Guru**** 2502205 points


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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/980876/ucd3138allcevm150-memory-mapping-in-ucd3138a-and-writing

器件型号:UCD3138ALLCEVM150

您好!

我目前正在根据我的要求修改 UCD3138ALLEVM150的 EVAL 板代码。 我指的是 TI 网站上提供的 LLCHB 固件1.2。 我对存储器映射有以下问题:

1. CONFIG_b 的用途是什么?   

2.如何扩展.config 和.config_b.的大小 我还有150字节的数据需要存储在 D-FLASH 中。 根据存储器映射、当前大小为:

配置0 00018800 000002bc
00018800 000002bc constants.obj (.config)

.CONFIG_B
0 00018ac0 0000021c 未初始化
00018ac0 0000021c constants.obj (.config_B)

3.我还希望用户将各种配置作为用户定义的设置存储到 d-flash 中。 最多3个不同的设置、每个设置的大小为18字节。

我尝试将 PMBus_DCDC_CONFIG 结构拆分为两个部分、以减小其大小。 第一部分是用户无法修改的设置值、另一组是用户可以修改并存储为用户设置的常用值。 它包含5组默认值、用户可以添加3组值。 每组的大小为18字节。

请建议如何实现这一目标。

此致、

Nitish

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

    配置 B 用于确保始终存在一组有效的数据。  对于配置和配置 B、有两个位置可以存储数据。  通常、一个块保存数据、一个块被擦除。   当执行 store default all 命令时、新数据被存储到被擦除的块中。  一旦块被写入、旧块的擦除周期开始。  这样、即使写入过程因复位或断电而中断、数据闪存中仍有有效数据。   

    您可以通过将块的长度更改到 comand 文件中来更改 Config 的长度。   

    如果您查看此处:

    您可以找到适用于 ARM 内核的 CCS 汇编工具指南。  它与您可能使用的版本不完全匹配、但.cmd 文件的工作方式相同。  这将解释如何更改地址。  数据闪存的总大小为2K 字节。   

    如果配置结构中有您不需要更改的值、您可以将其移动到程序闪存中。  您可以创建一个单独的结构、并将其定义为易失性常量、而不是使用 #pragma DATA_SECTION。  这将把它们放置在程序闪存的下一个位置。  由于您不会擦除它们、因此您不关心它们在哪里。   

    有相当复杂的代码可在数据闪存和 RAM 之间以及 UCD 中的寄存器之间转换、读取和写入值。  如果您从 Store Default All 和 Restore Default All PMBus 命令开始、您应该能够看到其中的大部分内容。  您可以将此指南用作如何添加和减去值以及如何读取、写入和擦除数据闪存的指南。  软件中断中调用了几个函数。  软件中断包装程序中的数字是软件中断函数中 switch 语句中的数字。   

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

    尊敬的 Ian:

    感谢快速响应。 我将尝试上述方法、如果我遇到任何问题、我将告诉您。

    谢谢、

    Nitish