亿加合和智能车制作

标题: 再碰K60——离别1年K60之后 [打印本页]

作者: lyxoo1    时间: 2014-10-16 22:43
标题: 再碰K60——离别1年K60之后
       距离我第一次参加FSL CUP 已经过去将近3个年头了,虽然参加了2次,但是总感觉学的东西太少,最后一年大学生活过于颓废(天天忙着做项目和软件编程的学习)。可是正当我觉得我可以加入嵌入式软件行业的时候,有一个FSL 的FAE告诉我,搞硬件吧,别弄LINUX了,LINUX现在去五道口抓10个人,4个都是做LINUX的。我想想也是,确实是这样,现在满大街都是嵌入式LINUX培训,光我知道的就什么华清啊  达内啊 各种各样,不过我大二的时候就去把华清的课都上完了,是什么鸟样自己心里比谁都清楚,虽说这段简单的经历对我后期工作中还是有蛮大影响的(这种培训虽然坑爹,但是基础知识和扩展面掌握还是很全面的,至少也花了1W多大洋,再怎么烂也学点东西)。
       但是就由于那个 名叫X某涛的FAE,告诉我这样的一个事实之后,我一股脑地转投到了“嵌入式硬件设计”的学习中,经过一段时间的摸索,还记得那个时候开始学画板子和硬件设计的时候是大一,用的是Protel99SE,后来进了实验室,老板说叫我们用Altium,初接触的时候觉得那个软件界面真的比99强太多了(其实大家很多人都不知道一个软件叫做Tango是DOS下面用的,貌似是Protel这个产品的前身),用了AD大概一年之后,逐渐发现用AD画板子特别卡,尤其是DSP的那种四层的板子,在中间两层走线的时候,那叫一个卡啊,不知道是PC问题还是什么。后来经高人指点之后,开始使用PowerPCB这款软件画板子,但是接触这个软件之后发现这软件真TM难用啊,因为AD已经成为思维定式了。觉得太不爽,后来就开始用PADs,发现PADs虽然是POWER-PCB的升级版,但是还是用起来很难用,不过后来慢慢熟练就好多了,比AD要强很多,虽然那个时候那些功能我都没用上。
      后来,我大四的时候逃了一个学期的课(大四第一学期还有课),出来上班,应X某涛的指点,我几乎所有的简历都奇葩地写了关于LINUX驱动编程(那个时候只会LINUX 字符驱动和平台驱动编程,还不怎么熟练)和UNIX操作系统编程的经验。最后弱弱地写了参加过两届FSL和1届省赛还有1届国赛(话说去了那么多公司,才发现越大的公司,这东西越不值钱,不晓得为啥)。
     最后没办法,参加了几次招聘会都无果而终,因为这个年头搞技术的人真的是太多了,而且技术层次分的很清,档次很明显。这也就是很多行业工资差距很大的原因。最后我只能去网投。索性被某XX企业叫去面试了。然后捏,他们的面试题是酱紫的:

#include<stdio.h>

typedef struct {
    int x;
    char y;
    long z;
    short a;
    void *ptr_x;
}str_1;
int main (int argv,char **argv) {

    printf("size of str_1 = %d Byte\n\r",sizeof(str_1));
    return 0;

}

请回答该句打印的结果?

     有兴趣的同学可以说说答案,不过我猜很多人,尤其是在校的学生都没法写对,前几天FSL去某邮电大学招人的时候也出了这么个题目,结果一群硕士躺枪了。
    当时的我对这种题目信手拈来,但是由于我只写对了一半,结果依然没有被录用。后来的几日里,我发现一个非常严重的找工作的BUG。

问题1:  HR招人的时候怎么招人?
回答: 先看自己简历邮箱的人是否符合要求,如果没有,有的企业会慢慢等,有些则从网站的优秀简历仓库中掏钱去看简历。

问题2: 求职者怎么投简历 ?
回答: 找匹配自己要求的公司,将简历投递进去。

大家发现问题了吧,对没错  我们先从一堆企业里筛企业,然后HR再筛我们,这样几率就下降了一半。这种时候,我急于找工作,就干了这样的一件事,在某招聘网站上,直接搜索关键词 “ARM” 然后  点击全选,然后投递。
结果就是 之后的一个星期,天天有人给你打电话,有做广告的,有培训的,有拉你入伙传销的等等等等。不过正规企业打电话的几率也增多了。

后来我在这些企业里,找到了一个 某电XX所,在里面从事一个奇葩的职业 “System Engineer”,说到这里,其实我想说,有一个轻小说叫  《なれる!SE》 貌似现在要TV化了,有兴趣的可以看看。说到这个岗位,其实很蛋疼,同事自称叫
Super Engineer,其实说白了,我将其称之为屌丝工程师,因为这种坑爹的职业,啥都要干,从整个设备的需求分析,外壳尺寸,风道设计需求,散热,PCB整版功耗、GJB968B实验要求、烟雾、酸雾、霉菌、淋雨、高低温,热冲击,震动等等等等。然后再到软件需求分析,那些软件功能由那些器件实现,上位机要做些什么等等等等。一大堆的事情,就几个人商量之后然后开干。我擦,我一直以为这种企业都蛮规范的,结果我蛋都要碎了。

       然后才是正文,这几天,我突然发现我们板子上某型号的C8051停产了,然后找不到Defence级别的芯片替代,后来找到了深圳某企业,但是看看价格,又蛋疼了。最后没办法,采购竟然搞到了K60的 Defence级,但是价格很贵,估计要在3200多RMB一片,无奈没办法,只得买下来,然后编程的破事就跑到我头上去了。
      “尼玛,我是Layout的啊,不是单片机攻城狮”,
      某工:“X工休产假了,你替一下!”
      “我 嚓 file:///C:\Users\ADMINI~1\AppData\Local\Temp\SGTpbq\6228\00792C4F.gif泪。。。。,我不会用这个单片机啊!!”
      某工 ,从一堆废纸中抽出N久前我的纸质版简历,然后在最下面画了一横岗,上面写着 第七届FSL  XXXX

第八届 XXXXX 等。然后对我笑了笑说:“你当老子是 白痴啊!”
     我被臭骂一顿之后,俨然逃不过替别人写程序的命。

     好久没用,就跑到各大论坛找资料,后来发现有官方有 Kinetis SDK  就下载了一个,结果发现,里面的代码都TM是机器生成的,而且写代码的风格有点像。。。。甲骨文的JAVA ,后来问了某涛之后,他告诉我那个是软件工程的产物,就是一个人看不懂,又懒得看的代码。 然后给我推荐了几个中国人写的库,这里面有 现在做智能车的野火库  LPLD库 还有一个超核库。
    然后我对照了一下几个库的区别,最后给我们一个同事看了看,然后同事的评价是这样的
    野火库:写的比较直白,只不过好像缺点啥。
后来我也发现,库写的比较直白确实是,但是如果在比较大的工程,比如编译代码文件超过50W行左右 量化bin文件在600K以上 这种级别的代码中 类C风格代码是不会被采用的,究其原因就是代码的“耦合性”过于强,至于耦合性强会造成什么问题,这主要是在代码灵活性上体现的,多人协作开发过程中这种代码一般都不会被采用。
    LPLD库: 这个感觉比野火的好一些,我个人感觉适应起来快,但是也有缺点,就是有些东西找不全,或者是用起来不是很舒服,至少我写了这几年程序,发现的问题有些还是在这个库里面被重现了。
    超核库: 这个库本来我没下载,而是FSL的一个FAE发给我的,他说他们公司现在很多客户都在用,然后给我看了看,结果我看完之后发现我喜欢上这个库了(因为修改过LINUX驱动代码),这个库的风格类似POSIX,写法类似C++就是 强封装形式的C代码,这种代码在公司内部用的比较多,就是用C++的思想,C的语法去封装一个设备,将设备看成文件来操作,对于文件的操作,无非就是 创建 打开  读  写  ,那这个库基本都实现了,而且东西也比较全,也使我的开发流程彻底缩短了很长时间(不用自己去写驱动了),最开心的是他移植了 RTT,这个东西现在我们体系里用的比较多,毕竟睿赛德还是有些背景的。
     当我写完了5%的代码后,LEADER告诉我,画板子去,丫的写什么代码。
    我真的是欲哭无泪了,然后操刀 Cadence  跑去 镁光下载 NOR FLASH和 DDR4的  IBIS模型,来做前仿真。结果出来的眼图TM的都闭上了,还得改拓扑呀!


另外说一下, 外面用的比较多的画板子的软件就俩   Cadence SPB 和  Mentor    AD和 Pads用的相对较少(我指的是高速数字设计中,模拟和低速板子的我不是很清楚,因为现在画的比较少了。)

      

作者: aytc100    时间: 2014-10-16 22:43
O(∩_∩)O哈哈~,沙发是我的啦
aytc100 于 2014-10-17 00:47 使用 抢沙发 抢夺本帖沙发
作者: admingj    时间: 2014-10-17 00:31
然后呢?

作者: 村雨    时间: 2014-10-17 02:21
前辈你好,我记得刚在这论坛混的时候就看到有个帖子说他电源模块用了200+,头像是魔法少女奈叶~
作者: lions    时间: 2014-10-17 02:26
:lol:lol
作者: 麦籽小立    时间: 2014-10-17 02:53
突然感觉自己啥也不懂了
作者: 释是圣杰    时间: 2014-10-17 07:52

作者: 1200    时间: 2014-10-17 08:02
萌萌哒lpld
作者: 无酒亦醉    时间: 2014-10-17 08:16

作者: wshgdzh123    时间: 2014-10-17 08:54
答案输出20Byte(内存对齐),但是你的main函数的参数写错了.所以允许会时编译出错
作者: 围场最黑窝窝头    时间: 2014-10-17 09:11
本帖最后由 围场最黑窝窝头 于 2014-10-17 09:15 编辑

我现在整天倒腾模拟和低速板子,还在用AD都不知道4层板是啥样的。还有超核库是啥样的风格类似ST吗?
作者: 李威风12138    时间: 2014-10-17 09:33
:'(:'(:'(自己什么也不懂
作者: 殇嫣    时间: 2014-10-17 09:39
前途渺茫啊!
作者: 纯洁@麻花    时间: 2014-10-17 10:11
我想知道这文章到底想表达什么。。。。。
作者: qq1358381353    时间: 2014-10-17 10:20

作者: 六步上篮    时间: 2014-10-17 10:28

作者: whisker    时间: 2014-10-17 12:00

作者: 小橙子    时间: 2014-10-17 14:03
感觉自己萌萌哒
作者: 满意2012    时间: 2014-10-17 14:13
感觉到了工作后的无奈。
作者: 山外メ雲ジ_VCAN    时间: 2014-10-17 15:49
军用级,50W行代码

作者: wijop    时间: 2014-10-17 15:59

作者: 杨先生    时间: 2014-10-17 16:08
已醉
作者: lyxoo1    时间: 2014-10-17 17:59
admingj 发表于 2014-10-17 00:31
然后呢?

然后就是苦逼的每天对着Cadence 和 VIvado 来DEBUG各种琐碎的问题,都不知道自己这样做有何意义!
作者: lyxoo1    时间: 2014-10-17 18:00
村雨 发表于 2014-10-17 02:21
前辈你好,我记得刚在这论坛混的时候就看到有个帖子说他电源模块用了200+,头像是魔法少女奈叶~

那个时候吃大了玩智能车用金升阳的电源模块,现在看看这简直就是在作死!

作者: lyxoo1    时间: 2014-10-17 18:01
麦籽小立 发表于 2014-10-17 02:53
突然感觉自己啥也不懂了

闻道有先后,术业有专攻。

作者: lyxoo1    时间: 2014-10-17 18:01
wshgdzh123 发表于 2014-10-17 08:54
答案输出20Byte(内存对齐),但是你的main函数的参数写错了.所以允许会时编译出错

好久没写C代码了, 参数名字后面那个是 argc ,你懂的!

作者: lyxoo1    时间: 2014-10-17 18:02
殇嫣 发表于 2014-10-17 09:39
前途渺茫啊!

前途就像雾霾,看似渺茫。经风浪洗礼后,一切都尽收眼底。等待你的是无限的光明,加油吧骚年!

作者: lyxoo1    时间: 2014-10-17 18:03
纯洁@麻花 发表于 2014-10-17 10:11
我想知道这文章到底想表达什么。。。。。

不管是硬件屌丝还是软件屌丝,屌丝永远是屌丝。

作者: lyxoo1    时间: 2014-10-17 18:05
满意2012 发表于 2014-10-17 14:13
感觉到了工作后的无奈。

又用上K60了,感觉自己回到了过去,回来跟大家感慨一下! 其实K60还是挺靠谱的,比STM32强,至少K60没出现过在85°高温环境下代码跑飞的情况!

作者: lyxoo1    时间: 2014-10-17 18:05
杨先生 发表于 2014-10-17 16:08
已醉

喝多了么?

作者: 西311    时间: 2014-10-17 19:35

作者: yandld    时间: 2014-10-17 20:12
LZ呕心沥血,写这么多,深表感谢,我们会一直努力的!!
作者: 张永超    时间: 2014-10-17 20:25
wshgdzh123 发表于 2014-10-17 08:54
答案输出20Byte(内存对齐),但是你的main函数的参数写错了.所以允许会时编译出错

32位系统环境应该是 15 Byte  64位是19Byte吧、、额、、、、

作者: lyxoo1    时间: 2014-10-17 20:43
张永超 发表于 2014-10-17 20:25
32位系统环境应该是 15 Byte  64位是19Byte吧、、额、、、、

分系统,不同系统按  2字节对齐 4字节对齐和 8字节对齐

作者: 傲凌    时间: 2014-10-17 20:57
什么也看不懂   刚学了点儿altium designer   未来的路还很长,还需要很多要学习
作者: 傲凌    时间: 2014-10-17 20:59
麦籽小立 发表于 2014-10-17 02:53
突然感觉自己啥也不懂了

我也是有这个感觉

作者: 麦籽小立    时间: 2014-10-17 21:01
傲凌 发表于 2014-10-17 20:59
我也是有这个感觉

学的越多发现自己懂的越少
作者: 麦籽小立    时间: 2014-10-17 21:02
lyxoo1 发表于 2014-10-17 18:01
闻道有先后,术业有专攻。

向大神看齐

作者: Car_coding    时间: 2014-10-17 21:10
本帖最后由 Car_coding 于 2014-10-17 21:24 编辑

:'(:'(:'(参加完比赛后,东西都上交了,不是得奖了上交。。
现在都没有K60了,用stm了。。。。。
唉,也不知道什么时候才能在用 k60或者freescale的芯片,
不过我现在发现,用什么都是浮云,只要硬件模块够,核心是思路,流程,算法,架构等等吧
整数学,高数,线代,矩阵,最优估计,其实智能车也差不多吧,应该是。

好吧,至少熟悉一块单片机的基础上

作者: 机器人没名字    时间: 2014-10-17 21:46
楼主好样的
作者: muziqiushan    时间: 2014-10-17 21:50
您好前辈,看了您的帖子十分膜拜;出于个人兴趣和工作需要,最近在搞智能硬件,能加下您的qq交流么,我qq:997536713,感激不尽!
作者: westzhao    时间: 2014-10-17 23:02
喜欢超核库
作者: westzhao    时间: 2014-10-17 23:03
感觉好迷茫
作者: 清风吹斜阳rz    时间: 2014-10-18 00:18
;;;;;;;;;;;;;;
作者: M16贯穿伤    时间: 2014-10-18 03:29

作者: 支点305    时间: 2014-10-18 10:22
看完觉得自己又是小白了。。
收藏看以后能不能看懂
作者: 刘旺小盆友    时间: 2014-10-18 10:39
向大神看齐
作者: 傲凌    时间: 2014-10-18 11:25
麦籽小立 发表于 2014-10-17 21:01
学的越多发现自己懂的越少

看到的世界都不一样了


作者: wenjie    时间: 2014-10-18 17:56
感觉很苦逼
作者: allenanswerzq    时间: 2014-10-18 21:28
超核老板就是FSL编程序的。
作者: allenanswerzq    时间: 2014-10-18 21:29
yandld 发表于 2014-10-17 20:12
LZ呕心沥血,写这么多,深表感谢,我们会一直努力的!!

熙哥,还来水啊

作者: horizon_z40    时间: 2014-10-18 23:45
确实感觉啥也不会了。
作者: 张永超    时间: 2014-10-20 11:34
lyxoo1 发表于 2014-10-17 20:43
分系统,不同系统按  2字节对齐 4字节对齐和 8字节对齐

但是常用下。。32位 int :4  ;char:1 ;long:4;short :2;void* :4 64位 int:8其他一样。。。所以答案像我说的那样。。不知有错没有。请纠正

作者: Roy..    时间: 2014-10-20 12:15
学习
作者: Okabe    时间: 2014-10-20 13:04
挽尊!楼主弄过好多东西啊!66666666
作者: 天芒    时间: 2014-10-20 13:14
终于来了一篇有价值的文章,坐车的后辈们有的学了
作者: 冬瓜弗斯    时间: 2014-10-20 16:19

作者: yandld    时间: 2014-10-20 17:20
:lol:lol
作者: 我们的故事很多    时间: 2014-10-20 19:25
:
作者: lyxoo1    时间: 2014-10-20 20:53
张永超 发表于 2014-10-20 11:34
但是常用下。。32位 int :4  ;char:1 ;long:4;short :2;void* :4 64位 int:8其他一样。。。所以 ...

三十二位下
int 4 Byte  char 1 Byte
long 4 Byte
short 2 Byte
void * 4 Byte

然后 4(4) + 1(4)+ 4(4)+2(4)+4(4) = 20 Byte;括号内为实际占用内存
原因: 请自行百度  “内存对齐”

作者: 张永超    时间: 2014-10-21 22:59
lyxoo1 发表于 2014-10-20 20:53
三十二位下
int 4 Byte  char 1 Byte
long 4 Byte

哇哦。。这样个样子。。谢谢了。。受教了

作者: 08孤狼80    时间: 2014-10-22 21:18
楼主是超核的吧,来黑野火和LPLD
作者: dh867699576    时间: 2014-10-23 21:32

作者: lyxoo1    时间: 2014-10-26 22:53
本帖最后由 lyxoo1 于 2014-10-26 23:20 编辑
08孤狼80 发表于 2014-10-22 21:18
楼主是超核的吧,来黑野火和LPLD
萌萌哒!哈哈哈

作者: 【征程】    时间: 2014-10-28 11:38

作者: yandld    时间: 2014-11-7 22:38
:lol:lol:lol:lol
作者: 小学成乐    时间: 2014-11-7 23:58
突然觉得自己啥都不懂
作者: 一心一境14    时间: 2014-11-8 20:52
66666
作者: emper    时间: 2014-11-8 20:58
纯洁@麻花 发表于 2014-10-17 10:11
我想知道这文章到底想表达什么。。。。。

我最赞同的是,越是大的企业这个证书越是没用,国赛也一样
作者: 纯洁@麻花    时间: 2014-11-8 22:03
emper 发表于 2014-11-8 20:58
我最赞同的是,越是大的企业这个证书越是没用,国赛也一样

你的回复想说明神马?

作者: ab295894495    时间: 2014-11-9 01:13
lyxoo1 发表于 2014-10-17 20:43
分系统,不同系统按  2字节对齐 4字节对齐和 8字节对齐

我32位的系统,我把main的参数删除掉,运行之后是20Byte


作者: seazhui    时间: 2014-11-9 02:16
我真心是啥都不懂。。。
作者: gaopeng123    时间: 2014-11-9 09:13
长见识了
作者: wsp1194409532    时间: 2014-11-9 09:21

作者: 我是传奇    时间: 2015-4-17 10:18
且行且珍惜
作者: startstart    时间: 2015-4-17 13:58
感觉自己不能活了
作者: killer1    时间: 2015-4-17 15:46
:lol:lol:lol
作者: 自动化1202    时间: 2015-4-17 16:41
顿时觉得自己像个白痴啊
作者: 下雨    时间: 2015-4-23 11:46
楼主屌屌哒   我这等小渣渣
作者: FAruba611    时间: 2015-4-23 14:47
楼主碉堡了
作者: 提莫快跑    时间: 2015-4-23 14:58
楼主 多交流点这方面的经验,  谢谢
作者: 哥们儿_加油_    时间: 2015-12-16 17:16
楼主很棒!!




欢迎光临 亿加合和智能车制作 (http://www.znczz.com/) Powered by Discuz! X3.2