如果我们把嵌入式这个行业分为上游和下游,那我的苦逼生活更侧重下游部分,主要是购买芯片商的方案,利用原厂提供的参考设计进行应用开发,恰好答主毕业后在半导体公司待了两年,我来补充另外一部分。
半导体公司作为嵌入式行业的上游,很大一部分的人是做芯片本身(前端、后端、测试),当然由于需要给芯片做参考设计,因此半导体公司同样也会存在嵌入式开发。
我们的主要工作是根据芯片的应用场景给客户提供固件以及SDK,在SDK中修复各种芯片的问题(比如不同批次,体质的差异,本身的bug,帮助客户解决问题(这有点像是FAE)。另外你手上拿到的datasheet, programming guide有可能也是我们写的。
嵌入式的开发部分基本相同,由于能获取到芯片的一手资料,一些更底层的驱动,bootloader,一般是我们内部完成,另外除了要和硬件工程师合作还要和芯片设计的同事沟通, 因为有时候除了板子不对之外,也可能是踩到了芯片的bug.
题主主要问我们的生活是什么样子的,我感觉嵌入式行业大家的生活都差不多吧,我是实现feature的时间和debug的时间对半开,另外测试也要占用我一部分时间。长期项目是维护SDK, 短期项目比如做一个JTAG高速下载器,做一些内部调试用的工具。
嵌入式系统工程师。我来说说我一天是怎么过的吧。
08:20 起床,洗澡,穿衣服
08:40 开车去公司
09:00 到达公司,项目经理主持开早会,说说项目进度,再问问我们有什么需要
09:20 开完会。冲杯咖啡,一边吃早饭,一边查昨晚欧洲和中国分公司同事发来的邮件
09:40 开始正式工作。最近比较忙,刚发布的软件有好多bug,check out,慢慢开始找原因
11:00 某个项目讨论会,电话会议,各种撕逼略过不表。
12:00 和同事吃午饭+交流各种小道消息去。有时候在公司一楼的餐厅吃,有时候出去吃
13:00 吃饭回来,刷会微博和知乎。
13:20 继续debug。期间和项目经理讨论了下个release的需求文档
16:00 终于找到问题了,去实验室里做测试
17:00 该下班了。不过测试没做完啊!只有加班了
18:00 测试完成,bug修复,check in,写开发日志和故障分析
18:30 下班回家,路过商店买点菜
19:00 做饭,吃饭,看看视频
21:00 去游泳馆游泳,再不多健健身就要跪了
22:00 游完泳回家,最近在补操作系统方面的知识(上学时候没学好伤不起啊),下了伯克利的CS162课件和Nachos,还在熟悉中
24:00 睡觉。想着这生活实在是太TM无聊了。
我真不知道自己算是做什么的了,反正芯片代码是自己一行行写的,写完芯片又要自己一行行写代码和脚本做仿真,写完仿真自己一行行写约束出fpga工程做原型验证,写完fpga工程又自己一行行写软件底层的驱动,包括芯片的初始化代码和各种外设控制的驱动程序,在我的手里永远没有一样东西可以确定是ready的,所以但凡出了一个问题,首先我要做的就是确认这个问题是芯片设计写错了,还是fpga工程约束没弄好,还是板子上的连接不可靠,还是软件的驱动没写对。
好多人说日常工作经常就是和同事相互扯皮,你们真幸运,以上问题不管我遇到哪一个都是我一个人的锅,因为全都是我一个人串起来的,到这个大的流程基本跑通之前,其他同事都还无法全面参与分担我的工作。所以我只求早点分析出原因搞定问题可以继续往下推进。日常我的桌子旁边总是有各种示波器,开发板,万用表,其实我更喜欢芯片设计出问题,因为找原因快狠准,硬件不稳定的情况debug太痛苦了。
我曾经为了一个电源不稳定的原因找了2个礼拜的问题,都要崩溃了。我感觉做纯软件开发的人应该遇不到这些恶心人的麻烦。
-
工程师
+关注
关注
59文章
1569浏览量
68495
发布评论请先 登录
相关推荐
评论