MCU的可开发性是指所选择的MCU是否有足够的开发手段,如集成开发软件、MCU程序下载工具、开发语言与熟练程度、技术支持等。如果没有足够的开发手段,则相应型号的MCU是不宜选择用于应用系统的。如果选择了一款MCU型号,却没有集成开发环境(IDE,Intergrated Development Environment)那么就无法编写程序代码并转换为MCU的目标代码、无法进行代码的仿真和调试;如果没有MCU下载工具,那么即使有IDE生成了目标代码也无法把目标代码下载到MCU的程序存储器中;如果对选用MCU的支持语言不熟练,那么就会影响开发进度。如果选用的MCU存在应用支持机构、在开发过程中可以得到技术人员的指导或解答,对于系统的开发也很有好处。
“工欲善其事,必先利其器”,开发任何型号的MCU,都需要有IDE,IDE实际上就是一个在PC上运行的软件,它一般都具有编辑、编译、链接、调试等功能,因此被称为“集成开发环境”,如TurboC、VC就是两个开发PC应用程序的IDE。开发MCU应用程序,同样需要类似的开发软件的支持。MCU厂家或其合作伙伴会提供对应的开发工具,如 51系列的MCU的开发可以使用Keil Software Inc.提供的KeilC软件;Microchip公司PIC10/PIC12/PIC16/PIC18 系列MCU的开发可以选用Microchip Technology Inc.提供的MPLAB IDE软件;TI公司MS430系列MCU的开发可以使用IAR公司提供的IAR Embedded Workbench IDE软件;Freescale公司MCU的开发可以使用P&E Microcomputer Systems Inc.提供的WinIDE软件,也可以使用Freescale公司所提供的Codewarrior软件。这些集成开发环境一般既支持汇编语言的开发,也支持C语言的开发。另外这些软件都可以在这些公司的网站免费下载,功能上一般能够满足学习的需要,如果要用于产品开发则可能需要购买某些功能的许可。
IDE把汇编代码或者C代码生成MCU目标代码之后,需要把目标代码下载到MCU的程序存储器中MCU才能正常工作,按照用户的设计完成控制目的。实现代码下载一方面要有PC端的下载软件支持,一方面还需要有硬件支持。下载软件一般都会集成到IDE中,有些下载工具可能还需要独自的下载软件。硬件方面,早期MCU的开发都需要一个特殊的装置——编程器,才能够擦除MCU内部的代码并把新代码写入到MCU的程序存储器中,这无疑会增加系统开发成本;随着科技的进步,现在大多数的MCU采用Flash程序存储器,支持在系统编程(ISP,In-System Programming)或者在电路编程(ICP,In Circuit Programming),都不需要编程器,只需要一根下载电缆连接到计算机(如串口、并口或USB等)和MCU的某些引脚,就可以把代码下载到MCU,这不仅省去了编程器节约了开发成本,也省去了仿真器,可以进行在系统调试。因此,选择支持在系统编程、调试的MCU非常有利于系统的开发。
另外,考虑MCU的可开发性还要了解MCU制造商的历史、生产的MCU性价比、MCU的供货情况等,保证应用系统有最优的性价比、最长的使用寿命和最好的升级换代性。