点击查看活动详情:https://t.csdnimg.cn/L4B8
HaaS技术社区
在物联网方案多样化与场景碎片化等大背景下,基于阿里云物联网数亿设备落地经验,阿里云物联网团队推出了HaaS这个加速AIoT中小开发者的创新平台。HaaS(Hardware as a service)硬件即服务。通过向用户提供物联网场景中的的标准硬件以及嵌入到硬件中的软件驱动及功能模块,为用户提供物联网设备高效开发服务。旨在帮助AIoT中小开发者聚焦业务,能做到低门槛快速组装软硬件积木,实现设备安全上云,加速AIoT创新迭代。
HaaS设备端搭载阿里IoT团队全面开源的物联网操作系统AliOS Things。该操作系统发布于2017年杭州云栖大会,是HaaS家族中面向IoT领域的、高可伸缩的物联网操作系统,目前已经开源到3.1版本。
HaaS技术社区旨在推广物联网操作系统AliOS Things和HaaS云端钉全链路解决方案。HaaS技术涵盖物联网操作系统AliOS Things,JS轻应用,HaaS UI等软件积木,以及HaaS标准硬件和周边生态等硬件积木。HaaS为开发者提供了一种高效的积木的开发方式。
社区之星推荐语
尹鑫,一直从事嵌入式相关的工作,最近两三年主要研究嵌入式RTOS维测相关的技术,立志于开发一款基于RTOS、适合广大嵌入式开发者的维测工具,并将很多代码贡献给AliOS Things和HaaS技术社区。同时在HaaS技术社区投稿了一系列关于AliOS Things 维测的学习心得。
技术成长之路
跟广大嵌入式开发者的技术成长路线一样,我也是从helloworld开始,到点亮数码管led、驱动传感器外设、操作LCD显示、通过WIFI/BT连接各种设备等一步步走过来的。在这过程中,我们需要不断地学习硬件电路、计算机体系结构、编译、操作系统、网络协议等一系列知识,深深感受到嵌入式开发栈的博大精深。
在最近两三年的项目研发期间发生了2件事,让我将注意力转移嵌入式RTOS的维测工具的设计上来。
第一件事,我还在华为的手机部门,从事手机底层设备驱动的开发工作。有一次需要将手机大核上(跑linux)的传感器驱动移植到小核(跑嵌入式RTOS)上面去,本来已经经过大量验证运行很稳定的驱动,在RTOS上出现了问题,系统跑了一段时间就死机了。经过痛苦的不断加打印--重新编译--烧录芯片的定位过程,两三天过去了,发现是一个典型的内存泄漏问题,是在移植过程中新增的一个bug,修改了几行代码后解决。当时我就想,虽然嵌入式RTOS上的运行场景没有linux复杂,但是一旦出现了bug,我们却没有顺手的工具来快速定位它。这个对比Linux就有巨大差距,Linux的强大无需多说,仅在工具方面,也是有足够的维测工具来支持的,如Valgrind里的memcheck就可以方便的检测出内存泄漏、释放内存后的使用(use-after-free)等。但是在RTOS上,我们没有这样的工具,网上这样的支持也比较少,但我觉得,维测工具对嵌入式开发也是有价值的,至少减少一些定位bug的时间,也是对工作效率的巨大提升!
第二件事,让我彻底坚信了RTOS维测工具的价值。在一个智能音箱项目中,我们遇到了可能是RTOS史上最复杂的使用场景—— 线程数量100+、多核、几十人共同开发、WIFI/BT多协议栈、云端链路、语音唤醒和识别、众多交互场景....在产品量产测试过程中不断遇到死机、踩内存、内存泄漏、系统卡死、网络吞吐性能下降等一系列稳定性问题和性能问题。从开始的束手无策只能靠加打印定位问题,到后面可以分分钟定位出80%以上的问题,这个工作效率的巨大提升是基于我们从0到1开发出的一套适用于嵌入式RTOS的维测工具。基于AliOS Things,我们可以不连仿真器,不加打印,快速定位bug是什么,定位内存泄漏点,定位踩内存点。如果没有这套维测工具,整个项目的开发难度是不可想象的。
我觉得随着物联网的快速普及,嵌入式RTOS作为物联网的操作系统也一定会受到越来越多的关注。今年有幸遇到了阿里云的HaaS平台,它为开发者提供了一种高效的积木的开发方式,代表了物联网发展的方向。HaaS使用的RTOS是AliOS Things。所以我也计划在为HaaS技术社区贡献维测工具的代码和RTOS维测工具的文章系列,希望可以给HaaS技术社区的广大物联网开发者和爱好者带来帮助。
开发者寄语
我们知道,维测工具可以帮助嵌入式开发人员提高bug的解决效率,进而关注自己的事情,提高工作效率;同时,再好的维测工具,它的作用范围也是有限的,所以也希望大家(包括我自己)继续修代码内功,写出优美代码,不产生bug才是我们的追求!
转载:https://blog.csdn.net/HaaSTech/article/details/112592020