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.

TMS320F28377D: 在使用TI的AI神经网络编译器TI Neural Network Compiler for MCUs v1.3时,遇到无法找到<stdbool>标准库的问题

Part Number: TMS320F28377D
Other Parts Discussed in Thread: C2000WARE
  1. 在使用神经网络编译器时(从onnx model生成c file的工具链),在windows上创造了conda环境,安装了ti_mcu_nnc库等
  2. 根据文档内容 2. 编译说明 — TI Neural Network Compiler for MCU用户指南 进行操作:
  • 下载最新的C2000ware和CGT,并export路径(在这里是$env:)(需要注意的是我还有一个老版本C2000ware没有卸载,应该不影响吧)
  • <your device>填入f2837xd,<fpu32,fpu64>填入fpu32
  • 输入到命令行: tvmc compile --target="c, ti-npu type=soft output_int=true" F:\0Newproject\TI-EdgeAI\Original\data\projects\arc_fault_example_dsk\run\20250520-110934\TimeSeries_Generc_1k_t\training\quantization\model.onnx --target-c-mcpu=c28 -o artifacts_c28/mod.a --cross-compiler="cl2000" --cross-compiler-options="--float_support=$env:C2000_DEVICE_FPU --abi=eabi -O3 --opt_for_speed=5 --c99 -v28 -ml -mt --gen_func_subsections -I$env:C2000_CGT_PATH\include -I$env:C2000WARE_PATH\driverlib\$env:C2000_DEVICE\driverlib -I$env:C2000WARE_PATH\device_support\$env:C2000_DEVICE\common\include -I."
  • 产生报错:Traceback (most recent call last):
    File "F:\5MachineLearning\Anaconda202402\envs\TI-TensorLab\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
    File "F:\5MachineLearning\Anaconda202402\envs\TI-TensorLab\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
    File "F:\5MachineLearning\Anaconda202402\envs\TI-TensorLab\Scripts\tvmc.exe\__main__.py", line 7, in <module>
    File "F:\5MachineLearning\Anaconda202402\envs\TI-TensorLab\lib\site-packages\tvm\driver\tvmc\main.py", line 131, in main
    sys.exit(_main(sys.argv[1:]))
    File "F:\5MachineLearning\Anaconda202402\envs\TI-TensorLab\lib\site-packages\tvm\driver\tvmc\main.py", line 119, in _main
    return args.func(args)
    File "F:\5MachineLearning\Anaconda202402\envs\TI-TensorLab\lib\site-packages\tvm\driver\tvmc\compiler.py", line 216, in drive_compile
    compile_model(
    File "F:\5MachineLearning\Anaconda202402\envs\TI-TensorLab\lib\site-packages\tvm\driver\tvmc\compiler.py", line 533, in compile_model
    package_path = tvmc_model.export_package(
    File "F:\5MachineLearning\Anaconda202402\envs\TI-TensorLab\lib\site-packages\tvm\driver\tvmc\model.py", line 352, in export_package
    package_path = self.export_classic_format(
    File "F:\5MachineLearning\Anaconda202402\envs\TI-TensorLab\lib\site-packages\tvm\driver\tvmc\model.py", line 287, in export_classic_format
    executor_factory.get_lib().export_library(
    File "F:\5MachineLearning\Anaconda202402\envs\TI-TensorLab\lib\site-packages\tvm\runtime\module.py", line 636, in export_library
    return fcompile(file_name, files, **kwargs)
    File "F:\5MachineLearning\Anaconda202402\envs\TI-TensorLab\lib\site-packages\tvm\contrib\cc.py", line 411, in _fcompile
    compile_func(outputs, objects + add_files, options=all_options, **kwargs)
    File "F:\5MachineLearning\Anaconda202402\envs\TI-TensorLab\lib\site-packages\tvm\contrib\cc.py", line 142, in create_static
    _windows_compile(obj_f, [src_f], options, compile_cmd=cc)
    File "F:\5MachineLearning\Anaconda202402\envs\TI-TensorLab\lib\site-packages\tvm\contrib\cc.py", line 474, in _windows_compile
    _linux_compile(output, objects, options, compile_cmd, cwd, ccache_env)
    File "F:\5MachineLearning\Anaconda202402\envs\TI-TensorLab\lib\site-packages\tvm\contrib\cc.py", line 468, in _linux_compile
    raise RuntimeError(msg)
    RuntimeError: Compilation error:
    >> WARNING: object file specified, but linking not enabled
    [tinie_soft.cc]
    "F:\5MachineLearning\Anaconda202402\envs\TI-TensorLab\lib\site-packages\tvm\3rdparty\tinie-api\soft\inc\tinie_soft_types.h", line 76: fatal error: cannot open source file "stdbool.h"
    1 catastrophic error detected in the compilation of "F:\5MachineLearning\Anaconda202402\envs\TI-TensorLab\Lib\site-packages\tvm\3rdparty\tinie-api/soft/src/tinie_soft.cc".

>> Compilation failure

  • 该文件是tvm下第三方组件tinie-api的内容,它在第73行调用的标准库<stdbool>,我进一步将74行的<stdint>和73行内容互换(后面的stdint到前面了),结果报错变成了找不到stdint,所以是否可能是所有标准库都无法索引到?
  • ...\tvm\3rdparty\tinie-api的作用是什么,它发生于模型->c文件阶段,还是c文件->f28377烧录文件阶段?对应的,我该去找c2000ware里标准库调用问题,还是我电脑上的c标准库调用问题?
  • 我在conda环境中可以正常调用gcc:

有需要其他截图/信息的话我可以尽力提供,谢谢