This page details compiling, loading, and running the N6Cam BSP.
Table of Contents
References
Overview
This page will walk you through:
Requirements (hard/software)
Compiling the BSP demo
Loading & running the demo
Requirements
Development Hardware
To debug and flash new firmware you’ll need either one of the following:
1 x STLink-V3 programmer
2 x STLink-V3MINIE programmer
Note:
Both options include the STDC14-STDC14 flat cable used to program the N6Cam.
Development Software
# | Name (+Link) | Version | Notes |
---|---|---|---|
1 | 1.17.0 | ||
2 | 1.0.0 | CubeIDE extension package | |
3 | 2.18.0 | Required for firmware signing |
Note:
STM32 tools must be included on the system PATH:
STM32CubeIDE.
By default:C:\ST\STM32CubeIDE_1.17.0
STM32CubeProgrammer.
By default:C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin
Code source
The following steps assume you have a copy of the N6Cam BSP sources release, which contents should look as follows:
This folder will be considered as <ROOT>
for the following instructions.
Compiling the demo
Follow these steps to compile:
Open STM32CubeIDE
Go to
File > Import...
:(1) Select
General > Existing Projects into Workspace
(2) Click Next.
Find and import the projects:
(1) Click
Select root directory
(2) Browse for the sources
<ROOT>
folder(3) Select all projects (FSBL, and Standalone)
(4) Click Finish
Once loaded, your project should look like this:
Build both FSBL and Standalone using the “Release” profile
The generated binaries can be located at:
FSBL:
<ROOT>\Sources\STM32CubeIDE\FSBL\Release\Siana.N6Cam.BSP.FSBL.hex
Standalone:
<ROOT>\Sources\STM32CubeIDE\Standalone\Release\Siana.N6Cam.BSP.Standalone.hex
Loading & running the demo
Signing binaries
Before loading the application to the N6Cam, you must sign the binaries. To achieve this you’ll need to:
Create a “Binaries” folder on
<ROOT>
Open a terminal on
<ROOT>
and run the signing command on the compiled binaries:FSBL:
STM32_SigningTool_CLI -bin Sources\STM32CubeIDE\FSBL\Release\Siana.N6Cam.BSP.FSBL.bin -nk -of 0x80000000 -t fsbl -o Binaries\Siana.N6Cam.BSP.FSBL.signed.bin -hv 2.3 Binaries\Siana.N6Cam.BSP.FSBL.signed.bin
Standalone:
STM32_SigningTool_CLI -bin Sources\STM32CubeIDE\Standalone\Release\Siana.N6Cam.BSP.Standalone.bin -nk -of 0x80000000 -t fsbl -o Binaries\Siana.N6Cam.BSP.Standalone.signed.bin -hv 2.3 Binaries\Siana.N6Cam.BSP.Standalone.signed.bin
Loading binaries
With the N6Cam unpowered and STLink unplugged from your host machine.
Set the N6Cam switch to development mode
Plug the STDC14-STDC14 flat cable to connect the STLink and the N6Cam
Plug the N6Cam and the STLink to your host machine
Open the STM32CubeProgrammer (if closed):
Configure the external loader:
(1) Go to the “External loaders” tab
(2) Search for
STM32N6
(3) Select the
MX66UW1G45G
loader
Connect to the device:
(1) Select “ST-LINK” from the dropdown menu
(2) Configure the device as shown:
Hot plug
mode, withSoftware reset
, for access port1
(3) Click “Connect”
Flashing the firmware:
(1) Go to the “Erasing & Programming” tab
(2) Browse for the binaries and (3) configure the start address as follows:
FSBL:
Image:
<ROOT>\Binaries\Siana.N6Cam.BSP.FSBL.signed.bin
Address:
0x70000000
Standalone:
Image:
<ROOT>\Binaries\Siana.N6Cam.BSP.Standalone.signed.bin
Address:
0x70080000
(4) Click “Start Programming”
Flashing the AI model:
(1) Go to the “Erasing & Programming” tab
(2) Browse for model binaries:
<ROOT>\Sources\Model\network_data.hex
Note: Since this is a hex file you don’t need to set the target address(3) Click “Start Programming”
Disconnect both the N6Cam and the STLink from the host machine
Set the N6Cam to operation mode
Running the demo
Follow the steps in https://siana-systems.atlassian.net/wiki/spaces/N6Cam/pages/3919937537/Intro+unboxing#Running-the-demo