Skip to content

Instantly share code, notes, and snippets.

@sooorajjj
Last active April 7, 2025 09:01
Show Gist options
  • Save sooorajjj/fe2e2c999bdebe3b8fafc8d38421efcb to your computer and use it in GitHub Desktop.
Save sooorajjj/fe2e2c999bdebe3b8fafc8d38421efcb to your computer and use it in GitHub Desktop.
Stinger96
#STM32MP1
source /home/ssd/STM/STM32MP1/Developer-Package/SDK/environment-setup-cortexa7t2hf-neon-vfpv4-openstlinux_weston-linux-gnueabi
set | grep CROSS
# CROSS_COMPILE=arm-openstlinux_weston-linux-gnueabi-
############################### Build kernel #################################
cd /home/ssd/STM/STM32MP1/Developer-Package/stm32mp1-openstlinux-4.19-thud-mp1-19-10-09/sources/arm-openstlinux_weston-linux-gnueabi/linux-stm32mp-4.19-r0/linux/
# Configure
make ARCH=arm O="$PWD/../build" multi_v7_defconfig fragment*.config
for f in `ls -1 ../fragment*.config`; do scripts/kconfig/merge_config.sh -m -r -O $PWD/../build $PWD/../build/.config $f; done
yes '' | make ARCH=arm oldconfig O="$PWD/../build"/
make ARCH=arm multi_v7_defconfig fragment*.config
for f in `ls -1 ../fragment*.config`; do scripts/kconfig/merge_config.sh -m -r .config $f; done
yes '' | make ARCH=arm oldconfig
# Build
make -j8 ARCH=arm uImage vmlinux dtbs LOADADDR=0xC2000040 O="$PWD/../build"
make -j8 ARCH=arm modules O="$PWD/../build"
make -j8 ARCH=arm INSTALL_MOD_PATH="$PWD/../build/install_artifact" modules_install O="$PWD/../build"
mkdir -p $PWD/../build/install_artifact/boot/
cp $PWD/../build/arch/arm/boot/uImage $PWD/../build/install_artifact/boot/
cp $PWD/../build/arch/arm/boot/dts/st*.dtb $PWD/../build/install_artifact/boot/
############################################ Build U-Boot ################################################
cd /home/ssd/STM/STM32MP1/Developer-Package/stm32mp1-openstlinux-4.19-thud-mp1-19-10-09/sources/arm-openstlinux_weston-linux-gnueabi/u-boot-stm32mp-2018.11-r0/u-boot/
# For Building
make -j8 stm32mp15_basic_defconfig
make -j8 DEVICE_TREE=stm32mp157c-dk2 all
#Note: DEVICE_TREE flag must be set to switch to correct board configuration.
# For flashing
subl3 board/st/stm32mp1/README
############################################ Build ARM Trusted Firmware ########################################
cd /home/ssd/STM/STM32MP1/Developer-Package/stm32mp1-openstlinux-4.19-thud-mp1-19-10-09/sources/arm-openstlinux_weston-linux-gnueabi/tf-a-stm32mp-2.0-r0/arm-trusted-firmware/
make -f $PWD/../Makefile.sdk all
make -f $PWD/../Makefile.sdk TFA_DEVICETREE=stm32mp157c-dk2 TF_A_CONFIG=trusted ELF_DEBUG_ENABLE='1' all
#Note: TFA_DEVICETREE flag must be set to switch to correct board configuration.
############################################ Build Trusted Execution Environment (TEE) ##########################################
cd /home/ssd/STM/STM32MP1/Developer-Package/stm32mp1-openstlinux-4.19-thud-mp1-19-10-09/sources/arm-openstlinux_weston-linux-gnueabi/optee-os-stm32mp-3.3.0-r0/optee_os/
make -f $PWD/../Makefile.sdk
make -f $PWD/../Makefile.sdk CFG_SECURE_DT=stm32mp157c-dk2
https://paste.ubuntu.com/p/mbFYB8R2CP/
################################################################################################################################
# Distribution package
# TODO:
# fix Boot Scheme - basic for now
DISTRO=openstlinux-weston MACHINE=stm32mp1 source layers/meta-st/scripts/envsetup.sh
bitbake st-image-weston
# dump sdcard
sudo fdisk -l /dev/mmcblk0
sudo dd if=/dev/mmcblk0 of=iotbox_sdcard.img bs=512 count=3145728
sudo dd if=/dev/mmcblk0 of=iotbox_sdcard.img bs=512 count=2252800
fdisk -l sdcard.img
# Erase sdcard
sudo dd if=/dev/zero of=/dev/mmcblk0 bs=512 count=16
# Flash image back to sdcard
sudo dd bs=1M if=iotbox_sdcard.img of=/dev/mmcblk0
#check mounted sdcard partitions
mount | grep mmcblk0*
###i2c2####
echo 11 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio11/direction
echo 1 > /sys/class/gpio/gpio11/value
echo 12 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio12/direction
echo 0 > /sys/class/gpio/gpio12/value
##### UBOOT i2c ####
# Select the i2c bus
i2c dev <bus>
i2c dev 0
# Probe the device
i2c probe <chip>
i2c probe 0x60
# Read and Display from the device
i2c md <chip> <chip address> <length>
i2c md 0x60 0x27 1
#### CROSS_COMPILE ####
/home/ssd/STM/Stinger96/STM32MP15-Ecosystem-v1.0.0/Developer-Package/SDK/sysroots/x86_64-openstlinux_weston_sdk-linux/usr/bin/arm-openstlinux_weston-linux-gnueabi/arm-openstlinux_weston-linux-gnueabi-gcc -march=armv7ve -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/ssd/STM/Stinger96/STM32MP15-Ecosystem-v1.0.0/Developer-Package/SDK/sysroots/cortexa7t2hf-neon-vfpv4-openstlinux_weston-linux-gnueabi spi-led_duty_off.c -o spi-led_duty_off
cd /usr/shiratech/SPI/
./spi-led_duty25 -CHOv -D /dev/spidev5.0
export AR=/home/ssd/STM/Stinger96/STM32MP15-Ecosystem-v1.0.0/Developer-Package/SDK/sysroots/x86_64-openstlinux_weston_sdk-linux/usr/bin/arm-openstlinux_weston-linux-gnueabi/arm-openstlinux_weston-linux-gnueabi-ar
export CC=/home/ssd/STM/Stinger96/STM32MP15-Ecosystem-v1.0.0/Developer-Package/SDK/sysroots/x86_64-openstlinux_weston_sdk-linux/usr/bin/arm-openstlinux_weston-linux-gnueabi/arm-openstlinux_weston-linux-gnueabi-gcc
export CXX=/home/ssd/STM/Stinger96/STM32MP15-Ecosystem-v1.0.0/Developer-Package/SDK/sysroots/x86_64-openstlinux_weston_sdk-linux/usr/bin/arm-openstlinux_weston-linux-gnueabi/arm-openstlinux_weston-linux-gnueabi-g++
export LINK=/home/ssd/STM/Stinger96/STM32MP15-Ecosystem-v1.0.0/Developer-Package/SDK/sysroots/x86_64-openstlinux_weston_sdk-linux/usr/bin/arm-openstlinux_weston-linux-gnueabi/arm-openstlinux_weston-linux-gnueabi-g++
./configure --prefix=../install --dest-cpu=arm --cross-compiling --dest-os=linux --with-arm-float-abi=hard --with-arm-fpu=neon
@gyengeb
Copy link

gyengeb commented Apr 7, 2025

Hi, have you performed projects with Stinger96 board?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment