This package provides a variety of files required to build a MirageOS unikernel with Solo5 running on top of a Cortex(r)-M7 core of your NXP i.MX RT1176 processor.
Follow instructions described in BUILD.md.
(in GNUMakefile)
- Build a FreeRTOS library file
libfreertos_debug.a
- Build a LWIP library file
liblwip_debug.a
- Build a driver library file
libdriver_debug.a
- Build a board library file
libboard_debug.a
- Build a board specific solo5 frt library file
libsolo5_frt_debug.a
(in install.sh)
- Copy
Makefile.soc
andsolo5_frt.lds
to$HOME/.opam/$(opam var prefix)/solo5-frt-r51176-m7
- Copy
FreeRTOSConfig.h
,platform_binding.h
, andplatform_tender.h
to$HOME/.opam/$(opam var prefix)/solo5-frt-rt1176-m7/include
- Copy the library files above to
$HOME/.opam/$(opam var prefix)/solo5-frt-rt1176-m7/lib
Currently, a unikernel ELF file generated by using this package utilizes only an SDRAM region (0x80002000 - 0x83FFFFFF). The first 0x2000 bytes of SDRAM (0x80000000 - 0x80001FFF) is reserved for SD card boot. You should not not this SDRAM region.
A generated unikernel ELF file can be loaded directly from an SD card, then your MirageOS based application will run automatically on your target board.
Use MCUXpresso Secure Provisioning Tool to create a bootable SD card from a generated unikernel ELF file.
Note: Do not forget to change the file name of a generated ELF file (such as "targetapp.frt") to "targetapp.elf" before using MCUXpresso Secure Provisioning Tool, because the tool cannot recognize the "frt" file extension.
ISC lincence is applied as indicated in the LICENSE file unless noted in each file.
Exceptionally, one of other licneses are applied to some files.
solo5_frt.lds
lwipopt.h
platform_tender.h
frt/platform_rt1176_tender.c
rt1170_evk/board_solo5.c
FreeRTOSConfig.h