本人小渣渣一枚,才入行驱动不久。目前遇到了一大坎,思之还是发出来比较好。作为一名驱动工程师(本人渣渣),公司又没人带领,只能自己在泥潭里摸打滚爬,哎,一把心酸一把泪。。。
前辈,大神,都在哪啊!!!!
算了,说说我的现状吧!!公司有一电子工程师,在与我讨论过程中(老大让他带我)我自己感觉分歧比较大吧。首先,我自己都感觉到了彼此思维方式的不同,考虑问题的方向也很大差距。奈何,咱是新人,又才入行,又是新手,低调低调。。。
1.驱动开发,在我眼里就是能让芯片正常工作,说白了无非就是配置寄存器,复杂点再配合上内核框架或者各种协议而已(我是这么理解的)。我的理解重点是:控制芯片,让芯片工作
2.讨论过程中,分歧是:让我将通电自启动改成按键启动,说实话,我搞不明白,至今也不知道驱动怎么去搞。如何保证i2c控制器能得到正常电压,怎么去配置那个电压?假如写1使能i2c控制器,写1让它正常工作,有哪些反应?
现在想起来,也就这么点了。其他的想不起来了。
以我的看法,我只需要写1能让i2c控制器正常工作即可,不需要去了解硬件怎么处理,我笨想不通。
还有芯片是否能获得正常的工作电压,供电不足怎么处理?说实话,我不知道。芯片不能正常工作,我还驱动个毛。他的观点是我怎么让芯片正常配置电压让芯片获得正常的电压,这个电压我只能想到使能,他得到正常电压,也就是写1。
我的理解是:他的角度和我的不同,他想的是芯片本身能否正常工作,我觉得这类问题本身就应该是pcb设计造成的,。而我的角度是硬件本身就是好的,硬件都有问题,还想驱动?
而我最终的观点:可能他的想法就是让我将芯片和驱动都弄正常,也就是说排除硬件本身的缺陷或者说找出硬件的缺陷。
说了这么多,我也感觉自己思维好混乱。。
谁让自己是渣渣呢,连个带路的人都没有。哎。
目前我比较迷茫的就是如何工作?我在研究usb协议,他说不用,都实现好了,随便个usb设备插上就能用,不用看。我看音频,音频驱动都是正常的,他让我去改,随便改,看改了出啥问题在解决。我控制gpio,板子只有开关键和复位键,他让我将开关键改成按两次睡眠,或者用开关键来控制led。。。。。。
我真是。。。。
再次声明,本人渣渣一枚。勿喷,想听听各位大神的建议。最近都是东看西看的。。。。大神,快快赐教!!!!
虽然没有入这行,不过是这行毕业的,说说我的建议:主要是思维方法上的
首先如果只关心我们自己调试的话,确实不用管那么多,只要硬件能按照我们的正常运行就可以了。
但是我们做一个东西不仅是用来自己调试通的,我们做出来的最终是一个产品,产品是要给客户用,让客户满意,客户才会愿意买的是不是?
产品能卖出去,公司才能盈利,能盈利才有更多的钱发薪水养活大家,进行下一轮开发,没错吧?
你提到的功能,一个硬件按键启动,属于方便使用者的一种功能,一个对低电压情况的处理,属于对意外状况的处理和排除。
一个更好用,并且遇到状况更稳定的东西,当然比没有这两者更好用是不是?
至于怎么实现。。。我不知道你具体能使用到的硬件,
就简单地说按键开关的问题,通过控制芯片不停地读按键的电平,如果电平有跳变,并且跳变后稳定一小段时间,就认为按下开关了,执行上电操作,然后置个flag,下一次按开关检查flag,如果是开着,就执行断电操作。
哦对了,其实你的问题不太适合在CSDN上问,去EEPW问更好,那里你同行才多。。。
你这可能涉及电源管理什么的,水可能有点深。
驱动开发
包括
驱动提供什么功能:
电源管理:电源管理的软件硬件协议很复杂,不过据说WDK处理起来比较简单
中断处理 :中断时间有限,要迅速完成,不能太耗时
DMA 处理
io处理
内存映射和读写
寄存器读写
协议
你既然都说自己是新毕业工作的渣渣,连自己的工作职责都搞不清,那么你还思考什么?
因为这种阶段你其实没什么思考的资格。安排了人来带你,那你的职责就是好好听人家的去学去做,他安排你做什么就做,不会就去问他,他自然会教你。
总不至于他故意让你做他自己都解决不了的问题,回头让你问倒了,搬石头砸自己的脚吧?
老人在新人面前提一些新人感觉刁钻的问题,是常事,也是好事,那说明你碰上了一个想好好教你知识的老人,他会把这些难倒你这位新人的知识教给你。这一方面是他在试探你的功底,一方面也是显示他引以自豪的知识。
反而如果你碰上一位不这样“难为”你的,啥也不让你练习和问他问题的,那才是坏事,说明他心里不想让你留在这个公司。
所以,不会就去问他。如果真是他都解答不了,那你可以说你又不是以技术专家的身份进公司的,如果那样的话,就不可能让他来带你了。既然是让他来带你,就是让你向他学他所会的,怎么可能去做成连他都不会的事呢?
如果他说是希望你将来能做到,你打马虎眼过去就行了,比如说,要有将来得先做好眼前,只有他先把你教你,你学好了,才能去实现。
他教你的这些虽然比较偏硬件,但因为他熟悉的就是这些。而领导让他带你,那领导也不是不明白这一点吧?所以你跟他学,就是在做领导交给你的任务。你学了也是有好处甚至是必要的。老板当然希望让你的驱动能兼容一些略有缺陷的硬件,这样可以减少很多报废,那是大钱啊。
从领导的角度,都是想花小钱办大事的。尤其是象你们这种目前只有你一个驱动开发工程师的小公司,更是想要求一专多能,甚至多专多精,把你的能力贡献发挥到极致。所以,花小白的价钱把你招进公司,按大牛的要求让你从熟悉甚至精通硬件开始,也是自然的。
另外一方面,可能领导也还在招有经验的驱动开发人员,等来了才能带你,目前让你先熟悉和学习这方面。
但即使是后一种可能,你还是不能抵触这件事,也不能掉以轻心,更不要在表面上流露你现在文中这些情绪,还是老老实实听话干活。这都会反映你是否能适应公司和继续发展的。
总之一句话,作为新人,多正向积极地做事,少负面思考。等你有足够的能力和经验,才有资格思考和判断,但也还未必可以对一些领导的错误决定直接说不。职场路,慢慢走,慢慢练吧。