Updating ROM

You have to update ROM the first time and every time you switch over the project types.

Open a terminal and run the following commands:

:: kill all probably running OpenOCD sessions
taskkill /F /IM openocd.exe
:: navigate to your ISSM ROOT location (this depends on your installation path) 
cd C:\IntelSWTools\ISSM_2016.1.067
:: load the issm environment
issm_env.bat
:: navigate to the OpenOCD directory
cd %ISSM_DEBUGGER_ROOT%/openocd

For the Intel® Quark™ D2000 Developer Board :

bin\openocd -f scripts/board/quark_d2000_onboard.cfg -c "flash_rom %ISSM_BSP_ROOT%/soc/quark_d2000/rom/quark_d2000_rom.bin" –c "shutdown" 

Note

The Zephyr* 1.4 ROM for this board is the same as the Intel® QMSI 1.1 one.

For the Intel® Quark™ SE C1000 Developer Board:

bin\openocd -f scripts/board/quark_se_onboard.cfg -c "flash_rom %ISSM_BSP_ROOT%/soc/quark_se/rom/quark_se_rom_no_arc_start.bin" –c "shutdown"

Note

The Zephyr* 1.4 ROM is the Intel® QMSI 1.1 rom without the start of the ARC* core. On Zephyr, the ARC* core will be released by the Intel® Quark™ core.

For the Arduino 101 / Genuino 101 Board:

This device's ROM is known to work out of the box. There is no requirement to flash the ROM for the supported configuration. Flashing a non-factory ROM can result in an unresponsive device.

The above command will open a JTAG connection, flash the specified ROM image and close the session afterwards. The output differs depending on your selected board but should be similar to the following:

Open On-Chip Debugger 0.8.0-dev-gba72ade (2016-07-19-11:14)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html

Info : only one transport option; autoselect 'jtag'
adapter speed: 1000 kHz
trst_only separate trst_push_pull
flash_rom
Info : clock speed 1000 kHz
Info : JTAG tap: quark_d2000.cltap tap/device found: 0x0e786013 (mfg: 0x009, part: 0xe786, ver: 0x0)
Enabling lmt core tap
Info : JTAG tap: quark_d2000.lmt enabled
redirect to PM, tapstatus=0x08302c14
hit hardware breakpoint (hwreg=0) at 0x001801a9
Setup clock
adapter speed: 3 kHz
adapter speed: 1000 kHz
Info : JTAG tap: quark_d2000.cltap tap/device found: 0x0e786013 (mfg: 0x009, part: 0xe786, ver: 0x0)
Enabling lmt core tap
Info : JTAG tap: quark_d2000.lmt enabled
target state: halted
target halted due to debug-request at 0x0000fff0 in real mode
Start flash
The requested flash write overlaps the OTP DATA protected region 0x00000000 - 0x0000014f, skipping that part
The following command will allow it: 
set QUARK_D2000_OTPC_DATA_WRITE_ENABLED 1
....8192 bytes written at address 0x00000000
downloaded 8192 bytes in 10.412785s (0.768 KiB/s)
Start verify
verified 7856 bytes in 4.464043s (1.792 KiB/s)
Reset target
Info : JTAG tap: quark_d2000.cltap tap/device found: 0x0e786013 (mfg: 0x009, part: 0xe786, ver: 0x0)
Enabling lmt core tap
Info : JTAG tap: quark_d2000.lmt enabled
target state: halted
target halted due to debug-request at 0x0000fff0 in real mode
All done
shutdown command invoked

For more complete information about compiler optimizations, see our Optimization Notice.