嵌入式入门首先必须要知道以下几点

想要获得扎实的技术,强大的软件开发能力,还有你梦寐以求的高薪白领生活!下面教你以下几个学习小窍门,助你学好嵌入式!
  
1、安装一个Linux的发行版本,熟悉使用Linux,掌握Linux下的目录结构、基本命令、编辑器VI、编译器GCC、调试器GDB和 Make 项目管理工具,Shell Makefile脚本编写等知识,以及嵌入式开发环境的搭建,如果曾是WINDOWS的程序员,尝试把开发环境转移到Linux下来。或者开始在WINDOWS的开发工作中使用开源的开发工具和SDK。
  
2、其次要了解C语言,C语言是嵌入式开发中最重要的编程语言,要对这门语言有深入的理解,毕竟不仅仅要会写程序,看懂他人程序也很重要。你也可以不参与项目的开发,但仍然能从代码阅读中获益。如果项目是一种你没有接触到的技术或者标准的实现,那么搜集资料读懂它,最基本的数据类型、数组、指针、结构体,链表、文件操作等都要会,掌握基本语法和语句。
  
3、学会SHELL编程。SHELL几乎可以作为一个入门语言来学习。最低的要求是能够看懂你自己的版本的Linux的配置脚本。理解为什么一些帖子中里提到的配置方法回起作用,并了解你的发行版本怎样从每个配文件中把设置用环境变量的形式读取并让他生效的。
  

物联网来了,搞单片机的该何去何从?

作者:陶钧,嵌入式软件工程师,IT从业者

说说我对于物联网的看法。首先,可以肯定的是,物联网肯定是将来发展的一个大方向,这个毋庸置疑,但是物联网的真正崛起可能还需要一段时间。要让物能联网,必须要有一个微型的控制器,这个控制器就是所谓的单片机,这个单片机的功能不需要很强,但是最好能低功耗。

然后是联网,目前智能家庭主要是几个方案,一个是Zigbee,一个是PLC,还有一个是RFID。对于无源的东西,RFID是个不错的选择,比如说冰箱里买的食物,可以在冰箱门上的液晶屏上看到都有哪些,也能看到哪些即将过期,这些都依赖于食物包装盒上的RFID标签,冰箱本身就是个RFID读卡器。对于有源设备的控制,Zigbee是个不错的选择,可以通过无线来进行控制。此外,PLC我觉得是个大的发展趋势,国外这两年在这方面进行研究的公司也挺多,通过PLC可以在不增加新线路的基础上将所有的用电器都连接到互联网。当然,对于国内来说,目前电网上的噪声比较大,PLC的实际应用可能还需要些时间,但我个人比较看好PLC。

作为控制器,其实需要实现的功能非常有限,也根本无需大规模的计算量,一个非常简单的单片机就能胜任,但需要把单片机做精,也就是集成RFID、Zigbee、PLC中的一个或几个核在芯片内部,这样来减小控制系统的体积,以实现嵌入式。

单片机的编程规范

编程首要是要考虑程序的可行性,然后是可读性、可移植性、健壮性以及可测试性。这是总则。但是很多人忽略了可读性、可移植性和健壮性(可调试的方法可能歌不相同),这是不对的。

1、当项目比较大时,最好分模块编程,一个模块一个程序,很方便修改,也便于重用和便于阅读。

2、每个文件的开头应该写明这个文件是哪个项目里的哪个模块,是在什么编译环境下编译的,编程者(/修改者)和编程日期,值得注意的是一定不要忘了编程日期,因为以后你再看文件时,会知道大概是什么时候编写的,有些什么功能,并且可能知道类似模块之间的差异(有时同一模块所用的资源不同,和单片机相连的方法也不同,或者只是在原有的模块上加以改进)。

3、一个C源文件配置一个h头文件或者整个项目的C文件配置一个h头文件,我自己采用整个项目的C文件配置一个h头文件的方法,并且使用#ifndef/#define/#endif的宏来防止重复定义,方便各模块之间相互调用。

4、一些常量(如圆周率PI)或者常需要在调试时修改的参数最好用#define定义,但要注意宏定义只是简单的替换,因此有些括号不可少。

5、不要轻易调用某些库函数,因为有些库函数代码很长(我是反对使用printf之类的库函数的,但是是一家之言,并不勉强各位)。

嵌入式开发的四大方向,哪一个在向你招手?

近几年来,随着移动互联网、物联网的迅猛发展,嵌入式技术无处不在,笼罩着各行各业,在通讯、网络、工控、医疗、电子等领域发挥着越来越重要的作用。随着嵌入式技术及相关产品不断渗透到人们日常生活,同时大大小小的公司对于嵌入式开发人才招聘需求猛增,但对嵌入式未来发展方向不太明确的成员来讲,究竟应该选择哪种方向,才会更加适合自身发展和长远的职业规划?

那么先来了解下嵌入式设备的本质吧,其本质是一台专用的、微型计算机,嵌入式设备也由三个层次的相关内容组成:

(1)硬件,包括cpu(如ARM)、存储(如flash)、I/O(显示模块、通讯模块、视音频模块、I/O控制电路等)。

(2)系统级软件,主要是操作系统也就是OS,以及I/O软件如LCD、蓝牙、wifi、CDMA、声音等子系统。

(3)应用软件,如基于linux的应用开发,基于Android的应用开发,基于iOS的应用开发等。

当然嵌入式开发的发展方向有很多,但是具体的专业各有不同,门槛到底各有不同,先就简单从四大职业方向来具体阐述。

嵌入式开发的四大方向,分别有哪几个?下面小编来简单介绍这几点内容,通过以下内容的简单介绍,相信会有更多的人会明确自己的目标,以及对未来事业的规划,哪个细分行业更适合自己职业规划的发展。

嵌入式技术开发总结及思考

从事嵌入式开发一年了,有些感想跟大家谈谈。可能很多朋友会像我当初一样,为前途而烦恼,为不知道储备什么知识而苦恼,所以写点东西给这些朋友们提供参考。另外,也可鞭策自己,让自己看到自己的不足,认清以后的发展方向。

首先,IT是一个需要不断学习的行业,没有任何一个行业像我们这样需要不断地接触新东西,学习新知识,如同《学计算机的你伤不起呀》中吼的那样,搞上层开发的,各种编程语言搞死你;搞系统开发的,各种系统搞死你;做底层的,各种汇编,芯片,指令集搞死你;当然了,无论做哪层,各种编译器,工具,软硬件知识等等都能搞死你。随便一类学问中的一小部分都是一摞砖一般的书啊。不懂的也可以来21ic问哦。

其次,嵌入式行业更像是IT中的IT。标准缺乏,规格多变,技术变化又特快,刚流行的技术可能没两年就会失去生机。比如塞班,Nokia放弃了,Intel的MeGoo吧,也没动静了,现在安卓火的很,说不定过几年就像今天的塞班,感觉像是永远跟不上时代的节奏。

所以,很多人都说IT是吃青春饭的,一点不为过,等到年纪大了,或许真的做技术会力不从心吧。尤其是国内,技术人员的地位……(你懂得)。

话说嵌入式这个行业到底需要什么样的技术人才?

仔细观察各种招聘的岗位要求吧,无非是

一个单片机芯片的自白

某天某日某产房,你诞生了(power up , 上电运行),结果你不哭,医生把你提起来,屁股上狠狠一巴掌,你哇哇大哭(reset, 复位成),护士给你检查,看有没有传染病(EMI测试),然后打预防针(绝缘处理),没有问题后作记录(QC pass),你的父母来接你回去(客户验收)。回家后你有了自己的新床(PCB),家里条件好,给你铺六张毛巾被(六层板),可惜上面小窟窿太多(过孔太多),父母把奶瓶给你,你终于获得了外部能量(Power Supply ),否则你的自身能量会耗尽(Battery too Low)。

每天清晨,你尚在休眠模式(IDL)下运行时,一阵叫喊声吵醒你(wake up,激活),你感觉很饿,于是大哭(Alarm Ring),父母马上来喂你,你不哭了(discard Alarm,解除报警),但很不争气地撒尿了(current output,电流输出)。父母给你收拾完,开始教你说话,但你的大脑还很简单(initial procedure,初始化程序),后来你开始学走路,结果步调不稳(步进电机驱动错误),一跑就坐到地上了(RUN fail,运行失败)。好在你的父母很耐心地教你(调试阶段),你终于可以走了(调试通过)。

过去十年,编程语言领域有什么重要进展?

十年来,尽管软件行业发展迅速,热门编程语言的发展似乎却成了例外,始终未有太大改变。不过事实并不尽然,编程语言的真正变化在于:为了竞争存活,前十大热门编程语言都借鉴了其他语言的功能,作为新功能引入。究竟哪几方面变化明显?

如果把当前TIOBE编程语言排行榜的前十拿出来,与十年前的前十做以比对,就会发现这两份名单完全相同!

唯一的不同在于:其中Visual Basic、PHP和Perl与同为十大热门却更现代的C#、Python和JavaScript交换了位置。在这十年间Objective-C确曾进入过十大热门语言,甚至还攀升到了前三的位置,不过在苹果宣布用Swift代替Objective-C之后,它便很快销声匿迹了。

根据这些情况,我们可以得出结论:编程语言并无实质性变化,而且未来十年也不会出现什么新的大型编程语言。

test:被骗好久,手机电池应该这样充电才能延寿数年

被骗好久:手机电池应该这样充电才能延寿数年

智能家居发展趋势 前生后世的变革史

扫地机器人,如今算是我们生活最常见的一种机器人了。它的任务很简单,就是在房间里来回移动做一些扫地、拖地这样的清洁工作,利用机器上的传感器,它可以识别周围环境,避开家里的一些障碍物。功能再丰富一点的是这种被用到酒店里的服务机器人。它们可以帮顾客搬运行李,办理入住手续,跟顾客打招呼或者代替酒店服务人员送东西到客房等。去年7月,在日本的长崎县就专门开了一家主要由机器人当服务员的酒店Henn-na酒店。

Henn-na酒店前台的客服机器人

事实上,被应用到日常消费领域的家用机器人分类已经有很多了,除了扫地机器人、酒店机器人,还有社会机器人和玩具机器人。它们往往被用到家庭中起陪伴作用,或者提供一些互动功能。

现在卖得最好的一种社会机器人就是亚马逊的Echo了,人们最爱用的功能不是音响,而是利用语音指令获取新闻、天气等信息服务。

谈几点单片机工程师的职业规划问题

这几天看了很多关于“类似单片机的 出路”的帖子,就觉得大家有点悲观了。首先,单片机不是万能的,但没有单片机那是万万不能的。从NN年前的单片机,到现在的单片机,单片机只是单片机,其性质并没有太多的改变。只是从原来的“神秘”、“暴利”、“有趣”等等,回归了她原来的真是面目罢了--那只是在说明社会在进步,更加的合理和趋于理性。

只是现在的这样回归,有点走了极端罢了,从一个极端走了另一个极端罢了。但相反社会在这方面的需求却是越来越大,至少在我们的有生之年,这样的“自动化”过程一直会贯穿下去。所以你有什么好担心的,怕自己没有用武之地吗?! 怕自己的资薪没有或不高吗?!

我自己在单片机和自己熟悉的行业上做了快10年了,不说自己的水平怎么样。说牛不牛,说不牛也牛--该骄傲的时候还是要骄傲的,那是对自己的肯定。该谦虚的时候也要谦虚学习,毕竟单片机总是一个系统工程,方方面面的东西不是自己都是熟悉和精确把握的。要想自己混的不错,我还是那句化,--- 和自己所处的行业结合,那才是王道。