tag 标签: 电子匠人

相关博文
  • 热度 19
    2016-3-11 11:21
    1463 次阅读|
    2 个评论
    昨天下午,慧子**打电话给我,说她领导又骂了她,电话里的慧子**一肚子委屈——这已经不是第一次了,但凡那位领导好好说几句暖人心的话,慧子**也是绝对会屁颠屁颠的去干活。 我忽然想起刚毕业的时候,在办公室被各种骂来骂去吼来吼去,那时候我这暴躁的小性格和浮躁的心,自然是受不了,于是策划着一次又一次的出逃。后来,终于离开了那家把我骂成狗的公司,也离开了我看到就想把桌子摔过去的同事们,在我眼里,他们要么虚伪没有能力说空话,要么装聋作哑自欺欺人,要么性格古怪神经质。 昨天下午我会直接跟慧子**说,辞职吧,不用搭理神经病。 晚上回到家,帮着慧子**整理她的简历,把她在这家公司的工作经历加入进去,整理的时候才发现,短短四个月,一个互联网行业的门外汉竟然做了这么多工作!我惊讶,她也惊讶,跟我说:“要不我再干几个月吧!”我知道,她是找到信心和感觉了。 我离开那家把我骂哭n次的公司后,整理自己的简历,突然发现,原来自己做过这么多事,成长了这么多!如今已经创业的我,回头看看曾经的那些日子,不再觉得是一种痛苦,而是发现,原来这竟然是生活赐给青春的最宝贵的财富!曾经被骂的一无是处,如今觉得当初还真的一无是处;曾经觉得一件伤到自己“底线和灵魂”的事,如今觉得真是芝麻大小的事就叽歪;曾经因为工作太简单没有技术含量或者不符合自己的职业规划或者不满足自己对职位的期望,如今想来,自己真是too young too  naive。曾经被骂的跟狗一样(说的狗好像多么不堪一样)的日子,如今觉得,这才是成长中获得的财富。 谁都有被骂成狗的青春,谁都有被骂成狗的日子,那些曾经耿耿于怀的人和事,最终只是促进了我们在生活的路上更加的坚强勇敢。 人生这么长,又这么短,一时的得意与失意,又能如何呢?那些被骂成狗的日子,那些被骂的绝望而一无是处的日子,最终给我们的是一颗坚强的心,是一份宝贵的生活财富!最终有一天,我们回头看看那段被生活操来操去的岁月,能够竖起中指微笑着说一句:“What the fucking life!But I love this!”
  • 热度 16
    2014-11-24 17:52
    2253 次阅读|
    5 个评论
    今天新项目过来个领导,跟我聊了一会,他问我的一个问题是:“你擅长哪方面的技术?”这下把我给问愣了,我说,我哪样也不擅长。 和几个朋友一起准备创业,现在还在筹备阶段,经常会接触到一些人问这样的问题:“嵌入式就业好吗?”“学 Linux 有前途吗?”“做软件就业好吗?”……每次遇到人问我这个,我都跟他说:“我哪知道”。 我说一下我的经历,大学折腾了四年,差点没毕业,先是做单片机,然后是 Linux 驱动,然后是 DSP ,然后是 FPGA ,每次跟别人说起来对方都各种羡慕——你会这么多啊……毕业后去了一家软件公司,第一个项目是用 C++ 做一个上位机界面,我之前一行 C++ 都没写过,后来又做车载娱乐 App ,也是用 C++ ,框架是 Linux ,自己闲着没事的时候用 Qt 写个小工具给项目组的人用,下班就倒腾点 Zigbee 或者 linux 或者研究一下菜谱……说到这里,看官们可能糊涂了,丫的在这里扯毛线呢。其实吧,我说这么多,是想说一件事情——你所有的知识都是在围绕着行业进行的。 OK ,遵照上面的观点再来分析,我所在的行业是汽车电子,这个方向很大,第一个项目用 C++ WxWidget 写上位机,是属于汽车电子的汽车诊断,第二个项目用 C++ 基于 Linux 做车载娱乐 app ,是属于汽车电子的车载娱乐应用开发,接下来要做的 BCM (用 C 语言)是属于汽车电子的车身控制。如果这样分析的话,那么上面很多人关心的那一堆问题都迎刃而解,也就是说,技术必须依靠实业作为支撑,否则一切都是空谈,基于具体的实业的技术是没有界限的,比如,我举个例子,第二个项目车载娱乐应用开发,在这个项目里,首先要懂得 Linux 基础命令,第二要懂得嵌入式 Linux 开发基础知识(比如 Makefile 以及 AccrossToolsChain 的配置),第三要懂得 C++ 基础编程和 UML 设计,第四要懂得使用外部库进行网络通信和数据解析,另外由于项目服务器端没有开发好,因此还需要自己在公司搭建一个服务器进行模拟测试,模拟测试需要服务器编程……看吧,这就五六点了,覆盖了太多的知识,绝对不是一句“搞 Linux 就业好吗”就能给你说明白的,因为一个行业里面所需要的技术点太多,绝不只是你会 Linux 或者会 C++ 就能告诉你你一定会有辉煌的前途。因此,首先是要基于行业来考虑这些问题,也就是必须将技术依附于实业来分析是否有前景等问题。这也是为什么那哥们问我最擅长什么技术,我说我哪样也不擅长的原因,因为没有基于实业,我是没法说的。 既然说到了技术,那就再说说技术的共同性。前段时间一个哥们跟我说,做嵌入式底层的东西跟做大型应用软件不一样,我说都一样,然后我们争论了很长时间。我认为一样的原因是:如果你脱离开具体的代码然后从设计模型来看,是一样的。比如说大型应用软件设计中以 C++ 设计一个小应用程序,使用面向对象的思想,而在 Linux 驱动层中,其驱动框架本身就是使用了面向对象的思想来设计,具体代码请参照 Linux 设备驱动框架,最简单的可以看字符型驱动框架。再换句话说, FPGA 的编程思想跟 C++ 应用软件编程思想也是一样的,就是在做一个有限状态机。如此的例子太多,既然从设计模型来看都一样,那么剩下的就是具体实施的编程语言和业务不一样了,编程语言也不过是名字不一样,所提供的功能(比如 I/O 、 FileManage 、 StructData 等)都是相似的,剩下的就是业务逻辑,因此又归结到上一个结论,就是技术必须依附于实业才有具体的意义。 因此,谈技术方向选择技术方向,我认为先想明白自己要做什么行业,然后再想这个行业需要什么技术点,毕竟,还是那句话,技术必须依附于实业才有意义,否则一切都是空谈。
  • 热度 23
    2014-11-8 23:31
    1444 次阅读|
    3 个评论
    一眨眼就到了年末,上半年忙掉了腚,下半年忙掉了脑子,去年还在EDN写了几个专栏,今年却没怎么做贡献,想来真是惭愧。 昨晚看邮箱,看到今年最后一季的主题竟然是随便侃,像我这么有(ai)能(chui)力(niu)的人,突然心就痒了,既然这样,那咱们就一起扯扯,说说技术,说说世界,说说梦想,总之,说说我们能想到的,欢迎留言一起讨论。
  • 热度 12
    2014-10-19 21:41
    2619 次阅读|
    0 个评论
    很长时间没搞LinuxKernel的裁剪,最近要搞点东西,所以下了个最新的源码,想定制一个内核,在执行make menucofig的时候,居然提示如下: *** Unable to find the ncurses libraries or the *** required header files. *** 'make menuconfig' requires the ncurses libraries. ***  *** Install ncurses (ncurses-devel) and try again. *** make : *** Error 1 make: *** Error 2 尼玛,这不科学! 根据提示来说,缺少ncurses libraries,果断搜一下,如下命令: sudo apt-cache search ncurses 然后提示一大堆,不贴出来了,瞬间汗死。 Google了一下,原来只需要安装 libncurses5-dev就可以了,执行如下命令: sudo apt-get install libncurses5-dev 然后再次make menuconfig,木问题了~~~ 那么 ncurses是个毛线呢?谷歌上wiki去吧~(链接: http://zh.wikipedia.org/wiki/Ncurses )
  • 热度 9
    2014-10-19 21:41
    2147 次阅读|
    0 个评论
    1、tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。 -z:有gzip属性的 -j:有bz2属性的 -Z:有compress属性的 -v:显示所有过程 -O:将文件解开到标准输出 下面的参数-f是必须的 -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。 # tar -cf all.tar *.jpg  这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。 # tar -rf all.tar *.gif  这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。 # tar -uf all.tar logo.gif  这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。 # tar -tf all.tar  这条命令是列出all.tar包中所有文件,-t是列出文件的意思 # tar -xf all.tar  这条命令是解出all.tar包中所有文件,-x是解开的意思   压缩 tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg tar –czf jpg.tar.gz *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2 tar –cZf jpg.tar.Z *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux   解压 tar –xvf file.tar //解压 tar包 tar -xzvf file.tar.gz //解压tar.gz tar -xjvf file.tar.bz2   //解压 tar.bz2 tar –xZvf file.tar.Z   //解压tar.Z unrar e file.rar //解压rar unzip file.zip //解压zip 总结 1、*.tar 用 tar –xvf 解压 2、*.gz 用 gzip -d或者gunzip 解压 3、*.tar.gz和*.tgz 用 tar –xzf 解压 4、*.bz2 用 bzip2 -d或者用bunzip2 解压 5、*.tar.bz2用tar –xjf 解压 6、*.Z 用 uncompress 解压 7、*.tar.Z 用tar –xZf 解压 8、*.rar 用 unrar e解压 9、*.zip 用 unzip 解压   2、xz 最近下载LinuxKernel的源码解压的时候,发现压缩包的格式为tar.xz,果断研究一下,原来这种格式的压缩率是最高的,牛逼,膜拜之,下面为相关的应用信息: xz压缩文件方法或命令: xz -z 要压缩的文件 如果要保留被压缩的文件加上参数 -k ,如果要设置压缩率加入参数 -0 到 -9调节压缩率。如果不设置,默认压缩等级是6. xz解压文件方法或命令: xz -d 要解压的文件 同样使用 -k 参数来保留被解压缩的文件。 创建或解压tar.xz文件的方法: 习惯了 tar czvf 或 tar xzvf 的人可能碰到 tar.xz也会想用单一命令搞定解压或压缩。其实不行 tar里面没有征对xz格式的参数比如 z是针对 gzip,j是针对 bzip2。 创建tar.xz文件:只要先 tar cvf xxx.tar xxx/ 这样创建xxx.tar文件先,然后使用 xz -z xxx.tar 来将 xxx.tar压缩成为 xxx.tar.xz 解压tar.xz文件:先 xz -d xxx.tar.xz 将 xxx.tar.xz解压成 xxx.tar 然后,再用 tar xvf xxx.tar来解包。