diff options
Diffstat (limited to 'bsp/meta-arm/meta-arm-bsp/documentation')
5 files changed, 231 insertions, 0 deletions
diff --git a/bsp/meta-arm/meta-arm-bsp/documentation/a5ds.md b/bsp/meta-arm/meta-arm-bsp/documentation/a5ds.md new file mode 100644 index 00000000..9f88abc1 --- /dev/null +++ b/bsp/meta-arm/meta-arm-bsp/documentation/a5ds.md @@ -0,0 +1,24 @@ +# Cortex-A5 DesignStart A5DS Platform Support in meta-arm-platforms + +## Howto Build and Run + +### Configuration: +In the local.conf file, MACHINE should be set as follow: +MACHINE ?= "a5ds" +DISTRO ?= "iota-tiny" + +Or set environment variables with that values: + +MACHINE "a5ds" +DISTRO "iota-tiny" + +### Build: +``bash$ bitbake iota-tiny-image``` + +### Run: +To run the result in a Fixed Virtual Platform please get: +https://git.linaro.org/landing-teams/working/arm/model-scripts + +and follow the instructions in the readme.txt file in that +repository. + diff --git a/bsp/meta-arm/meta-arm-bsp/documentation/foundation-armv8.md b/bsp/meta-arm/meta-arm-bsp/documentation/foundation-armv8.md new file mode 100644 index 00000000..10975503 --- /dev/null +++ b/bsp/meta-arm/meta-arm-bsp/documentation/foundation-armv8.md @@ -0,0 +1,50 @@ +# Armv8-A Base Platform Support in meta-arm-platforms + +## Howto Build and Run + +### Configuration: +In the local.conf file, MACHINE should be set as follow: +MACHINE ?= "foundation-v8" + +### Build: +```bash$ bitbake core-image-minimal``` + +### Run: +To Run the Fixed Virtual Platform simulation tool you must download "Armv8-A +Foundation Platform" from Arm developer (This might require the user to +register) from this address: +https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms +and install it on your host PC. + +Fast Models Fixed Virtual Platforms (FVP) Reference Guide: +https://developer.arm.com/docs/100966/latest + +Armv8‑A Foundation Platform User Guide: +https://developer.arm.com/docs/100961/latest/ + + +Once done, do the following to build and run an image: +```bash$ bitbake core-image-minimal``` +```bash$ export YOCTO_DEPLOY_IMGS_DIR="<yocto-build-dir/tmp/deploy/images/foundation-v8>"``` +```bash$ cd <path-to-Foundation_Platformpkg-dir/models/Linux64_GCC-X.X/>``` +``` +bash$ ./Foundation_Platform --cores=4 --no-sve --gicv3 \ + --data=${YOCTO_DEPLOY_IMGS_DIR}/bl1-fvp.bin@0x0 \ + --data=${YOCTO_DEPLOY_IMGS_DIR}/Image@0x80080000 \ + --data=${YOCTO_DEPLOY_IMGS_DIR}/foundation-v8-gicv3-psci.dtb@0x83000000 \ + --block-device=${YOCTO_DEPLOY_IMGS_DIR}/core-image-minimal-foundation-armv8.disk.img \ +``` + +If you have built a configuration without a ramdisk, you can use the following +command in U-boot to start Linux: +```VExpress64# booti 0x80080000 - 0x83000000``` + +## Devices supported in the kernel +- serial +- virtio disk +- network +- watchdog +- rtc + +## Devices not supported or not functional +None diff --git a/bsp/meta-arm/meta-arm-bsp/documentation/fvp-base.md b/bsp/meta-arm/meta-arm-bsp/documentation/fvp-base.md new file mode 100644 index 00000000..0936c199 --- /dev/null +++ b/bsp/meta-arm/meta-arm-bsp/documentation/fvp-base.md @@ -0,0 +1,53 @@ +# Armv8-A Base Platform FVP Support in meta-arm-platforms + +## Howto Build and Run + +### Configuration: +In the local.conf file, MACHINE should be set as follow: +MACHINE ?= "fvp-base" + +### Build: +```bash$ bitbake core-image-minimal``` + +### Run: +To Run the Fixed Virtual Platform simulation tool you must download "Armv8-A +Base Platform FVP" from Arm developer (This might require the user to +register) from this address: +https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms +and install it on your host PC. + +Fast Models Fixed Virtual Platforms (FVP) Reference Guide: +https://developer.arm.com/docs/100966/latest + +Armv8‑A Foundation Platform User Guide: +https://developer.arm.com/docs/100961/latest/ + + +Once done, do the following to build and run an image: +```bash$ bitbake core-image-minimal``` +```bash$ export YOCTO_DEPLOY_IMGS_DIR="<yocto-build-dir/tmp/deploy/images/fvp-base>"``` +```bash$ cd <path-to-Base_RevC_AEMv8A_pkg-dir/models/Linux64_GCC-X.X/>``` +``` +bash$ ./FVP_Base_RevC-2xAEMv8A -C bp.virtio_net.enabled=1 \ + -C cache_state_modelled=0 \ + -C bp.secureflashloader.fname=${YOCTO_DEPLOY_IMGS_DIR}/bl1-fvp.bin \ + -C bp.flashloader0.fname=${YOCTO_DEPLOY_IMGS_DIR}/fip-fvp.bin \ + --data cluster0.cpu0=${YOCTO_DEPLOY_IMGS_DIR}/Image@0x80080000 \ + --data cluster0.cpu0=${YOCTO_DEPLOY_IMGS_DIR}/fvp-base-gicv3-psci-custom.dtb@0x83000000 \ + -C bp.virtioblockdevice.image_path=${YOCTO_DEPLOY_IMGS_DIR}/core-image-minimal-foundation-armv8.disk.img \ +``` + + +If you have built a configuration without a ramdisk, you can use the following +command in U-boot to start Linux: +```VExpress64# booti 0x80080000 - 0x83000000``` + +## Devices supported in the kernel +- serial +- virtio disk +- network +- watchdog +- rtc + +## Devices not supported or not functional +None diff --git a/bsp/meta-arm/meta-arm-bsp/documentation/gem5-arm64.md b/bsp/meta-arm/meta-arm-bsp/documentation/gem5-arm64.md new file mode 100644 index 00000000..dc305e8d --- /dev/null +++ b/bsp/meta-arm/meta-arm-bsp/documentation/gem5-arm64.md @@ -0,0 +1,29 @@ +# Gem5 Arm64 Platform Support in meta-arm-platforms + +## Howto Build and Run + +### Configuration: +In the local.conf file, MACHINE should be set as follow: +MACHINE ?= "gem5-arm64" + +### Build: +```bash$ bitbake core-image-minimal``` + + +### Run: +After compilation of an image, you can execute it using the compiled gem5 +with the followin command: +```./tmp/deploy/tools/start-gem5.sh``` + +You can modify the script to change the command line options of gem5. + +## Devices supported in the kernel +- serial + +### Untested: +- pci +- sata +- ide + + +## Devices not supported or not functional diff --git a/bsp/meta-arm/meta-arm-bsp/documentation/juno.md b/bsp/meta-arm/meta-arm-bsp/documentation/juno.md new file mode 100644 index 00000000..cc5a2720 --- /dev/null +++ b/bsp/meta-arm/meta-arm-bsp/documentation/juno.md @@ -0,0 +1,75 @@ +# Juno Development Platform Support in meta-arm-platforms + +## Howto Build and Run + +### Configuration: +In the local.conf file, MACHINE should be set as follow: +MACHINE ?= "juno" + +Juno is using a USB hard drive for root filesystem by default. The distribution +used must have ```usbhost``` and ```usbgadget``` in DISTRO_FEATURES (this is +the case in poky distribution). + +### Build: +```bash$ bitbake core-image-minimal``` + +### Update Juno SD card: + +The SD card content is generated during the build here: +tmp/deploy/images/juno/firmware-image-juno.tar.gz + +Its content must be written on the Juno firmware SD card. +To do this: +- insert the sdcard of the Juno in an SD card reader and mount it: +```bash$ sudo mount /dev/sdx1 /mnt``` +(replace sdx by the device of the SD card) + +- erase its content and put the new one: +```bash$ sudo rm -rf /mnt/*``` +```bash$ sudo tar --no-same-owner -xzf tmp/deploy/images/juno/firmware-image-juno.tar.gz -C /mnt/``` +```bash$ sudo umount /mnt``` + +- reinsert the SD card in the Juno board + +### Create an USB hard drive: + +Linux root file system should be stored on the second partition of an USB +drive that must be plugged on the Juno Platform. + +This partition should be initialized with the content of the filesystem +generated by yocto that you can find here: +tmp/deploy/images/juno/core-image-minimal-juno.tar.bz2 + +To do this +- Format a USB disk, create two primary partitions (ext4). +- mount the secondary partition +- untar tmp/deploy/images/juno/core-image-minimal-juno.tar.bz2 on to the + secondary partition. + +### Run: +You must insert the SD card and the USB drive and power-on the Juno board. +The console should be available on the second serial line: +screen -L /dev/tty.usbserial 115200 + +On the first boot the images will be flashed which can take some time. + +## Devices supported in the kernel +- serial +- usb +- network +- watchdog +- rtc +- mmc + +### Untested: +- i2c +- dma +- pci +- sata +- sound + +## Devices not supported or not functional +- framebuffer: not functional + The HDMI is not properly detected. +- GPU (no user land libraries). + The mali-midgard-kernel can be used to have a kernel driver |