虚心请教前辈们
各位前辈好,小弟新人,会一些c语言基本的知识,现在一个机械公司上班,我们这个部门生产些控制器,控制一些重型机械车的灯光、升降、发动机驱动,油门,行走等功能。用英飞凌的单片机开发些电路板,然后再烧录些c语言编写的程序。因为自己是新人,这些程序他们不会给我看,同时也没什么师傅带,因此对他们编的c程序是什么一点都不了解。小弟想问下他们编的c程序,里面都包含了些什么知识。要想自己将来也能够胜任,目前应该学习哪些方面的知识。小弟在这里真心的想请前辈们给点经验,小弟在这里先谢谢大家了,希望你们能够热心帮助。
[解决办法]
恩,了解了,我给你分析一下架构:
1:最底层当然是硬件的知识了:比如了解一些电路图的知识,你做c偏上层,这个不是重点,但要了解
2:硬件上面当然是驱动层了:这里好多比如iic,看门狗,led,pwm,aurt等等等等,这个可以参考书《linux内核编程》《linux驱动编程》
3:在上边就是c语言篇上层的了,会简单处理一些消息,比如小灯亮灭的处理,等等
你应该现在是3这层,学一些简单的c语言知识就行,公司有文档的话会有c写好的接口的,这些是系统工程师写好的,你做的就是系统之上的c语言部门分,
等你厉害了就可以到第2层了,嵌入式驱动工程师
[解决办法]
楼主的这些可能就是一个单片机裸跑吧
[解决办法]
楼主那种情况可能是没弄过单片机,先学学51单片机入门吧,一个月的事情…其他在工作中积累一下就有了…不用一上来就忽悠别人去学嵌入式系统,这个没个四五年能学好么?
[解决办法]
过几个月公司会给你一些小的需求功能去实现的,不如处理一些串口的数据什么的。
1:可以看一下linux c串口通信的知识,很简单百度搜arm c语言串口通信源码就可以了,就是设置串口的波特率,校验位什么的。还有socket
2:多看一下c语言指针数组那块,会有很多操作字符串的处理。
3:你们做的系统可能会读取配置文件之类的,就是系统启动会默认设置一些参数,这些参数可能写在xml配置文件里,看一下libxml2解析xml文件的一些知识,看看是否能用到linux下的数据库,我熟悉的是sqlite
4:还是重点看一些源代码里面的一些源码,里面应该有framwork里面的一些东西,看看源码,什么uart之类的,大公司应该能看到源码的,没有的话和那个管理源码的人要,应该在服务器上有,公司如果是有svn管理的话,就要个svn账号和代码管理人员。