CortexProg is a debugger for Cortex-M microcontrollers. It can serve as the only tool needed to reverse-engineer devices, create new designs, debug prototypes, program boards on production lines, or general for-fun hacking on devboards. CortexProg can read data from a microcontroller, write data into it, program flash, provide live tracing for printf-style debugging (ZeroWireTrace), and even allow complete GDB debugging. The PC-side tool uses the HID transport to not need any drivers on any of the supported OSs: Linux, Windows, MacOS. The tool source is also available, so you can build yourself a copy for whatever other esoteric environment you might desire to run it on. CortexProg is the complete solution for all your ARM Cortex-M debuggng and programming needs.
ZeroWireTrace allows you to output text from your target device without needing any additional wires or peripherals. No need for UARTS, SWO pins, or anything else. Using ZeroWireTrace is incredibly simple - it only requires three lines of code. This is wonderful for pin-limited or space-limited devices where extra connection points are simply not available.
Gang-programming support is built in with CortexProg. Each device has a unique serial number and the PC-side CortexProg tool can simultaneously talk to as many devices as desired, issuing them individual instructions. This makes CortexProg very convenient for collecting data from many devices at the same time or mass-programming the entire first run of you prototypes in parallel. This is the solution to ARM Cortex-M gang-programming!
Firmware updates on CortexProg will be used to add new features and improvements.
Multi-core chip support on CortexProg allows you to debug multiple cores in chips that have them, making development on such chips a breeze.
Plugin-based chip support No software or firmware update is required for support of any new or previously-unsupported cortex chip. Adding support is easy thanks to our documentation and sharing is not only recommended, it's encouraged. Community based scripts will be shared through our website on the downloads page.
LUA-based scripting of every aspect of the debugger for all those complex custom tasks you may want to accomplish. For example: unlocking security-locked chips, reverse engineering, and custom factory flows.
And much more. Of course, all the things you'd expect of a Cortex-M debugger are present as well: ability to set breakpoints and watchpoints, read and write RAM, program and erase flash, trace execution, etc.
Compared to JLINK or ULINK, CortexProg is undoubtedly a better solution. It is significantly cheaper, while providing all the same functionality. It is in fact so cheap, that you can leave one attached to every project you have in progress, to every breadboard, to every prototype, and not even approach the cost of a single JLINK or ULINK device. Additionally, CortexProg has a few unique features like ZeroWireTrace.
Compared to the manufacturer-provided tools for various microcontrollers, CortexProg comes out ahead as well. Not only does it support any chip, but, it also comes loaded with plenty of useful options like real debugging support and gang-loading abilities.
Smart devices and IoT are the latest craze, but why waste the limited money supply on overly-expensive tools? Choose CortexProg and enjoy a much better value. You can use CortexProg from the very first dev board all the way to your production run. It is versatile and convenient.
The CortexProg has given us a real edge on traditional flashing devices with respect to easy and straightforward programming. Where cost was prohibitive and tools such as the STLink were too error prone, the CortexProg allowed us to scale from a handful of boards to the hundreds with ease. The gang-load support has become a welcome feature as our startup has grown and the ability to power our device externally has been ideal for CI/CD power testing. Highly recommended.Anthony Wainman, CTO, Palletech
Compare CortexProg to the competition - the winner is clear
|CortexProg||Competitior 1||Competitior 2||Competitior 3|
|Price||$25.00 (~ish)||$55.00||$21.25||$378.00 and up|
|Target support||Current List, expandable by user||Fixed list. You must build firmware to get more.||STM devices only||Fixed list. Updates and $$$ required to get more.|
|Multi-Core target?||YES||NO||NO||Yes, for more $$$|
|Gang-Programming||YES||NO||NO||Yes, for more $$$|
|Windows support||YES||requires custom driver||Yes||Yes|
|Linux support||YES||Yes||unofficial only||Yes|
|Mac OS support||YES||Yes||unofficial only, buggy||Yes|
|Can operate without GDB||YES||No||Yes||Yes|
* = Semi-hosting can be used to do this, but at a significantly slower speed.