Experimental: Attempts to hardcode JLink

This attempts to hardcode the JLink code which was previously used to flash to
the board, this is moving away from trying to use psocd and trying to use the
same method as it was done before, but without the scripts in place.

Change-Id: I03be0c1315d4f9c73ecc3fc33ebaef153363b24a
Signed-off-by: Matthew Dalzell <matthew.dalzell@arm.com>
diff --git a/build_helper/build_helper_configs.py b/build_helper/build_helper_configs.py
index c6e3d53..da787d1 100755
--- a/build_helper/build_helper_configs.py
+++ b/build_helper/build_helper_configs.py
@@ -141,18 +141,48 @@
                                           "bin/tfm_s_signed.bin "
                                           "image_signing/scripts/tfm_ns_signed.bin ;"
                                           "popd"),
-                   "nxp/lpcxpresso55s69": ("echo 'LPCXpresso55S69 board post process\n'; "
-                                           "python3 -m pip install --upgrade pip; "
-                                           "pip install libusb; "   # this should not go here, remove after test
-                                           "pyocd list; "
-                                           "lsusb -v; "
-                                           "pyocd erase --mass -t lpc55s69 --no-wait; "
+#                   "nxp/lpcxpresso55s69": ("echo 'LPCXpresso55S69 board post process\n'; "
+#                                           "python3 -m pip install --upgrade pip; "
+#                                           "pip install libusb; "   # this should not go here, remove after test
+#                                           "pyocd list; "
+#                                           "lsusb -v; "
+#                                           "pyocd erase --mass -t lpc55s69 --no-wait; "
+#                                           "if [ -f \"%(ci_build_root_dir)s/spe/bin/bl2.hex\" ]; then "
+#                                           "pyocd flash %(ci_build_root_dir)s/spe/bin/bl2.hex -t lpc55s69 --no-wait; "
+#                                           "pyocd flash %(ci_build_root_dir)s/nspe/bin/tfm_s_ns_signed.bin --base-address 0x8000 -t lpc55s69 --no-wait; "
+#                                           "else "
+#                                           "pyocd flash %(ci_build_root_dir)s/spe/bin/tfm_s.hex %(ci_build_root_dir)s/nspe/bin/tfm_ns.hex -t lpc55s69 --no-wait; "
+#                                           "fi;"),
+#                   "nxp/lpcxpresso55s69": ("echo 'LPCXpresso55S69 bo.ard post process\n';"
+#                                            "if [ -f \"%(ci_build_root_dir)s/spe/bin/bl2.hex\" ]; then FLASH_FILE='flash_bl2_JLink.py'; else FLASH_FILE='flash_JLink.py'; fi;"
+#                                            "mkdir -p %(codebase_root_dir)s/build/bin ;"
+#                                            # Workaround for flash_JLink.py
+#                                            "cp %(ci_build_root_dir)s/spe/bin/tfm_s.hex %(codebase_root_dir)s/build/bin ;"
+#                                            "cp %(ci_build_root_dir)s/nspe/bin/tfm_ns.hex %(codebase_root_dir)s/build/bin ;"
+#                                            "pushd %(codebase_root_dir)s/platform/ext/target/nxp/lpcxpresso55s69/scripts;"
+#                                            "LN=$(grep -n 'JLinkExe' ${FLASH_FILE}|awk -F: '{print $1}');"
+#                                            "sed -i \"${LN}s/.*/    print('flash.jlink generated')/\" ${FLASH_FILE};"
+#                                            "python3 ./${FLASH_FILE};"
+#                                            "cd %(codebase_root_dir)s/build/bin;"
+#                                            "BIN_FILES=$(grep loadfile flash.jlink | awk '{print $2}');"
+#                                            "tar jcf lpcxpresso55s69-tfm.tar.bz2 flash.jlink ${BIN_FILES};"
+#                                            "mv lpcxpresso55s69-tfm.tar.bz2 %(ci_build_root_dir)s/nspe/bin ;"
+#                                            "popd"),
+                   "nxp/lpcxpresso55s69": ("echo 'LPCXpresso55S69 bo.ard post process\n';"
+                                           "mkdir -p %(codebase_root_dir)s/build/bin ;"
+                                           # Workaround for flash_JLink.py
+                                           "cp %(ci_build_root_dir)s/spe/bin/tfm_s.hex %(codebase_root_dir)s/build/bin ;"
+                                           "cp %(ci_build_root_dir)s/nspe/bin/tfm_ns.hex %(codebase_root_dir)s/build/bin ;"
                                            "if [ -f \"%(ci_build_root_dir)s/spe/bin/bl2.hex\" ]; then "
-                                           "pyocd flash %(ci_build_root_dir)s/spe/bin/bl2.hex -t lpc55s69 --no-wait; "
-                                           "pyocd flash %(ci_build_root_dir)s/nspe/bin/tfm_s_ns_signed.bin --base-address 0x8000 -t lpc55s69 --no-wait; "
+                                           "echo r >> flash.jlink; echo erase >> flash.jlink; echo loadfile bl2.hex >> flash.jlink; echo loadfile tfm_s_ns_signed.bin -0x8000 >> flash.jlink; echo r >> flash.jlink; echo go >> flash.jlink; echo exit >> flash.jlink; "
                                            "else "
-                                           "pyocd flash %(ci_build_root_dir)s/spe/bin/tfm_s.hex %(ci_build_root_dir)s/nspe/bin/tfm_ns.hex -t lpc55s69 --no-wait; "
-                                           "fi;"),
+                                           "echo r >> flash.jlink; echo erase >> flash.jlink; echo loadfile tfm_s.hex >> flash.jlink; echo loadfile tfm_ns.hex >> flash.jlink; echo r >> flash.jlink; echo go >> flash.jlink; echo exit >> flash.jlink; "
+                                           "fi;"
+                                           "cd %(codebase_root_dir)s/build/bin;"
+                                           "BIN_FILES=$(grep loadfile flash.jlink | awk '{print $2}');"
+                                           "tar jcf lpcxpresso55s69-tfm.tar.bz2 flash.jlink ${BIN_FILES};"
+                                           "mv lpcxpresso55s69-tfm.tar.bz2 %(ci_build_root_dir)s/nspe/bin ;"
+                                           "BIN_FILES=$(grep loadfile flash.jlink | awk '{print $2}');"),
                    "cypress/psoc64": ("echo 'Sign binaries for Cypress PSoC64 platform';"
                                        "pushd %(codebase_root_dir)s/;"
                                        "sudo /usr/local/bin/cysecuretools "