PTT推薦

[請益] 豬屎屋工作,求書單

看板Soft_Job標題[請益] 豬屎屋工作,求書單作者
PeeHighTW
(台灣尿高人)
時間推噓20 推:20 噓:0 →:34

Hi all
目前正在豬屎屋工作,仍處在讀書的階段,
每次在讀前輩們的 Code ,心裡都會想“這種 Code 我大概寫不出來” QQ,或者是硬體相關知識不太明白,
比方說為什麼要設 memory barrier 這些,
甚至是 Linux 的 READ_ONCE 也是我工作之後才知道
如何讀 Register、cache 的操作等等

還有上層設定 HAL 層的函式、設 callback 等等。
因為不同的平台可能用到的 hardware 不一樣,而程式碼要去能夠去編譯給不同的平台
因此上層跟 HAL 層要切的很開,而目前讀的程式碼確實辦到了
要是我來寫肯定只會用 define 去包QQ

大概看得懂是用函式指標去包跟傳 callback,但真的要我寫可能有困難

想問版友有沒有推薦的書籍?
簡單來說,就是硬體知識 + 如何寫出好 C code。

目前有兩本在我的名單內:
1. 21世紀 C 語言
2. 程序員的自我修養

2. 我看一下目錄,我大概都懂,不曉得還需不需要買來看;
前者感覺偏向 C 語言的部分,讀了應該對我有幫助,但關於硬體部分我還是沒頭緒(控 register、cache、CMOS)

再請大大推薦書籍了,謝謝

-----
Sent from JPTT on my Samsung SM-M536B.

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.25.51.184 (臺灣)
PTT 網址

noahleft01/07 17:45很多東西只看書也很難學會,通常是剛好碰到這種情況然

noahleft01/07 17:45後才去找對應的資訊

noahleft01/07 17:46程序員的自我修養我有,但很多細節真的是遇到了才會理

noahleft01/07 17:46

e1251816633901/07 18:18如果單純的想應徵一般新人的韌體開發,應該可以不

e1251816633901/07 18:18用這麼焦慮,你問的這個很多人即便已經工作三年可

e1251816633901/07 18:18能也不懂,如果真的那麼焦慮,那就好好寫學校作業,

e1251816633901/07 18:18有多餘的時間就把csapp的lab拿來做做看

OriginStar01/07 18:38Intel® 64 and IA-32 Architectures Software

OriginStar01/07 18:38 Developer Manual,到Intel網站就可以下載了。我早期

OriginStar01/07 18:39大概國高中時有買本Intel 8086指令集的書,簡單說就是

OriginStar01/07 18:40講解電腦是如何運作,然後可以透過什麼指令讓電腦做什

OriginStar01/07 18:41事,例如透果某中斷讓電腦發出逼聲,當然早期電腦是比

OriginStar01/07 18:41較簡單的

undersky01/07 19:19演員的自我修養(X

enthos01/07 19:23ARM有一本超好的舊書是這本嗎? Arm System Developers

enthos01/07 19:23Guide: Designing And Optimizing System Software 2004

RouterHsieh01/07 20:04不介意看英文的話我覺得CSAPP應該蠻有用的XD

loadingN01/07 20:48白嫖LWN.net

menesn01/07 22:14Design Pattern

Gaogaigar01/07 22:53csapp 其實介意英文也有簡體版

Hsins01/07 23:08CSAPP 的本體是作業

Lipraxde01/07 23:15硬體知識喔...在學校學到的如果能應用到工作中,配合內

Lipraxde01/07 23:15部的文件,應該就很夠用了吧?

deflife01/08 00:32jserv的課

leoloveivy01/08 00:54看書不如在可接受的時間多包一些issue來解也可以提升

leoloveivy01/08 00:54又有錢

leoloveivy01/08 00:55好像有一本簡體嵌入式還行啦

twicm01/08 01:04Memory barrier 需要讀一下 ISA 關於MMU 的部分和指令集

twicm01/08 01:04裡barrier 相關的指令,再配合應用的場景

OriginStar01/08 10:27https://imgur.com/sRT1HBZ

OriginStar01/08 10:28https://imgur.com/G6lq5NJ

OriginStar01/08 10:29貼圖是Volume 3A: System Programming Guide

OriginStar01/08 10:30與Volume 1: Basic Architecture 一部分內容

OriginStar01/08 10:30如果原PO的疑問是為何要使用某個指令,可以去K一些CPU

OriginStar01/08 10:33發展的書籍或文章

jj032101/08 11:09https://imgur.com/2d6z03y

bnd032701/08 11:40已經進去了就不用自己嚇自己,都是人寫出來的扣

hackfox01/08 12:18你這症頭多code review幾遍就好了,你要的不是學習,而

hackfox01/08 12:18是經驗

GoalBased01/08 12:50你學數學的時候 問題就不出來是多看幾本書 還是多寫幾

GoalBased01/08 12:50

dmeiki01/08 13:30Jserv的課。

jasonwung01/08 22:15memory barrier可以參考這個#1WzRShDV (C_and_CPP)

a2741733201/09 02:39推樓上,其實那些東西基本原理就是學校教過的

a2741733201/09 02:41忘記的話可以去找一些計算機結構的課程來補

brightest01/09 07:52Arm architecture reference manual

leolarrel01/09 09:52為什麼這樣程度的人可以在豬屎屋工作?

gR7P4zXH01/09 11:07樓上粗暴

newking76101/09 12:16因為現在沒得挑人啊

pacino01/09 12:18好奇,有人在學校學的可以無縫接軌?

NCTUFAIWEN01/09 12:19callback寫法就只是經驗而言,直接複製貼上也可以動

NCTUFAIWEN01/09 12:20cache知識如果薄弱成這樣的話...應該回去K計組吧==

labbat01/10 00:31怎麼沒有人提risc-v