When downloading this resource, you accept Novelda's Terms and Conditions for Sale and Delivery found here https://www.xethru.com/community/resources/terms-and-conditions-for-sale-and-delivery.112/
Typical use is to have the XEP fw running on the XeThru module as a bridge to host applications that access the radar. Having XEP fw on the XeThru module allows for X4 radar chip configuration and data streaming, which in turn can be used by e.g. ModuleConnector to provide radar data in C++, Python or Matlab.
For documentation, open doc/output/html/index.xhtml
Programming the X4M03 module
To program the X4M03 a programmer or debugger supporting the Microchip SAMS70-series (e.g. Atmel-ICE, Power Debugger, Segger J-Link) is required. In addition, a software supporting the device and programming tool is required (e.g. Atmel Studio 7 on Windows or OpenOCD for multiple platforms).
X4M03 has a 50mil 10-pin connector with the 10-pin Cortex Debug Connector pinout. It can be directly connected to an Atmel-ICE using the cable included with the Atmel-ICE. Take care to connect it to the connector labeled "SAM" on the Atmel-ICE. Connect the USB cable from the Atmel-ICE to the PC. Note that the X4M03 must be powered separately to be able to program it.
Programming using Atmel Studio
1. Open Atmel Studio 7
2. Open the Programming dialog, either from the top menu Tools->Device Programming, or by pressing Ctrl + Shift + P
3. Select the tool (e.g. Atmel-ICE), device (ATSAMS70Q20 or ATSAMS70Q21) and Interface (SWD)
4. Click Apply. If you are asked to upgrade the tool, click Upgrade and wait for the upgrade to finish before clicking Close, and then click Apply again.
5. Test the connection by clicking the button labeled Read under Device Signature. It should state a 32-bit hexadecimal value. If it displays an error, review the error and fix the hardware connections or settings.
6. On the left hand side, find the tab Memories and click it
7. Under Flash, click the browse button (...) and navigate to the hex file you wish to program
8. Click Program
9. Go to GPNVM Bits and verify that BOOT_MODE is checked. Otherwise check BOOT_MODE and click Program.
10. X4M03 should now be properly programmed
Programming the X4M03 module with OpenBootloader
Follow the guide above for general programming of the X4M03.
Use the file called xep_x4m0x_s70_with_bldr.hex
After finishing step 10 in the above guide:
11. Go to the Lock bits tab
12. Type 0xFFFFFFFF into LOCKBIT_WORD0 and press Program
13. X4M03 should now be properly programmed with OpenBootloader and XEP
Using OpenBootloader to program the X4M03 module
OpenBootloader comes bundled with a couple of scripts; add_checksum.py and upgrade_firmware.py.
Calculating checksum for custom hex image
1. Build XEP and locate the generated *_4bl.hex file
2. Run add_checksum.py, and specify the input file by -i and output file by -o (e.g. python add_checksum.py -i ..\bin\xep_x4m0x_s70_4bl.hex -o xep_x4m0x_s70_4bl_checksum.hex)
Uploading firmware image
1. Locate the checksummed hex file to upload (e.g. xep_x4m0x_s70_4bl_checksum.hex)
2. Run upgrade_firmware.py, and specify the checksummed hex file (e.g. python upgrade_firmware.py -f xep_x4m0x_s70_4bl_checksum.hex)
3. upgrade_firmware.py should automatically detect the correct COM port when using USB. If using UART, or the autodetect fails, the COM port could be specified by using -d (e.g. python upgrade_firmware.py -f xep_x4m0x_s70_4bl_checksum.hex -d COM18).