I have to build edge-impulse SDK to the nrf52832 development board using bash terminal through the command but I am getting errors.
west build -b nrf52dk_nrf52832 -p
but I have to build edge-impulse SDK to the nrf52832 development board using bash terminal through the command it is successfully built on this command.
west build -b nrf52840dk_nrf52840 -p
it is possible to build to nrf52832 board ?
please guide how it is posiible.
/home/arjan/Documents/EdgeImpulse/Firmware/edgeimpulse/firmware-nordic-nrf5x/edge-impulse/ingestion-sdk-platform/NordicSemi-nrf52/ei_device_nordic_nrf52.cpp:78:2: error: #error "Unsupported build target was chosen!"
78 | #error "Unsupported build target was chosen!"
That’s because we only support the nrf52840 and nrf5340 with this project. The reason for this is the small amount of RAM memory on the nrf52832.
You could try to adjust the code to allow build for the nrf52832, but depending on the model size this will work.
Hello @Arjan,
previously we have used the example you have suggested and now we are trying to build using another example.
I am installing the standalone repo of example-standalone-inferencing-zephyr from the link.
After that, I’ve deployed the C++ library from the edge impulse project>deployment page.
We are using NRF52832 dev board, for this board when we build with the command:
west build -b nrf52dk_nrf52832 -p
the error logs are generated which is shown in the following link: Error log link
The above-given logs are for an Error generated project.
When we try with the same command: west build -b nrf52840dk_nrf52840 -p with another board name then it will build successfully without any errors as shown in the following link: output log link
The above-given logs are for a successfully built project.
NOTE: You will notice the significant difference between both logs will be at the end of it where it shows the generated O/P.
we have done the Setup of the given Example.
I am trying to build the code but I am getting a path error.
west build -b nrf52dk_nrf52832
Traceback (most recent call last):
File “runpy.py”, line 193, in _run_module_as_main
File “runpy.py”, line 86, in run_code
File "C:\Users\Satyaveer\ncs\v1.7.0\toolchain\opt\bin\Scripts\west.exe_main.py", line 7, in
File “C:\Users\Satyaveer\ncs\v1.7.0\toolchain\opt\bin\Lib\site-packages\west\app\main.py”, line 779, in main
app.run(argv or sys.argv[1:])
File “C:\Users\Satyaveer\ncs\v1.7.0\toolchain\opt\bin\Lib\site-packages\west\app\main.py”, line 106, in run
self.run_command(argv)
File “C:\Users\Satyaveer\ncs\v1.7.0\toolchain\opt\bin\Lib\site-packages\west\app\main.py”, line 338, in run_command
self.run_extension(args.command, argv)
File “C:\Users\Satyaveer\ncs\v1.7.0\toolchain\opt\bin\Lib\site-packages\west\app\main.py”, line 408, in run_extension
command.run(args, unknown, self.topdir, manifest=self.manifest)
File “C:\Users\Satyaveer\ncs\v1.7.0\toolchain\opt\bin\Lib\site-packages\west\commands.py”, line 132, in run
self.do_run(args, unknown)
File “C:\Users\Satyaveer\ncs\v1.7.0\zephyr\scripts\west_commands\build.py”, line 183, in do_run
self._sanity_check()
File “C:\Users\Satyaveer\ncs\v1.7.0\zephyr\scripts\west_commands\build.py”, line 348, in _sanity_check
self._sanity_check_source_dir()
File “C:\Users\Satyaveer\ncs\v1.7.0\zephyr\scripts\west_commands\build.py”, line 337, in _sanity_check_source_dir
‘CMakeLists.txt’ in os.listdir(self.source_dir),
FileNotFoundError: [WinError 3] The system cannot find the path specified: ‘C:\home\arjan\Documents\EdgeImpulse\Firmware\example-standalone-inferencing-zephyr’
FileNotFoundError: [WinError 3] The system cannot find the path specified: ‘C:\home\arjan\Documents\EdgeImpulse\Firmware\example-standalone-inferencing-zephyr’
It is referencing my file system. Are you using the -p flag?
Hi @Arjan
we have successfully removed the build folder after that example is successfully built with the command.
after I have used this flash command (west flash) so I am getting the output log:
– west flash: rebuilding
ninja: no work to do.
– west flash: using runner nrfjprog
Using board 682760053
– runners.nrfjprog: Flashing file: C:\Users\Satyaveer\ncs\example-standalone-inferencing-zephyr\build\zephyr\zephyr.hex
Parsing hex file.
Erasing page at address 0x0.
Erasing page at address 0x1000.
Erasing page at address 0x2000.
Erasing page at address 0x3000.
Erasing page at address 0x4000.
Erasing page at address 0x5000.
Erasing page at address 0x6000.
Erasing page at address 0x7000.
Erasing page at address 0x8000.
Erasing page at address 0x9000.
Applying system reset.
Checking that the area to write is not protected.
Programing device.
Enabling pin reset.
Applying pin reset.
– runners.nrfjprog: Board with serial number 682760053 flashed successfully.
That’s good news! Now you can use terminal connection to validate the output. Next step is to add sensors you want to use. As I mentioned we don’t fully support the nrf52832 so code for this you’ve to add yourself. But you can keep the project firmware-nrf52840-5340-dk as a reference.
Hi @Arjan
After flashing we have installed CLI tools for edge-impulse.
In Which Pins of the NRF52832 Development board need to be Connect to the Tx and Rx pins of UART to USB.beacuse of Nrf52832 Dev board all pins are multitasking.
my Hardware connection is nrf52832 development board with UART to USB connected to my computer.
we can see the output in CLI-tools and I found we are not using external UART communication.
this is output log :
Edge Impulse impulse runner v1.13.16
[SER] Connecting to /dev/ttyACM1
[SER] Connected to /dev/ttyACM1
*** Booting Zephyr OS build v2.6.99-ncs1 ***
Edge Impulse standalone inferencing (Zephyr)
The size of your ‘features’ array is not correct. Expected 375 items, but had 6
another thing is there,
how can add another sensor please guide me further.
You can start based on the standalone example that you sucessfully compiled.
From there you need to feed the accelerometer’s data into the features array, you can read more technical details in our documentation here (ie depending if you want features in Flash or RAM).
Also below is a code snippet for your accelerometer, using an STM32 board but the function should be similar on the Nordic: