主题中讨论的其他器件:C2000WARE
最新的 c2000ware 库(V1.00.05.00)已将 USB 库移至未弃用的位置、但仍包括对已弃用函数的调用。 我们希望使用所有未弃用的代码。
将函数调用更改为非弃用函数调用有什么影响?
为什么新不弃用的 USB 库仍然调用已弃用的函数?
谢谢。
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.
最新的 c2000ware 库(V1.00.05.00)已将 USB 库移至未弃用的位置、但仍包括对已弃用函数的调用。 我们希望使用所有未弃用的代码。
将函数调用更改为非弃用函数调用有什么影响?
为什么新不弃用的 USB 库仍然调用已弃用的函数?
谢谢。
Nicholas 指的是库 usblib.lib。 调用 map_*函数,这些函数是在 rom_map.h 中定义的宏,位于已弃用文件夹内的 driverlib 文件夹中。 宏解析为过时的函数。 因此、不会生成使用 usblib.lib 的工程。
例如、usbhostenum.c 中的函数 USBHCDInit()调用了 MAP_SysCtlPeripheralReset()。 MAP_SysCtlPeripheralReset()解析为已不存在的 SysCtlPeripheralReset()。
就好像 rom_map.h 文件从未更新过、usblib 库也未重建。
Harshmeet、
我们不是在尝试构建 usblib 项目。 我们所做的是在项目中包含单个文件(属于 usblib 的一部分)。 为了使用各个 usblib 文件来构建我们的项目、我们必须包含位于中的头文件 \device_support\f2837xs\common\弃 用\driverlib\。 请注意、其中一个文件夹名称"已弃用"。
参考您引用的示例、usbhostenum.c 要求我们使用 \device_support\f2837xs+ common\弃 用\作为包含路径。 它还要求我们修改 rom_map.h、因为发布的版本使用已更改的函数调用(如 SysCtlPeripheralReset()、已更改为 SYSCTL_resetPeripheral())。 我们不希望使用任何已弃用的文件、无论它们是源文件还是头文件。
另一个示例是文件 usbbuffer.c 使用"uint8_t"。 此类型在弃用的文件 hw_types.h 中定义
是否要更改 usblib 代码以便它不使用已弃用的调用、也不需要已弃用的包含路径?
谢谢、
Colin