Re: [请益] 新人该怎么进入状况?

楼主: yamakazi (大安吴彦祖)   2018-09-03 22:26:08
你是用C写FW吧
C相对C++简单很多
首先先准备好一套好的code tracing tool
Slik edit, source insight, 或是visual studio都可以
我个人比较喜欢SI
他有个功能是可以找refernce
你很快可以列出这个函数有在哪些地方被使用到
C不是物件导向 也没有一大堆第三方函式库
顶多就是call back fuction 和指标一开始比较难懂
大部分流程都是sequential 没有multithread的话又更简单
如果是系统厂的FW 把厂商提供的sample code和spec看一看 看一下重要的register怎么读写 有没有特定流程
尤其是ISR的部分 写软件转做FW的很容易忘记硬件有自己interrupt
有问题就问原厂 不要自己想破头想单干硬解
IDE或script环境先建好 不要compile环境不一样产生有问题的bin档
记住volatile这个关键字是干嘛的 如果某个变量在code以外的地方有可能被更动的话就要?
debug mode要会用 有时候光打印log看不出问题
版本控制软件要会 进code前请资深的同事帮你review下 自己先测过再进code
逻辑分析仪 示波器要会用 要知道怎么trigger
有bug很多时候是你内存操作错误
比如说用太多区域变量导致stack overflow
或是有module把heap free掉 别的module又去access他
通常内存问题log和debug mode看不太出来
单个module也不会发生 但整个程式一起运作就会发生crash 很难解
功力不够的话 没事不要重构 会招人怨又找自己麻烦
菜鸟的话 大guy4这样
作者: loadingN (sarsaparilla)   2018-09-03 22:51:00
作者: tim790809 (gtBH)   2018-09-03 22:52:00
FW日常
作者: j0938926004   2018-09-03 23:16:00
作者: Bluedicker (蓝迪克)   2018-09-03 23:38:00
感谢回复 我也是用SI,看函式真的方便很多。code写完我也不敢乱上 出包很惨的XD
作者: zxc1748 (欢乐棒)   2018-09-03 23:42:00
用心
作者: call0123 (修~)   2018-09-03 23:50:00
大推
作者: IanLi (IanLi)   2018-09-03 23:54:00
这也太认真的好心回文
作者: BaGaJohn5566 (莫忘初衷)   2018-09-04 01:59:00
这篇其实可以m?
作者: stud20806 (阿猴)   2018-09-04 02:06:00
作者: inleuyen (yyt)   2018-09-04 07:00:00
作者: q438241zy   2018-09-04 09:01:00
这怎那么像我的日常
作者: Asbarla (木头)   2018-09-04 09:08:00
原PO把我的推文修掉惹..QQ
作者: morris1661 (morris)   2018-09-04 09:12:00
原原po的问题就不是写程式的问题,是他对前人的架构不了解,你发这个文对他又没帮助
作者: weber1993 (weber)   2018-09-04 09:19:00
楼主: yamakazi (大安吴彦祖)   2018-09-04 09:22:00
修掉推文不好意思 因为用手机编辑 FW SW我都写过 FW的架构真的不会难到哪里去 花时间多看多问 最后就会懂了FW很大一部分是Bootloader和driver 这种基础流程不可能写的多复杂 写太复杂只是找自己麻烦除非你的FW里面包了一堆算法 比如说Nand flash 才会变复杂
作者: physicsdk (我是小洛)   2018-09-04 09:47:00
中肯贴切好文,但VS很烂,SI正解
作者: providence (providence)   2018-09-04 09:54:00
推 真得是FW的日常QQ
作者: a41307 (玮哥牌壮X药)   2018-09-04 10:27:00
分位日常
作者: zhuzii (UsualMan)   2018-09-04 10:56:00
推推 感觉可以m
作者: lammin (死鱼)   2018-09-04 11:07:00
这真的好贴切
作者: sarino (ocean)   2018-09-04 12:24:00
的确是FW know-how
作者: thomaspig (沈猪)   2018-09-04 16:03:00
作者: as891339 (Yang_Kai)   2018-09-04 17:13:00
作者: boy6074d (David)   2018-09-05 16:27:00
感谢分享

Links booklink

Contact Us: admin [ a t ] ucptt.com