Re: [請益] 韌體新鮮人請益
手機排版,請見諒
一般來說 剛拿到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檔引用來的
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.8.72.212
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1513755045.A.9F0.html
→
12/20 17:07,
6年前
, 1F
12/20 17:07, 1F
推
12/20 18:55,
6年前
, 2F
12/20 18:55, 2F
→
12/20 19:50,
6年前
, 3F
12/20 19:50, 3F
→
12/20 19:50,
6年前
, 4F
12/20 19:50, 4F
推
12/20 20:05,
6年前
, 5F
12/20 20:05, 5F
→
12/20 20:05,
6年前
, 6F
12/20 20:05, 6F
推
12/20 21:27,
6年前
, 7F
12/20 21:27, 7F
→
12/20 21:57,
6年前
, 8F
12/20 21:57, 8F
推
12/20 23:11,
6年前
, 9F
12/20 23:11, 9F
推
12/21 10:18,
6年前
, 10F
12/21 10:18, 10F
推
12/21 11:46,
6年前
, 11F
12/21 11:46, 11F
推
12/21 12:42,
6年前
, 12F
12/21 12:42, 12F
→
12/21 12:42,
6年前
, 13F
12/21 12:42, 13F
→
12/21 12:42,
6年前
, 14F
12/21 12:42, 14F
→
12/21 12:43,
6年前
, 15F
12/21 12:43, 15F
推
12/22 18:58,
6年前
, 16F
12/22 18:58, 16F
→
12/22 18:58,
6年前
, 17F
12/22 18:58, 17F
→
12/22 18:58,
6年前
, 18F
12/22 18:58, 18F
討論串 (同標題文章)