各位大神都看过来,驱动大婶都看过来 20C

本人小渣渣一枚,才入行驱动不久。目前遇到了一大坎,思之还是发出来比较好。作为一名驱动工程师(本人渣渣),公司又没人带领,只能自己在泥潭里摸打滚爬,哎,一把心酸一把泪。。。
前辈,大神,都在哪啊!!!!
算了,说说我的现状吧!!公司有一电子工程师,在与我讨论过程中(老大让他带我)我自己感觉分歧比较大吧。首先,我自己都感觉到了彼此思维方式的不同,考虑问题的方向也很大差距。奈何,咱是新人,又才入行,又是新手,低调低调。。。
1.驱动开发,在我眼里就是能让芯片正常工作,说白了无非就是配置寄存器,复杂点再配合上内核框架或者各种协议而已(我是这么理解的)。我的理解重点是:控制芯片,让芯片工作
2.讨论过程中,分歧是:让我将通电自启动改成按键启动,说实话,我搞不明白,至今也不知道驱动怎么去搞。如何保证i2c控制器能得到正常电压,怎么去配置那个电压?假如写1使能i2c控制器,写1让它正常工作,有哪些反应?
现在想起来,也就这么点了。其他的想不起来了。
以我的看法,我只需要写1能让i2c控制器正常工作即可,不需要去了解硬件怎么处理,我笨想不通。
还有芯片是否能获得正常的工作电压,供电不足怎么处理?说实话,我不知道。芯片不能正常工作,我还驱动个毛。他的观点是我怎么让芯片正常配置电压让芯片获得正常的电压,这个电压我只能想到使能,他得到正常电压,也就是写1。
我的理解是:他的角度和我的不同,他想的是芯片本身能否正常工作,我觉得这类问题本身就应该是pcb设计造成的,。而我的角度是硬件本身就是好的,硬件都有问题,还想驱动?
而我最终的观点:可能他的想法就是让我将芯片和驱动都弄正常,也就是说排除硬件本身的缺陷或者说找出硬件的缺陷。

说了这么多,我也感觉自己思维好混乱。。
谁让自己是渣渣呢,连个带路的人都没有。哎。
目前我比较迷茫的就是如何工作?我在研究usb协议,他说不用,都实现好了,随便个usb设备插上就能用,不用看。我看音频,音频驱动都是正常的,他让我去改,随便改,看改了出啥问题在解决。我控制gpio,板子只有开关键和复位键,他让我将开关键改成按两次睡眠,或者用开关键来控制led。。。。。。
我真是。。。。

再次声明,本人渣渣一枚。勿喷,想听听各位大神的建议。最近都是东看西看的。。。。大神,快快赐教!!!!

5个回答

虽然没有入这行,不过是这行毕业的,说说我的建议:主要是思维方法上的
首先如果只关心我们自己调试的话,确实不用管那么多,只要硬件能按照我们的正常运行就可以了。
但是我们做一个东西不仅是用来自己调试通的,我们做出来的最终是一个产品,产品是要给客户用,让客户满意,客户才会愿意买的是不是?
产品能卖出去,公司才能盈利,能盈利才有更多的钱发薪水养活大家,进行下一轮开发,没错吧?
你提到的功能,一个硬件按键启动,属于方便使用者的一种功能,一个对低电压情况的处理,属于对意外状况的处理和排除。
一个更好用,并且遇到状况更稳定的东西,当然比没有这两者更好用是不是?
至于怎么实现。。。我不知道你具体能使用到的硬件,
就简单地说按键开关的问题,通过控制芯片不停地读按键的电平,如果电平有跳变,并且跳变后稳定一小段时间,就认为按下开关了,执行上电操作,然后置个flag,下一次按开关检查flag,如果是开着,就执行断电操作。

oChenShaoYue
呆呆学炒蛋 回复HelloBirthday: 对啊,我们讨论的不是产品,是你工作的职责,对于老板来说,你工作的职责就是把硬件做得让客户喜欢,做得好卖,做得有市场,不是吗?
大约 4 年之前 回复
oChenShaoYue
呆呆学炒蛋 回复HelloBirthday: 随便找了个例子,不一定非常贴合你的情况,但起码可以参考思路http://blog.163.com/zhaojun_xf/blog/static/300505802015926105159573/
大约 4 年之前 回复
u014770862
HelloBirthday 关于按键启动,我的意思是没通电之前和通电之后系统自己上电启动,跟你说的是两码事。没通电的情况下电源管理芯片怎么检测电平?????你说的情况应该是通电之后,但是通电之后已经直接启动了
大约 4 年之前 回复
u014770862
HelloBirthday 首先,我这里讨论的不是产品。其次,我的疑惑是我的工作职责到底是什么?
大约 4 年之前 回复

哦对了,其实你的问题不太适合在CSDN上问,去EEPW问更好,那里你同行才多。。。

u014770862
HelloBirthday 谢谢。我也觉得这里搞驱动的少
大约 4 年之前 回复

你这可能涉及电源管理什么的,水可能有点深。
驱动开发
包括
驱动提供什么功能:

电源管理:电源管理的软件硬件协议很复杂,不过据说WDK处理起来比较简单
中断处理 :中断时间有限,要迅速完成,不能太耗时
DMA 处理
io处理
内存映射和读写
寄存器读写
协议

lm_whales
lm_whales 你先把驱动能做的事做完善,感觉做不了的做记录,可能别人不知道以为驱动很神奇,其实驱动只能做他能做的事情,硬件的事情,驱动只能支持,不能代替
大约 4 年之前 回复
u014770862
HelloBirthday 回复lm_whales:昨天就是在跟他讨论啊,他让我去搞那些,我觉得那些本来就不是驱动的事情,我怎么搞?公司没有其他做驱动的,我也是新手
大约 4 年之前 回复
u014770862
HelloBirthday 回复lm_whales: 不是老大,就是硬件部同事。老大让我请教他。。。。。
大约 4 年之前 回复
lm_whales
lm_whales 还有一种可能,就是老大希望你不仅仅知道驱动怎么做,还会一点硬件,能给出点建议,或者直接可以调整硬件
大约 4 年之前 回复
lm_whales
lm_whales 我觉得,你应该跟他讲讲什么东东,驱动做不了,毕竟驱动是软件,不可能胜任硬件的工作
大约 4 年之前 回复
lm_whales
lm_whales 按键的启动与停止,应该是硬件断开和连接USB 之类 的动作,通电自启动应该足以适应了
大约 4 年之前 回复
lm_whales
lm_whales 通电自启动,倒是驱动应该做的
大约 4 年之前 回复
lm_whales
lm_whales 你的职责,就是让硬件动起来,那个按键启动,其实应该不需要你做什么,只需要驱动能工作就够了
大约 4 年之前 回复
lm_whales
lm_whales 驱动本身就是配合硬件的,感觉应该做,不过你也可以提出你的看法。这些东西,应该大家一起研究,不能只管自己怎么想
大约 4 年之前 回复
u014770862
HelloBirthday 回复lm_whales: 你说的有的宽泛,怎么驱动我大概也知道。但是我的疑惑在于同事说的那些,我应该去弄嘛?说明确点,就是我搞不清楚我的职责,也没人给我说我应该怎么做。他给我提的建议,我自己感觉根本不是驱动的工作。
大约 4 年之前 回复

你既然都说自己是新毕业工作的渣渣,连自己的工作职责都搞不清,那么你还思考什么?

因为这种阶段你其实没什么思考的资格。安排了人来带你,那你的职责就是好好听人家的去学去做,他安排你做什么就做,不会就去问他,他自然会教你。

总不至于他故意让你做他自己都解决不了的问题,回头让你问倒了,搬石头砸自己的脚吧?

老人在新人面前提一些新人感觉刁钻的问题,是常事,也是好事,那说明你碰上了一个想好好教你知识的老人,他会把这些难倒你这位新人的知识教给你。这一方面是他在试探你的功底,一方面也是显示他引以自豪的知识。

反而如果你碰上一位不这样“难为”你的,啥也不让你练习和问他问题的,那才是坏事,说明他心里不想让你留在这个公司。

所以,不会就去问他。如果真是他都解答不了,那你可以说你又不是以技术专家的身份进公司的,如果那样的话,就不可能让他来带你了。既然是让他来带你,就是让你向他学他所会的,怎么可能去做成连他都不会的事呢?

如果他说是希望你将来能做到,你打马虎眼过去就行了,比如说,要有将来得先做好眼前,只有他先把你教你,你学好了,才能去实现。

他教你的这些虽然比较偏硬件,但因为他熟悉的就是这些。而领导让他带你,那领导也不是不明白这一点吧?所以你跟他学,就是在做领导交给你的任务。你学了也是有好处甚至是必要的。老板当然希望让你的驱动能兼容一些略有缺陷的硬件,这样可以减少很多报废,那是大钱啊。

从领导的角度,都是想花小钱办大事的。尤其是象你们这种目前只有你一个驱动开发工程师的小公司,更是想要求一专多能,甚至多专多精,把你的能力贡献发挥到极致。所以,花小白的价钱把你招进公司,按大牛的要求让你从熟悉甚至精通硬件开始,也是自然的。

另外一方面,可能领导也还在招有经验的驱动开发人员,等来了才能带你,目前让你先熟悉和学习这方面。

但即使是后一种可能,你还是不能抵触这件事,也不能掉以轻心,更不要在表面上流露你现在文中这些情绪,还是老老实实听话干活。这都会反映你是否能适应公司和继续发展的。

总之一句话,作为新人,多正向积极地做事,少负面思考。等你有足够的能力和经验,才有资格思考和判断,但也还未必可以对一些领导的错误决定直接说不。职场路,慢慢走,慢慢练吧。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问