blob: e49ff17bec3e7cfff3523c5b135b6d5a453c38ed [file] [log] [blame]
### Atmosic In-System Programming (ISP) Tool ###
This SDK ships with a tool called Atmosic In-System Programming Tool
(ISP) for bundling all three types of binaries -- OTP NVDS, flash
NVDS, and flash -- into a single binary archive. The ISP tool, which
is also shipped as a stand-alone package, can then be used to unpack
the components of the archive and download them on a device.
In every platform example, e.g. BLE_adv, the makefiles have the
following targets for building, examining, and burning an ISP archive,
respectively.
build_archive
show_archive
burn_archive
build_archive bundles flash_nvds.bin, otp_nvds.nvm, and $(APP).bin
where $(APP) is the name of the application directory. This make
target also allows choosing $(APP).elf instead of the $(APP).bin by
setting the make variable ARCH_FLASH_TYPE=elf.
For the last rule, defining the makefile variable BURN_ARCH_VERIFY
tells the ISP tool to verify images after loading them on the device.
BURN_ARCH_DEBUG makes the tool more verbose. If there is OTP data
available, setting BURN_ARCH_ERASE_WORKAROUNDS will erase any unlocked
workaround tags (0xfc, 0xfd, and 0xfe) from OTP before burning the new
contents. Finally, defining BURN_ARCH_PROGRAM_ONLY prevents
reset-hard-on-exit; it can be used to get a behavior similar to "make
program_all" as opposed to "make run_all".
The ISP tool has features and flexibilities not captured through the
above makefile targets. Directly invoke the atm_isp tool with the
-h option to see the available subcommands and their options. For
example, running "atm_isp -h" will show that loadFlash is a subcommand,
and running "atm_isp loadFlash -h" will show that the destination
address is configurable.
### External Package Dependencies ###
Search for "ISP" in the top-level README for dependencies on any external
packages. (This is relevant only for users who manage their system packages.
In particular, users of the Windows SDK installer need not be concerned.)