If you are the software engineer doing the development, it’s likely that development tools and software are the first items on your list. These are key items for being productive once you have a board with the right processor, right peripherals and enough performance.
Ideally, the development tools such as the compiler, linker and especially the debugger have been designed or tested by the board vendor to work smoothly with the development board. You may also need different tools depending on the target software environment. If you are running Linux on the board, the GNU Tool Chain is normally required. If you are developing deeply embedded software on a resource constrained device, then an optimized tool chain for the target processor is needed and must be easily available for use with the board.
A major part of software development is debugging the code, of course. So, it is essential that the development board you select provide easy-to-use debug functionality. This is partly a function of the tools themselves (e.g., the debugger), as well as the debug hardware used to connect to the boards. Common ways to do this are with a 2-wire (cJTAG) or 4-wire JTAG connection. Vendors such as Ashling and Lauterbach provide additional hardware “probes” that make this process more efficient. For simpler debug-only scenarios, Digilent provides a cable that converts standard USB to JTAG or cJTAG. The ARC Software Development Platform supports all of these methods and also provides the ability to connect a debugger, either the ARC MetaWare Debugger or the GNU GDB, with just a USB cable. Other forms of debug depend on the software environment. For example, for Linux GDB may be used by connecting over a serial or Ethernet port.
Also important to the software engineer is what other software, including items such as drivers, RTOSes and, if applicable, a Linux kernel, is provided with or for the development board. In addition, it is very helpful if application examples are provided to enable the developer to build an application as soon as the board is unpacked. Synopsys has done this with both the ARC EM Starter Kit and the ARC Software Development Platform. Software drivers, an MQX RTOS binary and, in the case of the ARC AXS101 Software Development, a pre-built Linux image are available for use by the developer. Application examples, along with documentation on how to get these up and running, are also included.