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.

[参考译文] TMS320F28379D:从闪存读取数据

Guru**** 2595805 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1049049/tms320f28379d-reading-data-from-flash

器件型号:TMS320F28379D
主题中讨论的其他器件:C2000WARE

您好:

我将使用下面的示例向闪存写入数据。

C:\ti\c2000Ware_3_04_00_00\device_support\f2837xd\examples\dual\flash_programming

我写入闪存的这些数据如下:

struct MDATA
{
    int PG;
    int IG;
    int IL;
    int ID;
    int DG;
    int DW;
    int FF;
    int FFA;
    int TL;
    int FB;
};

我无法读取我写入闪存的数据? 我想读取我写入闪存的数据、并将其分配给我定义的变量。

Sinan、
谢谢、

你好。

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

    您好、Sinan、  

    来自闪存的数据可以像 RAM 一样被读取。  

    请确保根据工作频率正确配置等待状态(请检查数据表闪存参数规格)。

    谢谢、  

    Anu

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

    您好、Anu:

    我在  数据表中检查了闪存参数规格。  未出现错误。  我尝试了很多东西。 但是、我仍然无法从闪存读取数据。

    我写入闪存并希望读取的数据如下:

    Buffer[0]= 0x1234;
    缓冲区[1]= 0x5678;
    Buffer[2]= 0x90ab;
    Buffer[3]= 0xcdef;
    缓冲区[4]= 0x1122;
    缓冲区[5]= 0x3344;
    缓冲区[6]= 0x5566;
    Buffer[7]= 0x7788;

    您能否查看我在该帖子中包含的以下代码?

    /cfs-file/__key/communityserver-discussions-components-files/171/7416.flash_5F00_programming_5F00_cpu01.c

    谢谢、此致、

    Sinan。

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

    Sinan、  

    如果你在存储器窗口中查看、你是否能够看到缓冲器的内容被写入闪存?

    谢谢、  

    Anu

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

    您好、Anu:

    我在存储器窗口中看不到缓冲器的内容写入闪存。

    [引用 userid="487101" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1049049/tms320f28379d-reading-data-from-flash/3882871 #3882871"]

    您能否查看我在该帖子中包含的以下代码?

    /cfs-file/__key/communityserver-discussions-components-files/171/7416.flash_5F00_programming_5F00_cpu01.c

    [/报价]

    C2000Ware_3_04_00_00实例是否存在故障?

    Sinan。

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

    Sinan、  

    您似乎在写入之前尝试读取这些位置?  

    您是否能够在不添加内容的情况下运行该示例? 它应该起作用。 对于您正在进行的添加、您能否在所有闪存初始化完成后首先尝试写入、然后读取、例如 FlashInit、闪存 API Init、将闪存组设置为活动状态并查看它是否起作用。  

    谢谢、  

    Anu

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

    您好、Anu:

    如果没有我的添加、该示例也不起作用。

    我正在尝试在将数据写入闪存后读取数据。

    我的代码如下:

    /cfs-file/__key/communityserver-discussions-components-files/171/2728.flash_5F00_programming_5F00_cpu01.c

    您能否向另一位 TI 闪存专家咨询此问题?

    Sinan。

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

    您好、Sinan、  

    我将查看此文件并返回给您、在平均时间内、请查看以下内容:  

    https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/951668/faq-faq-on-flash-api-usage-for-c2000-devices 

    谢谢、  
    Anu

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

    您好、Anu:

    您是否能够检查我与您共享的代码片段? 解决此问题是否有任何进展?

    [报价 userid="453770" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1049049/tms320f28379d-reading-data-from-flash/3887327 #3887327"]我将查看此文件并返回给您,在平均时间内,请查看以下内容: [/报价]

    Sinan、
    谢谢、致以诚挚的问候。

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

    Sinan、  

    该文件的大部分内容看起来与闪存编程示例相同、仅增加了闪存读取函数、缓冲器阵列从317行开始。 您的时钟源是什么? PLL 是否配置了您为器件提供的时钟源?

    谢谢、  

    Anu

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

    您好、Anu:

    [引用 userid="453770" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1049049/tms320f28379d-reading-data-from-flash/3891409 #3891409"]您的时钟源是什么?

    我的器件时钟源为200MHz。 (u32HclkFrequency = 200MHz )  

    [报价 userid="453770" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1049049/tms320f28379d-reading-data-from-flash/3891409 #3891409"] PLL 是否配置了您设备的时钟源?

    是的。 我将使用我的器件具有的时钟源配置 PLL 电路。

    Sinan。

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

    Sinan、  

    更具体地说、您是否使用内部或外部振荡器生成200MHz 时钟? 这些示例通常配置为使用外部振荡器、如果使用内部振荡器、则需要相应地更改示例中的时钟配置、以便示例使用它来生成所需的时钟频率。  

    我之所以问时钟源、是因为您提到、即使没有添加任何内容、该示例也不适合您、因此我认为这可能是您所面临问题的原因。  

    谢谢、  

    Anu

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

    您好、Anu:

    [引用 userid="453770" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1049049/tms320f28379d-reading-data-from-flash/3892875 #3892875"]更具体地说,您是否使用内部或外部振荡器来生成200MHz 时钟?

    我正在使用 TMDSECATCNCD379D 开发套件。  此套件上有25MHz 晶体。

    我不认为时钟源可能是这个问题的原因。 因为我使用的是 TI 开发套件。

    TI 器件是否具有芯片勘误条件?

    Sinan、
    谢谢。

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

    Sinan、

    我查看了您的代码。

    示例是对扇区 C 进行编程、然后它也会擦除该扇区。  因此、编程的数据 会 被擦除。

    您可能需要擦除、编程、然后读取(在程序之后不进行擦除)。

    请注意:Anu 已不在办公室、将于下周三返回。  如果您有其他问题、请在下周中旬收到我们的回复。

    谢谢、此致、

    Vamsi

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

    您好:

    [引用 userid="16728" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1049049/tms320f28379d-reading-data-from-flash/3897271 #3897271"]因此,编程的数据 将 被擦除。

    我在代码中没有注意到这个细节。

    非常感谢您的反馈。

    我的问题得到了解决。 我感谢你。

    我稍后将关闭此帖子案例。 不过,我有另一个问题要问你。  我有许多数据要写入 EEPROM。 我应该使用 DSP 的闪存还是外部 EEPROM 芯片?  此外、DSP 闪存区域的写入寿命是多少?

    Sinan、
    谢谢、致以诚挚的问候。

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

    Sinan、

    很高兴它帮助了我们。

    有关写入/擦除规格、请参阅以下从数据表获取的快照。

    关于您的 EEPROM 查询:我们没有适用于此器件的 EEPROM 驱动程序示例。  但是、您可以根据需要使用闪存 API 对闪存进行编程。  请注意、您需要对至少64位(最小值)进行编程、因为 ECC 是针对在64位边界上对齐的每个64位计算的。   

    谢谢、此致、
    Vamsi