嵌入式系统的开发工具包括:人机界面、系统程序、模拟程序、模块集(包括CPU模块、I/O模块和功能模块)。整个系统的输出为软件的目标文件与硬件的版图文件。用户依照硬件的版图文件制作硬件,然后将软件的目标文件烧写在ROM上,即可以得到所需的嵌入式系统。
建构系统的首要任务就是确定这个系统到底用来做什么,因为用途决定了嵌入式系统整体行为模式和系统架构。例如开发一个ATM提款机系统,开始就必须选择需要用到的硬件设备和软件开发工具。很明显,需要一个硬件开发的规格,包含电子线路的连接、显示和操作界面的方式。
接下来就是选择适当的开发环境和开发工具,例如编译器、链接器、定址器,或是使用硬件厂商提供的IDE,其中还包括了怎样把编译好的程序转换为image,下载到开发者的平台上,与开发平台连接后进行测试。
如果都很顺利,接下来将要进行系统的Release测试。嵌入式系统的测试比较复杂,如果没有一个很好的除错环境,那就只能依靠人力和经验来做“碰错误与”。这是一项非常辛苦的工作,原因在于目标平台往往没有很好的显示或者输出能力,而且开发者不是直接在目标平台上写程序,因此从软件层面来说无法像在PC上直接进行除错。为了缩短开发周期,一般需要一些现成的辅助工具来进行这样的动作,只是这些额外的硬件非常昂贵,例如ICE仿真器。