Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
neerajdantu committed Feb 11, 2022
1 parent 33f037e commit b9fe1ba
Showing 1 changed file with 28 additions and 26 deletions.
54 changes: 28 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# OSD32MP1 Debian SDK: osd32mp1-debian-docker
This repository contains Docker setup and runtime files used for OSD32MP1 Debian SDK
# OSD32MP1 Debian SDK v3.0
This repository contains the list of repositories used for OSD32MP1 Debian SDK v3.0

## Introduction
OSD32MP1 Debian SDK can be used to develop Debian Linux images for OSD32MP1 based platforms. The SDK runs on host desktop preferably runnning Ubuntu. Docker is used to containerize the build environment. Souce code from ST (OpenSTLinux) is used, for TF-A, U-Boot, Linux kernel, GCNano and STM32CubeMP1. So, the SDK is compatible with software from ST. Binary images for both SD card or eMMC can be generated. Cube Programmer can be used to flash the eMMC via USB.
OSD32MP1 Debian SDK can be used to develop Debian Linux images for OSD32MP1 based platforms. The SDK runs on host desktop preferably runnning Ubuntu. Docker is used to containerize the build environment. Souce code from ST (OpenSTLinux) is used, for TF-A, U-Boot, Linux kernel, GCNano and STM32CubeMP1. So, the SDK is compatible with software from ST. Binary images for both SD card and eMMC can be generated. Cube Programmer can be used to flash the eMMC via USB.

The following repositories make up OSD32MP1 Debian SDK::

Expand All @@ -13,7 +13,7 @@ The following repositories make up OSD32MP1 Debian SDK::
| Linux kernel Source code | https://github.com/STMicroelectronics/linux.git |
| GCNano Binaries | https://github.com/STMicroelectronics/gcnano-binaries.git |
| STM32Cube MP1 Package | https://github.com/STMicroelectronics/STM32CubeMP1.git |
| Debian multistrap Source code | https://github.com/octavosystems/osd32mp1-multistrap-buster.git |
| Debian multistrap Source code | https://github.com/octavosystems/osd32mp1-multistrap.git |
| Docker image Source code | https://github.com/octavosystems/osd32mp1-debian-docker.git |
| Build tools source code | https://github.com/octavosystems/osd32mp1-build-tools.git |

Expand All @@ -23,7 +23,7 @@ The following repositories make up OSD32MP1 Debian SDK::
| OSD32MP1-RED | https://octavosystems.com/octavo_products/osd32mp1-red/ |

## Requirements
Tested on Ubuntu 18.04 LTS
Tested on Ubuntu 20.04 LTS

The following packges are recommended:

Expand All @@ -33,8 +33,8 @@ The following packges are recommended:
| git | 2.17 or higher|
| Python | 3.x |
| Docker | 19.x |
| qemu-user-static | v5.4-stm32mp |
| STM32MP1 Cube Programmer | 2.5 or higher|
| qemu-user-static | 1:4.2-3ubuntu6.19 |
| STM32MP1 Cube Programmer | 2.9 or higher|


## OSD32MP1 Target binary versions:
Expand All @@ -43,19 +43,20 @@ The following version of the image are supported in release:

| Package | Version | Source URL |
| ------- | ------- | ---------- |
| TF-A | v2.0-stm32mp-r1.5 | https://github.com/STMicroelectronics/arm-trusted-firmware.git |
| U-Boot | v2018.11-stm32mp-r3 | https://github.com/STMicroelectronics/u-boot.git |
| Linux Kernel | v4.19-stm32mp-r3 | https://github.com/STMicroelectronics/linux.git |
| GCNano(binaries) | gcnano-6.2.4_p4-binaries | https://github.com/STMicroelectronics/gcnano-binaries.git |
| STM32CubeMP1 | 1.2 | https://github.com/STMicroelectronics/STM32CubeMP1.git |
| TF-A | v2.4-stm32mp-r1 | https://github.com/STMicroelectronics/arm-trusted-firmware.git |
| U-Boot | 2020.10-stm32mp-r1 | https://github.com/STMicroelectronics/u-boot.git |
| Linux Kernel | v5.10-stm32mp-r1 | https://github.com/STMicroelectronics/linux.git |
| GCNano(binaries) | gcnano-6.4.3-binaries | https://github.com/STMicroelectronics/gcnano-binaries.git |
| STM32CubeMP1 | 1.4 | https://github.com/STMicroelectronics/STM32CubeMP1.git |

## How to use the SDK
### Setup Host computer
1. ```sudo apt-get update```
2. ```sudo apt-get upgrade```
3. ```sudo apt-get install git docker.io repo qemu-user-static```
3. ```sudo apt-get install git docker.io qemu-user-static```
4. ```sudo systemctl enable docker```
5. ```sudo systemctl start docker```
6. Install repo: https://stackoverflow.com/questions/4350344/how-to-install-androids-repo-on-my-ubuntu-system

Install Cube Programmer from here: https://www.st.com/en/development-tools/stm32cubeprog.html
Please see https://wiki.st.com/stm32mpu/wiki/STM32CubeProgrammer for Cube Programmer installation instructions and setup.
Expand All @@ -80,20 +81,21 @@ The following outputs are generated in ~/osd32mp1-workspace/deploy :

| Output | Filename | Comment |
| ------ | -------- | ------- |
| 1 | tf-a-osd32mp1-red.stm32 | Binary for OSD32M1 arm-trusted-firmware |
| 2 | tf-a-osd32mp1-red-trusted.stm32 | Binary for OSD32MP1 arm-trsuted-firmware |
| 3 | u-boot-osd32mp1-red-trusted.stm32 | Binary for OSD32MP1 U-Boot |
| 4 | FlashLayout_sdcard_osd32mp1-red-trusted.tsv | Flash layout file for OSD32MP1-RED trusted - SD card |
| 5 | FlashLayout_sdcard_osd32mp1-red-trusted.raw | Binary image for OSD32MP1-RED trusted - SD card |
| 6 | FlashLayout_emmc_osd32mp1-red-trusted.tsv | Flash layout file for OSD32MP1-RED trsudted - eMMC |
| 7 | octavo-bootfs-debian-lxqt-osd32mp1-red.ext4 | BOOTFS binary for OSD32MP1-RED |
| 8 | octavo-rootfs-debian-lxqt-emmc-osd32mp1-red.ext4 | ROOTFS binary for OSD32MP1-RED - eMMC |
| 9 | octavo-rootfs-debian-lxqt-sdcard-osd32mp1-red.ext4 | ROOTFS binary for OSD32MP1-RED - SD card |
| 10 | octavo-vendorfs-debian-lxqt-osd32mp1-red.ext4 | VENDORFS binary for OSD32MP1-RED |
| 1 | tf-a-stm32mp157c-osd32mp1-red-emmc.stm32 | Binary for OSD32M1 arm-trusted-firmware eMMC |
| 2 | tf-a-stm32mp157c-osd32mp1-red-sdcard.stm32 | Binary for OSD32MP1 arm-trsuted-firmware SD card |
| 3 | tf-a-stm32mp157c-osd32mp1-red-usb.stm32 | Binary for OSD32MP1 arm-trsuted-firmware SD card USB boot |
| 4 | fip-stm32mp157c-osd32mp1-red-trusted.bin | FiP Binary for OSD32MP1 U-Boot |
| 4 | FlashLayout_sdcard_stm32mp157c-osd32mp1-red-trusted.tsv | Flash layout file for OSD32MP1-RED trusted - SD card |
| 5 | FlashLayout_sdcard_stm32mp157c-osd32mp1-red-trusted.raw | Binary image for OSD32MP1-RED trusted - SD card |
| 6 | FlashLayout_emmc_stm32mp157c-osd32mp1-red-trusted.tsv | Flash layout file for OSD32MP1-RED trsudted - eMMC |
| 7 | octavo-bootfs-debian-lxqt-stm32mp157c-osd32mp1-red.ext4 | BOOTFS binary for OSD32MP1-RED |
| 8 | octavo-rootfs-debian-lxqt-emmc-stm32mp157c-osd32mp1-red.ext4 | ROOTFS binary for OSD32MP1-RED - eMMC |
| 9 | octavo-rootfs-debian-lxqt-sdcard-stm32mp157c-osd32mp1-red.ext4 | ROOTFS binary for OSD32MP1-RED - SD card |
| 10 | octavo-vendorfs-debian-lxqt-stm32mp157c-osd32mp1-red.ext4 | VENDORFS binary for OSD32MP1-RED |

### Deploy on SD card (where sdX is the device assignment for SD card)
1. ```cd ~/osd32mp1-workspace/deploy/```
2. ```sudo dd if=FlashLayout_sdcard_osd32mp1-red-trusted.raw of=/dev/sdX bs=1M conv=fdatasync status=progress```
2. ```sudo dd if=FlashLayout_sdcard_stm32mp157c-osd32mp1-red-trusted.raw of=/dev/sdX bs=1M conv=fdatasync status=progress```

### Flash eMMC
STM32MP1 Cube Programmer is required for this procedure
Expand All @@ -105,7 +107,7 @@ To determine device numnber for the board connected:

3. ```STM32_Programmer_CLI -l USB```
<pre><font color="#34E2E2"><b> -------------------------------------------------------------------</b></font>
<font color="#34E2E2"><b> STM32CubeProgrammer v2.5.0 </b></font>
<font color="#34E2E2"><b> STM32CubeProgrammer v2.9.0 </b></font>
<font color="#34E2E2"><b> -------------------------------------------------------------------</b></font>

<font color="#4E9A06">===== DFU Interface =====</font>
Expand All @@ -125,7 +127,7 @@ The above device indicates the board is connected as USB1.

Flash the eMMC

4. ```STM32_Programmer_CLI -c port=USB1 -w FlashLayout_emmc_osd32mp1-red-trusted.tsv```
4. ```STM32_Programmer_CLI -c port=USB1 -w FlashLayout_emmc_stm32mp157c-osd32mp1-red-trusted.tsv```


## How to contribute
Expand Down

0 comments on commit b9fe1ba

Please sign in to comment.