关闭

交大博士血泪自述:不是读博的料,别上博士这条船

文章索引:   一、前言   二、读完博士能够干什么?   三、怎样的人适合读博士?   四、怎样读博士?   五、在美国读博士   六、结语——关于事业 正文:   这篇文章说明了男怕入错行。...
阅读(1689) 评论(0)

南京IT企业环境之最深心得体会

我是南京做嵌入式的。之前搞过一年的PC平台Linux内核开发,Linux内核态的只要不是很复杂的BUG还是能修复的。一年的Linux用户态软件开发。然后最近搞了两年ARM嵌入式开发。做的CM3核芯片相关。 然后我最近找嵌入式工作,我就发现个特点。我发现南京真是除了华为,三星,趋势等很少的大公司外,其他公司给钱都很一般,要求标准倒是很高的。而且很多公司都是搞外包的。 我找嵌入式相关工作,...
阅读(2018) 评论(3)

如果你是一名搞技术的,该如何更好地发展。

常常听到有些人说在中国搞技术是吃青春饭,码农比较苦逼。 随着我工作时间和工作经验的日积月累,我渐渐有了自己的看法。 我不知道网上有没有人的气质经历跟我一样。反正我认为,选择一个行业,毕竟是靠缘分,还有自己性格气质适合不适合。 并不是每个人都能成为土豪,都能搞销售,拉关系,混江湖搞的游刃有余。当然了人不能太沉迷于技术,要多方面发展的。 不过干什么都有踏实,你不是那一类人,就先干好自己的本行。...
阅读(1880) 评论(0)

研发和开发---谈谈我经历的一些公司面试

我之前的公司面试分为这两类比较恰当:一类偏向做业务软件的,一类偏向做系统软件的。   业务软件和底层软件两个领域的不同特点.       做业务软件,好的职业发展偏向客户需求分析,和客户有好的沟通交流。这些领域的公司含金量比较高(就是软件工程师进一步发展的话)的职位在于对比如电信行业的业务运营模式特别熟悉,而且情商高些,会跟客户进行有效地沟通交流。       业软领域开发侧重于对某项...
阅读(1119) 评论(0)

关于工作和面试感悟

关于面试 新一轮的面试我又奔波了几次,又有些感悟。 面试官可能没耐心听你讲什么技术原理,某些技术的创造力,面试官更比较感兴趣的是能够花很短时间赶紧确定出一个人合适不合适这个职位的工作,能不能马上快速地过来干活。 能够知己知彼是成功面试的关键,你能清楚自己的优势在哪,还有对方公司提供的这个职位到底侧重哪方面的知识考察。还有你目前具有的工作能力和这个职位所看重的能力到底有多少不吻合。 知己知彼...
阅读(905) 评论(0)

MMU,cache,裸机嵌入式C编程还有带操作系统的编程

通过CMSIS-utrealos项目中的CTBUG调试,使我对裸机C编程加深了认识。那个BUG调试,现象是出现hard fault,但是fault出现地的汇编指令看着貌似没啥问题,解决一处的fault后,其他处又出现fault了。最后我看到原来是fault出现地的指令中源地址错误了,源地址应该在数据段中,却意外地落到了代码段中。这个现象我忙活了半天才找到。 然后通过看那奇怪的源地址,对照它四周的...
阅读(920) 评论(0)

armcm3权威指南笔记----arm编程中地址未对齐方面的影响

P152当使用C开发程序时,推荐开启CM3的双字对齐管理机制(在NVIC配置与控制寄存器中,把STKALIGN置位),代码形如: #define NVIC_CCR ((volatile unsigned long *)(0xE000ED14)) *NVIC_CCR = *NVIC_CCR | 0x200; //设置STKALIGN位 STKALIGN 的名词解释P306 在响应异常的...
阅读(1210) 评论(0)

嵌入式编程复杂性

搜索关键词:嵌入式编程 无MMU 调试复杂 嵌入式往往没有操作系统支撑,或者因为有操作系统支撑,但因为种种的限制,操作系统提供的功能少得可怜。所以,很多代码不能像PC编程那样天马行空,任意驰骋。 今天就聊聊内存分配的问题,内存碎片,可能大家都不陌生。然而在嵌入式系统里,最怕的就是内存碎片,也是系统稳定的头号杀手。我曾经做了一个项目,系统中有很多的malloc和free,尺寸不一,从60多个字节...
阅读(698) 评论(0)

uclinux与linux的不同

题外话:感觉通过比较uclinux与linux的不同,能让我更加深入地理解linux的虚拟内存机制,以及它给应用程序编程带来的极大的便利。 可执行程序的加载   在普通的Linux中,虚拟内存技术的使用使我们不必关心一个应用程序是从什么地址开始的。           即使所有的应用程序都使用同一个连接脚本配置。       也就是说,即使它们使用的虚拟地址是重叠的,经过页表和页目录...
阅读(696) 评论(0)

arm权威指南及我们组项目笔记

1:关于新创建的task在执行函数时,怎样得到它的两个参数:stacd和exinf 在函数knl_setup_stacd中,还有权威指南P142. 就是说执行函数写成:void task_test(INT stacd, VP exinf)和void task_test(INT stacd)都行 2:函数tk_rcv_mbf_impl中    QueInsert(&knl_ctxtsk->t...
阅读(773) 评论(0)

armcm3权威指南笔记

CM3系列处理器优势: 功耗低。延长了电池的寿命——这简直就是便携式设备的命门(如无线网络应用) 实时性好。采用了很前卫甚至革命性的设计理念,使它能极速地响应中断,而且响应中断所需的周期数是确定的。 代码密度得到很大改善(应用thumb指令?)。一方面力挺大型应用程序,另一方面为低成本设计而省吃俭用。   降低成本还有一招,就是使基础代码在所有系统中都可以重用,至少要方便移植。CM3的内...
阅读(4961) 评论(2)

IT企业生活的有啥想法

在外企干的时间长了,有些活想起来就说了。 外企工作的特点与中兴华为那些民企可能不太一样,环境差别还是比较大的。 中兴华为这些民企都是靠自己打天下的,本身自己处的国内经营环境就不好,融资渠道匮乏,现金流紧张,再加上还得跟政府国企打交道。所以那些底层码农们其实生活是比较辛苦的。整天可能面临的是琢磨不完的技术,写不完的代码。但是在这些企业可能咬紧牙,呆的时间长了是能学到很多东西的,无论是技术还是管理...
阅读(865) 评论(0)

uclinux FM3芯片的移植

uclinux ethernt FM3芯片的移植这个移植是把uclinux下面的本来支持stm32芯片的代码修修改改让它支持FM3芯片。 移植开发环境搭建: 开始我们隔壁项目组做uclinux相关的,我们把它们的工作正常的uclinux版本拿过来。在里面找到stm32相关的代码,开始这个版本的uclinux是配着uboot去执行的,是标准的嵌入式linux执行流程,必须有uboot去引导。而我...
阅读(969) 评论(0)

linux红黑树实现

Linux内核红黑树的算法都定义在linux-2.6.38.8/include/linux/rbtree.h和linux-2.6.38.8/lib/rbtree.c两个文件中。     1、结构体  [cpp] view plaincopyprint? struct rb_node  {      unsigned long  rb_parent_color;  #def...
阅读(630) 评论(0)

二叉树迭代器算法

二叉树(Binary Tree)的前序、中序和后续遍历是算法和数据结构中的基本问题,基于递归的二叉树遍历算法更是递归的经典应用。 假设二叉树结点定义如下: 1 2 3 4 5 6 // C++ struct Node {     int value;     Node *left;     Node *right; }...
阅读(1684) 评论(0)

人可以不成熟但不能不成长

最近面试一家算比较出名的半导体台企受挫,让我有所感想,想对这几年的工作经历做下总结。 首先说这家公司面试,岗位是linux下内核驱动相关开发。一上去考察我几个kernel 内部几个API的使用方法及区别,还有驱动程序大致框架,里面怎么工作,里面数据段怎么搬移。我由于一年多没搞linux下东西了,这些大部分回答得比较吃力。 我下来感觉这些驱动开发其实也不难,凭我之前比较好的基础。但是企业招人面试...
阅读(608) 评论(0)

利用多核多线程进行程序优化

样例程序 程序功能:求从1一直到 APPLE_MAX_VALUE (100000000) 相加累计的和,并赋值给 apple 的 a 和 b ;求 orange 数据结构中的 a[i]+b[i ] 的和,循环 ORANGE_MAX_VALUE (1000000) 次。 说明: 由于样例程序是从实际应用中抽象出来的模型,所以本文不会进行 test.a=test.b= test.b+su...
阅读(707) 评论(0)

RTOS组的嵌入式开发经历

去年被调到了嵌入式组,终于和以前研究生阶段搞的开发经历一致了。但以前用的是ADS工具,还有用linux平台上的交叉编译工具链,还有看linux 2.4内核的驱动代码。 现在搞起对日了。日本人不爱用linux,凡事总是搞出自己的一套。现在用的ut-kernel,  开发工具则有RVDS,DS-5,MTK和IAR, 硬件调试器有Dstream, Realview ICE。 现在对应的是富士通半导体...
阅读(1566) 评论(0)

GCC警告选项理解

GCC警告选项对我们及时找出代码中BUG,改善代码品质很有帮助。 听说高手们对每个警告选项都很熟悉,能灵活运用各个警告选项来分门别类地过滤代码中的BUG信息。 1 ../SRC/libpjmacl/pjmacl_jaccmd.c:1661: 警告: dereferencing type-punned pointer will break strict-aliasing rules pjma...
阅读(9302) 评论(0)

工业级的内存拷贝函数实现

写一个函数,完成内存移动,并为其写一个简单的测试用例来进行测试。    够简单的吧?有的同学很快就写出了答案,详见程序清单1与程序清单2。          程序清单 1   V0.1版程序 void MyMemMove(char *dst,char *src,int count) {     while(count--)     {         *dst++ = *src++...
阅读(823) 评论(0)
88条 共5页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:106414次
    • 积分:1828
    • 等级:
    • 排名:千里之外
    • 原创:44篇
    • 转载:44篇
    • 译文:0篇
    • 评论:24条
    最新评论