mirror of
git://git.yoctoproject.org/meta-intel.git
synced 2025-07-19 21:09:03 +02:00

* use the files from SRC_URI instead of fetching them during configure * use the firmware files CMake would download during configure when not provided already, I haven't found any changelog to find out what's the difference between firmware_ma2x8x_784.zip firmware_ma2x8x_mdk_R9.8.zip firmware_ma2450_759W.zip firmware_ma2450_784.zip firmware_mv0262_784.zip firmware_mv0262_mdk_R9.8.zip so to be safe use whatever CMake does and what I was testing on raspberrypi4 before (because of missing this fix). -- Downloading from https://download.01.org/opencv/2019/openvinotoolkit/R3/inference_engine/firmware_ma2450_759W.zip to dldt-inference-engine/2019r3-r0/git/inference-engine/temp/download/firmware_ma2450_759W.zip ... -- Downloading from https://download.01.org/opencv/2019/openvinotoolkit/R3/inference_engine/firmware_ma2x8x_mdk_R9.8.zip to dldt-inference-engine/2019r3-r0/git/inference-engine/temp/download/firmware_ma2x8x_mdk_R9.8.zip ... -- Downloading from https://download.01.org/opencv/2019/openvinotoolkit/R3/inference_engine/firmware_mv0262_mdk_R9.8.zip to dldt-inference-engine/2019r3-r0/git/inference-engine/temp/download/firmware_mv0262_mdk_R9.8.zip ... * add PACKAGECONFIG verbose for VERBOSE_BUILD so it's easier to debug which firmware files are being used, in this case: log.do_configure will show: -- ma2450=../mvnc/MvNCAPI-ma2450.mvcmd -- ma2x8x=../mvnc/MvNCAPI-ma2x8x.mvcmd -- mv0262=../mvnc/MvNCAPI-mv0262.mvcmd * the patch is very loosely based on the patch removed here: http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel/diff/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0003-Supply-firmware-at-build-time.patch?id=649456856dc38086e7d43d740d68198e3395b067 but I've reworked it competely to simplify this mess :) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
105 lines
3.8 KiB
Diff
105 lines
3.8 KiB
Diff
From 1f6f05ae4d3fba95ccc34a4622d06b9d2bf88e80 Mon Sep 17 00:00:00 2001
|
|
From: Martin Jansa <Martin.Jansa@gmail.com>
|
|
Date: Fri, 27 Sep 2019 11:34:36 +0800
|
|
Subject: [PATCH] Simplify searching for firmware files
|
|
|
|
Disable runtime fetching when VPU_FIRMWARE_*_FILE variables are defined
|
|
and point to already fetched firmware instead.
|
|
|
|
Do it all in one foreach loop.
|
|
|
|
Upstream-Status: Submitted [https://github.com/opencv/dldt/pull/302]
|
|
|
|
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
|
---
|
|
inference-engine/cmake/vpu_dependencies.cmake | 63 ++++++-------------
|
|
1 file changed, 20 insertions(+), 43 deletions(-)
|
|
|
|
diff --git a/inference-engine/cmake/vpu_dependencies.cmake b/inference-engine/cmake/vpu_dependencies.cmake
|
|
index 1550163d..e0bc844e 100644
|
|
--- a/inference-engine/cmake/vpu_dependencies.cmake
|
|
+++ b/inference-engine/cmake/vpu_dependencies.cmake
|
|
@@ -4,52 +4,29 @@
|
|
|
|
set(VPU_SUPPORTED_SOC ma2450 ma2x8x mv0262)
|
|
|
|
-#
|
|
-# Default firmware packages
|
|
-#
|
|
-
|
|
-RESOLVE_DEPENDENCY(VPU_FIRMWARE_MA2450
|
|
- ARCHIVE_UNIFIED firmware_ma2450_759W.zip
|
|
- TARGET_PATH "${TEMP}/vpu/firmware/ma2450"
|
|
- ENVIRONMENT "VPU_FIRMWARE_MA2450"
|
|
- FOLDER)
|
|
-debug_message(STATUS "ma2450=" ${VPU_FIRMWARE_MA2450})
|
|
-
|
|
-RESOLVE_DEPENDENCY(VPU_FIRMWARE_MV0262
|
|
- ARCHIVE_UNIFIED firmware_mv0262_mdk_R9.8.zip
|
|
- TARGET_PATH "${TEMP}/vpu/firmware/mv0262"
|
|
- ENVIRONMENT "VPU_FIRMWARE_MV0262"
|
|
- FOLDER)
|
|
-debug_message(STATUS "mv0262=" ${VPU_FIRMWARE_MV0262})
|
|
-
|
|
-RESOLVE_DEPENDENCY(VPU_FIRMWARE_MA2X8X
|
|
- ARCHIVE_UNIFIED firmware_ma2x8x_mdk_R9.8.zip
|
|
- TARGET_PATH "${TEMP}/vpu/firmware/ma2x8x"
|
|
- ENVIRONMENT "VPU_FIRMWARE_MA2X8X"
|
|
- FOLDER)
|
|
-debug_message(STATUS "ma2x8x=" ${VPU_FIRMWARE_MA2X8X})
|
|
-
|
|
-#
|
|
-# CMake variables to override default firmware files
|
|
-#
|
|
-
|
|
foreach(soc IN LISTS VPU_SUPPORTED_SOC)
|
|
string(TOUPPER "${soc}" soc_upper)
|
|
- set(var_name VPU_FIRMWARE_${soc_upper}_FILE)
|
|
+ set(var_name_file VPU_FIRMWARE_${soc_upper}_FILE)
|
|
+ set(var_name VPU_FIRMWARE_${soc_upper})
|
|
+ set(var_name_zip firmware_${soc}_mdk_R9.8.zip)
|
|
+ if(${soc} STREQUAL "ma2450")
|
|
+ set(var_name_zip firmware_${soc}_759W.zip)
|
|
+ endif()
|
|
|
|
- find_file(${var_name} MvNCAPI-${soc}.mvcmd "${VPU_FIRMWARE_${soc_upper}}/mvnc")
|
|
- if(NOT ${var_name})
|
|
- message(FATAL_ERROR "[VPU] Missing ${soc} firmware")
|
|
+ if(NOT DEFINED ${var_name_file})
|
|
+ RESOLVE_DEPENDENCY(${var_name}
|
|
+ ARCHIVE_UNIFIED ${var_name_zip}
|
|
+ TARGET_PATH "${TEMP}/vpu/firmware/${soc}"
|
|
+ ENVIRONMENT "${var_name}"
|
|
+ FOLDER)
|
|
+ find_file(${var_name_file} NAMES "MvNCAPI-${soc}.mvcmd" PATHS "${VPU_FIRMWARE_${soc_upper}}/mvnc" NO_CMAKE_FIND_ROOT_PATH)
|
|
endif()
|
|
-endforeach()
|
|
|
|
-#
|
|
-# `vpu_copy_firmware` CMake target
|
|
-#
|
|
+ if(NOT ${var_name_file})
|
|
+ message(FATAL_ERROR "[VPU] Missing ${soc} firmware, MvNCAPI-${soc}.mvcmd not found in ${VPU_FIRMWARE_${soc_upper}}/mvnc env $ENV{${var_name}} ")
|
|
+ endif()
|
|
|
|
-foreach(soc IN LISTS VPU_SUPPORTED_SOC)
|
|
- string(TOUPPER "${soc}" soc_upper)
|
|
- set(var_name VPU_FIRMWARE_${soc_upper}_FILE)
|
|
+ debug_message(STATUS "${soc}=" ${${var_name_file}})
|
|
|
|
set(firmware_out_file "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/MvNCAPI-${soc}.mvcmd")
|
|
list(APPEND all_firmware_files ${firmware_out_file})
|
|
@@ -57,9 +34,9 @@ foreach(soc IN LISTS VPU_SUPPORTED_SOC)
|
|
add_custom_command(
|
|
OUTPUT ${firmware_out_file}
|
|
COMMAND
|
|
- ${CMAKE_COMMAND} -E copy ${${var_name}} ${firmware_out_file}
|
|
- MAIN_DEPENDENCY ${${var_name}}
|
|
- COMMENT "[VPU] Copy ${${var_name}} to ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}"
|
|
+ ${CMAKE_COMMAND} -E copy ${${var_name_file}} ${firmware_out_file}
|
|
+ MAIN_DEPENDENCY ${${var_name_file}}
|
|
+ COMMENT "[VPU] Copy ${${var_name_file}} to ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}"
|
|
VERBATIM)
|
|
endforeach()
|
|
|