浅谈嵌入式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_41294615/article/details/79894137

谈谈嵌入式软件


来点铺垫吧


让我总结嵌入式最大的特点那可能就是就是 “什么都得知道一点”,我之所以选择嵌入式软件行业的原因也也就是这个吧,因为这个行业里面可能会用到许多知识,不用大学岂不是白学啦!

  • 软件的编程知识这就不用多说了吧,一定是要熟练的
  • 基本的硬件知识你得了解吧?
  • 遇到一些网络问题,比如进行网络通讯的时候需要知道一点网络知识吧?
  • 涉及到工作效率的时候你的算法知识这个时候可能就有用啦!
  • 做嵌入式少不了接触传感器,那么你的物理知识怎么样呢?
  • 假如某个板子线路坏啦,你免不了要自己动手焊接电路
  • 好多传感器,功能函数的说明书都是英语的,那你的英语…(算了,不提英语,心疼。。。)

是不是被吓住啦!其实也没有那么恐怖的,除了第一点,其他要求都只需要学一点,慢慢慢慢你就会啦。
接下来,我将谈谈我对嵌入式的理解吧!纯粹个人理解。
(如雷雷同纯属巧合,如有错误反正我又没有说我这个一定是正确的)


什么是嵌入式


如果官方一点的话”嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分” 。嵌入式可以有很多理解,如果把抽出来”嵌”理解为动词的话,那么,他就是将芯片嵌入到一个设备里面。当然也可以将它认为是一个小型的电脑,传统理解的电脑也可以叫做嵌入式系统,只不过他的外设功能可能会多一点。在我看来将芯片和需要的功能组合起来能够完成相应的功能就可以称作嵌入式系统。不过这得看自己的吧,每个人的理解的都不一样。


芯片


嵌入式无非就是写代码给芯片,让它去执行相应的程序。如今市面上芯片那么多到底怎么选芯片呢?大家最熟悉的可能就是51单片机了,大学好多都学51单片机的编程,51单片机是挺不错的,比较经典,资料又多,学习的人也挺多的,遇到什么问题上网都能够很好的找到相应的资料。不过我这儿推荐的是ARM的芯片,相比于51单片机来说ARM家族更为强大,功能上面比51单片机多很多,还可以根据需求自己选相应的芯片类型,无论是裸板开发还是linux开发,ARM都有相应的芯片支持。可以满足更多的场合需求。


语言


嵌入式软件和好多其它计算机专业有很大的不同,最大的特点可能就是有嵌入式硬件这样一个东西。所以嵌入式软件开发有时需要和做硬件的一起工作,也要了解许多硬件的知识。在开发当中考虑的东西会很多,曾经我用C++在VS上面编程的时候根本不用考虑太多的内存(这是一个坏习惯),不过嵌入式软件就不一样啦,你不仅要考虑内存大小,同时还要考虑运行效率等,因为嵌入式的芯片的执行效率可用资源大多不如计算机的CPU,甚至远低于电脑CPU,对于这样一个小小的东西你还能怎么样呢?当然通过努力优化算法,节约内存,用有限的资源去完成相应的功能喽。

这可能就是好多用底层语言看不起用高层语言的原因吧!(和PHP是最好的语言一样,这个也不是我说的)不过的确,接触底层,你才会感觉到资源的可贵,而不是随随便便申请一个大的内存却只用来完成相当小的一部分工作。


工作环境


嵌入式软件工作和普通软件工程不大一样,通常不是随随便便一台电脑就行啦,还需要硬件的支持,有时候需要用示波器查看一下输出的波形,有时候需要用万能表测一下电压电流之类的,有时候有需要自己连接线路。这些都是经常的事情,所以好多搞嵌入式的很少会像搞web,java的一样回家还敲代码。不过对于喜欢动手的来说这也挺好的,工作起来不那么单一所以也不会无聊。


总结


没什么总结!!!


(版权声明:本文为博主原创文章,未经博主允许不得转载)

猜你喜欢

转载自blog.csdn.net/weixin_41294615/article/details/79894137