嵌入式新手的疑惑
大学毕业,感觉自身能力不足的我决定了考研,而作为电子出身的我同样义无反顾的投入到嵌入式的海洋,又同样义无反顾的跟导师确定下我未来的发展方向:linux设备驱动。
一开始的学习对刚刚涉及这行业的我来讲可以说是刺激的,很兴奋,但是刚接触啥也不懂,就到处找帖子了解怎么入门,怎么学,可是网上众说纷纭 咋办呢,只能硬着来喽,想着既然这么复杂,那就学喽,什么C语言编程,计算机系统原理,linux系统,ARM体系结构...让脑子有个大致印象
接着跟着韦东山老师一期的视频去搭建开发环境,linux简单命令,移植u-boot都熟悉一遍,但是真正到裸机编程,我才知道我的基础有多差,没办法,硬着头皮干,再到后来的u-boot分析,我发现不行了,这编程能力实在太差,又是各种找师兄,论坛,想着还是先整块STM32过渡下,也就开始练了
拿到32立马投入进去,说实话,很痛苦,大学白学了,连简单编程都不会,英语更是别说,硬着头皮看datasheet,跟着原子的视频,先用寄存器开发一编,又去看官方底层的库,用库开发一遍,这时候才感觉C语言的博大精深啊,官方库仿佛为我打开了C语言的大门,又感叹一遍,大学白上了
学到现在,只能说熟悉了STM32,可是要让我自己完完全全对着芯片手册编程那就只有惨不忍睹啊!!!
而学习之中也让我越来越迷茫,到底这编程咋上去,32学到啥程度可以回去学Linux,这到底对linux设备驱动学习有没有作用,,,真的需要个驱动大牛解惑下,这linux设备驱动到底该咋学 啊
Linux 设备驱动 方向不错
要求比较高,很少有人一接触嵌入式的工作就能直接做驱动开发,一般从linux上层开发开始。上层主要培养C的编程能力。
接着就是底层了,多写几个平台的裸机驱动,主要锻炼阅读芯片手册的能力。
裸机驱动写会了,C也可以了,就尝试理一理Linux内核驱动框架,
Linux设备驱动就是将裸机的代码放到内核合适位置去运行。
STM32如果已经熟悉了,可以做个项目玩,Linux通过Socket控制多个STM32.练习下C.然后继续看韦东山,继续学ARM。
同问,搞了2年多的STM32,另外国产的8位机,NXP的ARM7也玩过,有库用库,没库对着寄存器写也行。
现在在看TCP/IP协议和lwip。感觉没目标啊。准备搞完TCP/IP协议和lwip也看linux去了,对了,上位机的串口小工具也会弄。
页:
[1]