You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/learning-paths/microcontrollers/yolo-on-himax/_index.md
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,18 +3,18 @@ title: Run a Computer Vision Model on a Himax Microcontroller
3
3
4
4
minutes_to_complete: 90
5
5
6
-
who_is_this_for: This is an introduction topic for beginners on how to run a computer vision application on an embedded device from Himax. This example uses an off-the-shelf Himax WiseEye2 module which is based on the Arm Cortex-M55 and Ethos-U55.
6
+
who_is_this_for: This is an introduction topic explaining how to run a computer vision application on an embedded device from Himax. The example uses an off-the-shelf Himax WiseEye2 module which is based on Arm Cortex-M55 and Ethos-U55.
7
7
8
8
learning_objectives:
9
-
- Run a you-only-look-once (YOLO) object detection model on the edge device
10
-
- Build the Himax Software Development Kit (SDK) and generate the firmware image file
11
-
- Update the firmware on the edge device (Himax WiseEye2)
9
+
- Run a you-only-look-once (YOLO) object detection model on the Himax device.
10
+
- Build the Himax Software Development Kit (SDK) and generate the firmware image file.
11
+
- Update the firmware on the Himax WiseEye2.
12
12
13
13
prerequisites:
14
-
- A [Seeed Grove Vision AI Module V2](https://www.seeedstudio.com/Grove-Vision-AI-Module-V2-p-5851.html) development board
15
-
- A [OV5647-62 Camera Module](https://www.seeedstudio.com/OV5647-69-1-FOV-Camera-module-for-Raspberry-Pi-3B-4B-p-5484.html) and included FPC cable
16
-
- A USB-C cable
17
-
- An x86 based Linux machine or a machine running Apple Silicon
14
+
- A [Seeed Grove Vision AI Module V2](https://www.seeedstudio.com/Grove-Vision-AI-Module-V2-p-5851.html) development board.
15
+
- An [OV5647-62 Camera Module](https://www.seeedstudio.com/OV5647-69-1-FOV-Camera-module-for-Raspberry-Pi-3B-4B-p-5484.html) and included FPC cable.
16
+
- A USB-C cable.
17
+
- An x86 Linux machine or a Mac running macOS with Apple Silicon.
18
18
19
19
author_primary: Chaodong Gong, Alex Su, Kieran Hejmadi
Copy file name to clipboardExpand all lines: content/learning-paths/microcontrollers/yolo-on-himax/build-firmware.md
+19-15Lines changed: 19 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,11 +6,15 @@ weight: 3
6
6
layout: learningpathall
7
7
---
8
8
9
-
This section will walk you though the process of generating the firmware image file.
9
+
This section explains the process of generating a firmware image file.
10
10
11
-
## Clone the Himax project
11
+
## Clone the Himax GitHub project
12
12
13
-
Himax has set up a repository containing a few examples for the Seeed Grove Vision AI V2 board. It contains third-party software and scripts to build and flash the image with the object detection application. By recursively cloning the Himax examples repo, git will include the necessary sub-repositories that have been configured for the project.
13
+
Himax maintains a repository containing a few examples for the Seeed Grove Vision AI V2 board.
14
+
15
+
It contains third-party software and scripts to build and flash the image with the object detection application. By recursively cloning the Himax examples repo, git will include the necessary sub-repositories that have been configured for the project.
@@ -19,41 +23,41 @@ cd Seeed_Grove_Vision_AI_Module_V2
19
23
20
24
## Compile the firmware
21
25
22
-
For the object detection to activate, you need to edit the project's `makefile`, located in the `EPII_CM55M_APP_S` directory.
26
+
Use Make to compile the source code for object detection.
23
27
24
-
```bash
25
-
cd EPII_CM55M_APP_S
26
-
```
27
-
28
-
Use the `make` build tool to compile the source code. This should take up to 10 minutes depending on the number of CPU cores available on your host machine. The result is an `.elf` file written to the directory below.
28
+
This takes up to 10 minutes depending on the number of CPU cores available on your host machine.
29
29
30
30
```bash
31
-
make clean
31
+
cd EPII_CM55M_APP_S
32
32
make
33
33
```
34
34
35
+
When the build is complete, you have an `.elf` file at `obj_epii_evb_icv30_bdv10/gnu_epii_evb_WLCSP65/EPII_CM55M_gnu_epii_evb_WLCSP65_s.elf`
36
+
35
37
## Generate the firmware image
36
38
37
-
The examples repository contains scripts to generate the image file. Copy the `.elf` file to the `input_case1_secboot` directory.
39
+
The examples repository contains scripts to generate the image file.
40
+
41
+
Copy the `.elf` file to the `input_case1_secboot` directory.
This learning path has been validated on Ubuntu 22.04 LTS and macOS.
9
+
This Learning Path has been validated on Ubuntu 22.04 LTS and macOS.
12
10
13
11
{{% notice %}}
14
-
If you are running Windows on your host machine, you can use Ubuntu through Windows subsystem for Linux 2 (WSL2). Check out [this learning path](https://learn.arm.com/learning-paths/laptops-and-desktops/wsl2/setup/) to get started.
12
+
If you are running Windows, you can use Ubuntu through Windows subsystem for Linux 2 (WSL2). Check out [Get started with Windows Subsystem for Linux (WSL) on Arm](https://learn.arm.com/learning-paths/laptops-and-desktops/wsl2/setup/) to learn more.
15
13
{{% /notice %}}
16
14
17
-
## Install Python, pip and git
15
+
## Install software tools
16
+
17
+
Follow the instructions below to install the required development tools.
18
+
19
+
### Install Python and Pip
20
+
21
+
You will use Python to build the firmware image and pip to install additional dependencies.
22
+
23
+
Verify Python is installed by running:
18
24
19
-
You will use Python to build the firmware image and pip to install some dependencies. Verify Python is installed by running
20
25
```bash
21
26
python3 --version
22
27
```
23
28
24
-
You should see an output like the following.
29
+
You should see an output like the following:
30
+
25
31
```output
26
32
Python 3.12.7
27
33
```
28
34
29
-
Install `pip` and `venv` with the following commands.
35
+
On Ubuntu, you may need to install `pip` and `venv` with the following commands:
30
36
31
37
```bash
32
38
sudo apt update
33
39
sudo apt install python3-pip python3-venv -y
34
40
```
35
41
36
-
check the output to verify `pip` is installed correctly.
37
-
```
42
+
Verify Pip is installed correctly:
43
+
44
+
```bash
38
45
pip3 --version
39
46
```
40
47
48
+
The output is similar to:
49
+
41
50
```output
42
-
pip 24.2 from /<path-to>/pip (python 3.12)
51
+
pip 24.0 from /usr/lib/python3/dist-packages/pip (python 3.12)
43
52
```
44
53
45
-
It is considered good practice to manage `pip` packages through a virtual environment. Create one with the steps below.
54
+
It is good practice to manage Python packages through a virtual environment.
Copy file name to clipboardExpand all lines: content/learning-paths/microcontrollers/yolo-on-himax/flash-and-run.md
+11-7Lines changed: 11 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,11 +6,13 @@ weight: 4
6
6
layout: learningpathall
7
7
---
8
8
9
-
Now that you have generated an image file on the local host machine, you are ready to flash the microcontroller with this firmware.
9
+
Now that you have generated an image file on the local host machine, you are ready to flash the microcontroller with the firmware.
10
10
11
11
## Install xmodem
12
12
13
-
`Xmodem` is a basic file transfer protocol which is easily installed using the Himax examples repository. Run the following command to install the dependency. If you cloned the repository to a different location, replace $HOME with the path.
13
+
`Xmodem` is a basic file transfer protocol which is easily installed using the Himax examples repository.
14
+
15
+
Run the following command to install the dependency:
To prepare for the next steps, it's time to get the board set up. Insert the Flexible printed circuit (FPC) into the Grove Vision AI V2 module. Lift the dark grey latch on the connector as per the image below.
24
+
It's time to get the board set up.
25
+
26
+
Insert the Flexible printed circuit (FPC) into the Grove Vision AI V2 module. Lift the dark grey latch on the connector as per the image below.
23
27
24
28

25
29
26
-
Then, slide the FPC connector in with the metal pins facing down and close the dark grey latch to fasten the connector.
30
+
Slide the FPC connector in with the metal pins facing down and close the dark grey latch to fasten the connector.
27
31
28
32

29
33
@@ -56,11 +60,11 @@ chmod 0777 <COM port>
56
60
```
57
61
{{% /notice %}}
58
62
59
-
The full path to the port is needed in the next step, so be sure to note it down.
63
+
The full path to the port is needed in the next step, so be sure to save it.
60
64
61
65
## Flash the firmware onto the module
62
66
63
-
Run the python script below to flash the firmware.
67
+
Run the python script below to flash the firmware:
When you run other example models demonstrated in the later section [Run additional models in the web toolkit](/learning-paths/microcontrollers/yolo-on-himax/web-toolkit/), you need to adapt this command with `--model` argument.
73
77
{{% /notice %}}
74
78
75
-
After the firmware image burning is completed, the message `Do you want to end file transmission and reboot system? (y)` is displayed. Press the reset button indicated in the image below.
79
+
After the firmware image flashing is completed, the message `Do you want to end file transmission and reboot system? (y)` is displayed. Press the reset button shown in the image below.
The table shows the different options available to use with the web toolkit. Modify the `APP_TYPE` field in the `makefile` to one of the values in the table. Then pass the `--model` argument to the python `xmodem` command.
19
+
The table shows the different options available to use with the web toolkit.
20
+
21
+
Use a text editor to open `makefile` and modify the `APP_TYPE` field to one of the values in the table.
22
+
23
+
You will use the model argument value with the `--model` option to the `xmodem` command.
20
24
21
25
|APP_TYPE |Description | Model argument |
22
26
|--- |--- |---
@@ -28,22 +32,22 @@ For `tflm_fd_fm`, you need to pass all three models as separate `--model` argume
28
32
{{% /notice %}}
29
33
30
34
31
-
32
35
## Regenerate the firmware image
33
36
34
-
Now you can run `make` to re-generate the `.elf` file.
37
+
Use Make to re-generate the `.elf` file.
35
38
36
39
```bash
37
40
make clean
38
41
make
39
42
```
40
43
41
-
Use the commands from [Flash firmware onto the microcontroller](/learning-paths/microcontrollers/yolo-on-himax/flash-and-run/)section to run re-generate the firmware image.
44
+
Use the same commands from previous section to run re-generate the firmware image:
Open the unzipped directory in your file browsing system and double click `index.html`. This will open the GUI within your default browser.
83
+
{{% notice Note %}}
84
+
If needed, install the unzip command:
85
+
86
+
```bash
87
+
sudo apt install unzip -y
88
+
```
89
+
{{% /notice %}}
90
+
91
+
Open the file `index.html` in a browser. You can double click the file in a file browser or use the `File -> Open File...` command from the browser menu.
80
92
81
93
## Connect to the Grove Vision AI
82
94
83
-
Select `Grove Vision AI(V2)` in the top-right hand corner and press `Connect` button. Follow the instructions to set up the connection. Now you should see a video feed with a bounding box showing identified objects, poses or face detection.
95
+
Select `Grove Vision AI(V2)` in the top-right hand corner and press `Connect` button. Follow the instructions to set up the connection. You should see a video feed with a bounding box showing identified objects, poses or face detection.
0 commit comments