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.

[参考译文] TMDSCNCD28388D:常规迁移

Guru**** 2388640 points
Other Parts Discussed in Thread: C2000WARE, TMDSCNCD28388D
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1016079/tmdscncd28388d-routine-migration

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

购买的开发板具有 SD 卡插槽。
但是、没有驱动程序例程。
发现28377D 具有相应的 SD 例程。
目前的思路是将28377D 例程移植到28388D 适用例程中。
请告诉我移植过程是否有专业指南。

期待您的回复!

谢谢!

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

    顺便说一下、什么时候可以将28388D SD 读写驱动程序例程更新到 C2000 ware?

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

    我不知道移植指南。 可以移植代码。 我希望复制.C 文件、可能只需要一些支持文件。 我建议从 SPI F28388D 示例开始并对其进行修改。

    这些器件具有一些不同的时钟方案、但在其他方面非常相似。 调用正确的 F28388D 函数、它应该运行得非常好。

    我不希望这些 SD 例程很快被更新并放入 C2000Ware 中。 它不是许多客户使用的用例。

    此致、
    Cody  

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

    大家好、 Cody Watkins  

    F28377D 中的 InitSysCtrl()函数相当于 Device_init();在 F28388D 中,对吧?

    Dint;
    IER = 0x0000;
    IFR = 0x0000;
    InitPieVectTable();
    上述四项陈述是否与以下两项陈述相同?
    interrupt_initModule();
    interrupt_initVectorTable();


    28377D 中有以下两项语句、
    InitSpiaGpio();
    spi_initialization();


    空 InitSpiaGpio()

    EALLOW;

    /*为所选引脚启用内部上拉*/
    //用户可以启用或禁用上拉。
    //这将启用指定引脚的上拉电阻。
    //注释掉其他不需要的行。

    GpioCtrlRegs.GPAPUD.bit.GPIO16 = 0;//启用 GPIO16上的上拉电阻器(SPISIMOA)
    // GpioCtrlRegs.GPAPUD.bit.GPIO5=0;//启用 GPIO5上的上拉电阻器(SPISIMOA)
    GpioCtrlRegs.GPAPUD.bit.GPIO17 = 0;//启用 GPIO17上的上拉电阻器(SPISOMIA)
    // GpioCtrlRegs.GPAPUD.bit.GPIO3 = 0;//启用 GPIO3上的上拉电阻器(SPISOMIA)
    GpioCtrlRegs.GPAPUD.bit.GPIO18 = 0;//启用 GPIO18上的上拉电阻器(SPICLKA)
    GpioCtrlRegs.GPAPUD.bit.GPIO19 = 0;//启用 GPIO19上的上拉电阻器(SPISTEA)

    /*将所选引脚的限定条件设置为仅异步*/
    //这将为所选引脚选择异步(无限定条件)。
    //注释掉其他不需要的行。

    GpioCtrlRegs.GPAQSEL2.bit.GPIO16=3;//异步输入 GPIO16 (SPISIMOA)
    // GpioCtrlRegs.GPAQSEL1.bit.GPIO5 = 3;//异步输入 GPIO5 (SPISIMOA)
    GpioCtrlRegs.GPAQSEL2.bit.GPIO17 = 3;//异步输入 GPIO17 (SPISOMIA)
    // GpioCtrlRegs.GPAQSEL1.bit.GPIO3 = 3;//异步输入 GPIO3 (SPISOMIA)
    GpioCtrlRegs.GPAQSEL2.bit.GPIO18 = 3;//异步输入 GPIO18 (SPICLKA)
    GpioCtrlRegs.GPAQSEL2.bit.GPIO19 = 3;//异步输入 GPIO19 (SPISTEA)

    /*使用 GPIO 寄存器配置 SPI-A 引脚*/
    //这指定哪些可能的 GPIO 引脚将是 SPI 功能引脚。
    //注释掉其他不需要的行。

    GpioCtrlRegs.GPAMUX2.bit.GPIO16=1;//将 GPIO16配置为 SPISIMOA
    // GpioCtrlRegs.GPAMUX1.bit.GPIO5=2;//将 GPIO5配置为 SPISIMOA
    GpioCtrlRegs.GPAMUX2.bit.GPIO17 = 1;//将 GPIO17配置为 SPISOMIA
    // GpioCtrlRegs.GPAMUX1.bit.GPIO3=2;//将 GPIO3配置为 SPISOMIA
    GpioCtrlRegs.GPAMUX2.bit.GPIO18=1;//将 GPIO18配置为 SPICLKA
    GpioCtrlRegs.GPAMUX2.bit.GPIO19=1;//将 GPIO19配置为 SPISTEA

    EDIS;

    void SPI_initialization()

    SpiaRegs.SPICCR.all =0x0007;//复位关闭、上升沿、8位字符位
    SpiaRegs.SPICTL.ALL =0x000E;//启用主控模式、延迟相位、
    //启用通话,禁用 SPI int。
    SpiaRegs.SPIBRR.ALL =0x0063;
    SpiaRegs.SPICCR.all =0x0087;//从复位中撤回 SPI
    SpiaRegs.SPIPRI.bit.FREE = 1;//传输不受仿真器影响


    在28388D 中,在 SPI_ex6_EEPROM.c 例程中将 InitSpiaGpio()替换为 initSPI (void)?
    空 initSPI()

    GPIO_setMasterCore (100、GPIO_CORE_CPU1);
    GPIO_setPinConfig (GPIO_100_spic_SIMO);
    GPIO_setPadConfig (100、GPIO_PIN_TYPE_PULLUP);
    GPIO_setQualificationMode (100、GPIO_QUAL_异 步);

    GPIO_setMasterCore (101、GPIO_CORE_CPU1);
    GPIO_setPinConfig (GPIO_101_spic_SOMI);
    GPIO_setPadConfig (101、GPIO_PIN_TYPE_PULLUP);
    GPIO_setQualificationMode (101、GPIO_QUAL_异 步);

    GPIO_setMasterCore (102、GPIO_CORE_CPU1);
    GPIO_setPinConfig (GPIO_102_spic_CLK);
    GPIO_setPadConfig (102、GPIO_PIN_TYPE_PULLUP);
    GPIO_setQualificationMode (102、GPIO_QUAL_异 步);

    GPIO_setMasterCore (103、GPIO_CORE_CPU1);
    GPIO_setPinConfig (GPIO_103_GPIO103);
    GPIO_setPadConfig (103、GPIO_PIN_TYPE_PULLUP);
    GPIO_setQualificationMode (103、GPIO_QUAL_异 步);
    GPIO_setDirectionMode (103、GPIO_DIR_MODE_OUT);

    //必须在配置 SPI 之前将其复位。
    //
    SPI_disableModule (spic_BASE);

    // SPI 配置。 使用2MHz SPICLK 和8位字大小。
    //
    SPI_setConfig (spic_BASE、DEVICE_LSPCLK_FREQ、SPI_PROT_POL0PHA1、
    SPI_MODE_MASTER、1000000、8);

    //配置完成。 启用模块。
    //
    SPI_enableModule (spic_BASE);


    那么,SPI_initialization()应该替换什么?

    期待您的回复
    谢谢!

    Vince

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

    大家好、Cody Watkins

    C2000器件中28377D 的例程 SD_CARD_cpu01。
    该例程包含函数 f_unlink、f_open、f_read、f_write、、、、、、、
    这些函数位于例程中的 ff.c 文件中。

    如果您想在28388D 中使用上述函数、该如何操作?
    ff.c 文件是否已复制到28377D 以供使用?

    期待您的回复。
    谢谢!

    Vince

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

    Vince、

    代码可能不会映射1:1和函数、需要进行一些挖掘和调查才能正常工作。

    对于 fF.c 文件、您可以在此处找到该实用程序的 F28388D 版本:C:\ti\c2000Ware_3_04_00_00\utilities\third_parti\f2838x\fatfs

    是的、ff.c 文件的一部分在器件上执行。

    此致、
    Cody  

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

    大家好、Cody Watkins

    我认为、应在 C2000软件中更新 SD 读写驱动程序例程。
    毕竟、购买的产品 TMDSCNCD28388D 具有板载 SD 卡插槽。
    TI 有义务提供驱动程序例程。

    谢谢

    Vince

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

    感谢你的帮助。

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

    Vince、

    controlCARD 的目的是允许访问外设、示例软件不支持每个用例。 请记住、这是一个支持访问软件和硬件开发的评估模块、不提供终端系统或软件。

    尽管如此、我还是提交了一份申请、要求从现有示例中开发或移植软件。 但这不会很快得到解决。

    此致、
    Cody  

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

    非常感谢!
    期待公司的支持。