Re: [請益] 韌體新鮮人請益

作者: esheep (^^)   2017-12-20 15:30:42
手機排版,請見諒
一般來說 剛拿到IC的Demo Code 及 Spec, driver 部分的工作大致如下
1. 看Spec 的 IC arch.
重點在知道 這 IC 的主要功能及運作時
的control flow.
2. 看Spec 的 Register 描述
重點在初步釐清 這 IC 可以給你什麼?
以及 不能 給你什麼
3. 看Code IC init 部份
用Spec 中 IC initialization register 當
key words 去找Code,
重點在 call register 的順序,其次是參

4. 看Code data init 部份
一樣從 Spec 找key words,
這部分可能需要,也可能不用。
重點在 得知"何時"需重新做 “ 那些”
data init
5. 看Spec data部分時序圖
確認data 傳輸的限制及aligment
看 Code
常見是直接call bus APIs. 知道怎麼用
就行了,不用看進去
5. 看Spec Interrupt
這部分 Code 可能沒有或不完整
如果是 Linux kernel 做法都一樣,
google 一下就有了
重點:
1. 確認支援的interrupt mode
2. 確認是否需delay, pull H/L
這裡容易有 HW 整合的問題,
有問題建議直接找HW協助量訊號
6. 其他
suspend and resume etc.
這部分跟 你們的產品Spec 比較有關
知道 IC 在這些狀態下,對應的register
要怎麼設定就行了
結論:
一般 demo code 就只是把IC Spec 寫成code 而已,Code 本身不會有太多跟IC 功
能無關的軟體架構 或 演算法
I C 控制的code 也就這樣,剩下的就是一堆 Limitation, walk around , corner case
handle...
※ 引述《Severus5566 (正義 從天而降)》之銘言:
: 小弟學士社會新鮮人
: 應徵上一個寫韌體的職務
: 但大學只有學過C語言跟玩過一點Arduino
: 說來慚愧 自己不知道怎麼閱讀DataSheet
: 然後用韌體來控制硬體(寫C語言)
: 有爬文 好像控制暫存器還是記憶體位置?
: 懇請大大給點指點
: 可請寫韌體的前輩們給我開些書單 讓我工作之餘時能自己看
: 目前狀態:主管給我一些廠商的範例程式碼,可是韌體的函式庫裡面註解不多
: 所以讀起來很吃力,也不確定自己理解的是不是對的
: 就像是去GitHub挖一筆資料來看 但不知道有哪些函式可以應用
: 或是這些函式或變數從哪個H檔引用來的
作者: badyy (nick)   2017-12-20 17:07:00
最重要的不是記得下班前把bug清掉嗎??
作者: x246libra (楓)   2017-12-20 18:55:00
謝謝分享。下次來試試看這樣的步驟
作者: esheep (^^)   2017-12-20 19:50:00
IC control 很少有 bug. 大部分都在說服別人: 請接受 IClimitation
作者: waterdisney (想要征服的世界)   2017-12-20 20:05:00
本公司沒有hw bug,只要sw有workaround的 就不是bug!
作者: cuteSquirrel (松鼠)   2017-12-20 21:27:00
好文
作者: ghost1006 (jones)   2017-12-20 21:57:00
是workaround,https://goo.gl/PjtW6m
作者: R119 (= =)   2017-12-20 23:11:00
老闆:我不接受 workaround 但是 Issue 還是要 SW 解
作者: YukiTW (ゆうき)   2017-12-21 10:18:00
軟體要學會強調這不是 issue,而是 spec的說服功力
作者: Bencrie   2017-12-21 11:46:00
不是應該要把 issue 硬拗成 feature 嗎 XDD
作者: yamakazi (大安吳彥祖)   2017-12-21 12:42:00
limitation而不是issue 我遇過取樣頻率太低 ADC前沒做anti aliasing filter的硬體 發生aliasing之後叫sw想辦法濾掉高頻信號都aliasing變超低頻了 是要怎麼濾波
作者: WisdomOrLie (LIvELIfE)   2017-12-22 18:58:00
這看起來比較偏software... 韌體的話…調整硬體跟量測訊號是跑不掉的, 最後可能連QC跟機構的屎都跑不掉……………

Links booklink

Contact Us: admin [ a t ] ucptt.com