给嵌入式linux学员的一封信

2019-07-12 22:13发布

作者:冯建,华清远见嵌入式培训中心讲师。 对于刚刚步入嵌入式领域的新手们来讲,我不想过多的探讨关于技术层面的问题,因为技术问题我们华清远见的众多资深讲师们会在今后的课程当中为大家详细讲解,而且学员也可以在漫长的嵌入式开发生涯中逐渐加深研究提高自己。但是一个良好的编程习惯却是需要大家在学习之初就要养成的。养成一个怎样的学习习惯、编程习惯对程序员的一生都将有重大的影响。 1. 基础知识要掌握牢固 不同于windows的开发,在linux的开发过程中我们面对的几乎一直都是简单的文本界面、操控命令,因此熟练掌握这些基本命令对于嵌入式linux开发人员是必不可少的。 安装和登录:
        login、 shutdown、 halt、 reboot 、mount、umount 、chsh ; 文件处理:
        file、mkdir、grep、dd、 find、 mv 、ls 、diff、cat、ln ; 网络操作:
        ifconfig、ip 、ping 、netstat 、telnet、 ftp、route、rlogin rcp 、finger 、mail 、nslookup ; 系统管理相关:
        df、top、free、quota 、at、lp、adduser、groupadd kill、crontab、tar、unzip、gunzip 、last ; 系统安全相关:
        passwd 、su、 umask 、chgrp、chmod、chown、chattr、sudo、pswho。 当然,熟悉linux的基本命令只是让你能够轻松的搭建一个比较和谐的开发环境,作为一名开发人员,熟练掌握一门开发语言是必须的也是必要的,通常嵌入式的开发语言应用较多的是C/C++,相信每一个梦想成为伟大的程序员的学员都不会忽视它们地存在,一个程序员连基本的开发语言都不会何谈开发之说?另外一个比较重要也是我们今后时常要面对的那就是我们的编辑器了。有一个强大的编辑器能使你的工作事半功倍,在linux下最强大的就要数我们的vi文本编辑器了。关于vi编辑器的使用在华清远见的培训课程中会详细讲解,另外关于vi下的一些能够提高我们工作效率的小技巧在今后我的博文中也会一一介绍。 另外既然是嵌入式开发,那么就要求我们不仅仅熟练掌握嵌入式开发的灵魂——编程语言,还要充分了解嵌入式开发的肉体——硬件结构。因为不同于PC机的软件开发,嵌入式的开发是离不开硬件的,因此需要每一位嵌入式开发人员都能熟悉你所要操控的硬件特性。如此才能称得上一名合格的嵌入式开发工作者。 2. 养成良好的习惯 对于开发人员,习惯大体分为两块:工作习惯和编码习惯。 对于早已习惯了windows的我们,面对人性化傻瓜式操作的windows桌面与枯燥乏味的linux终端命令的巨大落差,可能有些不太习惯,因为起初与它沟通起来似乎并不是那么友好。但是华丽的东西往往缺乏内涵,而一个朴实无华的外表下却蕴含着无穷的能量。习惯于shell命令后你就会发现它是那么的强大,几乎无所不能。这也是为什么那么多的嵌入式工程师喜爱它的原因。而你仍沉迷于轻松的鼠标操作不愿接受看起来不太友好的shell,那么在一段时间之后你就会发现,自己除了点击几下鼠标之外对linux的了解似乎什么都没有……所以在我们学习嵌入式linux的开发过程中一定要养成用终端命令操作的习惯,解放你的鼠标,让强大的shell发挥它应有的功能。 如果你没有一个良好的工作习惯那么对于你个人而言顶多也只是累些效率低些。但是如果你在学习工作过程当中没有建立良好的编码风格甚至染上了不良的编码习惯,那么对于绝大部分都是团队合作的开发人员来说将是一件令人抓狂的事情。我相信每一个C开发的程序员无聊寂寞的时候都关注过世界乱码大赛的一些作品消遣,我也更相信没有一家公司的项目经理会寂寞成灾的要求他的员工效仿那些神人的杰作。这是一个讲究团队作战的时代,superman已经不属于这个时期的产物,因此养成一个良好的编码风格对于开发人员来说至关重要!关于具体的编码风格在华清远见的培训课程中会详细讲解,这里就不再赘述了。 3. 勤于动手,注重实战 网上有好多关于程序员的定义和习惯等,在有些变态夸张的描述语言下,程序员——这个为IT事业默默奉献青春才华的群体给大家展现了其不为人知的一面。其中有这么一句话我认为写的挺好:“没写过10万行代码就不叫真正的程序员”。不是真正的程序员?那叫什么?水货?自己去定义吧哈哈。这其实就是告诉了我们,想要成为一名合格的程序员,代码是一定要多敲的,但是这里的敲可不是让你去抄,那样即使你写超过100万行代码你的水平还是那样。一定要用自己的思想去设计,用你所熟悉的计算机语言去描述并解决这个宏观世界所存在的问题,那样你的思路你的编码能力才能得到提高。当然作为一名嵌入式软件工程师,你所需要的不仅仅是敲代码那么简单,对于主机嵌入式开发环境的搭建、熟悉开发板的硬件体系结构、bootloader的移植、内核以及文件系统的移植、驱动程序的编写等等,一系列开发流程都需要你自己去熟悉掌握并逐渐加深。因此,我们肩上的任务将更加艰巨。但是嵌入式行业广阔的前景又成为它极大的闪光点,相信从你选择嵌入式软件开发的这个行业起就已经做好了接受挑战的准备。为了你美好的未来,加油吧! 4. 培养自主解决问题的能力 在大学里继续深造的学生们也许还在享受着老师们孜孜不倦的教诲,而且从小我们就被灌输一种思想——有问题,找老师。但是当你走出校门步入社会的时候你就会发现现实似乎没有理想中的那么美好。我们在工作当中都会遇到这样或那样的问题,尤其是我们开发人员,面对学无止境的计算机技术更是问题百出。而这时候你就会发现能耐心帮你解决问题的几乎就只有你自己。因为在公司中,无论你的工作环境多么的和谐友好,但是同事之间仍然或多或少地处于竞争关系,而且大家都有各自的任务工作比较忙,这就意味着别人不可能全心全意地耐心解决你的问题,这时候能够依靠的只有你自己。此时解决问题能力差的人可就叫天天不应叫地地不灵了。因此,在学习过程当中遇到问题一定要自己先多想,尽量想办法自主解决,通过分析问题推测可能的因素并尝试去解决,这样有助于锻炼自身的分析问题能力和解决问题能力。 当然,在华清远见培训的过程中会一直有辅导老师全程跟踪你的学习进度,师生之间永远没有竞争关系,你可以尽情地去探索你想问的问题绝对会帮你满意解决。在这里我只是提倡大家学习的一种习惯而已。在问题解决后一定要通过笔记的方式把遇到的问题及时记录下来,以防今后遇到类似的问题,并时常翻看过去的问题记录加深记忆。相信在今后的某一天你翻看过去的问题记录时会欣喜的发现自己已经不知不觉的成长起来。 在此向每一位致力于嵌入式技术研发的的前辈们说一声感谢,因为你们的无私贡献才有我们今天便捷的学习途径和丰富的技术资源。最后预祝每一位步入嵌入式领域的新人们都能够在今后提高自己,在嵌入式的领域里开拓属于自己的一片天空! 嵌入式及3G相关资源及学习请点击:嵌入式开发视频 android开发视频 android培训 3G培训 QT培训 QT开发视频 物联网培训 物联网技术视频 嵌入式学习