How to Make Custom ARM Firmware

The Arduino IDE has many boards defined for exploration of their dev boards. However, to make your own custom SoC product, you will eventually want to design a very lean board with your own ARM Firmware. This blog will get you started.

-Sean J. Miller 7/9/2022

For this adventure, I'm using the Wiznet350-evb-mini.  It is based on the ARM Cortex M3 chip.  Here is what ARM has to say about it:

The Cortex-M3 processor is an entry-level 32-bit Arm Cortex processor designed for a broad range of embedded applications. It offers significant benefits to developers, including:
- simple, easy-to-use programmer's model
- highly efficient ultra-low power operation
- excellent code density
- deterministic, high-performance interrupt handling
- upward compatibility with the rest of the Cortex-M processor family.

The first bit of mojo to making your only ARM firmware to design our on SoC board, you need to get the super duper Keil IDE and get it setup for the vintage era of that the W600 was made available.  So, you'll need to get some Legacy stuff:

  1. Download the Keil uVision 5 IDE:  MDK-ARM Version 5.37 Evaluation Software Request (
  2. Download the Keil Legacy Support: MDK v4 Legacy Support (
  3. Download the ARM Compiler 5:  ARM Compiler 5 | Downloads – Arm Developer
  4. Go to Manage Project Items under Project to set the ARM Compiler to 5:
  5. You'll then need to click Flash-->Configure Flash tools to set the ARM Compiler to V5:
  6. Finally, you need to get a license.  The kicker info is the Product Serial Number .  I found it digging into the community page: 42B2L-JM9GY-LHN8C.  Arm Keil | MDK-Community edition Single-User License Management (  You can get to those through File-->License Management.


Have a question?
Back to Home