大家好我是科岩。

害,你是单纯看了标题所以进来的吗?

哈哈,不要多想,一个程序员参加的会还能是个什么会(当然是没什么女孩纸的会,让老婆放心的会)。

我上周六去参加了一个活动,不知道你们听没听说过一个国产嵌入式操作系统RT-Thread,这是他们的官网www.rt-thread.org。

他们最近在举办一个活动「嵌入式代码质量与开发效率技术沙龙」。

刚好北京这场是周六我还有时间,再看看这些议题,我一看到活动推送就立马报名了。

举办会议的地方在西3.5环的一个叫「紫荆花孵化园」的地方,是一个孵化创业项目的园区,应该是能够给一些线下活动提供场地。

我知道RT-Thread经常举办嵌入式技术相关的活动,这还是第一次参加,出乎意料,来的人竟然非常多,我到的时候已经没有多少空座位了,只在最后排找到了位置。

临近分享开始,来的人越来越多,过道和后排都挤满了人,大家的热情还是很高啊。

看这照片就知道没骗大家,都是男同志吧(可以按发量论资排辈了)。

1

第一个分享嘉宾是一位嵌入式老前辈何小庆,做嵌入式已经快30年了,这个资历应该比很多听众的年纪都大。

何老师分享了嵌入式系统安全相关的知识。

我以前也听过很多老前辈、老师傅的分享,大都是讲讲国际环境、政策市场什么的,让我惊讶的是何老师讲的嵌入式安全非常接地气,有技术干货又跟得上时代。

比如他讲到瑞萨利用MultiZone实现了一个多分区运行嵌入式软件的物联网demo,这个demo可以实现安全联网和安全的本地外设控制。

我后来查了下相关资料,是瑞萨近期才实现的物联网安全相关的案例。

再比如他讲到的Arm PSA(Arm 平台安全架构)认证也是Arm近几年才推出的安全认证规范,为了通过这个规范要使用Arm-v8m的指令集,基于硬件隔离技术TrustZone。

这些技术都是嵌入式设备上近2年才有的。

回来后我到百度查了下何老师,竟然找到了他的个人网站:www.hexiaoqing.net。有兴趣的朋友可以看看,网站一直在更新,何老师经常参加国内外嵌入式会议,也持续为一些杂志、网站撰写文章。

这就是参加类似技术沙龙的好处吧,能够接触到业界的大牛,看到何老师这样的前辈,接近30年的职场生涯依然对技术保持关注与热爱,这应当是每一个嵌入式人的学习榜样。

2

之后是来自鉴释科技的两位大佬。

这家公司我之前没听说过,所以去查了以下,这是他们的官网https://xcalibyte.com.cn/,查完差点跪了,这家公司技术实力太强,都是科学家级别的大牛。

创始人都是三星、华为、诺基亚、英特尔里面搞编译器的世界级科学家,编译器啊同志们!科学家啊同志们!

吴翔老师分享了一个我之前没听过的技术「WASM」,全称是Web Assembly,简单说就是可以在WEB浏览器上执行汇编指令。

汇编指令大家都知道,是高级语言比如C/C++/java等生成的,在浏览器里直接执行这些高级语言生成的汇编还是挺神奇的,反正我是不知道啥原理。

这个技术用在硬件上一种场景就是能够在低性能嵌入式设备中运行一个wasm虚拟机,高级语言编成wasm汇编,直接就能运行在单片机上。

如果在单片机上能用极少资源运行一个虚拟机,还能拥有较高的执行效率,这样就比较有趣了,能做些有意思的事,比如可以对嵌入式固件进行加固处理,让黑客无法逆向。

另外一位鉴释的老师分享了嵌入式系统开发中需要注意的一些代码安全问题。

比如代码漏洞、逻辑错误,使用不安全的函数等等。

他提到了一些与代码安全和软件漏洞相关的规则:

  • BUILTIN RULE
  • CERT C
  • CERT CPP
  • CERT JAVA
  • CVE
  • OWASP
  • MISRA

这些规则我查了下,可参考性还是很强的,如果在你的项目里按照这些规则编码,绝对能够提升项目的安全性与健壮性。

鉴释的产品是一个叫做「爱科识」的静态代码分析工具。

静态代码分析工具不知道大家都用过没,这玩意通常只在大厂里才能接触到,一般的嵌入式小厂基本都是咱打工人人肉当分析工具。

对较大、较复杂的软件项目来说,静态代码分析工具还是非常有必要的。

在代码写完还没执行的时候就能查出有哪些漏洞,杜绝可能引发的风险,这个阶段发现问题、解决问题所花费的代价其实是最小的。

目前静态代码分析工具做的比较好的都是国外的公司,鉴释利用他们的专利技术做出了比国际上的分析工具性能更好,更加易用的工具,虽然支持的语言、编译器还不多,但他们是一家非常年轻的公司,看好他们!

3

最后分享的是RT-Thread的大佬郭占鑫。

他讲了很多技术干货,关于提高开发、项目管理效率的持续集成、测试、软件调试的方法、工具的分享。

首先是软件开发管理,推荐使用git,可以使用github、gitee或者gitlab平台把项目代码管理起来,无论是代码review、提交bug都很方便。

这些平台支持一种叫做 CI(持续集成)的功能,简单说就是每次提交了代码之后,平台会自动编译整个项目。

这样的好处就是我们平时工作中可能对代码的修改量很小,改完非常自信以至于都懒得编译测试一下(编译整个项目的时间很长),持续集成功能就能帮我们解决类似的问题。

其次是关于测试,郭老师也分享了他们内部的自动化测试流程:

  1. 静态检查
  2. 模拟器测试
  3. 真实硬件测试

静态检查就是用静态代码分析工具进行代码检查,比如clang-analyzer、clang-tidy、爱科识。

模拟器测试是使用一个叫做qemu的工具,它可以用软件模拟硬件执行程序。

真实硬件测试是他们会搭建一个测试专用的测试箱,可以对开发板的IO、电压、电流、通信接口进行自动化测试。

最后是关于提升软件调试效率的一些方法和工具。

很多人做项目时,写代码的时间都不如调试的时间长,这样就要求我们必须提升调试效率。

提升调试效率有几个办法:

  • 充分理解需求
  • 遵守代码规范
  • 清晰的代码架构
  • 必要的日志
  • 合适的调试工具

看上去挺简单的,但在项目时间短、上线需求急的情况下,真正严格的遵守、执行还是有挑战的,不过如果代码量和复杂度很高的话,这是最有效且高效的办法。

接着是一些RT-Thread团队使用的工具分享:

日志组件:ulog;单元测试框架:utest;可视化系统调试工具:SystemView;针对Arm Cortex-M的错误分析库:CmBacktrace。

总之,RT-Thread的技术能力是业界有目共睹的,他们在实际工作中使用的工具和科学方法一定值得大家学习、借鉴。

end

以上就是这次沙龙的全部内容啦,是不是干货满满?

我收获非常大,感兴趣的小伙伴可以深入了解下这些议题里用到的软件、技术。

如果有机会的话,建议大家多参加些类似的活动,很多新技术在网络上、书本里是搜不到的。

刚入门的嵌入式工程师的话,看书还是非常有必要的,当然前提是看好书。我这里有一份 GitHub 上非常全面的嵌入式必读书单,应该能有你需要的图书。

https://github.com/imKeYan/EmbedBooks

本次同性交友会总结到此结束,大家加油!:)


欢迎微信搜索「 科岩成果 」,关注这个点灯工程师。

码字不易,长文码字更难,如果对你有启发,欢迎关注,下次一起同性交友,安排!

程序员参加大型同性线下交友会是什么体验?相关推荐

  1. 从​程序员到大型分布式架构师,自己到底位于哪里(一)

    写这篇文章为了更清楚自己技术能力,同时分享给大伙,看看自己技术水平位于哪里. 个人能力有限,基于我所理解的知识来讲解一下:从程序员到大型分布式架构师,我们自己到底位于哪里. 描述不当之处还请各路大佬点 ...

  2. 遵义微科技小程序商城直播系统,线下零售行业发展新趋势!

    直播卖货是今年零售业新风口.受肺炎疫情影响,截止到现阶段,大部分城市的线下零售业遭遇店面房租.产品库存量.员工薪水等多种压力的商家,竞相开始转型发展网上打起"增长保卫战",直播更是 ...

  3. 从仿真到实飞,Prometheus自主无人机开发全覆盖!快来参加阿木实验室线下集训吧!

    受够了假期的人挤人吗?快来参加阿木实验室线下集训吧! 阿木在此重磅推出"国庆特训营 "!本次特训由Prometheus项目创始人主讲,手把手授课!五天时间带你入门无人机科研圈,让你 ...

  4. 【小程序源码】谁是卧底线下发牌器微信小程序源码下载,强大的自定义功能

    看名字就知道啦,这是一个谁是卧底的小程序源码 游戏规则: 谁是卧底是一款线下聚会的游戏,考验口才和脑力的同时,也能活跃气氛. 游戏人数为4-12人,游戏角色包括平民,卧底,白板可供用户选择! 游戏步骤 ...

  5. 全球最厉害的14位程序员,大神收下我的膝盖

    导读:全球最厉害的14位程序员是谁?一起来看下让我们膜拜的这些大神都有哪些? 排名不分先后. 01 Jon Skeet 个人名望:程序技术问答网站Stack Overflow总排名第一的大神,每月的问 ...

  6. db和model用哪个开发大型项目 thinkphp_Java程序员开发大型应用程序时,必须要掌握几个的技巧...

    假如你是一名Java开发者,正在开发和维护包含2000个类并使用了很多框架的应用程序.你要如何理解这些代码呢?在典型的Java企业项目小组中,大部分能够帮你的高级工程师看起来都很忙,文档也很少.你需要 ...

  7. 程序员参加年会,CTO 要求技术部门穿成这样

    每年的年会都是IT互联网圈子的一道亮丽风景.我们在观赏着各大公司年会的新花样时,也在讨论或准备着自己公司的年会.有着浓厚技术氛围的公司如何开一个与众不同的年会? 去年,范品社告诉我们一件有意思的事情( ...

  8. 程序员,996的压力下,还要去做副业吗?忙,也要做,这是我的答案

    火热的"副业" 副业,在当今已然是一个非常火热的话题,最近大家应该也在关注和思考这个话题,由于疫情的影响和各大裁员的消息,公众号.知乎等等各种平台都充斥着这些内容,甚至还出现了所谓 ...

  9. 程序员的免费编辑器-PsPad(下)

    上一篇只要说了Pspad和编辑相关的东西,这一篇主要说几个Pspad的相关设置: 6. 我如何用pspad来配置一个IDE环境呢? 下面就以c/c++为例配置一个简单的IDE.首先从菜单中选择sett ...

最新文章

  1. JAVa读取文件的附加属性,Java 读取属性文件
  2. arg是什么函数_C 语言编程 — 函数
  3. Java EE 8中的MVC 1.0:使用Facelets入门
  4. ASP.NET多线程编程(一) 收藏
  5. .net发送邮件outlook中文乱码
  6. 拒绝假货!LVMH与普拉达、卡地亚联手推出区块链平台AURA
  7. Eclipse 有望超越 Visual Studio!
  8. mysql 全库查询关键字_数据库查询语句关键字总结
  9. 安科瑞配电室综合监控系统实现配电室内环境的在线监测,保障配电室设备的安全运行
  10. 利用Python一键爬取上海二手房信息
  11. 抖音神器---python实现图片转字符
  12. JavaScript实现浏览器特定区域截屏和下载功能
  13. 计算机硕士毕业面试题,计算机研究生面试自我介绍
  14. 道家修真分哪几个境界?
  15. C1. Pokémon Army (easy version)(栈模拟)
  16. quartz所需表的说明
  17. .net framework 3.5 dotNetFx35setup 能不需要网络支持吗?
  18. eos采用的共识机制是_EOS共识机制详解
  19. std::thread vs CreateThread
  20. 移动应用开发实例_物联网改变移动应用开发的4种方式

热门文章

  1. alertmanager中关于router的理解
  2. python 人机交互系统是什么意思_什么是人机交互系统
  3. 镜像神经元疗法的临床作用,镜像神经元如何刺激
  4. graylog lookup table使用
  5. Android RecyclerView设置分割线 / 下拉加载 / 选项菜单进行增加删除动画
  6. 速度收藏!《阿里技术参考图册》发布,公开600页技术全景图
  7. 2021行车记录仪什么牌子质量好
  8. 医疗器械国内注册相关法规(一)
  9. 电子电路学习笔记(4)——二极管
  10. 02-JVM垃圾回收