自从INTEL公司于1971年生产第一颗MCU INTEL4004开始,就标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。这么多年来,嵌入式系统中的嵌入式芯片已经取得了长足的发展。生产嵌入式芯片的厂家也已有百家之多。然而,嵌入式芯片的应用开发方式基本上还是一直采用基于芯片级的应用开发方式。由于不同生产厂家生产的芯片其系统构架和指令系统不一样,嵌入式芯片应用的多样性和广泛性导致用户对芯片内部的资源和I/O数量要求不一样进而使得每一个厂家生产的嵌入式芯片都有许许多多的型号,这在一定程度上限制了嵌入式芯片应用开发方式的变化和发展。早期大都使用汇编语言进行开发,最近几年C语言已经广泛地被用到了嵌入式芯片的应用开发中。在编译器的支持下C是唯一可以直接操作硬件的高级语言。对于一个相对复杂的项目,虽然用C开发较汇编语言开发的效率提升了许多倍,但是由于现代嵌入式芯片的集成度和复杂度的大大提高,嵌入式系统的设计工程师需要花比以前更多的时间去熟悉芯片的系统构架和内部资源以及这些资源的控制方式才能对这些资源实施有效的控制。这不但增加了设计工程师的开发难度也使产品的开发周期更长。试想,一个由二、三十个寄存器控制其内部资源的MCU变成了一个二、三百甚至上千个寄存器控制其内部资源的SoC芯片时,设计工程师如何开发他的嵌入式应用系统呢? |