Skip to content

Latest commit

 

History

History
39 lines (25 loc) · 1.45 KB

File metadata and controls

39 lines (25 loc) · 1.45 KB

Zephyr Hello World for TS-4300,TS-9370

Basic example project for building a zephyr project to run on the M33 core of the i.MX93 processor.

Installation

Install zephyr workspace using the zephyr Getting Started Guide.

Clone this repo inside the zephyrworkspace.

Device Tree

The device tree for the M33 is in boards/embeddedts/tsimx9/tsimx9_mimx9352_m33.dts and enables only the lpuart2 device. In order for that to work the lpuart2 device must be disabled in the linux device tree. In general, any peripherals added to the m33 device tree need to be removed from the linux side.

Building the firmware

Use the board tsimx9/mimx9352/m33 to build:

west build -b tsimx9/mimx9352/m33 .

Running the firmware

For testing, there is a sysfs interface for loading M33 firmware from the linux side of the i.MX93. To do that, there is a kernel commandline bootarg that must be set in u-boot when booting the kernel, clk-imx93.mcore_booted.

Copy the build/zephyr/zephyr.elf to /lib/firmware/zephyr.elf on the target. Then load it with:

# echo zephyr.elf > /sys/class/remoteproc/remoteproc0/firmware
# echo start > /sys/class/remoteproc/remoteproc0/state

A serial terminal connected to LPUART2 should then show:

*** Booting Zephyr OS build v4.3.0 ***
Hello World! tsimx9/mimx9352/m33

The zephyr.bin file can also be used to load the m33 firmware from u-boot.