嵌入式培训
达内IT学院
400-996-5531
精通c语言!
精通c语言!
精通c语言!
重要的话说三遍!
如果是大学生,请再学好以下课程 :
数据结构
计算机原理(包括汇编的)
编译原理
操作系统
先做以上的,别着急!要做好嵌入式工程师请远离浮躁!
如果你严厉的觉得觉得你学的可以了?请考虑以下问题:不参考任何代码的情况下,能自己写链表吗?树的遍历呢?图的最短路径怎么实现?能自己写小型抢占式内核吗?如何用c实现语法分析,词法分析?
ps:以上四门课是嵌入式大神必修课!!!!
然后就可以搞块开发板了,只提一点:先搞裸机(请自动把这句话复述三遍)。
linux接触越早越好,命令越熟越好,vim操作越眼花缭乱越好…
先说单片机吧!!有人说51系列太过时了,但我觉得新手作个入门也未尝不可,可在X宝上买个板子,也可以直接用proteus仿真。请根据自身钱包隆起程度决定。了解下什么是IO、串口通信、中断等,最好用模拟时序的方式用IO引脚写个iic和spi的驱动。在51上不要花太多时间,新手一个月左右吧,(假如我上面说的基础你学的OK的话,视自身学习能力而定)。
然后你可以学习一下mcu或处理器了,
建议是ARM,
建议是ARM,
建议是ARM,
因为你用别的架构会发现X宝上的板子少的可怜,且价格也贵。
建议先玩裸机,还是和51一样,从点灯开始熟悉。请注意:最好不要一上来就钻到里面把所有的模块都整一遍,因为那样好费时间(这里说的不是浪费),不是不可以,但效果我感觉不一定是最好的。
学裸机编程其实就是学CPU编程思想,因为你后面肯定不只是用一种CPU,怎么控制引脚,怎么配置寄存器可能每款CPU都不一样。要学到的是这种方法,这种原理。 啊!!!我不知道怎么表达了,原谅我……保证你以后拿到一款U可以轻松的把它驱动了。而不是说你这一款用的很好,换另一个就无从下手了!
还是像上面所说的,先把cpu本身的资源搞懂!!IO、中断(就单片机编程来说相当重要)、UART、内存寻址方式等等。如果可以,学一下它的汇编。如果汇编你也学了,好!!请基于这个u写个时间片的调度器,不用太复杂,运行个多任务就可以了。(这里重点不是写调度器,而是写它的时候会涉及到各种栈操作,现场的保护与恢复,用到大量汇编,会学到好多东西。)
然后再根据外围的器件做些实验,这就不说了,你会接触到一个东西:datasheet,如果英国话不好,它会让你头疼。这有个小小的建议:如果实在头疼英语,在读之前吃点止痛片可能好点。然后像什么数模模数,语音,lcd屏,按键,时钟芯片,等根据板子的资源放开整吧!!
单片机这块最后说一句:玩单片机千万别不买开发板!!!!不玩单片机千万别买开发板!!
开始说Linux的学习
关于命令
当然是知道的越多越好,用的越熟越好,但先万别只为了练命令而练命令:搜linux常用命令,得到一堆结果,对着敲!枯燥!效率低!易忘!我的建议是从使用中学习,比如你要配samba,你就要安装samba:yum ,aptget或make install,你会学到安装命令及用法,关防火墙,你要学到sudo service iptables stop 如果你有心,你肯定不只想知道这句话是关防火墙,你还想知道每个单词的意思及用法…good boy!!
一套下来,你学到了好多,并心情大好!!
linux可以做很多东西,你从中可以学很多东西!
关于系统编程
不建议直接整APUE,因为如果基础不好很可能有些地方看不懂,打击兴趣。linux系统编程其实就是函数调用,就是io进程线程,ipc(进程通信),网络编程,可能还会有UI。中国人写这种技术书都是一大抄,但它有一大‘好处’就是讲的不深奥,不知道是否易懂,但够浅显,这正是很多新手需要的:快速了解Linux编程是什么东西,快速知道如何写一个简单的程序,如文件拷贝程序(想想是不是很多时候你整了一大堆理论,却还是写不出程序来,是不是清楚知道函数的功能,却不知道怎么调用,xxx从入门到精通系列正好解决这个问题,它俨然就是带实例的中文man手册,讲解参数,讲返回,然后给个例程…)。可以找一家大书店,去计算机分类中找到这方面的书,可以在书店里看,也可以买下来。快速的了解linux编程是何物。然后再看apue 这类书会很好上手。当然你基础够好可以忽略以上内容。
另外,经常试写下系统命令:ls cd cp 等,经常看man。
关于驱动
驱动是个很深奥的东西,在下现刚做驱动不久,并没有太多发言权,还是想说两句。学驱动不要只限于驱动框架,一定要知道它每个功能的实现原理,比如你给驱动添加了poll功能,不要只知道这样写就可以实现poll,以后按这个写就可以了,你还要知道它的原理!!就是到内核里看它是怎样一步步调用过来的,中间经历了什么?!
学驱动要多看内核原码!了解内核子系统!
关于vim
还是那句话,操作的越眼花缭乱越好!请自行Google它的配置放法!这里提几个常用插件:ctags, cscope, clang, wm, 还有很多!请自行Google!别用百度!!
vim是个神器!功能上完全不输source insight等任何IDE!谁用谁知道!没发现我这里全是 ‘!’ 吗!!
关于单片机
1:学嵌入式要不要学单片机
2:学单片机要不要学汇编
3:没有单片机经验是否能学嵌入式
对于前两点我的答案是:要学。为什么?因为艺多不压身,单片机是个很好玩的东西,你可以diy很多你小时想买家长却不给买的东西。另,大多嵌入式大牛都是软硬通吃的,像我项目总监,无论从pcb,驱动,还是上层应用都能给出很多好的建议。并且单片机真!的!不!难!
汇编的重要性一开始就提过了,你可能在学了之后从来没用过,但你在学完汇编和编译原理之后对代码的掌控与应用能力绝对会上几个台阶!
说的好像我很精能编译原理一样,其实不然,我对编译原理只是浮浅的了解,但我肯定会补上这门课的,要尽量用知识武装自己。
对于第三点我的答案是:可以学。而且你为什么不先学单片机呢。
填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved