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.

[参考译文] LAUNCHXL-F28069M:DRV8305、CCS 版本:Win7和 Motorware 1_01_00_18上的8.0.00016

Guru**** 2609955 points
Other Parts Discussed in Thread: LAUNCHXL-F28069M, DRV8305, MOTORWARE, DRV8301

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/688838/launchxl-f28069m-drv8305-ccs-version-8-0-0-00016-on-win7-and-motorware-1_01_00_18

器件型号:LAUNCHXL-F28069M
主题中讨论的其他器件: DRV8305MOTORWAREDRV8301

您好!

尝试使用 DRV8305定制板和中的 LAUNCHXL-F28069M 运行 Proj_lab01

D:\ti\motorware\motorware_1_01_00_18\sw\solutions\instaspin_foc\boards\boostxldrv8305_revA\f28x\f2806xF\projects\ccs\proj_lab01

导入项目、而不将其复制到工作区。 我的印象是"boostxldrv8305_revA"文件夹下的项目确实支持 DRV8305。

但令我非常失望的是、我发现该项目支持 DRV8301、您可以看到。 这是什么目的? 如果是,为什么在 DRV8305文件夹下支持 DRV8301?

我觉得很困惑。 我做的是不是什么问题?

有人能不能就此事作出澄清?

谢谢、

制造商

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

    您好!

    附加导入的工程树的快照、但我没有看到。

    谢谢、

    制造商

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

    您回答正确、这里有一个错误。 导入的文件应为 drv8305.c、而不是 drv8301.c 请从工程目录中删除 drv8301文件、而是在 CCS 工程浏览器窗格中右键单击工程名称时选择"Add File"来添加 drv8305。 正确的文件位于以下位置:

    C:\ti\motorware\motorware_1_01_00_18\sw\drivers\drvic\drv8305\src\32b\F28x\f2806x

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

    确实删除了8301并添加了8305、但这会导致一些未解析的符号:

    构建目标:"Proj_lab01.out"
    调用:C2000链接器
    "d:/ti/ccsv8/tools/compiler/ti-cgt-c2000_16.9.7.LTS/bin/cl2000 /ti/ccsv8/tools/compiler/ti-cgt-c2000_16.9.7.LTS/include /ti/motorware/motorware_1_01_00_18/sw/modules/fast/lib/32b/f28x/f2806x/2806xRevB_FastSpinROMSymbols.lib "-v28 -ml -mt -O2 -g -define=FAST_ROM_V1p6 -diag_warning=225 -display_error_number -z -m"proj_lab01.map"-stack_size=0x3B0 -warn_sections -i"D:/ti/ccsv8/tools/compiler/ti-cgt-c2000_16.9.7.LTS/lib /ti/motorware/motorware_1_01_00_18/sw/modules/iqmath/lib/f28x/32b/IQmath.lib -i"lab_lab01.mtrab/line.xml"-"_linkg-line.obj "_linepo"-"-line.mp.trab/line"-line.obj "_linepo"-line.mp.trab.pru.obj "-"-line"-"_line"-"_linepo"-line.mp.trab.trab.pru.obj "-"-"-"-line"-"-"-line.mp.trab.trab.pru.pru.pru.pru.pru.obj "-"-"-"-".obj "-"-line"-".obj "-"-".pru.pru.obj /ti/motorware/motorware_1_01_00_18/sw/ide/ccs/cmd/f2806x/f28069F_ram_lnk.cmd


    未定义 第一个参考
    符号 文件中
    ------ --------
    _DRV8301_ENABLE /hal.obj
    _DRV8301_init /hal.obj
    _DRV8301_ReadData /hal.obj
    _DRV8301_setGpioHandle ./hal.obj
    _DRV8301_setGpioNumber ./hal.obj
    _DRV8301_setSpiHandle ./hal.obj
    _DRV8301_setupSpi /hal.obj
    _DRV8301_writeData /hal.obj

    错误#10234-D:未解析的符号仍然存在
    错误#10010:链接期间遇到错误;未构建"proj_lab01.out"
    gmake:***[proj_lab01.out]错误1.
    gmake:目标"全部"不会由于错误而重新生成。

    >>编译失败
    Makefile:153:目标'proj_lab01.out'的配方失败

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


    谢谢、

    制造商
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可能还需要将项目设置中的预定义符号从 DRV8301更改为 DRV8305。 HAL 文件在编译期间使用这些预定义的符号来包含/排除项目中的某些 API、我相信此处已定义了 DRV8301符号、而不是 DRV8305。

    您将在项目属性窗格中找到该选项

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

    我知道我必须更改 hal.c 中的代码、因为它们直接调用 drv8301函数

    void HAL_enableDrv (HAL_Handle handle)

    HAL_Obj * obj =(HAL_Obj *)句柄;

    DRV8301_ENABLE (obj->drv8301Handle);

    返回;
    }// HAL_enableDrv()函数结束


    进行比较

    void HAL_enableDrv (HAL_Handle handle)

    HAL_Obj * obj =(HAL_Obj *)句柄;

    DRV8305_enable (obj->drv8305Handle);

    返回;
    }// HAL_enableDrv()函数结束


    我继续从该实验中学习、在我再次访问 DRV8305时、将使用 DRV8305搜索/替换 DRV8301。
    如果我用8305替换了8301、如果我另外需要8301支持、则8301支持将会损坏。
    幸运的是、我只有8305。 但还是更好;
    我想、当导入项目时、它会从错误的文件夹中拉入 hal.c。 嗯,我对 Eclipse 的习惯不是很满意。所以我把它单独留了。

    谢谢、

    制造商