Skip to content

Flashing U‐Boot in ARC AXS10x Software Development Platforms (SDP)

ladatrimasova edited this page Apr 22, 2016 · 9 revisions

ARC AXS10x Software Development Platforms (SDP) have built-in SPI-flash storage which may be used to host auto-started applications such as bootloaders, etc.

U-Boot is a good fit for such application. Very early boot SDP's pre-bootloader application is able to find images in that SPI-flash, load them in specified memory location and then execute it.

It's also possible to have separate images to be loaded and executed for different CPU cores. This allows us to have U-Boot images for both ARC 770D and ARC HS38 at once each starting when appropriate CPU tile is mounted on the base-board.

Below are command for preparing [if needed - for ARCv2 CPUs] and flashing U-Boot in SPI flash.

  • For ARC 770D
  • Build U-Boot binary image:make axs101_defconfig && make u-boot.bin
  • Flash image: axs_comm -c 0434 -a 00000000 -p 81000000 -f u-boot.bin
  • For ARC HS38
  • Build U-Boot binary image:make axs103_defconfig && make u-boot.bin

  • Add jump location just before the image:printf "\x00\x00\x00\x81" | cat - u-boot.bin > u-boot-offset.bin

  • Flash image
    For AXS103 version 1.0 arc_id is 0051 and for version 2.0 arc_id is 0052.
    You can use the same u-boot image for both versions but you need to pass different values to axs_comm "-c" option:
    AXS103 1.0: axs_comm -c 0051 -a 00080000 -p 80FFFFFC -f u-boot-offset.bin
    AXS103 2.0: axs_comm -c 0052 -a 00100000 -p 80FFFFFC -f u-boot-offset.bin
    Note for ARC HS38 3rd pin in dip-switch SW2501 must be in "off" position (wich is closer to CPU tile). Otherwise image from SPI-flash won't be read.

Clone this wiki locally