arm_hardware | cmake_plat | xcompiler_arg | platform | arch | virtualization | iommu | soc | cpu | Status | Contrib | Maintained | SPDX-License-Identifier | SPDX-FileCopyrightText |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
true |
exynos4 |
-DAARCH32=1 |
OdroidX |
ARMv7A |
No |
No |
Exynos4412 |
Cortex-A9 |
Unverified |
Data61 |
seL4 Foundation |
CC-BY-SA-4.0 |
2020 seL4 Project a Series of LF Projects, LLC. |
seL4 supports the Odroid-X Exynos4412 board.
- 5V power supply
- RS232 or USB to UART converter
- USB OTG cable
Note: The USB-UART converter that is shipped with the board requires a Linux kernel version > 3.2
Open minicom on /dev/ttyUSB*
and set the
serial port settings to: 115200N1
- 115200bps
- parity-none
- 1 stop bit
You may also like to set up a udev rule for Fastboot:
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="0002", MODE="660", GROUP="dialout"
An image file can be found here: TODO Add sd image
This image contains both U-Boot and Android. This should set up SD card partitions properly. seL4 image can be uploaded via Fastboot.
To prepare the SD card, run
$ sudo dd if=<image file> of=</dev/sdx>
Where sdx
is the device that is associated with your SD card.
<TODO> Uboot source?
U-Boot must reside at a magical offset in a special partition of the SD card. To copy U-Boot and the other boot loaders to the SD card:
cd sd_fusesudo
./sd_fusing_4412.sh /dev/sdx
{% include sel4test.md %}
The seL4 image file must be converted into a U-Boot application file. The first step is to strip the elf file into a binary file. Next we use mkimage to create the image.
sudo apt-get install uboot-mkimage
INPUT_FILE=images/sel4test-image-arm-exynos4
OUTPUT_FILE=sel4-uImage
mkimage -a 0x48000000 -e 0x48000000 -C none -A arm -T kernel -O qnx -d $INPUT_FILE $OUTPUT_FILE
The reason we choose QNX is because we exploit the fact that, like seL4, QNX expects to be ELF-loaded. The alternative is to convert our ELF file into a binary file using objcopy.
Fastboot will be used to upload images to the device. The tool can be found here: or here: you can clone and build the tool from source
<TODO> add fastboot link
Follow these steps to boot your program:
- Connect the USB cable between the ODROID and the client
- Connect the UART converter between the ODROID and the client
- Insert your SD card into the ODROID
- Connect the 5V power supply
- Open minicom
- Hold the power button for 3 seconds
- In minicom, press a key to stop the auto boot process or hold the user button on the board during the boot process
To boot using fastboot:
-
At the u-boot prompt, type fastboot
-
On the client machine, run sudo fastboot devices to ensure that the device has been recognised. The device should have the label "SMDKEXYNOS-01".
- NOTE: fastboot fails silently if you do not have permissions to access the device. Try running with sudo.
-
On the client machine, run fastboot boot sel4-uImage
To boot from mmc:
- At the U-Boot prompt type
fatload mmc 0:2 0x42000000 <filename> bootm 0x42000000
http://www.hardkernel.com/renewal_2011/products/prdt_info.php
http://dev.odroid.com/projects/odroid-xq/#s-2.2.1 <- This should be replaced with the official Samsung exynos4412 "User manual"