寻找
打印

[C讲话] linkboy十周年:一门国产编程讲话面前的故事

[复制链接]
2789 | 11
跳转到指定楼层
楼主
本帖末了由 0xCC 于 2020-6-6 18:01 编辑

不知不觉间,linkboy面世已到十年。十年前的这个时间,在国度推动科技创新的大环境下,最火的足彩论坛。目前linkboy已具有较为完全的生态体系。除了用于工控、IoT物联网、边缘计算等专业领域外,经过一向迭代和进级,起先着手设计开发这门编程讲话。 本文将记忆和总结从前十年的开发历程。linkboy的内部设计细节和研发演进。

概述
众所周知,各类编程讲话大都起源于国外技术体系并由国外所主导,最火的足彩论坛。以至要比操作系统还要底层(因为操作系统自身也是用某种编程讲话开发)。最火的足彩论坛。由于历史来因,同时也是计算机迷信中最底层技术,编程讲话是连接软件和硬件的桥梁。

linkboy是首款面向嵌入式、物联网、工业主动化等领域的国产编程讲话,没有应用和基于任何国外的开源技术体系,虎扑足球论坛。整个历程均为自主开发,足球社区。从讲话语法的设计、编译器词法语法分析到后端目标统治器移植和适配、以及最终机器码文件的生成。

相比于国外的同领域编程讲话,linkboy具有一些独特的优点,如支持图形化连线举行各个模块的配置;讲话具有底层硬件有关性。第一足球网论坛。
越发是讲话的跨平台特性,意味着异样的标准可以配置在不同的平台上运转并给出完全一致的结果。虎扑足球论坛。此特性做到极致。linkboy的一个标志性功能——支持模拟仿真。此前业界支流的方案是:工控或物联网项目本来需要部署到现实设备上运转,足球社区互动。始末专业手段设置各种标准断点,则需要返工,借使出现题目,技能看到结果。 而基于linkboy的仿真机制,标准流程和指令的执行也有直观提示。足球现场直播。这样就把保守的黑盒开发转变成了透亮的白盒开发,linkboy十周年:一门最火的足彩论坛国产编程讲话眼前的故事。有目共睹,工程中各个变量的实时值和各外设的工作情况可视化映现,则可以间接在电脑上模拟执行整个工程项目。
除了应用在工控、物联网行业实行快速原型设计外。linkboy的图形化配置、模拟仿真,以及极低门槛的中文编程理念(所有库模块均有中文指令集接口)等特性。侃单片机论坛。





图:各地学校采用linkboy作为信息技术编程教学工具


图:linkboy作为合肥市创客大赛官方指定编程工具。



图:北京市教委主办2019年“科技冬奥。
编程部门采用linkboy软件 并应组委会邀请。


图:广州市教育信息中心举办中小学创客教育种子教练培训
西藏主干教练教育访问组观赏了linkboy软件编程操作



图:linkboy也相符校外培训机构应用。
(照片转自培训机构:安徽明思科技公众号)


一、缘起
2009年7月,则一直是较量零散的,在学校实验室里正式着手开发这门编程讲话。人气最火爆单片机论坛。而之前很长一段时期,关于讲话的构想已经幼稚,起先编写标准构建linkboy。那时间是大二行将解散要放寒假。

大一是学习的起点,确实是大开眼界。3A足球论坛。记得有一次跟同窗去网吧,对于刚从高中苦海解脱的我来说,借助网络有无量无尽的学习原料和软件。8051IDE和GBD8051,说:“老大,linkboy。他一脸茫然,一个血色的端口就一向地闪烁。我兴奋地演示给同窗看,在GBD8051上运转,然后敲几行标准后。
但我知道这个意义非凡,大一做了一个俄罗斯方块游戏机,十周年。就像是封闭了一扇大门通往新奇的计算机世界。应用汇编讲话编程。128*64液晶上显示游戏画面。51芯片内存无限。
这个游戏机那时险些被同班同窗们玩遍了。后续我又开发了坦克大战等标准,如模范形参通报、全局变量的应用、手工方式计算存放器的占用等。一门。现实上这里边已经包罗了厥后设计编程讲话的萌芽,就这样总共编写近一万行汇编代码。足彩。从这些项目的开发中也总结了不少的体味,增加功能;下机时间再把标准发回邮箱里,论坛。调试,然后修改,每次去网吧先把标准从邮箱里下载。
到了大二起先从汇编转向C讲话编程,很多公司的开发人员都在用这个试用版,国产。而且国际没什么购买渠道(那时)。编程。另外到一些工程师论坛上一看,需要在网上寻找并下试用版;正版是需要一笔钱的,应用某国外编程软件。根据老师和学习原料的指引。
经过调研,招致国际的技术研发人员只能被挤到产业链下游,讲话。基本也都是掌握在国外厂商的手中,眼前。电路仿真、EDA软件等这类基础、重心的开发工具,普遍在应用国外的编程工具。此外,国际还没有自己的面向嵌入式和工控领域的编程讲话。

大二应用Keil做了几个项目,但是开发进去的工程却可能存在平和隐患,编程讲话也不会给你报错,尽管略微不注意,故事。而MISRAC划定规矩:不得对有符号数施加位操作。而且这样的规则一共有127条,单片机。MISRAC模范中又不准应用这个运算;C讲话允许苟且位运算,歧C讲话提供了三元运算符(?:),论坛。你需要严格用命MISRAC模范才会尽可能保证移植性。两者时时是矛盾的,C讲话移植性较量差,又发现了C讲话的一些弊端(也可能是自己过于用意挑剔了吧)。最明显的是。

经过一些模糊想法逐渐清晰和成型,也就是说应用这个讲话的工程师,人气。来在讲话层面上做重新设计,定夺设计一门全新的面向工业编程讲话,大二下学期快解散了时间。127条规则,如有违规将给出明确的报错提示,火爆。已通盘调和到讲话的层面。
期末考试解散后,以后作为毕设也是可以的,单片机。这样大三开学就可以企图外出实习和找工作了。论坛。花点时间做完这个项目,要在学校做些事(因为家里没有电脑)。根据计划原定寒假一两个月就能完成编程讲话的原型开发并测试完成,我给家里打电话说这个寒假不回去了。

二.启程
为了在电脑上开发编译器软件。C#。整个寒假,工程师们觉得这个东西没什么前途。还有人表示,3a。不过反响平平,运转良好。于是信心满满地在一些专业工程师论坛上推销这个编程讲话。a。发了两个帖子,用这套讲话重新编写了之前的俄罗斯方块游戏,而且支持指针。足球。之后做了一些测试,参考C讲话的语法实行了一个子集,总算基本完成一个讲话内核,边学边做,主要是各种字符串统治。这样磕磕绊绊,用一个正在学的讲话开发一门新讲话的编译器。
想了想,这样感觉到大三毕业可能都做不完。那么,两三个月的开发周期实在是太短。论坛。还有不少的工作量要做,能应用在工业领域,可是要想做完整,linkboy十周年:一门最火的足彩论坛国产编程讲话眼前的故事。调试环境等都不完善。做个原型是可以的,而配套的库,可能目前的效率确实不太幼稚。仅仅是编译器内核有了。

真是“无知者无畏”,先考本校的专接本,定夺不去实习找工作了。
大一在西校区上课,大学近四年的时间基本都在这个小实验室里度过,不用像大一那样每次去网吧编程了。侃单片机论坛。很感谢学校能提供这样一个学习环境,给我当实验室。人气最火爆单片机论坛。还给配了一个台式机,办公楼里有一个小储物间收拾干净,3A足球论坛。不过在学院甄老师等安顿下,大二起先在校本部上课。师范学院的实验室资源相对无限,是挨着农村的很偏僻的地方。
尽管这样,到2012年6月毕业的时间,继续潜心研究这个编程讲话到2013年底(给自己放了一年半的假,学校附近租了个房子,这些已有的效率可能就再也拿不起来了…… 于是定夺先不去下班,足彩。元气?心灵一分散,想到借使去下班的话,论坛。我看着电脑里这个半制品,这又是一个新的方向… 毕业后同窗们都去找工作、下班了,基于RTOS实行事项驱动框架,简化模块的配置和编程,做完生态后依旧少有人用。于是起先做图形界面,要支持大宗的工控传感器、通讯协议;然后基于此讲话开发面向嵌入式场景的操作系统(RTOS),这个项目还是没有完成~~ 因为发现久远有需要做的事情——编译内核做完后需要做生态。

三、 迭代
毕业后没什么支出,老妈托我带给姐姐装修的钱被我占做生活费了。2013年底。文章较量长,新的一年要去北京找工作。以后所有的研究和计划,各种内外的压力之下,如STM32等ARM架构。但时间已经不允许了,想要支持更多的统治器,此刻还是有一堆的工作没有做完~ 歧又有了新的想法,估量也猜到了,写得像流水账。你要是能周旋看到这里。
2014-2016年,末了果然做了几年,只能自己探索着前进。本来计划寒假两三个月完成的项目,险些得不到用户反馈,这个讲话很难现实扩展,更多是靠周旋走下去;另一方面,遇到的一些深层次题目和困难也凑集中出现,感觉进入一个低谷期。一方面对于自己研发一门编程讲话的新鲜度逐渐消沉,从技术研发的形态来说,这段时间。
那么为何会有这么多需要做的事情?举一个较量类似的例子。 行丛林探险:顺着一条小路进去之后,随便选一个分支继续进去,于是先选择第一条小路进去看看;走了一会儿发现还有一个分叉路口,较量新鲜,发现有个路口有几条小路。——无量无尽,扑朔迷离了。想到本来初心是要找到丛林深处散落的所有宝贝,末了已经迷路。

上边这个是整个项目的方向规划,其中 有些是正在研发,有些是刚有想法;随便进去一个文件夹。“组件式编程”:

那么每个文档掀开后。
哪天看着某一行,这时需要把这一行提炼进去,心血来潮可能又有了不少更长远的想法。
当然,必需有用户,末了只是做一个自娱自乐的小玩具。项目要生存发展,借使光靠自己的兴趣研究。

四、尝试打破生态怪圈
作为一个追逐者来说,集中力量重点打破缺口,就是要在怪圈上找到一个虚亏处,主意惟有一个,要想脱节这种负面循环,最终差异越来越大久远赶不上他人。从纯技术的角度来说,吸引力不够招致用的人少;而用户少又会加剧这个形态差异,自研技术的生态体系、兼容性等都比不过国外技术。
那么我们可能以开源硬件体系中应用最广大的arduino为例,使得中小学编程教育的场景下,这样就等于抹平了对方的上风,我们切换到中小学编程教育的场景下看一看:首先arduino中的很多库在中小学场景可能根本不会用到;而常用模块linkboy也有,优点是各类的外设库很多。不过,探索一下。arduino是源自欧洲的一个硬件项目(但实质上也是一门编程讲话)。
然后基于你的自主技术,一向迭代完善获得更大的用户量。这样可以以为打破原来的生态怪圈困境,并根据用户反馈,可以获得种子用户,形成局部性的上风(而对手可能还顾及不到)。借助于这个微弱领先上风,挖掘中小学编程教育场景的一些暗藏的重点需求做深度开发。

17年初,原来硬件编程还可以这样玩~ 不失为一个全新的方向——而这个方向,我自己也有点讶异了,末了电脑界面上圆圈在闪烁的时间,灯的模拟仿真。本来一个无心插柳的尝试,得胜实行了最纯洁的,实物灯的亮灭发挥阐发为电脑屏幕上的圆圈颜色改变,那么电脑上我统治为画一个圆圈在屏幕上(其他部门如RTOS都不做修改),硬件上是控制针脚高低电压,尝试了一下重定向机制。歧本来让灯亮灭的标准,基于linkboy讲话跨平台的特色。 究竟上直到此日,arduino官方依然没有增加模拟仿真功能)


图:尽管复杂游戏也可以在电脑上模拟仿真
PS:我对俄罗斯方块真的情有独钟)

整个2017年基本在完善仿真,排除了很多不用要的纰谬调试历程,只需要修改硬件映照的部门即可。直观的模拟仿真一定水平上消沉了中小学生的入门难度,末了每个模块都支持了这个功能。得益于编程讲话的跨平台。

17年以来,把大部门常用功能集中到鼠标左键上,鼠标右键用不太好。于是软件的操作习惯及时做出调整,但是孩子手小,小学生对这个编程软件感兴趣,有教练反馈,以适应更多类似用户。例如,一向修改优化编程讲话,也有各地的一线教练和学生。根据用户的反馈,有各行业开发者,感遭到linkboy用户量起先一向增加。
图:长春市一零八小学 学生在举行遥控车标准编程和实物搭建

作为个人开发的公益平台,正始末试点和学校选修等方式,小学六年级部门完成出版,并由一线教练们完成了教材的编写。2019年春季,linkboy被选入山东省小学信息技术教学软件,进而引起上司教育部门的调研和注重。2018年,编写收拾成模范教材,有些教练始末本校实施应用,确实感谢各地的一线教练们能试用并喜欢这个编程平台,也没有什么大机构做背书和宣传,linkboy没有相关的资金支持。


图:2019年4月25日。
各地区教练举行linkboy编程教学备课互换

江苏、广东等其他省市也有不少一线教练在应用linkboy举行信息技术教学。近日,这套教材采用linkboy平台,由广东省教研院编著的广东省初级中学信息技术课本完成出版。



五、新征程:薪金智能 / 物联网
随着薪金智能的应用普及以及国度政策的推动。python到中小学信息技术课程中。这之中又存在一个鸿沟,这对于国产技术又是一个契机。未应用任何国外的开源技术情况下,目前国外还没有让8位arduino运转python的解决方案,学校需要额外推销更高价的python装置(如英国的micro:bit)。经过调研,就是中小学应用最普遍的Arduino开源硬件无法运转python。
基于自研python编译/诠释器 可以与linkboy仿真引擎深度整合,实时地在图形界面上显示出各个变量的现时值,并根据标准单步执行形态,实行“数据仿真可视化”:即仿真引擎会主动提取出所有的用户自定义变量。
图:左边单步执行到第16行时。

据调研,在micropython+硬件的编程教育领域。


图:2019年7月16日。
教练们学习互换linkboy编程工具在物联网领域的应用

这些案例也正面说明了在当今物联设备几何增加,面对国外老牌技术厂商无暇顾及的一些场景,技术生态环境分散化的趋向下。 薪金智能+物联网(AIoT)、薪金智能+编程教育等新兴方向, 国产EDA/CAE类工业软件完全可以放下生态兼容等思想包袱,并依托自主技术深挖场景需求,和国外技术站在同一个起点上同台竞技。

预测
在探索的门路上越走越远,相符面向青少年做薪金智能、军民调和(北斗等)科普编程平台;另一方面可向底层继续扎根,联络国度产业政策,一方面可以向应用层上扩展,可做的事情实在是很多。现在依托目前的效率,那么各种想法和创意能一向地涌进去,借使持续深挖,总是能发现更多煽动人心的方向。研究编程讲话就像是奇妙的山泉。CPU、兆易等各类国产统治器。越发近两年RISC-V开源指令集在物联网领域起先大展技术,歧面向中小学提供基于开源指令集的编程仿真工具,那么做一些配套的编程讲话移植工作,华为、阿里都在基于RISC-V研发更自主可控的芯片。


末了,感谢群众能耐心看完这篇流水账。借使感兴趣。 www.linkboy.cc )下载最新3.5版本,体验试用。


应用特权

评论回复

评分

参与人数 1 权威 +15 收起 理由
tyw + 15 赞一个!
沙发
| 2019-8-2 12:30 | 只看该作者
LZ很牛!ding!
主要看生态开发。

应用特权

评论回复
tyw
板凳
| 2020-6-6 17:25 | 只看该作者
upup

应用特权

评论回复
xyz
地板
| 2020-6-7 21:42 | 只看该作者
楼主厉害,有耐心!

应用特权

评论回复
5
| 2020-6-23 09:51 | 只看该作者
很好,,,少年强,则中国强

应用特权

评论回复
tyw
6
| 2020-6-24 21:37 | 只看该作者
v3.7版也进去了,改进了不少.小飞燕加油.二姨家支持你.

应用特权

评论回复
7
楼主 | 2020-6-29 06:48 | 只看该作者
这个是去年这时间发的帖子了,包括电阻电容、三极管,现在已支持电路的仿真,经过一年的进级开发。

1. 目前已支持的模块列表:


2. 电容充放电仿真,黑线表示0V,红线表示5V。


3. 三极管振荡器演示,导线分段移动速度表示电流的大小(由于是静态图片。


4. 基本逻辑门搭建模拟D触发器:


5. 双非门振荡器。

6. 这是一个微型的CPU架构图,可以执行纯洁的汇编指令集。




应用特权

评论回复
8
| 2020-7-3 22:50 | 只看该作者
0xCC 发表于 2020-6-29 06:48
这个是去年这时间发的帖子了,经过一年的进级开发,现在已支持电路的仿真,包括电阻电容、三极管,以及与或 ...

谢谢分享,,,,,,,,,,

应用特权

评论回复
9
| 2020-7-7 19:46 | 只看该作者
前来给大神打CALL,大神加油。

应用特权

评论回复
10
| 2020-7-7 22:56 | 只看该作者
楼主厉害啊,支持一下。

应用特权

评论回复
11
| 2020-7-30 12:05 | 只看该作者
个人以为: 小朋友晚期学习难度小。

应用特权

评论回复
tyw
12
| 2020-9-5 17:37 | 只看该作者
upupup

应用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 赞扬创议 树立版块 请求版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

封闭

抢手推举上一条 /5 下一条

在线客服 快速回复 返回顶部 返回列表