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

看板 Soft_Job
作者 PeeHighTW (台灣尿高人)
時間 2023-01-07 17:36:19
留言 67則留言 (24推 0噓 43→)

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.cc), 來自: 114.25.51.184 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1673084181.A.222.html

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

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

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

noahleft: 解 01/07 17:46

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

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

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

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

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

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

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

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

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

OriginStar: 較簡單的 01/07 18:41

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

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

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

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

loadingN: 白嫖LWN.net 01/07 20:48

menesn: Design Pattern 01/07 22:14

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

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

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

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

deflife: jserv的課 01/08 00:32

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

leoloveivy: 又有錢 01/08 00:54

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

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

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

OriginStar: https://imgur.com/sRT1HBZ 01/08 10:27

OriginStar: https://imgur.com/G6lq5NJ 01/08 10:28

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

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

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

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

jj0321: https://imgur.com/2d6z03y 01/08 11:09

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

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

hackfox: 是經驗 01/08 12:18

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

GoalBased: 次 01/08 12:50

dmeiki: Jserv的課。 01/08 13:30

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

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

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

brightest: Arm architecture reference manual 01/09 07:52

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

gR7P4zXH: 樓上粗暴 01/09 11:07

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

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

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

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

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

snaketsai: xv6 RISC-V book 01/10 22:00

lovebridget: 不重要 都是by case 就照那包code寫法寫就對 01/10 23:49

lovebridget: 工作大部分都改值而已 不應該也不可以大改 01/10 23:50

lovebridget: 你去問寫的前輩 假設還沒離職 多半也照著寫而已 01/10 23:52

labbat: 連編譯工具都傳10年同版本沒有變,變革是應該的 01/11 00:45

OnlyRD: 不就基本的Linux kernel development & LDD3 看一 01/11 21:15

OnlyRD: 遍概念就都有了 01/11 21:15

OnlyRD: ?細節的部分你就google一下就好啦,網路上一堆論 01/11 21:15

OnlyRD: 壇跟分享。剩下 01/11 21:15

OnlyRD: 硬體相關要深入,spec拿出來k,都有寫,懶一點至少 01/11 21:15

OnlyRD: application o 01/11 21:15

OnlyRD: r development guide要看啊。 01/11 21:15

askacis: Linux kernel 是你最好的老師 01/20 12:38

您可能感興趣