公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

XMC实验分享之八十三: Dave生成FreeRTOS工程

XMC实验分享之八十三: Dave生成FreeRTOS工程

User12775
Level 5
Level 5
First solution authored First like received

本想过几天再发, 想了想还是今天发了. 毕竟这几天空闲较多, 多发点贴子.


本贴演示Dave创建FreeRTOS的工程, 工程内容跟上两贴一样, 目的就是分享使用Dave的GUI界面生成软件代码.


闲聊几句:


个人非常喜欢这样的编程方式. 现在如果要我每一行用代码做配置, 设置, 我就基本不想动. 上大学的时候, 我是从汇编语言开始学的, 当时搞x86, 8051, PIC, DSP的汇编语言,还用汇编做过小项目. 当时觉得汇编语言好NB, 别人不用汇编语言, 我还跟人辩论.


后来一个项目中, 多人一起开发, 我是集成别人的代码的人. 他们用C语言编写的功能模块, 我用汇编来调用. 一两天后就觉得不舒服了, 因为刚开始他们的C代码给到我, 我都把变量的地址都记录下来了. 但是稍为一改C代码, 变量,函数的地址都变了. 让我不得不使用C代码来跟他们统一. 使用C语言之后, 就在也不想回汇编语言了, 但是很多时候需要优化, 需要指令级别调试. 这时候汇编知识让我找问题的速度比不懂汇编语言的程序员要快. 所以汇编语言的特点就是不能作为项目的主框架, 但是细节之处汇编语言的知识不可少. 尤其是嵌入式工程领域, 很多时候没有汇编语言的知识, bug根本找不出来.


再到后来参加工作, 又开始搞C++(因为刚工作那会儿,要写桌面程序, 用的Qt, MFC这些). 觉得C++比起C语言又进化不少, 在内存分配上, 在基本的数据结构上, C++为程序员解决了不少问题. 比如用C语言时, list, map, set这样的结构, 要么自己实现, 要么使用第三方的库. 总之很不标准, 移植维护工作量很大. C++中, STL能解决大部分的这种问题, boost解决剩下的问题. 现在C++11之后, 标准越来越激进, 新增加了好多功能. 可是C++目前在嵌入式领域应用太少, 最主要的原因, 嵌入式处理器的内存一般不大, C++的开销比较昂贵. 但是随着硬件成本下降, C++肯定会接C语言的重任. 美国的F35战斗机就基本用的C++. Ada这种语言也会慢慢的被C++取代. 除了硬件成本下降, 还有基础软件成熟度的上升,也会促进C++的应用推广. 比如流行的Arduino用的基本都是些很低端的处理器, 那个也用C++编程. 当然那还是玩具性质居多. 但是我个人认为至少汽车电子这块, C++很有可能近几年就会走向前台, 来淘汰C语言.


后来工作原因, 我又学了python, java, go, rust等语言, 感觉嵌入式端, 这些语言几十年内不会有很大的应用场景.


C语言也好, C++语言也好, 在嵌入式端还有一个问题就是快速原型的代价太大, 比如手工搭建一个有RTOS的工程, 就要费不少劲, 所以这几年兴起的图形化生成代码的工具我非常看好. 就算以后C语言慢慢过时, 图形化编程的方式一定会越来越流行.


以上是我有感而发, 如有不正确之处, 请高手们指教.

闲话就到这里.



0 点赞
1093 次查看
6 评论