尊敬的先生 :
我们有使用 C2000 TMS20F28334ZAYA 的旧产品 ,由于组件短缺 ,我们可以改用 TMS20F28335ZAYA
在不更改 软件 的情况下(具有相同的引脚 /功能),我看到28335的唯一区别是具有更多的闪存。
你建议吗?
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.
尊敬的先生 :
我们有使用 C2000 TMS20F28334ZAYA 的旧产品 ,由于组件短缺 ,我们可以改用 TMS20F28335ZAYA
在不更改 软件 的情况下(具有相同的引脚 /功能),我看到28335的唯一区别是具有更多的闪存。
你建议吗?
您可以正确地看到、唯一的区别是闪存、但是除了纯大小(28335的闪存是28334的2倍)、还有一些区别。
要使扇区数保持不变(8),28334上的扇区大小为16K x 16,而28335为32k x 16。 这会改变扇区的大小、从而影响您可以擦除的闪存最小大小以及擦除的范围。
我添加了下表、以展示这是如何在两个器件之间映射的。
例如、如果在器件的初始程序之后擦除 F28334上的扇区 C、则 F28335上的擦除函数如果传递给扇区 C、则会在与 F28334上的 SectorE 和 SectorF 相关联的地址上调用擦除、 由于传递给擦除 API 的参数是扇区编号(从0到7)。
因此、不仅会擦除错误的地址(因为您的 cmd 文件仍将内容放置在为 F28334定义的扇区 C 中)、而且如果您更正并现在擦除 F28335上的扇区 B、它还会擦除与 F28334上的扇区 D 相关的地址。
从代码操作 POV 中、我看不到这会产生任何影响、由于闪存的初始程序会擦除所有扇区、这无关紧要。 如果您没有上述更新闪存的条件、那么我认为您不需要进行任何代码更改。 如果您确实需要进行更改、触摸调用闪存 API 的代码将是最有意义的。
| 闪存地址范围 | F28334 | F28335 |
| 0x300000-0x307FFF (32K) | 不适用 | 扇区 H |
| 0x308000-0x30FFFF (32K) | 不适用 | 扇区 G |
| 0x310000-0x317FFF (32K) | 不适用 | 扇区 F |
| 0x318000-3x31FFFF (32K) | 不适用 | 扇区 E |
| 0x320000-0x323FFF (16K) | 扇区 H | 扇区 D |
| 0x324000-0x327FFF (16K) | 扇区 G | |
| 0x328000-0x32BFFF (16K) | 扇区 F | 扇区 C |
| 0x32C000-0x32FFFF (16K) | 扇区 E | |
| 0x330000-0x333FFF (16K) | 扇区 D | 扇区 B |
| 0x334000-0x337FFF (16K) | 扇区 C | |
| 0x338000-0x33BFFF (16K) | 扇区 B | 扇区 A |
| 0x33C000-0x33FF7F (16K) | 扇区 A |
最棒的
Matthew