专访许雪松:深⼊理解嵌⼊式开发
许雪松,毕业于西北⼯业⼤学⽣物医学⼯程专业,现任必达测控技术总经理。15岁开始接触计算机编程,18岁学习C/C++编程,迄今已⼗多年有余,领导并参与⼤⼤⼩⼩⼏⼗个项⽬的开发及维护。涉及⼯业⾃动化、嵌⼊式计算机以及逆变器等领域。尤其擅长RTOS,如uC/OS-II、RTEMS,翻译RTEMS官⽅⽂档近千页。也擅长测量电路和开关电源的设计,现在在公司领导团队设计电池测试产品和⼤功率逆变器产品。
⼀切源于爱好
CSDN:你如何在15岁接触到计算机编程的?
许雪松:1997年的时候,我15岁,读⾼⼀,学校参加市⾥的编程⽐赛。从各个班级⾥选拔⼀些成绩⽐较好的学⽣参加,当时我对计算机的理解仅限于这个名称。我在班⾥成绩还可以,⽼师问我是否愿意参加,反正多学东西没坏处,我就参加了。当时我不懂什么叫编程语⾔,从地摊上随便买了本basic编程的书(我的第⼀本计算机书籍)。学校为了能考个好成绩,从华中科技⼤学请来个计算机⽼师(姓唐,名嵩),他也是我的计算机启蒙⽼师。培训开始有很多⼈,不到⼀个星期就锐减到4个⼈。当时参赛的编程语⾔只能是QBasic或turbo pascal,也因为那本书的缘故,所有⼈当中只有我⼀个在搞basic。弄得唐⽼师⼀边讲完pascal,⼀边单独给我开⼩灶讲basic。那时候还是win95的天下,学校的电脑清⼀⾊的386,
全部没硬盘,⽤5.25⼨的软驱和dos启动盘⼯作。唐⽼师给我做了张启动盘,把QBasic和dos全部放了进去。学习过程是枯燥的,我⽼是把赋值语句当作现实数学⾥的⽅程理解,所以⽼是理解不了x = x +1……
CSDN:是什么原因让你⼀步步进⼊嵌⼊式世界?
许雪松:主要因素是我的爱好。在同龄⼈中,由于特殊的机会,接触计算机相对较早,学习编程也早。记得⾼三的那年写过的C/C++代码就超过万⾏。⼤学的时候,由于所学专业正好和编程结合在⼀起。
我在⼤学第⼆个暑假,刚刚学完了数字电路,就想⾃⼰做个闹钟。当时在计算机系认识的⼏个好友说学校和台湾的凌阳建⽴了个实验室,推SPCE061A的单⽚机,我第⼀次听到这个东西,这个是⼀个能⽀持语⾳的MCU。于是到实验室的⽼师,从他⼿⾥买了颗SPCE061A。从电⼦市场买了个盗版 protel99SE,画了个PCB,当时还不知道怎么绘制原理图。就是⼀根⼀根线硬那样连上去。画了近⼀周,PCB发出去,因为没钱,只能做⽩板。就是板⼦没有绿油,阻焊层,那个板⼦焊接起来讲究⽔平啊!特别的吃锡,省下下半个⽉的伙⾷费,买齐了元件,贴上板⼦,开始调试了。从⽼师那⾥借了个仿真器,开始编程。我的第⼀个单⽚机程序,代码量不⼤,也就是⼏千⾏。最终的产品是⼀个⽤我声⾳报时的闹钟,做完后,我把它送给我⼤学⾥玩得⽐较好的⼥同学。从此,我对单⽚机程序产⽣了浓
厚的兴趣,同样是计算机,还是这个来得过瘾。送给好朋友后那份兴奋我⾄今难忘,这感觉使我对嵌⼊式产⽣了浓厚的兴趣。
由于专业的原因,很多企业不愿意给予技术岗位。只好⽤嵌⼊式编程这个爱好敲开了企业⼤门,使我在这条道路上越⾛越远。
CSDN:你第⼀份⼯作有很多的不如意,后来⼼态是怎么调整的?
许雪松:这其中有很多故事,今天回头⽤审视的⾓度去看,⾸先是⾃⼰有些⾃我膨胀;其次,⾃⼰涉世不深,不懂⼈情世故;最后,性格使然,缺乏对情绪有效地控制。
⾃⼰对⼯作⽐较上进,第⼀份⼯作的不如意,让⾃⼰很痛苦,痛定思痛。为什么我会痛苦?我有哪些问题?这些⽭盾是怎么产⽣的?这个企业有什么优点、不⾜?如何扬长避短?当然这些问题并不是⼀下⼦就想到答案。第⼀份⼯作做了两年,将这些问题全部弄清楚后,就决定辞职。我相信,⾃⼰可以把握⾃⼰的职场命运。
深⼊理解嵌⼊式
CSDN:我们都⾮常熟悉Windows这样的操作系统,但却不⼀定熟悉嵌⼊式系统中常⽤的RTOS。以你经验谈谈嵌⼊式和实时系统是什么样的?
许雪松:学⽣时代和朋友说起,我们这代⼈⽣在windows下,长在windows下,以为世界上就windows这唯⼀的操作系统。好在现在有Android和iOS让很多⼈意识到除windows之外还有别的操作系统。
嵌⼊式系统是为了特定应⽤⾼度定制的软件硬件计算机系统。从⼴义的去理解,只要被定制,都可以算作嵌⼊式系统。如今,在家⽤的x86系统上,跑⼀个类似VxWorks、RTEMS等操作系统,当成⼀个家庭⽹关都可算是嵌⼊式系统。有时候,同⾏认为真正的嵌⼊式系统硬件也必须按照应⽤去定制。
操作系统就是个资源的管理器。管理计算机上的全部资源,如CPU的计算时间、内存、IO等。实时操作系统简单的说,计算结果不仅依赖于计算结果的正确性,还依赖于结果计算完成的时间。⽐如说,⽕警按钮,按钮按下,要在规定时间内处理完成,延迟太⼤或者宕机都是⽆法接受的。
CSDN:嵌⼊式系统为什么对实时性要求那么⾼呢?多快才算是实时系统?是不是所有满⾜⼀定的速度都可称为实时系统?
许雪松:很多⼚家并不需要RTOS,前后台也能满⾜其需要,但他们还是⽤了RTOS。实时操作系统的⾼效是为嵌⼊式系统⼴为接受的⼀个很重要的原因。⾼效有两层意思,⼀是⽤任务可以封装开发的逻辑,使应⽤层代码逻辑更加完整,减⼩开发难度,代码的复⽤程度会变⾼;⼆是,RTOS代码都⽐较简洁,算法的空间杂度和时间杂度都很⼩,能将MCU的绝⼤部分资源都留给应⽤层。反过来,⼤量的应⽤促使RTOS更加的可靠、更加的精炼,实时性也会更好。当然,如医疗电⼦、航天电⼦和⼯业控
制本⾝,有许多计算是依赖于时间的,对实时性要求⾮常苛刻。
实时⼀个很⼤的误区是认为实时是快的意思。Windows启动⼀个应程序,在刚刚关闭⼀个⼤型程序后和刚刚启动不久,时间是完全不⼀样
的。如果RTOS启动⼀个应⽤程序的时间是10秒,那么,不论在任何状态下,RTOS启动这个应⽤程序都是10秒,有⼀些误差,但这个误差是在系统的允许范围内。实时并不是快,是对于⼀个特定的计算过程,它的时间抖动⾮常的⼩,⼀般都可以精确到毫秒级。
CSDN:嵌⼊式编程相⽐PC编程,具有哪些复杂性?你认为学习嵌⼊式开发如何开始和深⼊?
许雪松:嵌⼊式开发最⼤的挑战是软件硬件同时成熟,出了问题容易踢⽪球,影响开发时间。然⽽,对于软件开发者来说,最⼤的问题莫过于软件代码的撰写。PC平台的封装⾮常完善,应⽤也⾮常⼴泛,没有明显的错误,极其稳定。嵌⼊式平台⼏乎没这样的资源和封装级别,且和⼀些寄存器相关。这些寄存器配置的顺序,值都有严格的规定,严格按照datasheet的要求做。嵌⼊式代码全新开发得太多,⾃⾝也有个成熟的过程,也存在着很多⽅⾯的问题。例如:代码的应⽤层和底层耦合、应⽤层的使⽤不当和造成底层顺序错误等等。嵌⼊式调试成本很⾼,调试⼿段相⽐PC也⽐较单⼀,对从业⼈员的要求更⾼,这都增加了嵌⼊式的复杂性。
第⼀次选择嵌⼊式,完全不知道它是什么。⾛到今天,完全是兴趣使然。国外开源社区很多⾼⼿,其实都是抱着玩的⼼态去做开发,玩得好,也就是开发的好;开发的好也就是玩得好。这样才能保持持久的热情。我们常说成事要靠坚持,其实坚持需要⽅法和态度。
嵌⼊式还是计算机科学应⽤的⼀个⼦集。所以,学习好计算机基础课程是⾮常必要的。国内很多从事嵌⼊式的朋友,都是如电⼦、⾃动化等⾮计算机专业毕业的,这种状态不利于嵌⼊式职业的长期发展。
对于如何学习嵌⼊式开发我个⼈认为:
⾸先要学习好计算机的基础课程;
然后要有编程量,嵌⼊式以C/C++语⾔为主,这么语⾔⼊门易,掌握难,唯有⼤量的练习和阅读,才能提⾼,建议可以的话写到⼗万⾏的量;
系统介绍嵌⼊式开发的书籍很少,建议看《程序员的⾃我修养》,可以对整个嵌⼊式开发的内在机理有个较为深⼊的认识。
CSDN:硬件开发平台有FPGA,ARM,DSP等等,哪个更好,能简单分析下吗?初学者如果要学习ARM开发板,该如何去选购?
许雪松:FPGA和MCU是嵌⼊式开发的两个不同领域:前者硬件多、后者软件多,应⽤的⾏业领域和背景知识差别很⼤。两者相互不能完全替代。⼀般来说,FPGA相对于MCU的市场,较为⼩众。⾄于DSP,它是以计算见长的⼀类MCU,并不适合跑调转指令太多的事务代码,会打断流⽔线,优势体现不出来。所以,DSP的应⽤和⼀般的MCU⽤法略有不同,⽐较侧重计算、优化。
ARM是近⼗年来嵌⼊式中常⽤处理器,随着Cortex系列的推出,其市场更加⽴体和全⾯。看⽬前市场的发展,选择cortex-M4或cortex-A8的单板做相关的开发,会更贴近现在企业应⽤的偏好。但如果这类开发板若太贵,也不⼀定就要买⼀块Cortex的开发板。其实,在实际的硬件上主要锻炼的是:驱动的开发,系统的移植。⽽常⽤的驱动中最复杂的莫过于以太⽹和图形系统,开发板能完成这两⽅⾯的学习即可。CSDN:学习嵌⼊式开发的开发板是否⼀定要买?是否有⽐较好的硬件模拟器?
许雪松:可以直接在x86上做。我买过开发板,但是买了之后,就放在屋⼦⾥睡觉。因为可以直接使⽤x86平台做⽬标平台。
虚拟平台差异很⼤。⽬前,x86是虚拟做得最好的平台,可以在x86上实现所有的驱动。ARM的平台虚拟⽔平也要看具体型号。我曾今参加⼀个开源项⽬,将RTEMS移植到QEMU mini2440上,可惜QEMU mini2440 的虚拟器或多或少仍有点问题,但也可以解决⼤部分的问题。可对于学习操作系统的朋友,去解决虚拟平台的问题,有些不靠谱。所以,真⼼想学习的,就把x86当作嵌⼊式平台去写代码。毕竟,能⽐x86这种嵌⼊式还要复杂的系统,也是屈指可数的,其含⾦量⽏庸置疑。
CSDN:请简单介绍下哪些是常⽤的嵌⼊式系统?在这些系统中,如何选择适合⾃⼰的系统?
许雪松:uC/OS,FreeRTOS、rt-thread、VxWorks、ThreadX、RTEMS、ECOS。不下上百种。在这些系统中选择⾃⼰的系统可不是件容易的事情。
学习的朋友,我推荐uC/OS,有相关书籍,国内⽹上的资源也⽐较多。uC/OS仅仅是⼀个处理器时间的分配器,简单、易学。学好了,触类旁通,其他的也复杂不了多少。
由于商业应⽤⽐较复杂,涉及⼯具链、商业授权、维护、可靠性、易⽤性等问题。商业应⽤的朋友我建议开源免费的就选择发展时间⽐较长的系统,如RTEMS、ECOS这种系统,或者直接选择有商业服务的系统。
CSDN:在众多的实时操作系统中,你为什么选择RTEMS?现在还有开发⽤到RTEMS吗?如果初学者想精通⼀门RTOS , 你觉得从RTEMS 开始可⾏吗?
嵌入式系统开发是什么许雪松:当年公司使⽤的RTOS除了版权问题,还有技术、代码的问题,迫切需要寻替代品。通过互联⽹搜索到RTEMS,它在2003年加拿⼤航天部门综合指数排名中超过VxWorks。这让我产⽣了极⼤的兴趣,⼀个开源免费的操作系统RTEMS做得尽然⽐商业系统还要强悍,于是开始学习它。RTEMS的内部数据结构设计⾮常精巧,是⼀个知识的宝库。举个例⼦,在数据结构⾥,双向空链表插
⼊第⼀个元素时与插⼊第⼆个元素操作很不⼀样。在RTEMS⾥,⽤特殊的技巧使得不需要做这种判断,直接插⼊就好。⼜如堆的管理、重复释放申请的指针,不会产⽣任何问题。⽽在uC/OS⾥,这是致命的。虽然RTEMS是上个世纪80年代末开发的系统,数据结构和内部的组织从今天的⾓度来看,仍然是⾮常先进的,是个含⾦量⾮常⾼的系统。
RTEMS的代码量⽐Linux⼩,⼜⽐uC/OS这种系统⼤⼏个数量级。其开发难度和应⽤难度相对较⾼。初学者若是有坚实的基础,可以从RTEMS开始学习;基础较差朋友,若有RTEMS的熟⼿带,也是可以的。否则不建议这样做,会挫伤学习的积极性,形成恶性循环。CSDN:对于软件⼯程师来说,能够使⽤⼀个很上⼿的嵌⼊式实时操作系统,在嵌⼊式领域⾏业中,绝对是相当于揣着⼀个⾼薪的铁饭碗。随着嵌⼊式领域⾏业的兴起,嵌⼊式的操作也在不断的改良之中,⽽且为了满⾜需要,嵌⼊式实时操作系统也是在被不断的更新与创造。你认为要成为⼀名优秀的嵌⼊式⼯程师应掌握哪些技术,具备哪些职业素养?同时,在你招聘嵌⼊式⼯程师这个职位的时候,你最看重的是应聘者什么能⼒?
许雪松:从⼩受到的教育就是,未做事先做⼈。这⾥蕴含⼀个道理,上层建筑固然重要,但更重要的是基础。⼀个优秀的⼯程师总有⼀天会⾯对⼀些问不到答案的问题。⼀个企业也总有新的东西,⼀个⾏业会发⽣技术变迁。所以,我始终认为,⼯程师的专业知识固然重要,但沟通、观察、创新、承受压⼒、前沿跟踪、学习、情商、反思、信息整合能⼒更加重要。
招聘时,除了考查专业基础,就是沟通、观察、前沿跟踪、学习以及信息整合能⼒。再有就是同理⼼,能不能换位思考。今年看新闻说是毕业⽣创历史新⾼,就业⾮常困难,企业需要的⽆⾮就是能做事的⼈。
⾸先,要踏实肯⼲,有⼀定的业务能⼒;
其次,愿意学,与企业⼀同成长;
再次,懂得度,最直接的莫过于付出与所得,往往不能太执着太计较;
最后,弄清楚⾃⼰喜欢什么,最好能把⾃⼰的爱好和⼯作统⼀起来。
CSDN:嵌⼊式实时实操作系统是软硬件紧密结合在⼀起的计算机系统,软硬件结合⽅⾯你有什么⼼得可分享?
许雪松:举个简单的例⼦,开关电源的电感在⼀个时钟周期内,要满⾜伏秒平衡。其物理意义是,开关周期内电感吸收的能量和释放的能量应该是相等的。否则,系统不会平衡,换据话说,就是不稳定。对于软件系统,特别是复杂的⼤型系统,虽然有严谨的理论去判断⼀个软件模块的稳定性。但对于程序员调试,并不是⼀个简单轻松的过程。可以借鉴伏秒平衡的思路,⼀个⼤型的代码在⼀个状态结束时,除了⼀些统计变量之外,应该是回到最初的状态,否则,系统会不稳定。具体的体现:内存
释放与申请,系统输出的结果等应和最初状态⼀致。
在软件抽象⼀些客观事物时,可以参考硬件的抽象。⽐如说以太⽹相对于处理器是个低速设备,为了解决⽆休⽌的中断,DMA可以⼤⼤缓解处理器的压⼒。如果处理器抽象成⼀个类、以太⽹抽象成⼀个类,那么DMA可以看作⼀个通信关联类了。其参数的抽象和深⼊的分析,对软件设计和硬件设计都是个极⼤的促进。
从这两个例⼦看,软硬结合,其实是洞悉硬件和软件的本质,解决实际⼯程中的问题。
CSDN:实践中你们嵌⼊式项⽬中的移植性如何权衡如何保证的?
许雪松:移植性并不是嵌⼊式软件中优先保证的⽬标,保证移植性就要写⼀定的框架代码,框架代码的复杂度⾼,那么系统的开发成本⾃然就上去了。这⾥还主要是具体问题具体对待,对于需求增长的产品,选择系列的处理器,采⽤操作系统,借⽤⼀些成熟的、轻量级的中间件,平衡成本与开发之间的⼀些需求。
CSDN:迄今为⽌你已⼯作8年,领导并参与⼤⼤⼩⼩⼏⼗个项⽬的开发及维护⼯作。在项⽬管理上你有什么⼼得可分享?
许雪松:我所在的团队较⼩。不适合使⽤CMMI等重量级的⽅法,仅仅适合轻量级的⽅法。开发讲求质
量和效率,我们知道做事情都有⼀定的流程:⽬标→过程→结果→验证结果是否符合⽬标,最后再去适当修正。⽆论CMMI、敏捷等都是想办法在在有限的时间和资源内保证结果与⽬标的⾼度对应。我认为项⽬管理其实就是对资源统⼀调配、克服风险,在有效的时间内保证结果与需求对应的过程。
对于⼀些⼩团队,项⽬资源紧张的情况,没有时间写⽂档,风险不能及时的评估,特别是嵌⼊式开发,分享以下经验技巧:
从⼯具⽅⾯,如选择⼀些能提⾼效率的⼯具,⽤C++开发界⾯⽤QT⽐VC有效率;使⽤图形库扩展传统的系统,使之易学易⽤,提⾼开发效率。嵌⼊式中可以使⽤操作系统,将应⽤层和底层彻底隔开,先在成熟平台上开发,有⼀定成熟度后在转到⽬标平台上;
从⼈⽅⾯,选择技术贴近项⽬的技术⼈员,熟悉产品需求的⼈员做开发,对需求理解准确,不易产⽣错误;⽤⼈要选择善于沟通的⼈,负责⼈或Leader对于不善于沟通的⼈需要做好缓冲;团队负责⼈定期打⽓,融洽成员关系;
从⽅法⽅⾯,对项⽬的设计思路做⼀个⽩板讲解,让有经验的⼯程师听听,有什么不⾜和可取之处。对照需求⼀条条做个评审,避免设计的盲区;硬件开发有许多不可压缩的过程,不妨将硬件资料压⼀段时间,让其出三个错误再发出;项⽬定期设⽴检查点,项⽬设计者应该将交付物⼯作量缩⼩,每隔⼀段较短的时间,⽐如说3~5天就可以交付⼀个⼯作。会议不要长,保证每次有问题都能给出结果,
即使给不出结果,也能给出暂时的办法;
从技术⽅⾯,使⽤⼀些公司长期在⽤的技术,团队熟悉的技术,可以极⼤提⾼团队对抗风险的能⼒;项⽬经理需要⾟苦⼀些,要做⼀些测算。如⼈员效率、产量、质量等度量参数,学会把这些参数利⽤到下⼀个项⽬中;在项⽬开始之初,多些业内专家,仔细聊聊,多些技术⽅案,选择最合适的使⽤。客户提出的需求不⼀定全部合理,学会和客户沟通,降低技术⽅⾯的开发难
度,提⾼其它⽅⾯的满意度,也可以使整个项⽬很成功。
CSDN:嵌⼊式开发⼀直是⾮常⽕爆的技术领域,你怎么看当前嵌⼊式的发展和应⽤?另外当下移动互联⽹和云计算⼤⾏其道,你觉得嵌⼊式开发未来都有哪些发展机遇?
许雪松:随着科技的进步和各⾏各业的发展,嵌⼊式还会有更⼤的作为。像物联⽹、车联⽹和智慧城市等等,都是⾮常具有前景的领域。
移动互联⽹和云计算是当下热门技术,嵌⼊式在这⾥⼤有可为。我们注意到,⽆论云技术还是互联⽹、物联⽹等等,都少不了互联,这也就意味着复杂的通信和协议。我想这不是⼀个系统平台能通吃的,嵌⼊式会⼤有可为。通信节点、数据采集、并⾏计算、终端控制,我想会出现⼤量嵌⼊式的⾝影,特别是嵌⼊式操作系统和RTOS也将⼤有可为。
创业去
CSDN:你在11年7⽉,应朋友的邀请⼀起创业,创⽴了必达测控技术有限公司,当初你为何选择创业?你怀着怎样的⼼情?
许雪松:我起初也和很多刚参加⼯作的⼈⼀样,抱怨过不如意,抱怨过⼯资少,不公平。那时看问题的⾓度很单⼀;我做研发时,设计的东
西被⽼板批评,总不能全部理解。现在好了,全部都理解了,有些可能体会更深。
当时出来时,没揣着对未来的憧憬是不可能的。但更多的是让⾃⼰更加完整、成熟。
CSDN:你毕业之后第⼀份⼯作是嵌⼊式软件⼯程师的职位,两年后换了⼯作,半年后就被提拔成项⽬经理,⼀做就是四年,之后毅然与朋友创⽴了必达测控成为了⼀名管理者——出任总经理(主要负责技术和内部管理),你是如何进⾏⾓⾊转变的?
许雪松:我有个习惯,就是反思。反思⼀件事情为什么做得不好,哪⾥做得不好,有什么改进的办法,有什么规避的措施,从什么⾓度看更合理等等。这个可能是使⾃⼰能转变的⼀个原因。其实,⾃⼰没有说⼀定要做什么,只是⾝边出现了这样的机会。我觉得我可以试试,让⾃⼰有更多经历。
CSDN:现在你在公司领导团队设计电池测试产品,⼤功率逆变器产品,为什么选择这⼀⾏业作为⾃⼰的创业⽅向?在实际的操作中遇到最⼤的问题是什么?
许雪松:新能源未来会有⾮常美好的前景,电池作为能源转移存储的中间环节,也必将经久不衰。这都促使我看好这⾏,更重要的是⾃⼰从事这⾏很久,也⾮常熟悉这个⾏业。
对创业来说,最⼤的问题就是资源,这⾥的资源不仅仅是钱,还有⼈、市场等等。有限的资源对抗⼏乎⽆限制的问题,权衡是最难的。⽑主席说,农村包围城市。做企业,要有打持久战的决⼼和毅⼒,更要有舍得的智慧。
CSDN:你⽬前做得企业是⼯业企业,属于实业。最初阶段你是否感觉到压⼒?你的创业过程中最⼤的困难是什么?
许雪松:当然有压⼒,⽽且很⼤。⼩时候,常听到⼀句话是,困难是暂时的。我也这么告诉⾃⼰。后来,⾃⼰明⽩了。困难怎么可能是暂时的?困难是⼀种常态。主要⽭盾制约着事物的发展,次要⽭盾也会变为主要⽭盾。⽬前最⼤的困难是资源紧张,我想这会伴随我相当长⼀段时间。
CSDN:你的梦想是什么?
许雪松:我有很多梦想,现阶段:
1.让公司越来越好;
2.希望家⼈健康;
3.抚养我孩⼦健康成才;
4.为RTEMS多做⼀点事情(出书)。
CSDN:在你⼀路⾛来,遇到⼀些浮躁的⼼境时是怎么处理的?对刚进⼊这个领域的⼈有何建议?
许雪松:我是个挺爱反思的⼈,每当这个时候,我想,总不能想歪招过关。这事⼲多了,命运就交给别⼈了。多点把握在⾃⼰⼿⾥没有坏处,结果不好时,想起来没啥后悔的。
中国经济正在转型,浮躁是难免的。这⾥做到:
1.少和别⼈去⽐,在没有充分了解所有要素前,⽐只会让⾃⼰盲⽬乐观或悲观;
2.少去抱怨环境的不公平,种⼦没有抱怨过,它只是在合适的时候发芽,开花结果。静静等待,修炼⾃⼰。
CSDN:你是什么时候接触到CSDN,它对你⼯作和学习起到哪些帮助或影响?对CSDN有什么建议,
对其未来有什么期待?
许雪松:我学⽣时就接触CSDN,⼀个⾮常不错的平台,让我结识了很多志同道合的朋友,提升了⾃⼰。感谢CSDN。
CSDN⽬前对系统应⽤和研发管理这块分得⽐较细,对底层和硬件分得⽐较粗,没有嵌⼊式和硬件开发的分类。最后希望CSDN越来越好。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论