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.

[参考译文] TM4C1294NCZAD:用于使用 Tiva CPU 的文件系统的串行闪存

Guru**** 2524550 points
Other Parts Discussed in Thread: TM4C1294NCPDT, EK-TM4C1294XL, SYSBIOS

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/811829/tm4c1294nczad-serial-flash-for-a-file-system-using-a-tiva-cpu

器件型号:TM4C1294NCZAD
主题中讨论的其他器件:TM4C1294NCPDTEK-TM4C1294XLDK-TM4C129XSYSBIOS

我有 一个 TM4C1294NCZAD 、我正在使用以下软件:

CCS 8.2.0  
TIRTOS 2.16.0.08、
编译器5.2.7和
XDC 3.31.1333
TM4C1294NCPDT

我想在电路板上添加一个串行闪存器件 、并实现一个非易失性闪存文件系统。  假设我要将其添加到 EK-TM4C1294XL 评估板。  

选择 TI-RTOS 和 Tiva 实现闪存文件系统所需的闪存部件有哪些要求?

此链接 http://processors.wiki.ti.com/index.php/TI-RTOS_Examples_SerialFlash 建议使用 AT45DB、但我发现不推荐在开发中使用 AT45DB。

是否有关于更换 AT45DB 的建议?

谢谢、

道格

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

    有趣。 Mouser 显示了2、000多个可用器件、 数据表 中未指明不再推荐在新设计中使用该器件。

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

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

    以下是仍在供货的器件列表: https://www.digikey.com/products/en/integrated-circuits-ics/memory/774?k=AT45DB&k=&pkeyword=AT45DB&sv=0&pv7=2&sf=0&FV=1f140000%2Cffe00306%2C23805e0%2C23805e3&quantity=&ColumnSort=0&page=1&pageSize=25

    在我看来、他们好像正在停止使用 -SHF 选项(2.3V 至3.6V)的-SHD (2.5V 至3.6V)选项。 由于-SHF 部件具有更宽的工作电压范围、因此这是有道理的。

    您可以联系 Adesto 进行验证。

    您可以使用其他 SPI 串行闪存器件、但它们可能需要进行一些软件修改。

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

    我的目标是使用闪存部件对文件系统进行原型设计、而不使用 microSD 卡。  

    感谢您提供可与 Tiva 一起使用的最新闪存部件。

    我还有一个 DK-TM4C129x 评估板、它包含 microSD 和 SPI 闪存部件(MX66L5)。  有2个使用文件系统的示例、但自述文件中介绍的是仅使用 microSD、而不是 MX66L5。  

    示例包括 fatsd_DK_TM4C129X_TI_TivaTM4C129XNCZAD fatsDraw DK_TM4C129X_TI_TivaTM4C129XNCZAD

    我使用 microSD 卡验证了这两个示例。  如果移除 microSD 卡并更改 JP7跳线 以便可以使用 MX66L5、这两个示例是否正常?

    在查看这些示例时,我看到函数 Board_initSDSPI()初始化了 MicroSD 用作芯片选择的 CPU 引脚 PH4。  如果我要移除 microSD 卡并使用 MX66L5、那么如果我将芯片选择更改为使用 PQ1、因为 PQ1是 MX66L5的芯片选择、该选项是否有效?  

    如果 MX66L5可用于测试这些示例、示例应用中的芯片选择 PH4将被设置和清除?

    谢谢、

    道格

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

    您好 Doug、

    我不会尝试将 SDSPI 用于 MX66L5。 我将采用 http://processors.wiki.ti.com/index.php/TI-RTOS_Examples_SerialFlash 中所述的相同方法。 例如、编写 一个 MX66L5.c (使用 AT45DB.c 作为模板)和 一个 MX66L5FatFs.c (使用 AT45DBFatFs.c 作为模板)。 头文件上的 ditto。

    Todd

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

    您是否希望我可以在 CCS 8.2.0中下载并构建 wiki 引用的示例?

    我下载了示例工程并解压缩了这些工程、然后将其导入到 CCS8.2.0中、当我尝试在 wiki 中构建链接的工程时、我会收到以下错误。

    我假设修复程序是下载并安装 较旧 版本的 TI-RTOS、以使其正常工作。  我安装了2.16.0.08和2.16.1.14:

    我应该安装什么来测试这些示例?

    谢谢、

    道格

    CCS 8.2.0中的"Problems"选项卡。

    说明 资源 路径 位置 类型
    无法在路径上找到"ti.sysbios.fatfs"软件包:"c:/TI/tirtos_tivac_2_16_00_08/packages;C:/TI/tirtos_tivac_2_16_00_08/products/tidrivers_tivac_2_16_00_08/packages;C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages;C:/TI/tirtos_tivac_2_16_00_08/products/uia_2_00_05_50/packages;C:/TI/tirtos_tivac_2_16_00_08/products/ns_1_11_00_10/packages;C:/ccs8p2/ccsv8/base";C:/TI/tirtos_tivac_2_16_00_08/products/ndk_2_25_00_09/packages /TI/xdctools_3_32_00_06_core/packages;.."。 确保正确设置了封装路径。  .xdchelp /serialFlash_TM4C129_LP 行53 C/C++问题
    Gmake:***[Build-201117329]错误2 serialFlash_TM4C129_LP   C/C++问题
    gmake:目标"全部"不会由于错误而重新生成。  serialFlash_TM4C129_LP   C/C++问题
    gmake[1]:***[Build-201117329-InProC]错误1 serialFlash_TM4C129_LP   C/C++问题
    无效的工程路径:未找到包含路径(C:\TI\tirtos_tivac_2_16_00_08\products\TivaWare_C_Series-2.1.0.12573c)。  serialFlash_TM4C129_LP  路径入口 路径问题
    当前未安装产品'TI-RTOS for TivaC' v2.12.1.33。 将使用兼容版本2.16.0.08。  serialFlash_TM4C129_LP  serialFlash_TM4C129_LP 问题
    此工程是使用当前未安装的编译器版本创建的- 5.2.2 [ARM]。 编译器的另一个版本将在编译期间使用- 18.1.3.LTS。 请参阅"帮助">"安装新软件"并选择"代码生成工具更新"以检查此编译器是否可通过 CCS 更新获得。 访问 CCS App Center 以获取最新的编译器支持。 或 "="">software-dl.ti.com/.../a> 并安装编译器、然后通过"Preferences > CCS > Build > Compiler"在 CCS 中注册。  serialFlash_TM4C129_LP  属性 问题

    从控制台窗口:

    编译文件:"../serialflash.cfg

    调用:XDCtools

    "c:/TI/xdctools_3_32_00_06_core/xs "--xdcpath="C:/TI/tirtos_tivac_2_16_00_08/packages;C:/TI/tirtos_tivac_2_16_00_08/products/tidrivers_tivac_2_16_00_08/packages;C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages /TI/tirtos_tivac_2_16_00_08/products/ns_1_11_00_10/packages;C:/TI/tirtos_tivac_2_16_00_08/products/ndk_2_25_00_09/packages;C:/TI/tirtos_tivac_2_16_00_08/products/uia_2_00_05_50/packages /TI/tirtos_tivac_2_16_00_08/products/TivaWare_C_Series-2.1.0.12573c;C:/ccs8p2/ccsv8/ccs_base;" xdc.tools.configuro configPkg -t ti.arms.mti.mti -p ti.platforms.tiva:TM4C1294NCPDT -ccsv8p2/ccs_base;"ccs-define -ccs-ccs-v8g=ccs_ex-ccs_ex-ctrab-ctrab-ctrads/g=ccs_part-ccs-ccs-ccs_ex-ccs-ccs_exccs-v8g=v3\ccs_ex-ctrab-ctrab-v/ccs-ccs_exccs_ex-ctradcs-ccs_ex-ctrab-v3_defines=v/ccs-ccs-ccs-ccs-ctrl= ccs-ccs-ccs_g.dlp8g=v/ccs-ccs-ccs-ccs-ccs_

    从 package/cfg/serialflash_pem4f.cfg 配置 serialflash.xem4f ...

    subdir_rules.mk:19:目标'Build-201117329-InProc'的配方失败

    JS:"c:/Tiva 文件系统测试/Tiva FS 示例/serialFlash_TM4C129_LP/serialflash.cfg "、行53:xdc.services.global.XDCException: xdc.package_not _found:can't locate the package 'ti.sysbios.fatfs' along the path:'c:/TI/tirtos_tivac_2_16_00_08/packages;C:/TI/tirtos_tivac_2_16_00_08/products/tidrivers_tivac_2_16_00_08/packages /TI/tirtos_tivac_2_16_00_08/products/uia_2_00_05_50/packages;C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages /TI/tirtos_tivac_2_16_00_08/products/ns_1_11_00_10/packages;C:/TI/tirtos_tivac_2_16_00_08/products/ndk_2_25_00_09/packages /TI/xdctools_3_32_00_06_core/packages;ccsv8_c:ccs.c:t.c:tc.fatfs. 确保正确设置了封装路径。

    "./package/cfg/serialflash_pem4f.cfg,第184行

    xdctools_3_32_00_06_core\gmake.exe:***[package/cfg/serialflash_pem4f.xdl]错误1.

    JS:"c:/TI/xdctools_3_32_00_06_core/packages/xdc/tools/Cmdr.xs、第51行:错误:xdc.tools.configuro:由于先前的错误(状态= 2)、配置失败;已删除'linker.cmd'。

    gmaking[1]:***[Build-201117329-InProC]错误1.

    subdir_rules.mk:16:目标'build-201117329'的配方失败

    gmake:***[build-201117329]错误2.

    gmake:目标"全部"不会由于错误而重新生成。

    ****构建完成****


    此项目是使用当前未安装的 XDCtools 版本创建的:3.31.0.24_core。 请安装此版本的 XDCtools、或将工程迁移到支持的版本之一。  serialFlash_TM4C129_LP  serialFlash_TM4C129_LP 问题

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

    道格

    抱歉! 我没收到这份答复。

    我们在2.16版本中将 FatFS 从 SYS/BIOS 中移出(长故事为什么)。 请从.cfg 中移除 FatFS 行。 您需要在项目设置中手动添加包含路径和库。 FatFS 现在位于此处: tirtos_tivac_2_16_01_14\products\tidrivers_tivac_2_16_01_13\packages/ti\mw\fatfs

    您可以从2.16导入 FatFS 示例、并查看项目设置以确保获得正确的路径。

    Todd

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

    这是我一直在 on.e2e.ti.com/.../export2.zip 上工作的项目

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

    您好 Doug、

    下面是使用2.16的串行闪存示例的 FatFS 版本: /cfs-file/__key/communityserver-discussions-components-files/908/serialFlash_5F00_FatFS_5F00_TM4C129_5F00_LP_5F00_with_5F00_2_5F00_16.zip

    我对 f_mount 更改进行了一些欺骗。 我硬编码"0:",而不是在 AT45DBFatFS.C.中使用 hande->driveNumber 此外、还应清除一些编译器警告。

    我要将其标记为 TI 认为已解决、因为这似乎是一个硬件问题(我们一直在处理此脱机问题)。 如果事实证明是软件问题、让我们更新此主题。

    Todd

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

    我无法使该示例正常工作。   我可以确认项目 serialFlash_TM4C129_LP 是正确构建和执行的,我认为该项目使用与本示例相同的硬件 。

    在上面的链接中发布的项目 serialFlash_FatFS_TM4C129_LP 在第114行上生成警告

    fresult = f_mkfs (at45dbHandle->driveNumber、0、AT45DBFatFs_flash_sector_size);

    带有警告"Description Resource Path Location Type #169-D Type of type "UINT"的参数与 type "const TCHAR *" serialflash.c  /serialFlash_FatFS_TM4C129_LP line 114 C/C++ problem"不兼容

    当我单步执行代码时,它会转到下面的函数 f_mkfs(),并因为 f_mkfs()返回 FR_INVALID_DRIVE 而中止。

     

    AT45DBFatFs_init();

    AT45DBFatFs_Params_init (&params);

    at45dbHandle = AT45DBFatFs_open (spiHandle、Board_CS、&params、drive_NUM);

    if (spiHandle == NULL){

    system_abort ("AT45DBFatFs_open 失败\n");

    fresult = f_open (&src、inputfile、fa_write|fa_read);

    if (fresult!= FR_OK){

    if (fresult=FR_NO_filesystem){

    System_printf ("格式化闪存盘\n");

    fresult = f_mkfs (at45dbHandle->driveNumber、0、AT45DBFatFs_flash_sector_size);

     

     

    我查看了 TI RTOS 的文档,它指向该在线文档,但在链接中,f_mkfs()在函数调用中有5个参数,因此这与示例代码不同。

     

    有人可以帮助我使该示例正常工作吗?

     

    谢谢、

    道格:

     

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

    您好 Doug、

    TI-RTOS 中用于 TivaC 2.16  的 FatFS 版本为 R0.11a (2.12版本具有 R0.08A)。 elm 站点上的版本较新(R0.13c)。 11a 版本只有 f_mkfs 的三个参数...但它们与08a 不同!! 第一个参数是字符串而不是值...doh! 很抱歉、这是我第一次错过这个机会。 我必须运行2.12 FatFS 1、它正确地调用 f_mkfs、因此当我运行2.16版本时、从未调用 f_mkfs。 当我刚尝试调用非 FatFs 1 (并杀死文件系统)、然后尝试2.16 FatFs 1时、我得到的结果与您相同。

    我将对 f_mkfs 的调用更改为(再次对其进行硬编码以进行快速测试)。

    fresult = f_mkfs ("0"、0、AT45DBFatFs_flash_secto_size) 

    然后它工作了。 我查看了其他两个编译器警告、它们是正常的。 我继续、也对其进行了更改  

    以前:

    DRESULT AT45DBFatFs_diskRead (UChar drv、UChar *buf、Ulong 扇区、
    UChar 计数);
    DRESULT AT45DBFatFs_diskWrite (UChar drv、const UChar * buf、
    超长扇区、UChar 计数);
    

    之后:

    DRESULT AT45DBFatFs_diskRead (字节 drv、字节*buf、DWORD 扇区、
    UINT 计数);
    DRESULT AT45DBFatFs_diskWrite (byte drv、const byte *buf、
    DWORD 扇区、UINT 计数);
    

    然后、我更改了实际函数调用以匹配。

    您能否尝试一下、看看它是否起作用?

    Todd

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

    我将函数调用更改为以下内容、现在它起作用: 感谢您的帮助!!!

    fresult = f_mkfs ("0"、0、AT45DBFatFs_flash_secto_size);

    您知道在哪里可以找到以下函数调用的文档吗?

    1) AT45DBFatFs_init();

    2) AT45DBFatFs_Params_init (&params);

    3) at45dbHandle = AT45DBFatFs_open (spiHandle、Board_CS、&params、drive_NUM);

    4) fresult = f_open (&src、inputfile、fa_write|fa_read);

    5) fresult = f_mkfs ("0"、0、AT45DBFatFs_flash_sector_size);

    6) fresult = f_open (&src、inputfile、fa_create_new|fa_read|fa_write);

     

    我在 RTI-TOS 文档中查看过、它提到:

    上面链接的文档涉及以下内容(这似乎与 API 不匹配):

     

     

     

     

     

     

     

     

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

    您好 Doug、

    前三个是示例代码、我们通常不会对它们进行太多的文档记录。

    最后三个来自 FatFS。 您可以从 http://elm-chan.org/fsw/ff/archives.html 下载所需的 FatFs 版本(检查 FatFs 头文件以查看版本)。 该 zip 文件包含该版本的文档。  事后看来、我们应该已经将此文档包含在 TI-RTOS 产品中。

    Todd

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

    Todd、

    在哪里指定或未指定扇区数量?   我看到呼叫:

    f_mkfs ("0"、0、AT45DBFatFs_flash_secto_size);

    指定扇区大小、但指定的扇区数在哪里?

    扇区大小定义为:

    #define AT45DBFatFs_flash_sector_size 512

    我假设如果我获得更大的闪存器件、我需要在 某个位置指定新器件的大小。

    谢谢、

    道格

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

    道格

    扇区数量(页)位于 AT45DB.h: AT45DB161_NUMBER_ON_PAGES。  当 ctrl 消息 为 get_secto_count 时,这将返回到 AT45DBFatFs_diskIoctrl()调用中的 FatFs。

    是的、如果您使用新零件、则必须相应地调整这些零件。

    Todd

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

    感谢您在这方面的帮助!!


    还有一个问题、根据 Bob 在 2019年6月17日下午3:08时提出的上述建议、我假设我可以使用以下链接中列出的任何器件、只需对软件设置进行少量更改(扇区大小/扇区数量)。 可能的 SPI 速度)。

    www.digikey.com/.../774

    如果我需要16 Mbit 的更多内存、您是否推荐使用某个器件?  我看到的最大器件是16M Ω、这对于我们的应用可能是可以的、但是如果我需要16Mbit 以上的器件、我可以使用任何推荐的器件吗?


    谢谢、


    道格

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

    您好 Doug、

    很抱歉、我对这个没有太多帮助、因为我不熟悉 SPI 闪存器件(AT45DB 除外)。

    Todd

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

    我采用了工作示例"serialFlash_FatFS_TM4C129_LP" 、并在以下链接中将闪存器件替换为数据表中的闪存器件。

    https://www.winbond.com/resource-files/w25q128fv%20rev.l%2008242015.pdf

    在应用"serialFlash_FatFS_TM4C129_LP"中、我进行了以下更改:

    1) 1)我将 AT45DBFatFs_flash_sector_size 从512更改为4192

    2) 2)我将 AT45DB161_NUMBER_O_FITTEDS 从4096更改为65535。

    3) 3)我将  AT45DB161_PAGE_SIZE 从528更改为256。

    由于上面列出的三个更改、示例 serialFlash_FatFS_TM4C129_LP 不再正常工作、并且在 f_open()调用中失败。

    我的一个参数是错误的、还是有另一个参数需要更改才能使用此存储器芯片?

    谢谢、

    道格

     

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

    根据 ff.h 中的以下评论、我认为这不是有效的扇区大小

    字ssize;/*字节/扇区(512、1024、2048或4096)* 

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

    这是值得注意的-看起来海报"非法合并/签约"。   (4096和8192 -产生错误4192)

    Fire/I 对'4C129'没有兴趣-但是很多这样的闪存器件提供了他们的'供应商/型号'-并且现有代码(如果它询问闪存存储器)可能不会'将升级的器件'重新命名'……

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

    Todd、感谢您指出 AT45DB161_NUMBER_OD_PAGES 的限制(512、1024、2048或4096)

    在闪存芯片上的文档中、它声明:

    W25Q128FV 阵列分为65、536个可编程页、每页256字节。 一次最多可编程256个字节。 页可按以下几组进行擦除:16 (4KB 扇区擦除)、128组(32KB 块擦除)、256组(64KB 块擦除)或整个芯片(芯片擦除)。 W25Q128FV 分别具有4、096个可擦除扇区和256个可擦除块。 4KB 的小扇区可在需要数据和参数存储的应用中实现更大的灵活性。 (请参阅图2。)"  

    我尝试工作的闪存芯片是否不能轻松配置为仅通过更改几个#define 即可与 FFS 配合使用、或者我是否使用此器件的 AT45DB161_NUMBER_of_PAGES 的工作值?


    CB1_MOBILE、很好、这是一个拼写错误。

    谢谢、


    道格

     

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

    您好 Doug、

    由于器件页面大小为256、因此您需要将扇区大小设置为512。 然后、当读取/写入/写入等时 为512、您需要在两个相邻的256字节页面上执行操作。 这有道理吗?

    Todd

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

    我不是很了解这一点,所以我将介绍我在哪里得到了号码,也许您可以指出我缺少的内容。

    如果我正确理解、芯片大小为16M 字节、页面大小为256字节、因此:

    每页= 256字节

    65、535页 x 每页256字节= 16 M 字节芯片

    每个扇区为4096K 字节

    每个块= 65、535 (4KB 扇区* 16个扇区)

    4096扇区* 4K 字节/扇区= 16 M 字节芯片

     

    16页 X 256字节/页= 4K 字节擦除块

    128页 X 256字节/页= 32K 字节擦除块

    256页 X 256字节/页= 64K 字节擦除块

    我使用了:

    #define AT45DBFatFs_flash_sector_size  4096

    #define AT45DB161_NUMBER_O_FITESS_65535       <<<As you pointed out this is invalid

    #define AT45DB161_PAGE_SIZE          256

    AT45DB161_Number_for_Pages 是否是芯片上的总页数、因为如果是65、535、这将是闪存芯片真正具有的内容? 如果 AT45DB161_Number_for_Pages 是每个扇区的页数、则为16。  查看代码、尽管该代码看起来像为扇区计数输入的值 AT45DB161_NUMBER_FITESS_PAGES。

     

    我们在数据表中发现的另一件事是、闪存芯片有一个写使能指令0x06、它说:

    写入使能指令(图5)将状态寄存器中的写入使能锁存器(WEL)位设置为1。 WEL 位必须在每次页编程、四页编程、扇区擦除、块擦除、芯片擦除、写入状态寄存器和擦除/编程安全寄存器指令之前被置位。 通过驱动/CSlow,将指令代码“06h”移入 CLK 上升沿的数据输入(DI)引脚,然后驱动/CShigh,可以输入写入使能指令

    此写入使能命令是否需要更改为低级别才能使其适用于此器件?

    这种芯片是可以通过修改一些#define 与 Tiva 和 TI rotos 一起“轻松使用”的芯片,还是应该找到更适合的其他器件?

    谢谢、

    道格

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

    Todd、

    Doug 和我今天见面、详细讨论了这一点。  Atmel 器件取代了 TI 为此选择的原始存储器、该存储器已贴有标签  
    从软件角度来看、"不适用于新设计"不是直接存储器件。  Doug 确认了这一点。  我们怀疑存储器分区和扇区通常是不同的、因此不是一个插件。

    您的团队是否使用了其他任何替代存储器设备、您可以向 Doug 或坦率地说、其他客户也会遇到同样的困境?  我们欢迎您提供任何意见。  我们意识到这是内存、而不是 TI 自己生产的产品、但从 TI-RTOS 和整体项目的角度来看、我们希望您的团队能够提供一些额外的指导。  最终、我们希望找到一个与原始器件相比更大的存储器密度器件、该器件可提供尽可能接近的快插、或者至少提供对 RTOS 项目和相应软件的可识别更改。

    谢谢、
    Chris