Zephyr toolchain

From Wiki at Neela Nurseries
Jump to: navigation, search

Zephyr Toolchain Notes
2023-07-11


This page dedicated to capture installation and maintenance steps for Zephyr RTOS toolchain. Main Zephyr toolchain and SDK install steps outlined at:

When flashing targeted hardware with Python3 based `pyocd`, install this tool via pip3 command:

  $ pip3 install --upgrade pyocd


When programming flash of a dual core NXP processor, it may be necessary to program each core separately with `pyocd` invocations like the following:

 $ west flash --runner=pyocd -d /home/ted/projects-sandbox/workspace-for-app1/app1/build/cpu0
  
 $ west flash --runner=pyocd -d /home/ted/projects-sandbox/workspace-for-app1/app1/build/cpu1

There seem to be some dual-core Zephyr based app builds which, when flashed to the target MCU result in an error giving the following messages from pyocd:

ted@localhost1:~/projects-sandbox/workspace-for-app1/app1$ ./scripts/flash
-- west flash: rebuilding
ninja: no work to do.
-- west flash: using runner pyocd
-- runners.pyocd: Flashing file: /home/ted/projects-sandbox/workspace-for-app1/app1/build/cpu0/zephyr/zephyr.hex
0001471 E Not supported by current CPU + target interface combination. [jlink]
0001480 C Invalid error code: -2 [__main__]
FATAL ERROR: command exited with status 1: pyocd flash -e sector -a 0x10000000 -t lpc55s69 /home/ted/projects-sandbox/workspace-for-app1/app1/build/cpu0/zephyr/zephyr.hex

and

-- west flash: rebuilding
ninja: no work to do.
-- west flash: using runner pyocd
-- runners.pyocd: Flashing file: /home/ted/projects-sandbox/workspace-for-app1/app1/build/cpu1/zephyr/zephyr.hex
0001373 E Not supported by current CPU + target interface combination. [jlink]
0001387 C Invalid error code: -2 [__main__]
FATAL ERROR: command exited with status 1: pyocd flash -e sector -a 0x3a000 -t lpc55s69 /home/ted/projects-sandbox/workspace-for-app1/app1/build/cpu1/zephyr/zephyr.hex

See this page's References section and the link to an article about `pyocd` and pitaya-link development environment. Material in this article helps explain what's going on in the `pyocd` command invocation captured a few lines above, line beginning with text "FATAL ERROR".


^ References

Some pyocd basics described in context of Pitaya link programmer or development environment: