看板 Soft_Job 關於我們 聯絡資訊
※ 引述《Severus5566 (正義 從天而降)》之銘言: : 小弟學士社會新鮮人 : 應徵上一個寫韌體的職務 : 但大學只有學過C語言跟玩過一點Arduino : 說來慚愧 自己不知道怎麼閱讀DataSheet : 然後用韌體來控制硬體(寫C語言) : 有爬文 好像控制暫存器還是記憶體位置? 取決於平台,但是多數平台,尤其是流行的ARM,是控制記憶體。 但是,但是,雖然這麼說,實際上只是某個控制器的暫存器映射 到virtual address當中去而已。 然而所謂控制暫存器的場合,在後者平台也有,但是不是直接的。 比如說,一個外置晶片採用SPI介面和控制晶片,然後我要控制這個外置晶片 做什麼,就是寫指令到這個晶片當中的暫存器中。而且這種東西一般 是沒有辦法映射到virtual memory中的(PCI應該很少見吧) : 懇請大大給點指點 : 可請寫韌體的前輩們給我開些書單 讓我工作之餘時能自己看 我不建議一開始就看晶片的Datasheet,因為您壓根不知道要做什麼。 我回答您第一個問題,關於控制暫存器還是記憶體當中某個位置, 說明您對電腦體系沒有個概念。不過也不要要緊,我這邊簡略說明 一下這項工作,希望對您有幫助。 我以控制MEMS傳感器為例子,您需要了解什麼呢? 1. 我的控制晶片如何和傳感器通信 2. 傳感器能提供何種資料?資料能表示什麼 先從問題一來,傳感器通信無非就是SPI, I2C兩種為主,還有一些 用signal bus或者採用ADC的可以等下再講。 那您就要去了解一下SPI和I2C協定的內容,是如何傳輸資料的。 當然不了解細節也是可以,因為項目一可是拆分成下面的細節: 1.1. 通信協定本身的資料傳輸方式,電氣與信號原理 1.2. 控制晶片上是否有提供符合這個協定的控制器?(多數有) 1.3. 如何操作控制晶片上的控制器?(多數都有提供API) 如果沒有遇到性能問題,或者通信障礙,多數只要了解1.3就可以了。 這個是多數工程師打交道的地方了。 現在我們來看項目二,例如一個速度傳感器,我要如何讀取速度 資料出來? 2.1 如何上電,初期化被控制晶片(例子中是個傳感器) 2.2 讀取某個方向的速度(一般有3個軸向的),需要讀取 那幾個暫存器? 2.3 傳感器上如果資料生成後存儲於何處?如何不漏地讀取資料? 2.1和2.2是比較需要看Datasheet,反正流程都差不多。 2.2無非就是看看Datasheet當中,如何換算一下讀出的數值到需求的 單位上,因為有的時候是把16bit資料拆成兩個8bit暫存器中去, 或者是把整數和小數點拆開之類的。或者需要利用某個暫存器中 表示的範圍進行換算。 2.3是比較需要關於程式的知識,大概就是需要了解一下FIFO和Interrupter 之類內容。 但是進行到項目二,您只是完成了主管的初期任務吧?重要的控制器 拿到傳感器傳輸的資料可以做什麼?這個就是專業領域的問題了。 可能要用傳感器的訊息控制電機,或者算出機構的姿態,從而 控制一下別的什麼設備。控制別的設備就有回到項目一和項目二了。 大概說明了一下工作內容,至於推薦圖書,我自己其實不是搞這個領域, MCU沒有摸很多,我要找找合適的書推薦。最好請版上先進推薦。 : 目前狀態:主管給我一些廠商的範例程式碼,可是韌體的函式庫裡面註解不多 : 所以讀起來很吃力,也不確定自己理解的是不是對的 : 就像是去GitHub挖一筆資料來看 但不知道有哪些函式可以應用 : 或是這些函式或變數從哪個H檔引用來的 我不清楚您主管給的是控制晶片的資料,還是被控制晶片的資料。 如果是完全新人的話,一般來說給的都是控制晶片的資料, 然後讓人在評估板上run demo來熟悉一下環境,再慢慢教授控制 別的晶片。我是不建議一開始兩個個項目同時進行的,會困擾的, 一個一個來比較好。而且也不符合以後的開發方式,多數的將來都是 只替換掉當中的一個而已。 -- 你比較喜歡哪一個? 當年不是黨國大老但是被江浙財團捧紅的中國帥哥 跟同樣擁兵一方的諸侯約會裁軍結果半途諸侯們爽約,平常有在寫日記的莊嚴男人開始發飆 在旁邊讀著荒漠甘泉冷眼旁觀看著薔薇戰爭的人,為了中國的事情爭吵 別國調侃是不是中國總統,義正詞嚴的說著我是民族的燈塔的威嚴老先生 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 103.29.142.67 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1513735814.A.907.html ※ 編輯: hizuki (103.29.142.67), 12/20/2017 10:16:17
Severus5566: 感謝大大回應 看來關於MCU我什麼都不懂 所以希望有沒 12/20 10:43
加油吧,這行其實很簡單的。多問就好了。
Severus5566: 有推薦的工具書可以讓我快速上手的 畢竟不能一直追著 12/20 10:46
Severus5566: 別人問 12/20 10:46
工具書我要去找,而且可能我只有全英文的。不過我看您需要跑一個專案來熟悉流程, 不然您看書後會覺得一頭霧水,不知道有什麼用。也麻煩您多看幾遍我的上面的說明。 ※ 編輯: hizuki (103.29.142.67), 12/20/2017 10:49:17
frank010180: 推好文分享 12/20 13:42
onegoman: 推。 11/20 01:11
automaton: 推 11/22 01:06