Hi, I want to port my own AI model on BHI260AP, so my first step is to build the BHI260AP SDK follow the steps from the user guide. BHI260AB-BHA260AB SDK Quick Start Guide Platform: Windows 10 HW: Nicla Sense ME SDK: BHI260AP_SDK 1.1.8.0 (from Bosch Sensortec official site) Toolchain: GNU Toolchain for ARC Processors 2019.09 (from github provided by Synopsys) And below is the final part of the log after build in ARC GNU IDE 2019.09 Eclipse: [158/220] Linking C static library drivers\VirtWakeupPressure\libVirtWakeupPressure.a [159/220] Linking C static library drivers\VirtWakeupTemperature\libVirtWakeupTemperature.a [160/220] Linking C static library drivers\VirtWakeupGas\libVirtWakeupGas.a [161/220] Building C object drivers/VirtLight/CMakeFiles/VirtLight.dir/VirtLight.c.obj [162/220] Linking C static library drivers\VirtWakeupExLed\libVirtWakeupExLed.a [163/220] Linking C static library drivers\VirtExLed\libVirtExLed.a [164/220] Building C object drivers/VirtProximity/CMakeFiles/VirtProximity.dir/VirtProximity.c.obj [165/220] Linking C static library drivers\VirtLight\libVirtLight.a [166/220] Generating kernel-flash.fws [167/220] Building C object drivers/VirtWakeupLight/CMakeFiles/VirtWakeupLight.dir/VirtWakeupLight.c.obj [168/220] Building C object drivers/VirtWakeupProximity/CMakeFiles/VirtWakeupProximity.dir/VirtWakeupProximity.c.obj [169/220] Linking C static library drivers\VirtProximity\libVirtProximity.a [170/220] Building C object drivers/AccelInject/CMakeFiles/AccelInject.dir/AccelInject.c.obj [171/220] Linking C static library drivers\VirtWakeupLight\libVirtWakeupLight.a [172/220] Generating hooks.c -- generating hooks.c from C:/Users/forev/Documents/BHI260AP_SDK_1.1.8.0/user/../kernel/hooks.txt [173/220] Generating kernel.fws [174/220] Linking C static library drivers\VirtWakeupProximity\libVirtWakeupProximity.a [175/220] Linking C static library drivers\AccelInject\libAccelInject.a [176/220] Building C object user/CMakeFiles/user.dir/stack_check.c.obj [177/220] Building C object user/RamPatches/CMakeFiles/user-ram-patches.dir/hostboot_pin_pullup_check.c.obj [178/220] Building C object user/RamPatches/CMakeFiles/user-ram-patches.dir/getBuildTime.c.obj [179/220] Building C object user/CMakeFiles/user-ram-fb5ff5c38b2ac67549634b88dffcc9b6.dir/config_strings_Bosch_APP30_WRD_BHI260_turbo.c.obj [180/220] Building C object user/CMakeFiles/user.dir/main.c.obj [181/220] Building C object user/CMakeFiles/user.dir/hooks.c.obj [182/220] Building C object user/CMakeFiles/user-flash-fb5ff5c38b2ac67549634b88dffcc9b6.dir/config_strings_Bosch_APP30_WRD_BHI260_turbo.c.obj [183/220] Building C object user/CMakeFiles/user-ram-ee517083954c97c329e0b0f39a4e2777.dir/config_strings_Bosch_APP30_WRD_BHI260_BMP390.c.obj [184/220] Building C object user/CMakeFiles/user-ram-7d0cb141a1010d32c4dffe66220a69c3.dir/config_strings_Bosch_APP30_WRD_BHI260_BME68x.c.obj [185/220] Building C object user/CMakeFiles/user-flash-7d0cb141a1010d32c4dffe66220a69c3.dir/config_strings_Bosch_APP30_WRD_BHI260_BME68x.c.obj [186/220] Building C object user/CMakeFiles/user-flash-ee517083954c97c329e0b0f39a4e2777.dir/config_strings_Bosch_APP30_WRD_BHI260_BMP390.c.obj [187/220] Building C object user/CMakeFiles/user-flash-418c4b99eb6f671a9001c6c1d2106937.dir/config_strings_Bosch_APP30_WRD_BHI260_aux_BMM150.c.obj [188/220] Building C object user/CMakeFiles/user-ram-418c4b99eb6f671a9001c6c1d2106937.dir/config_strings_Bosch_APP30_WRD_BHI260_aux_BMM150.c.obj [189/220] Building C object user/RamPatches/CMakeFiles/user-ram-patches-flash.dir/getBuildTime.c.obj [190/220] Linking C static library user\RamPatches\libRamPatches.a [191/220] Building C object user/RamPatches/CMakeFiles/user-ram-patches-flash.dir/hostboot_pin_pullup_check.c.obj [192/220] Linking C static library user\RamPatches\libRamPatches-flash.a [193/220] Linking C executable user\user-ram-fb5ff5c38b2ac67549634b88dffcc9b6 [194/220] Linking C executable user\user-flash-fb5ff5c38b2ac67549634b88dffcc9b6 [195/220] Linking C executable user\user-flash-ee517083954c97c329e0b0f39a4e2777 [196/220] Linking C executable user\user-ram-ee517083954c97c329e0b0f39a4e2777 [197/220] Generating Bosch_APP30_SHUTTLE_BHI260-flash.elf FAILED: user/Bosch_APP30_SHUTTLE_BHI260-flash.elf cmd.exe /C "cd /D C:\Users\forev\Documents\BHI260AP_SDK_1.1.8.0\build\user && C:\Users\forev\Documents\BHI260AP_SDK_1.1.8.0\win64\cmake\bin\cmake.exe -E copy user-flash-fb5ff5c38b2ac67549634b88dffcc9b6 Bosch_APP30_SHUTTLE_BHI260-flash.elf && C:\Users\forev\Documents\BHI260AP_SDK_1.1.8.0\win64\bin\stuffelf -q Bosch_APP30_SHUTTLE_BHI260-flash.elf -fC:/Users/forev/Documents/BHI260AP_SDK_1.1.8.0/boards/Bosch_APP30_SHUTTLE_BHI260.cfg && C:\Users\forev\Documents\BHI260AP_SDK_1.1.8.0\win64\bin\elf2bin Bosch_APP30_SHUTTLE_BHI260-flash.elf Bosch_APP30_SHUTTLE_BHI260-flash.fw.raw && C:\Users\forev\Documents\BHI260AP_SDK_1.1.8.0\win64\bin\cat Bosch_APP30_SHUTTLE_BHI260-flash.fw.tmp C:/Users/forev/Documents/BHI260AP_SDK_1.1.8.0/build/user/../kernel/kernel-flash.fws Bosch_APP30_SHUTTLE_BHI260-flash.fw.raw && C:\Users\forev\Documents\BHI260AP_SDK_1.1.8.0\win64\bin\isign -s -k C:/Users/forev/Documents/BHI260AP_SDK_1.1.8.0/utils/isign/user_ram_default_key.pri --keyloc 3 --keyid 0 --exec --imgIdx 1 -f Bosch_APP30_SHUTTLE_BHI260-flash.fw.tmp -o Bosch_APP30_SHUTTLE_BHI260-flash.fw && C:\Users\forev\Documents\BHI260AP_SDK_1.1.8.0\win64\cmake\bin\cmake.exe -E remove Bosch_APP30_SHUTTLE_BHI260-flash.fw.raw Bosch_APP30_SHUTTLE_BHI260-flash.fw.tmp" Free code ram for FIFO: 0x00124df8 to 0x00128000 (12808 bytes) Free data ram for FIFO: 0x00a16560 to 0x00a18000 (6816 bytes) Optional RAM bank usage: Code banks=0, Data banks=2 Free ram for FIFO: 14772 Estimated Wake FIFO: 7168 Estimated Non-Wake FIFO: 7168 Error signing firmware Bosch_APP30_SHUTTLE_BHI260-flash.fw.tmp: error=18: Invalid signature [198/220] Generating Bosch_APP30_SHUTTLE_BHI260_BMP390-flash.elf FAILED: user/Bosch_APP30_SHUTTLE_BHI260_BMP390-flash.elf cmd.exe /C "cd /D C:\Users\forev\Documents\BHI260AP_SDK_1.1.8.0\build\user && C:\Users\forev\Documents\BHI260AP_SDK_1.1.8.0\win64\cmake\bin\cmake.exe -E copy user-flash-ee517083954c97c329e0b0f39a4e2777 Bosch_APP30_SHUTTLE_BHI260_BMP390-flash.elf && C:\Users\forev\Documents\BHI260AP_SDK_1.1.8.0\win64\bin\stuffelf -q Bosch_APP30_SHUTTLE_BHI260_BMP390-flash.elf -fC:/Users/forev/Documents/BHI260AP_SDK_1.1.8.0/boards/Bosch_APP30_SHUTTLE_BHI260_BMP390.cfg && C:\Users\forev\Documents\BHI260AP_SDK_1.1.8.0\win64\bin\elf2bin Bosch_APP30_SHUTTLE_BHI260_BMP390-flash.elf Bosch_APP30_SHUTTLE_BHI260_BMP390-flash.fw.raw && C:\Users\forev\Documents\BHI260AP_SDK_1.1.8.0\win64\bin\cat Bosch_APP30_SHUTTLE_BHI260_BMP390-flash.fw.tmp C:/Users/forev/Documents/BHI260AP_SDK_1.1.8.0/build/user/../kernel/kernel-flash.fws Bosch_APP30_SHUTTLE_BHI260_BMP390-flash.fw.raw && C:\Users\forev\Documents\BHI260AP_SDK_1.1.8.0\win64\bin\isign -s -k C:/Users/forev/Documents/BHI260AP_SDK_1.1.8.0/utils/isign/user_ram_default_key.pri --keyloc 3 --keyid 0 --exec --imgIdx 1 -f Bosch_APP30_SHUTTLE_BHI260_BMP390-flash.fw.tmp -o Bosch_APP30_SHUTTLE_BHI260_BMP390-flash.fw && C:\Users\forev\Documents\BHI260AP_SDK_1.1.8.0\win64\cmake\bin\cmake.exe -E remove Bosch_APP30_SHUTTLE_BHI260_BMP390-flash.fw.raw Bosch_APP30_SHUTTLE_BHI260_BMP390-flash.fw.tmp" Free code ram for FIFO: 0x00124df8 to 0x00128000 (12808 bytes) Free data ram for FIFO: 0x00a16780 to 0x00a18000 (6272 bytes) Optional RAM bank usage: Code banks=0, Data banks=2 Free ram for FIFO: 14228 Estimated Wake FIFO: 7168 Estimated Non-Wake FIFO: 6656 Error signing firmware Bosch_APP30_SHUTTLE_BHI260_BMP390-flash.fw.tmp: error=18: Invalid signature [199/220] Linking C executable user\user-ram-418c4b99eb6f671a9001c6c1d2106937 [200/220] Linking C executable user\user-ram-7d0cb141a1010d32c4dffe66220a69c3 [201/220] Linking C executable user\user-flash-418c4b99eb6f671a9001c6c1d2106937 [202/220] Linking C executable user\user-flash-7d0cb141a1010d32c4dffe66220a69c3 ninja: build stopped: subcommand failed. Error running cmake build "build.bat USE_GCC" terminated with exit code 1. Build might be incomplete. 15:06:59 Build Finished. 0 errors, 0 warnings. (took 40s.69ms) So, here are my questions: Q1: What does "error=18: Invalid signature" mean? How can I fix it? Q2: Is it possible to port a simple DNN model with hardware acceleration on BHI260AP? As far as I know, BHI260AP is based on ARC EM4 processor. Does it support hardware acceleration? BHI260AP provides "self-learning AI feature", does it have anything to do with it? I posted a similar post on Sunday, but I can't find it on the forum. I apologize if my post repeats. Thanks so much for your help!
... View more