笔者最近有缘担任外聘讲师。来参加的学员大部份是失业或被裁员资遣者;只有极少部份原是电子业员工,但自己想要学新技能,以利日后转型;而被公司派来受训者只有一位,可能是因为我的课程是安排在下午,所以与公司的上班时间冲突所致。我讲授两个课程:C程序设计、ARM单芯片系统架构。
为甚么要讲「C程序设计」呢?因为这个班是嵌入式系统程序设计班,而目前最有名的嵌入式操作系统非Linux莫属了。不管是桌上型Linux或嵌入型Linux原都是用C语言设计的,因此之故,C程序设计是这个班级的基础技能。不幸的是,现在的电子相关科系学生都已经不精通C程序设计了,最大的原因是他们已经习惯于使用比较容易设计的软件包,譬如:VB、Delphi、PowerBuilder等。而这些软件包都只适合开发窗口程序或数据库程序,但是因为进入门坎低,所以僧多粥少,只懂得软件包的人注定是要过「苦日子」了。但是,想要回头重学C语言,是需要毅力的。而且要进入电子业从事韧体设计工作,必须要兼备硬件的知识才能胜任,这个门坎不是每个想学嵌入式系统程序设计的人都能克服的。
为甚么要讲「ARM单芯片系统架构」?因为ARM系统单芯片(SoC)席卷全球市场,所向披糜;而Samsung的ARM核心系统单芯片更为国内电子业界大量采用。我讲课所用的芯片正是大家熟悉的S3C4510B(Samsung以太网络系统单芯片)。
说到这里,笔者真为国内业者抱屈。因为就性能而言,国产的ARM系统单芯片(例如:华邦电子的W90N740)并不会比Samsung差,Samsung之所以能成功,就是他们加入ARM的应用教育计划,藉ARM的高知名度成功地打进学校。现在国内许多大专院校都是使用Samsung的系统单芯片来教育学生学习ARM指令和嵌入式Linux。学生版或称作教育版虽然和企业版或完整版相较甚远,但是,只要这些学生习惯使用特定品牌的产品,将来他们都是这些品牌的最佳代言人,而且其应用市场的规模也会因此而扩大。
目前在国内CPU市场中,国产的4位或8位微控制器都有教育版为各学校采用,但是16位或32位却都是外商的天下。因此,国内业者应该好好地规划他们的芯片应用教育计划,先以国内学校为目标,再推行到中国大陆及其它地区。其中的诀窍,应该可以从Samsung的成功因素中探究出来。
要规划好系统单芯片的应用教育计划必须先准备好几个重要工具:一是操作系统、二是开发工具。前者目前几乎是Linux莫属。而开发工具则包含软件和硬件开发工具。软件开发工具是指编译程序(compiler)、组译器(assembler)、链接器(linker)、加载器(loader)、整合开发环境(IDE)。硬件开发工具就是指ICE(In-Circuit Emulator)和公板。
可惜当前国内业者都一窝蜂地从事OEM产品或芯片设计制造,很少有人从事上述的开发工具设计制造。反观国外,设计这些工具的厂商很多,而且都不断地随着各种系统单芯片的更新而推陈出新。因为ARM目前没有将其Multi-ICE委外制造,所以国内业者势必要自行研发或和国外厂商合作设计出类似Multi-ICE的工具出来,否则因为Multi-ICE的售价高昂,教育版是不可能用它的。不过,纵使没有ICE,只要有软件开发工具和公板也会受到学生们的欢迎。例如:Hitool的试用版虽然只能使用一个月,但是可以不需要ICE,使用软件仿真的方式,就能让学生学习ARM指令和设计驱动程序。国内业者应该和这样的软件公司合作,在自己的芯片应用教育计划下,共同推出彼此的产品,开拓市场,创造双赢的局面。