我的就业感言:你看不看它,它就在这里  

来源:华清远见嵌入式培训上海分中心      

    
  学员姓名:李伟
  所在班级:上海1007期班
  就业单位:科腾
  工作职位:嵌入式开发工程师

 

 


身处互联网时代,我们感到给力的地方在于它给了我们一个更大更好的沟通平台,一个分享,共享的机会。“只缘身在此山中”,我感觉把自己学习嵌入式的想法分享出来,也是对自己的学习过程的总结,也许会给大家一些借鉴,你看不看它,它就在这里!

认识嵌入式是在我在大二的时候,喜欢在网上找些稀奇古怪的东西的我看到了这个激起我兴趣的技术,那时候电脑觉得不新鲜了,反而我手上的智能手机很神奇——“小小的个子,大大的内涵”,那人却在灯火阑珊处的感觉,让我知道是嵌入式赋予了这些小设备更智能的功能。于是在网上找技术牛人的帖子,博客看,然后跑到图书馆借了一堆书啃,看书看了一个学期后,寒假的时候买了一块mini2440开发板,当初这个东西根本不了解它,只有跟着数据手册做,不管做对做错感觉结果跟我没什么关系似的,后来选择继续看书,上机实验,谷歌百度下,越来越多的问题堆积成山,每天零零散散的看别人的解答,没过几天烟消云散了,又是网络让我看到了华清远见的嵌入式课程,于是找到了解决我疑惑的地方,也可以让我更系统,更全面的学习嵌入式。不错,不错!!!其实知己知彼,百战不殆,我很喜欢上课之前先自己看书学习下,自己先有个认识,其中碰到的问题当然是我听课时的重点,带着目的去学习,就像你去另外一个地方,每次都是别人带着你走,多少次你都不会熟悉怎么走,因为当时你的重点不是怎么走路,而你先自己走,碰到迷失的方向的时再问别人,两三次你应该会很熟悉的,此时你关注的是你如何到达那个地方,所以我给大家的一个建议是提前准备,提前学习是有好处的。然后多上机,多思考这些是不用别人多说的,而是你必须滴,技术活嘛熟能生巧呀!!!接下来“分而治之”,谈一下这个系统的组成子系统。

C:我比较喜欢C语言,因为它的直接内存地址操作(有操作系统的肯定还要过内存管理这一关,裸机的话大胆,尽情的用吧)很灵活,而相比汇编易看,长得好看点。指针,指针,C和它形影不离,它是发挥C大功能的功臣,其实你们不觉得它很汇编中的寄存器间接寻址很像嘛,只不过汇编用的是寄存器存放地址,而C语言用的是变量存放地址,所以你会看到很多这样的:(int*)p=0x50001000;这样的语句,相当于ARM中的:ldr r1,=0x50001000,大家如果理解了这个概念对指针用法应该不难理解了。C中的结构体也是我比较喜欢的,它就是C中的“类”,利用函数指针就可以实现“类”中的函数方法调用,为什么C要用面对对象的观点,如果你看看Linux中的VFS文件系统,驱动中的分层实现,就会发现它的奇妙之处。

体系结构:熟悉一种或以上体系结构,发现这句是不是在51job上很熟悉,如果你曾经在上面找工作的话。是的,嵌入式与硬件的寄存器,外围接口有着千丝万缕的关系,而我们这些做软件的,要学会看图说话,看到接线的连接知道什么意思,然后注意接口中的寄存器中的每一位的含义,这可是你写底层的圣经啊。汇编有时候看着挺容易发呆的,寄存器看的是满眼发火,所以看汇编时在草稿纸中标记各个寄存器的使用情况,那会帮助你理解这符号后面的秘密,比如你看到跳转语句中那夹杂的寄存器每次都会减一,那你就可以标记这个是循环计数用的寄存器。

系统管理:Linus说过你要理解Linux就要先学会使用它,所以在学会在Linux平台上编程就要知道它的一些相关的概念,比如文件的操作,进程,线程,同步与互斥,Socket的使用,还有些编程技巧是在你深刻理解这些基本概念后才会有比较理性的认识。现在你想做一个并发比较好的server,你会选择多路复用IO(select,poll,epoll),而不是普通的读写,因为它会一次读写而阻塞其它的连接,你会选择使用线程而不是进程,因为线程的上下文切换要比进程快。对于应用层的编程和内核编程你也要注意它们之间的区别,毕竟内核编程就像呆在古代皇宫里,说话做事要小心,一不留意,那可是要惹杀身之祸的呀。当然也有规矩可循的,那就是要按照规范编程,自己不要想当然,特别注意函数的睡眠时机和锁的占有释放。

想想大家在一个班集体里面专研嵌入式,互相帮助,其实是挺好的一件事。

华清远见教育科技集团学员新就业风云榜 >>