为何设计Modular-2微电脑?

modular-2微型电脑

modular-2 是我凭自己的想象而设计的一台微型计算机。取名modular 2 ,是因为本人1982年在南京大学计算机科学系读书,由徐家福教授给我们开了一门课,介绍结构化程序设计,其主要内容是瑞士联邦技术学院教授Niklaus Wirth设计的一种计算机语言 modular-2,它是一种类似pascal 的系统程序设计语言。为了纪念自己的大学时光,将自己设计的这台计算机取名为modular-2。

为什么要设计这么一台不起眼的小电脑呢?这要从我的工作经历说起,1982年大学毕业后,我就从事嵌入式系统的设计,最早是为Z80 8位单片机编程,使用的是汇编语言,那是一个非常痛苦的过程。为了提高嵌入式编程的效率,我在1993年花了5500美金购买了当时的德国公司keil的C51 编译器。开始用C语言为8051单片机编程。那是我所在城市第一个购买正版keil 编译环境的人,还带一个软件狗。现在,keil已经成为ARM公司的一个子公司了。我依然在学习复杂的keil uVison 5,为STM32系列编写各种嵌入式软件,在这期间,我也使用过microchip,free scale,TI的各种IDE环境,唯一庆幸的是没有被这些复杂的东西给搞死。

过去的30多年,计算机程序设计语言有了飞速的发展,从Delphi 的pascal,到windows下的C#,C++。然后发展到了java,PHP,JavaScript和当前热门的python等等。计算机程序设计语言的目的就是提高软件的生产率和可靠性,同时降低程序设计的难度和门槛。新闻报道了日本的老奶奶在家编写手机的App,我相信这是真实的故事。

但是,我们回过来看看嵌入式程序设计,安装编译工具,配置一大堆参数,连接jtag电缆,设断点,调试,为了控制一个GPIO口,需要看一大本复杂的datasheet,状况和30年没有太大的差别。我一直讲,写C#是一种享受,写嵌入式C是一种煎熬。

今天,大家都在谈,我们将进入物联网的时代,几十亿的设备将接入网络,但是不要忘记,物联网完全不像接个灯泡到电网那么简单,每个智能装置中都需要编写一段嵌入式代码,它们才能变得智能。除了编程以外,我们还需要PCB设计,硬件搭试电路,排错。这其中的工作量是非常巨大的。

像我这样的计算机老兵,应该为事情的改变做点什么。于是在两年前,我开始了modular-2计算装置的研究开发工作。

仔细地研究一下,情况并不是那么糟糕。世界上有许多人有和我同样的想法,同时他们付出了行动。著名的有MIT为艺术家开发的processing 语言,意大利人开发的ardunio,英国人开发的树莓PI。他们都解决了学生,DIY业余爱好者开发嵌入式装置的困难,受到了普遍的欢迎。

不过,这些ardunio也只是为学生,业余爱好者这开发的,他们不适合在工业环境直接使用。这不由得使我想起当年jobs设计apple计算机不也是为业余爱好者设计的吗?后来才发展成标准的电脑,和后来居上的比尔盖茨开创了PC的时代。

我一直朦胧地觉得,在PC机和手机之后,也许需要一台标准化的装置,它的特点是好用不贵,可模块化扩展,面向嵌入式装置;它们面向大数据采集,实验室测量,AI前端,工业控制等传统嵌入式领域。这就是我梦想中的modular-2 ,一台模块化微型电脑。

我实在想不出更合适的modular-2学名。