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.

[参考译文] TMS320F28334:使用 TMS20F28335ZAYA 而不是 TMS20F28334ZAYA

Guru**** 2500605 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1038751/tms320f28334-using-tms20f28335zaya-instead-of-tms20f28334zaya

器件型号:TMS320F28334

尊敬的先生 :

我们有使用 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