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.

[参考译文] AM62A7:编译 TIDL rel_09_02分支时出现问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1493348/am62a7-problems-compiling-tidl-rel_09_02-branch

器件型号:AM62A7

工具/软件:

我对此指令源/scripts/run_python_examples.sh 有问题

通过 OTF 缓冲器优化运行
分段故障(核心转储)
无法打开/home/user001/edgeai-tidl-tools/model-artifacts/cl-ort-resnet18-v1/tempDir/subgraph_0_tidl_net/perfSimInfo.bin
警告:[TIDL_E_dataflow_info_NULL]网络编译器返回错误或未执行、此模型只能在 PC/主机仿真模式下使用、不应该在目标/EVM 上工作。

此问题多次出现。 为什么分段失败和打开文件失败存在问题?

e2e.ti.com/.../build_5F00_rel_5F00_09_5F00_02_5F00_log.txt

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

    此外、还存在 TIDL_RT_OVX 错误问题
    TIDL_RT_OVX:错误:指定的内核编号无效- 0、预期内核编号为1
    TIDL_RT_OVX:错误:创建 OpenVX 图形失败
    TIDL_RT_OVX:错误:验证 OpenVX 图形失败
    0.73658s:vx_zone_error:[tivxKernelTIDLCreate:907]网络版本- 0x00000000、预期版本- 0x20240401
    0.73817s:vx_zone_error:[ownContextSendCmd:875]返回命令 ack 消息 failure cmd_status:-1
    0.73824s:vx_zone_error:[ownNodeKernelInit:590]对于节点 node_79、目标内核 TIVX_CMD_NODE_CREATE 失败
    0.73826s:vx_zone_error:[ownNodeKernelInit:591]请确保已为此内核注册目标回调
    0.73828s:vx_zone_error:[ownNodeKernelInit:592]如果目标回调已注册、请确保在此内核的创建回调中没有发生错误
    0.73843s:vx_zone_error:[ownGraphNodeKernelInit:608]节点0的内核初始化、kernel com.ti.tidl:1:1……失败!!
    0.73848s:vx_zone_error:[vxVerifyGraph:2159]节点内核初始化失败
    0.73868s:vx_zone_error:[vxVerifyGraph:2213]图形验证失败
    0.73888s:vx_zone_error:[ownGraphScheduleGraphWrapper:885]图形未处于需要安排的状态
    0.73890s:vx_zone_error:[vxProcessGraph:813]计划图失败
    0.73892s:vx_zone_error:[vxProcessGraph:818]等待图形失败
    错误:运行 TIDL 图形...失败!!!
    运行推理 DLRModelImpl TVMError:TIDLRT_INVOKE 失败的2025年03月27日10:50:22,915错误

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

    尊敬的 Martin:  

    我们很高兴为您提供帮助。

    我正在与相关的软件团队核实问题。 同时、您是否在 edgeai-tidl-tools 版本10.1中看到了此错误?

    此致、

    Qutaiba

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

    版本10_01中未出现此问题
    是否需要完全编译 rel_09_02log?

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

    e2e.ti.com/.../build_5F00_rel_5F00_09_5F00_02_5F00_log_5F00_2.txt

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

    尊敬的 Martin:  

    我不理解你的问题  

    您是否需要完全编译 rel_09_02log?

    我可以问、您是否有理由喜欢 rel 9.2而不是迁移到10.1?  

    此致、

    Qutaiba

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

    我们随附的系统是 Linux SDK 9.2
    您需要首先解决在9.2 TIDL 中使用模型的问题
    TIDL 10.01仅用于测试、而不是发货

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

    尊敬的 Martin:

    我很有信心、知道这里发生了什么。 它与您计算机上的 Linux 内核有关。

    的结果是什么  

    uname -r
    在您要编译的 PC/ x86主机上?

    基本上,9.x 工具是在 Ubuntu 跟踪6.5.5内核时开发的。 2024年晚些时候、Ubuntu 升级到6.8。 9.x TIDL 工具此时会出现问题。 TIDL 中调用的一个过程导入段故障、整个编译/导入操作尚未完成。 工件文件存在但不完整、在设备上运行时会导致错误。 此问题已在10.x 工具上修复

    因此、此时要使用9.x 工具进行编译、必须将开发机器的 Linux 内核降级到6.5.5。  

    一种替代方法是使用向后兼容的10.0.0.7 (奇数很重要)工具来编译模型、使它们向后兼容9.2。

    请参阅我有关 TIDL 和 SDK 版本控制的常见问题解答: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1455079/faq-edge-ai-studio-is-sdk-version-important-for-edge-ai-and-ti-deep-learning-tidl-with-c7x-on-am6xa-socs-am62a-am67a-am68a-am68pa-am69a 

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

    我使用 PC 对 TIDL 进行编译
    我是否可以使用 TIDL 版本10.0.0.7编译 SDK 9.1上 Edge AI Studio 生成的.ONNX 模块?
    需要为 SDK 9.2 am62a 添加参数设置?

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

    Splite(11)问题
    或者、我是否需要使用 edgeai-yolox 重新训练 Spillede (9)模块的版本?

    (tflite_env) user001@user001-CoffeeLake:~/edgeai-tidl-tools-10_00_07_00/examples/osrt_python/ort$ python3 onnxrt_ep.py -c -- model ode-yolox_nano_lite
    可用的执行提供程序:['TIDLExecutionProvider '、'TIDLCompilationProvider '、'CPUExecutionProvider ']

    运行1个模型-['OD-yolox_nano_lite']


    Running_Model:OD-yolox_nano_lite


    在模型/home/user001/yolox_nano_lite/model/model.onnx 上运行形状推理

    ========================= [模型编译已启动]=======================

    模型编译将执行以下阶段:
    1.解析
    2.图形优化
    3.量化与校准
    4、内存规划

    ============================= [版本摘要]=============================

    ----------------------------------------------------------------------------------------
    | TIDL 工具版本| 10_00_07_00 |
    ----------------------------------------------------------------------------------------
    | C7x 固件版本| 10_00_02_00 |
    ----------------------------------------------------------------------------------------
    |运行时版本| 1.14.0+10000005|
    ----------------------------------------------------------------------------------------
    |型号选项版本|11|
    ----------------------------------------------------------------------------------------

    注意:此处的运行时版本指定了 ONNXRT_VERSION+TIDL_VERSION
    例如:1.14.0+1000XXXX -> ONNXRT 1.14.0和 TIDL_VERSION 10.00.XX.XX

    ============================= [解析已开始]=============================

    [TIDL 导入][解析器]警告:网络未标识为对象检测网络:(1)如果网络不是对象检测网络、则忽略(2)如果网络是对象检测网络、请指定"model_type":"OD"作为 OSRT 编译选项的一部分

    ---------------------------- 子图表信息摘要--------------------------------
    ----------------------------------------------------------------------------------------
    |核心|节点数量|子图数量|
    ----------------------------------------------------------------------------------------
    | C7x | 237 | 9 |
    | CPU | 20 | x |
    ----------------------------------------------------------------------------------------
    ----------------------------------------------------------------------------------------
    |节点|节点名称|原因|
    ----------------------------------------------------------------------------------------
    |收集|/collect_4 |仅支持线路收集|
    | ReduceMax |/ReduceMax | ReduceMax | Reduction 仅支持沿高度|
    |更少|/less | TIDL 不支持的层类型|
    | NOT |/nOT | TIDL 不支持的层类型|
    |非零|/nonzero_1 | TIDL 不支持的层类型|
    | ArgMax |/ArgMax |仅支持 keepdims = 1 (默认值)|
    | GatherND |/GatherND_1 | TIDL 不支持的层类型|
    | EXP |/EXP | TIDL 不支持的层类型|
    |收集|/collect_3 |仅支持线路收集|
    |收集|/collect_2 |仅支持线路收集|
    |取消压缩|/Unsugging_9 | TIDL 不支持的层类型|
    |收集|/collect_1 |仅支持线路收集|
    |收集|/收集|仅支持线路收集|
    |取消压缩|/Unsugging_8 | TIDL 不支持的层类型|
    | Sub |/Sub_1 | Sub/Div |中不支持两个变量输入
    |取消压缩|/Unsugging_7 | TIDL 不支持的层类型|
    | Sub |/Sub | Sub/Div |中不支持两个变量输入
    |取消压缩|/Unsugging_6 | TIDL 不支持的层类型|
    |收集|/collect_6|仅支持线路收集|
    | GatherND |/GatherND | TIDL 不支持的层类型|
    ----------------------------------------------------------------------------------------
    ============================ [解析已完成]============================

    处理过程1:
    回溯(最近一次呼叫):
    在_sbootstrap 中输入/usr/lib/python3.10/multiprocessing/process.py 第314行
    self.run()
    文件"/usr/lib/python3.10/multiprocessing/process.py、第108行、运行中
    self._target (* self._args、** self._kwargs)
    文件"run_model 中的/home/user001/edgeai-tidl-tools-10_00_07_00/examples/osrt_python/ort/onnxrt_ep.py 第325行
    SESS = RT.ConferenceSession(
    文件"/home/user001/tflite_env/lib/python3.10/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py、第362行、位于__init__
    self._create_immussion_session (提供程序、提供程序选项、禁用优化器)
    /home/user001/tflite_env/lib/python3.10/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py、第410行、位于_create_emption_session 中
    sess.initialize_session(providers、provider_options、disabled_optimizers)
    onnxruntime.capi.onnxruntime_pybind11_state.NotImplemented:[ONNXRuntimeError]: 9 : Not_Implemented :找不到 Split(11)的内核(节点 Split)。 未找到内核
    ^CTraceBack (最近一次呼叫):
    文件/home/user001/edgeai-tidl-tools-10_00_07_00/examples/osrt_python/ort/onnxrt_ep.py、第532行
    nthreads = join_one (nthreads)
    文件/home/user001/edgeai-tidl-tools-10_00_07_00/examples/osrt_python/ort/onnxrt_ep.py、第499行、位于 join_one 中
    sem.acquire ()
    KeyboardInterrupt

    (tflite_env) user001@user001-CoffeeLake:~/edgeai-tidl-tools-10_00_07_00/examples/osrt_python/ort$

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

    尊敬的 Martin:

    我是否可以使用 TIDL 版本10.0.0.7编译 Edge AI Studio 在 SDK 9.1上生成的.ONNX 模块?
    需要为 SDK 9.2 am62a 添加参数设置?

    TIDL 10.0.0.7将针对 SDK 9.2编译模型。 您应使用与9.2相同的编译设置。 在原始工件中、应该有一个 param.yaml 文件、其中包含许多此类信息。  

    Edge AI Studio 训练的 ONNX 模型(并且只有该模型文件)不会链接到特定的 SDK 版本。 可以使用多个不同的 TIDL 版本对其进行编译。 您可以使用此模型在10.0.0.7中编译

    我在上面看到您编译了模型、但某些节点未被识别为受支持。 能否共享您正在使用的 model_config? 我建议使用od-8200_onnxrt_coco_edgeai-mmdet_yolox_nano_lite_416x416_20220214_model_onnx 配置中的所有相同设置。  

    • 我想你错过了一些与物体检测 SSD 头的"META 架构"相关的信息。  这与 meta_architecture_type=6设置有关、该设置与此处的文档相关
      [TIDL Import][解析器]警告:网络未标识为对象检测网络:(1)如果网络不是对象检测网络、则忽略(2)如果网络是对象检测网络、请将"model_type"[OSROD"选项指定为编译/部分:
      • 这一警告强化了我的说法。 该网络未正确标记为对象检测网络。 由于 SSD 头的复杂性、我们以特殊方式处理此问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这是我使用的 model_configs.py 设置

    'OD-yolox_nano_lite':{
    "task_type":"检测"、
    "会话":{
    "model_path":"model_path":/home/user001/yolox_nano_lite/model/model.onnx、
    "meta_layers_names_list":"/home/user001/yolox_nano_lite/model/model.prototxt、
    "session_name":"onnxrt"、
    "input_optimization":true、
    }、
    "来源":dict ()、
    "model_type":"od"、
    "预处理":{
    "调整大小":416、
    "作物":416、
    "data_layout":"NCHW"、
    "resize_with_pad":false、
    "REVERSE_channels":FALSE、
    }、
    "后处理":{
    "label_offset_pred":0
    }、
    "input_names":["input"]、
    "output_names":["dets"、"labels"]、
    "input_shares":[[1、3,416,416]]、
    "extra_info":{
    "num_images":1、
    "OD_TYPE":"yolox"、
    "framework":"MMDetection"、
    "label_offset_type":"80to90"、
    "label_offset":1、
    "num_classs":3.
    }
    }、

    user001@user001-CoffeeLake:~/yolox_nano_lite/model$ vim model.prototxt
    名称:"yolox"
    tidl_yolo{
    Yolo_param{
    输入:"ONNx::Slice_1192"
    anchor_width: 8.0
    anchor_height:8.0
    }
    Yolo_param{
    输入:"ONNx::Slice_1208"
    anchor_width:16.0
    anchor_height:16.0
    }
    Yolo_param{
    输入:"ONNx::Slice_1224"
    锚定宽度:32.0
    Anchor_height:32.0
    }
    detection_output_param{
    NUM_CLASS:3.
    share_location:true
    background_label_id:-1
    NMS_param{
    NMS_THRESHOLD:0.45
    Top_k:200
    }
    CODE_TYPE:CODE_TYPE_YOLO_X
    keep_top_k:200
    Confidence_threshold:0.6
    }
    名称:"yolox"
    第416章
    第416章
    输出:"DETs"
    输出:"labels"
    框架:"MMDetection"

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

    你(们)好

    我根据您的要求重新编译了 TIDL 9.2。
    出现以下问题

    回溯(最近一次呼叫):
    文件"/home/user001/edgeai-tidl-tools_92/examples/osrt_python/tvm_dlr/tvm_compilation_onnx_example.py、第115行、在中
    从 tvm.relen.backend.contrib 导入 tidl
    ModuleNotFoundError:没有名为"TVM.relay.backend.contrib"的模块
    回溯(最近一次呼叫):
    文件/home/user001/edgeai-tidl-tools_92/examples/osrt_python/tvm_dlr/tvm_compilation_tflite_example.py、第116行
    从 tvm.relen.backend.contrib 导入 tidl
    ModuleNotFoundError:没有名为"TVM.relay.backend.contrib"的模块
    ./../../models/public/mobilenetv3_large_100.onnx
    回溯(最近一次呼叫):
    文件"/home/user001/edgeai-tidl-tools_92/examples/osrt_python/tvm_dlr/tvm_compilation_timm_example.py、第199行、英寸
    compile_model (mod、params、model_output_directory、c7x_codegen=0)
    /home/user001/edgeai-tidl-tools_92/examples/osrt_python/tvm_dlr/tvm_compilation_timm_example.py、第120行、位于 compile_model 中
    从 tvm.relen.backend.contrib 导入 tidl
    ModuleNotFoundError:没有名为"TVM.relay.backend.contrib"的模块
    运行 python3 dlr_inference_example.py


    在模型-../../../model-artifacts/cl-dlr-tflite_inceptionnetv3上运行推理

    2025年04月02日09:19:14,759信息在模型工件中找不到 libdlr.so。 从/home/user001/tflite_env/lib/python3.10/site-packages/dlr/libdlr.so 购买 DLR
    [09:19:14]/dlr/neo-ai-dlr /DLR/DLR.cc src:343:错误:无法从路径确定后端:"../../../model-artifacts/cl-dlr-tflite_inceptionnetv3 "。
    DLRModel 实例化中出现2025年04月02日09:19:14,760错误
    回溯(最近一次呼叫):
    文件"/home/user001/tflite_env/lib/python3.10/site-packages/dlr/api.py、第89行、位于__init__
    self._impl = DLRModelImpl (model_path、dev_type、dev_id、error_log_file、use_default_drr)
    文件"79"/home/user001/tflite_env/lib/python3.10/site-packages/dlr/dlr_model.py、位于__init__中
    self._check_call (self._lib.createDLRModel (byref (self.handle)、
    文件/home/user001/tflite_env/lib/python3.10/site-packages/dlr/dlr_model.py、第160行、位于_check_call 中
    提升 DLRError (self._lib.DLRGetLastError ().decode ('ASCII'))
    dlr.dlr_model.dlrerror
    回溯(最近一次呼叫):
    文件"/home/user001/edgeai-tidl-tools_92/examples/osrt_python/tvm_dlr/dlr_inference_example.py、第199行、英寸
    model_create_and_run (model_output_directory、"input"、
    /home/user001/edgeai-tidl-tools_92/examples/osrt_python/tvm_dlr/dlr_inference_example.py、第164行、位于 MODEL_CREATE_AND_RUN 中
    模型= DLRModel (MODEL_dir、'CPU')
    文件"/home/user001/tflite_env/lib/python3.10/site-packages/dlr/api.py、第92行、位于__init__
    升高幅度
    文件"/home/user001/tflite_env/lib/python3.10/site-packages/dlr/api.py、第89行、位于__init__
    self._impl = DLRModelImpl (model_path、dev_type、dev_id、error_log_file、use_default_drr)
    文件"79"/home/user001/tflite_env/lib/python3.10/site-packages/dlr/dlr_model.py、位于__init__中
    self._check_call (self._lib.createDLRModel (byref (self.handle)、
    文件/home/user001/tflite_env/lib/python3.10/site-packages/dlr/dlr_model.py、第160行、位于_check_call 中
    提升 DLRError (self._lib.DLRGetLastError ().decode ('ASCII'))
    dlr.dlr_model.dlrerror

    这两个错误缺少哪些设置?

    文件"/home/user001/edgeai-tidl-tools_92/examples/osrt_python/tvm_dlr/tvm_compilation_onnx_example.py、第115行、在中
    从 tvm.relen.backend.contrib 导入 tidl
    ModuleNotFoundError:没有名为"TVM.relay.backend.contrib"的模块

    DLRModel 实例化中出现2025年04月02日09:19:14,760错误

    这是完整的编译日志

    e2e.ti.com/.../build_5F00_rel_5F00_09_5F00_02_5F00_log_5F00_3.txt

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

    尊敬的 Martin:

    感谢您提供这一信息。  

    首先、我不确定您为什么切换到使用 TVM 方法进行 ONNX 模型编译、但我们还是来看  examples/osrt_python/ort/onnxrt_ep.py。 这将是足够的。 DLR/TVM 存在一些稳定性问题、我不确定是否针对 TVM 验证了这些模型配置。  

    protottxt 文件看起来很好--没有问题。

    我认为 model_config 中缺少的内容是 session['META_arch_type']、对于 YOLOX、该会话应设置为6。 实际上、您好像混合了不同 SDK 版本的 model_configs 的几个部分。 您应该使用版本标签"10_00_07_00"(与 SDK 9.2兼容) 2、并以与现有的 od-8200-...yolox_nano 完全相同的方式为 YOLOX 构建 model_config。 配置  

    您应执行的操作:  

    • 更正 model_config 以包括 session:meta_arch_type 并设置为6。 我强烈建议复制现有的 yolox-nano 配置,并将模型路径和元架构路径替换为您拥有的路径
    • 使用  examples/osrt_python/ort/onnxrt_ep.py 进行编译、不是 TVM-ONNX 示例。

    BR、
    Reese

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

    尊敬的 Martin:

    您的日志显示编译已完成。 然后、我想您将工件转移到 EVM、但看到了一些 错误

    root@GBOX-100:/opt/edgeai-gst-apps/optiflow #./optiflow.py ../configs/object_detection.yaml
    TIDL_RT_OVX:错误:配置文件大小(94616字节)与 TIDL_EXC_93976字节不匹配
    277.466547 s:vx_zone_error:[tivxAddKernelTIDL:269] num_input_tenors 或 num_output_tenors 的值无效

    因此、该错误表示戳到编译工件上的版本标签与 C7x 固件不一致。  这归结为 SDK 版本控制、供您参考、这里有 TIDL 与 SDK 版本控制的常见问题解答

    因此、您使用了 TIDL 工具10_00_07对模型进行了编译。 要使用这个向后兼容的版本、需要在目标上进行更改以更新固件和库。 请参阅此处的文档:  

    简而言之、您需要从 edgeai-tidl-tools 中运行脚本、以更新库和固件

    BR、
    Reese

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

    你(们)好  

    我按照指示操作

    所有进程都已完成

    我将该文件从 edgeai-tidl-tools-10_00_07_00复制到 am62a7板

    我根据指示改写了一些文件

    /usr/lib/libonnxruntime.so、/usr/lib/libtensorflow-lite.a

    /usr/include/itidl_rt.h、/usr/include/itvm_rt.h

     /usr/lib/libvx_tidl_rt.so、/usr/lib/libtidl_onnxrt_EP.so、/usr/lib/libtidl_tfl_delegate.so

    以下是我找不到该文件的位置:

    /usr/include/tensorflow、/usr/include/onnxruntime

    /usr/lib/tflite_2.21

    • /lib/firmware 下提供了 C7X 固件

    执行后仍然存在问题、如下所示

    因为我们的主板无法访问互联网
    您能告诉我需要哪些文件吗?
    可通过 SD 卡复制到主板

    root@GBOX-100:/opt/edgeai-gst-apps/optiflow #./ optiflow.py ../configs/object_detection.yaml
    [36.483675] USB 1-1.3.3:使用 xhci-hcd 重置高速 USB 设备6
    [ 37.099082] kauditd_printk_skb:已抑制3个回调
    [ 37.099099]审计:type=1334审计(1651619745.484:15):prog-id=10 op=unload
    [ 37.111329]审计:type=1334审计(1651619745.484:16):prog-id=9 op=unload
    应用程序:初始化...!!
    MEM:初始化...!!!
    MEM:初始化的 DMA 堆(FD=6)!!!
    MEM:初始化...完成!!!
    IPC:初始化...!!
    ipc:初始化...完成!!!
    remote_service:初始化...!!
    remote_service:初始化...完成!!!
    45.432427s:GTC 频率= 200 MHz
    应用程序:初始化...完成!!
    45.438092 s:vx_zone_init:Enabled
    45.438148 s:vx_zone_error:Enabled
    45.438157 s:vx_zone_warning:Enabled
    45.440270 s:vx_zone_init:[tivxPlatformCreateTargetId:116]添加了目标 MPU-0
    45.44065s:vx_zone_init:[tivxPlatformCreateTargetId:116]添加了目标 MPU-1
    45.441068 s:vx_zone_init:[tivxPlatformCreateTargetId:116]添加了目标 MPU-2
    45.441314s:vx_zone_init:[tivxPlatformCreateTargetId:116]添加了目标 MPU-3
    45.441345 s:vx_zone_init:[tivxInitLocal:136]初始化完成!!!
    45.443878 s:vx_zone_init:[tivxHostInitLocal:101]主机已完成初始化!!!
    45.811861 s:vx_zone_init:[tivxHostDeInitLocal:115]为主机完成初始化!!!
    45.816765 s:vx_zone_init:[tivxDeInitLocal:204]取消初始化完成!!!
    应用程序:Deinit ...!!
    REMOTE_SERVICE:取消初始化...!!!
    REMOTE_SERVICE:取消初始化...完成!!!
    IPC: Deinit ..!
    IPC:取消初始化...完成!!!
    MEM:Deinit ...!!
    DDR_SHARED_MEM:Alloc:0个0字节的分配数
    DDR_SHARED_MEM:FREE's:0个空闲字节
    DDR_SHARED_MEM:open 的:0个0字节的分配
    MEM:Deinit ...完成了!!!
    应用程序:Deinit ...完成!!
    应用程序:初始化...!!
    MEM:初始化...!!!
    MEM:初始化的 DMA 堆(FD=6)!!!
    MEM:初始化...完成!!!
    IPC:初始化...!!
    ipc:初始化...完成!!!
    remote_service:初始化...!!
    remote_service:初始化...完成!!!
    45.83638 s:GTC 频率= 200 MHz
    应用程序:初始化...完成!!
    45.883700 s:vx_zone_init:Enabled
    45.883715 s:vx_zone_error:Enabled
    45.883729 s:vx_zone_warning:Enabled
    45.884682 s:vx_zone_init:[tivxPlatformCreateTargetId:116]添加了目标 MPU-0
    45.831 884s:vx_zone_init:[tivxPlatformCreateTargetId:116]添加了目标 MPU-1
    45.884938 s:vx_zone_init:[tivxPlatformCreateTargetId:116]添加了目标 MPU-2
    45.885160 s:vx_zone_init:[tivxPlatformCreateTargetId:116]添加了目标 MPU-3
    45.885184 s:vx_zone_init:[tivxInitLocal:136]初始化完成!!!
    45.885222 s:vx_zone_init:[tivxHostInitLocal:101]主机已完成初始化!!!

    (python3:1540 ): Gstream-warning **: 23:15:48.507:无法加载插件'/usr/lib/gstreamer-1.0/libgstti.so ': libonnxruntime.so.1.14.0 :无法打开共享目标文件:没有这样的文件或目录

    (python3:1540 ): Gstream-warning **: 23:15:48.511:无法加载插件'/usr/lib/gstreamer-1.0/libgstti.so ': libonnxruntime.so.1.14.0 :无法打开共享目标文件:没有这样的文件或目录

    (python3:1540 ): Gstream-warning **: 23:15:48.515:无法加载插件'/usr/lib/gstreamer-1.0/libgstti.so ': libonnxruntime.so.1.14.0 :无法打开共享目标文件:没有这样的文件或目录
    回溯(最近一次呼叫):
    文件"/opt/edgeai-gst-apps/optiflow/./optiflow.py、第68行、在中
    主(sys.argv)
    文件/opt/edgeai-gst-apps/optiflow/./optiflow.py、第49行、位于 main 中
    optiflow.run()
    文件"/opt/edgeai-gst-apps/optiflow/optiflow_class.py、第173行、正在运行
    self.gst_pipe = gst_wrapper.GstPipe (pipeline)
    文件"/opt/edgeai-gst-apps/optiflow/gst_wrapper.py、第67行、位于__init__
    self.pipeline = GST.parse_launch (pipeline)
    gi.repository.glib.gError:gst_parse_error:无元素"tidlinferer"(1)

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

    这是使用 setup_target_device.sh  

    日志

    Root@am62axx-EVM:/opt/edgeai-gst-apps
    Root@am62axx-EVM:/opt/edgeai-gst-apps
    root@am62axx-EVM:/opt/edgeai-gst-apps cd /
    root@am62axx-EVM:/# ls
    bin dev 主页 linuxrc 介质选择运行 setup_target_device.sh sys USR
    boot etc lib lost + found mnt proc sbin srv tmp var
    Root@am62axx-EVM:/# ifconfig
    eth0:标志=4163 MTU 1500
    INET 10.8.8.25网络掩码255.255.255.0广播10.8.8.255
    inet6 fe80:::661c:10ff:fe25:2df4 prefixlen 64 scoeid 0x20
    以太网64:1c:10:25:2d:F4 txqueuelen 1000 (以太网)
    RX 数据包38字节4345 (4.2KiB)
    RX 错误0丢弃17次溢出0帧0
    TX 数据包49字节6192 (6.0KiB)
    TX 错误0丢弃0溢出0载波0冲突0

    Lo:旗帜=73 MTU 65536
    INET 127.0.0.1网络掩码255.0.0.0
    inet6 :: 1 prefixlen 128 scopeid 0x10
    loop txqueueelen 1000 (本地环回)
    RX 数据包93字节7721 (7.5KiB)
    RX 错误0丢弃0溢出0帧0
    TX 数据包93字节7721 (7.5KiB)
    TX 错误0丢弃0溢出0载波0冲突0

    root@am62axx-EVM:/#导出 TISDK_image=edgeai
    root@am62axx-EVM:/# export update_OSRT_Components=1
    root@am62axx-EVM:/# export update_firmware_and_LIB=1
    root@am62axx-EVM:/# export SOC=am62a
    root@am62axx-EVM:/# ls
    bin dev 主页 linuxrc 介质选择运行 setup_target_device.sh sys USR
    boot etc lib lost + found mnt proc sbin srv tmp var
    root@am62axx-EVM:/#./setup_target_device.sh
    版本:10_00_07_00
    Update_OSRT_components:1.
    update_firmware_and_LIB:1.

    更新 OSRT 组件
    ==================== 正在更新 DLR 运行时轮子====================
    连接到 software-dl.ti.com (23.220.231.99:443)
    wget:获取响应时出错:对等设备重置连接
    警告:要求"slr-1.13.0-py3-none-any.whl"看起来像文件名、但文件不存在
    正在处理./DLR-1.13.0-py3-none-any.whl
    错误:由于 OSError 无法安装软件包:[errno 2]没有这样的文件或目录:"/home/root/arago_j7_pywhl/dlr-1.13.0-py3-none-any.whl "

    ==================== 正在更新 arm-tidl 标头====================
    克隆到"arm-tidl"...
    ^C
    Root@am62axx-EVM:/#

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

    尊敬的 Martin:

    好的、理解您不能通过互联网升级。 这增加了一些挑战。  

    (python3:1540(2004)):Gstreamer 警告**: 23:15:48.515:加载插件失败'/usr/lib/gstreamer-1.0/libgstti.so ':libonnxruntime.so.1.14.0:无法打开共享目标文件:没有此类文件或目录

    好的、这看起来我们的 GST 插件符合 libonnxruntime.so.1.14.0、而不是通用 libonnxruntime.so。 使用 OptiFlow 时、tidlinferer 插件就是这种情况。 我们应该回到这一点、但同时、请使用 edgeai-gst-apps/apps_python 而不是 OptiFlow

    [引用 userid="407563" url="~/support/processors-group/processors/f/processors-forum/1493348/am62a7-problems-compiling-tidl-rel_09_02-branch/5756278 #5756278"]

    以下是我找不到该文件的位置:

    /usr/include/tensorflow、/usr/include/onnxruntime

    /usr/lib/tflite_2.21

    • /lib/firmware 下提供了 C7X 固件
    [/报价]

    您是说这些标题一开始不存在还是现在不存在? .SH 脚本应该下载了一些用于 TFL 和 ONNX 标头的 tarballs

    您还说固件没有更新吗? 它应该是以下位置指向的文件:  

    $ file /lib/firmware/am62a-c71_0-fw
    
    /lib/firmware/am62a-c71_0-fw: symbolic link to /usr/lib/firmware/vision_apps_eaik/vx_app_rtos_linux_c7x_1.out

    否则、您正确更新的大多数文件似乎都是如此。 上面的列表很全面、但需要对标头+ usr/lib/tflite 进行一些说明... 如果有不同的/usr/lib/tflite.X.Y 版本号、则可以重命名/移动该版本号、以便作为备份进行保留。  

    现在、请使用您的配置运行 edgeai-gst-apps/apps_python/app_edgeai、并为我验证是否正确应用了固件和其他库。

    • 之后、我们可以修复 gstreamer 插件。 源代码和安装脚本位于 targetfs already.l 上  
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好
    为了避免混淆、我将重申目前的情况和我的需要。

    我当前使用的电路板无法访问互联网、

    因此、我目前正在 Ubuntu 2204上编译、并通过 SD 将其复制到当前正在使用的生产版本

    我在 Ubuntu 中安装了两个版本的 TIDL。
    我的生产板使用 Linux SDK 9.2

    根据您请求使用 edgeai-tidl-tools-10_00_07_00
    为 am62a7编译.ONNX ->.bin

    最新的情况是、我使用 Ubuntu 2204为 am62a7编译可用的.bin 模型。 我还使用了 SD 卡将其复制到生产板。 它使用 Linux SDK 9.2。 根据您的回答、您说固件需要更新、但生产主板目前无法访问互联网、所以我需要在 Ubuntu 2204中进行准备、并将其复制到生产主板上。

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

    你(们)好  
    是否有以下套件?

    平台开发套件(PDK)用于 am62a7分支?
    我进行编译

    https://github.com/TexasInstruments/tvm/tree/tidl-j7

    用于 ti am62a7 TIDL 9.2编译

    我认为 TVM 需要 CMakeLists.txt
    TVM_OPTIONS (USE_TIDL "在 TIDL 上进行构建")
    TVM_OPTIONS (USE_TIDL_RT_PATH "Path to TIDL RT API"、/home/user001/edgeai-tidl-tools_92)
    TVM_OPTIONS (USE_TIDL_PSDKR_PATH "TIDL PSDK RTOS 安装路径"/home/user001/ti-processor-sdk-linux-edgeai-am62axx-evm-09_02_00_05/targetNFS/usr/include/processor_sdk)
    TVM_OPTIONS (USE_CGT7X_ROOT "C7000代码生成工具路径"、"C2000"/home/user001/ti-cgt-c7000_5.0.0.LTS)
    TVM_OPTIONS (USE_IVISION_PATH "ivision""/home/user001/ti-processor-sdk-linux-edgeai-am62axx-evm-09_02_00_05/targetNFS/usr/include/processor_sdk)
    tvm_option (use_C7000路径"c7000"/home/user001)



    谢谢你  

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

    尊敬的 Martin:

    最新的情况是我使用 Ubuntu 2204编译 am62a7的可用.bin 模型。 我还使用了 SD 卡将其复制到生产板。 它使用 Linux SDK 9.2。 根据您的回答、您说固件需要更新、但生产主板目前无法访问互联网、因此我需要在 Ubuntu 2204中进行准备并将其复制到生产主板。

    感谢您再次重申。 我很感激

    你说的是正确的--由于你不能访问互联网、你需要获取 setup_target_device.sh 中下载的文件、并更新它们在 SD 卡文件系统中的位置。  这包括 C7x 固件、一些库、一些 python 软件包/轮子和头文件

    [引用 userid="407563" url="~/support/processors-group/processors/f/processors-forum/1493348/am62a7-problems-compiling-tidl-rel_09_02-branch/5759436 #5759436"]

    是否有以下套件?

    平台开发套件(PDK)用于 am62a7分支?
    我进行编译

    https://github.com/TexasInstruments/tvm/tree/tidl-j7

    [/报价]

    否、此处不需要 TVM。 此时我不建议使用此工具。  

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

    来自最近的对话和讨论
    我得出以下结论
    1. edgeai-tidl-tools-10_00_07_00可以编译 am62a SDK 9.2可用的.bin 文件。 但是、在我们的大规模生产电路板上、我们必须执行 setup_target_device.sh 来更新电路板上的固件和 rootfs 中的.so 文件。
    2.我们已经讨论了在 SDK 9.2上使用 TIDL 9.2在不更改固件的情况下编译可用.bin 文件的必要性、因此我们仍在对其进行测试。
    编译 TIDL9.2期间出现 TVM 编译错误

    检查失败:(it != type_key2index_.end())为 false:找不到类型 tidl.TIDLContext。 您是否忘记通过 TVM_REGISTER_NODE_TYPE 注册节点?
    ./../../models/public/mobilenetv3_large_100.onnx
    回溯(最近一次呼叫):
    文件"/home/user001/edgeai-tidl-tools_92/examples/osrt_python/tvm_dlr/tvm_compilation_timm_example.py、第199行、英寸
    compile_model (mod、params、model_output_directory、c7x_codegen=0)
    /home/user001/edgeai-tidl-tools_92/examples/osrt_python/tvm_dlr/tvm_compilation_timm_example.py、第120行、位于 compile_model 中
    从 tvm.relen.backend.contrib 导入 tidl
    文件"/home/user001/tvm/python/tvm/relay/backend/contrib/tidl/__init__.py、第19行、在中
    从.tidl import *
    文件/home/user001/tvm/python/tvm/relay/backend/contrib/tidl/tidl.py、第2324行、在中
    分级 TIDLContext (tvm.runtime.Object):
    文件/home/user001/tvm/python/tvm/_ffi/registry.py、第69行、位于寄存器中
    check_call (_LIB.TVMObjectTypeKey2Index (c_str (object_name)、ctypes.byref (tidx)))
    文件/home/user001/tvm/python/tvm/_ffi/base.py、第348行、位于 check_call 中
    提出 get_last_ffi_error()
    TVM._FFI.base.TVMError:回溯(最近一次呼叫):
    70:0xffffffffffffffffffffff
    第69章:我的心
    68:__libc_start_main_impl
    /csu/libc-start.c:392
    67:_libc_start_call_main
    /sysdeps/nptl/libc_start_call_main.h:58
    66: Py_Bytes
    65: Py_Run
    64:_py Run_Any 文件对象
    63:_Py Run_Simple 文件对象
    62:0x00005632e771d5a4
    61: 0x00005632e771800e.
    60:0x00005632e771d807
    第59章:我的孩子 Eval_Eval
    58:0x00005632e76f6f55
    57:_py Eval_Eval .FrameDefault
    第56章:我的心 Function_Vectorcall
    55:_py Eval_Eval FrameDefault
    54:Import_Import ModuleLevelObject
    53:_Py Object_Call MethodIdObjArgs
    52:0x00005632e7627b23
    第51章:我的孩子 Function_Vectorcall
    50:_Py Eval_Eval FrameDefault
    第49章:我的心 Function_Vectorcall
    48:_py Eval_Eval .FrameDefault
    第47章:我的心 Object_Call
    46:0x00005632e7627e11
    45:0x00005632e764b4fb
    44: Import_Import 模块级别对象
    43:_py Object_Call MethodIdObjArgs
    42: 0x00005632e7627b23
    第41章:我的孩子 Function_Vectorcall
    40:_Py Eval_Eval FrameDefault
    第39章:我的心 Function_Vectorcall
    38:_Py Eval_Eval FrameDefault
    第37章:我的心 Function_Vectorcall
    36:_py Eval_Eval FrameDefault
    35:_Py Function_Vectorcall
    34:_Py Eval_Eval FrameDefault
    第33章:我的孩子 Function_Vectorcall
    32:_Py Eval_Eval FrameDefault
    31:0x00005632e76288c8
    30:0x00005632e76fc4fc
    29: Eval_Eval 代码
    28:0x00005632e76f6f55
    27:_Py Eval_Eval FrameDefault
    26:Import_Import 模块级别对象
    25:_Py Object_Call MethodIdObjArgs
    24:0x00005632e7627b23
    23日:_Py Function_Vectorcall
    22:_Py Eval_Eval FrameDefault
    21:_Py Function_Vectorcall
    20:_Py Eval_Eval FrameDefault
    19:_Py Function_Vectorcall
    18:_Py Eval_Eval FrameDefault
    17:_Py Function_Vectorcall
    16:_Py Eval_Eval FrameDefault
    15:_Py Function_Vectorcall
    14:_Py Eval_Eval FrameDefault
    13:0x00005632e76288c8
    12:0x00005632e76fc4fc
    11:Eval_Eval 代码
    10:0x00005632e76f6f55
    9:_Py Eval_Eval FrameDefault
    8:_Py Function_Vectorcall
    7:_Py Eval_Eval FrameDefault
    6:_Py Object_Make TpCall
    5:0x00007f211cf7f9ff
    4:0x00007f211cf803e8
    3:0x00007f211dc30492
    2:0x00007f211dc33e2d
    1:TVMObjectTypeKey2Index
    0:tVM::runtime::Object::TypeKey2Index(std::__cxx11:::basic_string<char、std::char_tectors 、std::allocator > const&)
    文件/home/user001/tvm src /runtime/object.cc"、第165行
    TVMError:
    --------------------------------------------------------------------------------
    执行 TVM 期间发生错误。
    如需更多信息、请访问: tvm.apache.org/.../errors.html
    --------------------------------------------------------------------------------

    找不到类型 tidl.TIDLContext?

    由于我们目前使用 Linux SDK 9.2版、因此我们需要澄清以下问题
    1、使用 edgeai-tidl-tools-10_00_07_00编译的模型
    您需要使用 setup_target_device.sh 更新目标版本的固件和联机.so
    有哪些文件? 它们是否可以列出? 我们需要在线下载它们并将它们复制到我们的大规模生产电路板上。

    2.我们希望维护 Linux SDK 9.2而不是更新固件。 使用 TIDK 9.2编译所需的
    但在执行 TIDL 9.2的源/scripts/run_python_examples.sh 命令时出现问题。 在 TVM 中找不到 tidl.TIDLContext.LIB?
    是否可以为 am62a7分支提供平台开发套件(PDK)?

    谢谢你  

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

    尊敬的 Martin:  

    我们讨论了是否需要一种在 SDK 9.2上使用 TIDL 9.2编译可用的.bin 文件、而不更改固件的方法、因此我们仍在对其进行测试。

    SDK 9.2工具无法编译的根本原因是:

    •  如果  Linux 内核(在主机 x86计算机上)>6.5.5、则主机上的 Linux 内核将在网络编译器阶段导致分段故障。
      • Ubuntu 22.04 LTS 已在过去6个月内升级到6.8.0。
    • 要使用9.2 SDK TIDL 工具编译模型、您需要将 x86主机的 Linux 内核降级到6.5.5

    我们使用10_00_00_07作为上述问题的权变措施。 由于您已投入生产、该权变措施(setup_target_device.sh)会导致此场景出现问题。  

    根据当前情况、我认为使用 Linux 内核6.5.5维护主机操作系统机器/VM 可能是更好的解决方案。 您无法使用 Docker 执行此操作、但我希望虚拟机可以正常工作。  

    型号、但在执行 TIDL 9.2的源/scripts/run_python_examples.sh 命令时出现问题。 在 TVM 中找不到 tidl.TIDLContext.LIB?

    我不太熟悉 TVM。 为了保持该主题的一致性、您能吗 请创建一个单独的主题以关注 TVM 主题 ? 我要提到的是,我在 TVM 的经验并不稳定,但我们的 TVM 专家将更有能力在这里提供帮助。  

    是否可以为 am62a7分支提供平台开发套件(PDK)?
    [/报价]

    我可能还需要一些背景信息。 您是否在其他类似处理器上使用了 PDK、正在寻求特定于 AM62A 的处理器、或者您是否申请其他处理器?

    BR、
    Reese

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

    TIDL 9.2的编译问题
    我们已经将 Ubuntu 2204的内核降级为6.5.-18-generic

    因为它需要在 Linux SDK 9.2环境下编译
    我们尝试将内核版本降级至6.5.0-18
    编译 TIDL 9.2不会导致分段错误
    但是、存在一些问题、例如 TVM 缺少 tidl.TIDLContext 并且在模型工件中找不到 libdlr.so。

    我们将单独讨论这一点。
    1.在 Linux SDK 9.2上使用 TIDL 9.2时 am62a7出现 TVM 编译问题(内核已降级至6.5.0-18)
    2.在 Linux SDK 9.2中使用 edgeai-tidl-tools 10_00_07_00升级主板固件时出现问题

    这是可行的吗?e2e.ti.com/.../build_5F00_rel_5F00_09_5F00_02_5F00_log_5F00_4.txt

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

    尊敬的 Martin:

    编译 TIDL 9.2不会导致分段错误

    好的、这个问题后来解决了。 工件应在原始版本的9.2 SDK 中正常工作(未使用 edgeai-tidl-tools 10_00_00_07进行修补)--如果发现其他情况、请通知我。 如果这种降级 Linux 内核方法足够了、那么我们不需要10_00_00_07。

    • 由于缺乏以太网/IP 访问、因此向后兼容性方法中的10_00_00_07不适用

    这将解析上面的第2点

    这里仍然存在问题(假设您恢复到 rel_09_02/SDK 9.2 TIDL 工具):  

    1. 在 Linux SDK 9.2上使用 TIDL 9.2时 am62a7出现 TVM 编译问题(内核已降级至6.5.0-18)
    [/报价]

    对吧? 这具体适用于 TVM、但不适用于其他 TVM。  

    您的应用是否使用 TVM? 如果是、让我们再做一个线程来解决这个问题。 我也会帮助您。  

    • 如果您不使用 TVM、我们可以单独解决此问题。 它可能与 edgeai-tidl-tools 安装有关(在 edgeai-tidl-tools/tidl_tools/osrt_deps/libdlr.so 下应具有 libdlr.so)。

    BR、
    Reese

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

    好的、我还有一个问题。
    这是已使用 TIDL10_00_07固件更新的电路板。
    如何恢复固件? 是否可以在 TIDL 9.2模块上使用该模块?

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

    尊敬的 Martin:  

    您是保留这些替换文件的备份、还是直接覆盖这些文件? 我们需要将这些库和 C7x 固件文件替换为原始版本。  

    作为 SDK 下载的一部分、文件系统应该已被提取(或至少以 tarball 形式存在于"filesystems"目录下)。 您可以从提取的 rootfs 中提取相同的文件并进行替换。 没有自动脚本可处理此问题。  

    恢复固件后、可将其用于9.2编译模型。 使用当前的10_00_00_07固件、我预计网络将无法初始化。

    对不起,我有你跑在一个圈子在这里. 您的系统上缺少互联网访问使这一问题变得具有挑战性。

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

    你(们)好

    我没有备份
    如何将固件恢复到 TIDL 9.2?

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

    尊敬的 Martin:

    好的、所以没有备份。 没有自动脚本可恢复此值。 这将是一个尴尬的任务,然后。 如果你有另一个图像,你可以代替,我认为这将是更少的头痛,切换到这. 我们正在取消10_00_00_07更改、以与库存 SDK 保持一致。  

    您需要一个原始 SH 脚本涉及的库、标头和固件映像的源代码(10_00_00_07)。

    • SDK 映像应该足够了、除非您必须修改存储器映射并重新编译固件。 如果"内存映射/固件"说明令人困惑、则可能不适用。  

    您需要将/lib/firmware/vision_apps_eaik 映像下的文件替换为另一个未修改的 SDK 映像中的文件。  

    老实说、替换库和头文件的最简单方法可能是复制整个/usr/lib 和/usr/include (并维护任何符号链接、尤其是对于.so 文件)、而不是按特定文件进行复制。

    tl;dr:没有已经构建的脚本可以执行此操作。 建议从另一个经过验证的 SDK/生产映像进行复制。  

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

    你(们)好

    在 Linux SDK 9.2中、哪里可以找到固件文件?

    是否使用 SDK 9.2 SD 卡映像更容易恢复固件?

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

    尊敬的 Martin:

    使用 SDK 9.2 SD 卡映像恢复固件是否更容易?

    是的、没错。 使用 SD 卡映像作为基础将更容易修复。 Linux SDK 安装程序(在主机 x86 PC 上运行)还将包含与*edgeai*.tar.xz 文件相同的目标文件、如下所示:

    ls -al filesystem/
    
    total 1869140
    
    drwxr-xr-x  2 reese reese      4096 Apr 15  2024 ./
    drwxrwxr-x 14 reese reese      4096 Oct 31 10:28 ../
    -rw-r--r--  1 reese reese 952112756 Mar 19  2024 tisdk-edgeai-image-am62axx-evm.tar.xz
    -rw-r--r--  1 reese reese  24978192 Apr  4  2024 tisdk-tiny-image-am62axx-evm.tar.xz

    让我尝试进一步澄清

    • 我说的是 SDK 映像、是指包含 AM62A EVM 或目标 SOC 使用的 targetfs/rootfs 的 SD 卡映像。  
      • SDK 安装在主机 PC 上、包含文件系统映像和许多用于重建 u-boot、Linux 内核等的支持工具  
      • 您可以在 SDK 安装中使用 SD 卡映像或 tarball。 两者都应包含相同的目标文件系统。 我把它称为基准 SD 卡映像
    • 固件文件位于基准 SD 卡映像中的/lib/firmware/vision_apps_eaik 下。
    • 其余文件位于/usr/下
      • 作为/usr/lib 下的库(.so 文件)、
      • /usr/include 下包含了.h 文件  
      •  /usr/lib/python3.10/site-packages 下的 Python 库文件
      • 从 SD 卡映像复制/usr/以替换由 setup_target_device.sh 更改的多个文件可能是最简单的方法
        • /usr 下的文件比这些文件要多得多、因此我建议在这里对您的生产映像要小心。