[請益] 豬屎屋工作,求書單
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.
--
很多東西只看書也很難學會,通常是剛好碰到這種情況然
後才去找對應的資訊
程序員的自我修養我有,但很多細節真的是遇到了才會理
解
如果單純的想應徵一般新人的韌體開發,應該可以不
用這麼焦慮,你問的這個很多人即便已經工作三年可
能也不懂,如果真的那麼焦慮,那就好好寫學校作業,
有多餘的時間就把csapp的lab拿來做做看
Intel® 64 and IA-32 Architectures Software
Developer Manual,到Intel網站就可以下載了。我早期
大概國高中時有買本Intel 8086指令集的書,簡單說就是
講解電腦是如何運作,然後可以透過什麼指令讓電腦做什
事,例如透果某中斷讓電腦發出逼聲,當然早期電腦是比
較簡單的
演員的自我修養(X
ARM有一本超好的舊書是這本嗎? Arm System Developers
Guide: Designing And Optimizing System Software 2004
不介意看英文的話我覺得CSAPP應該蠻有用的XD
白嫖LWN.net
Design Pattern
csapp 其實介意英文也有簡體版
CSAPP 的本體是作業
硬體知識喔...在學校學到的如果能應用到工作中,配合內
部的文件,應該就很夠用了吧?
jserv的課
看書不如在可接受的時間多包一些issue來解也可以提升
又有錢
好像有一本簡體嵌入式還行啦
Memory barrier 需要讀一下 ISA 關於MMU 的部分和指令集
裡barrier 相關的指令,再配合應用的場景
貼圖是Volume 3A: System Programming Guide
與Volume 1: Basic Architecture 一部分內容
如果原PO的疑問是為何要使用某個指令,可以去K一些CPU
發展的書籍或文章
已經進去了就不用自己嚇自己,都是人寫出來的扣
你這症頭多code review幾遍就好了,你要的不是學習,而
是經驗
你學數學的時候 問題就不出來是多看幾本書 還是多寫幾
次
Jserv的課。
memory barrier可以參考這個#1WzRShDV (C_and_CPP)
推樓上,其實那些東西基本原理就是學校教過的
忘記的話可以去找一些計算機結構的課程來補
Arm architecture reference manual
為什麼這樣程度的人可以在豬屎屋工作?
樓上粗暴
因為現在沒得挑人啊
好奇,有人在學校學的可以無縫接軌?
callback寫法就只是經驗而言,直接複製貼上也可以動
cache知識如果薄弱成這樣的話...應該回去K計組吧==
怎麼沒有人提risc-v
48
[問卦] 寫程式要怎麼命名?安安 小弟程式社畜拉 小弟我從小就有命名困難症 玩網遊第一天就是在取名中度過得 最近PTT開放註冊我也因為想不出新唉低所以沒去註冊20
[請益] 私立科大大四生未來方向如題 是這樣的 小弟目前就讀私立科大,剛升大四,看學分只剩6個選修了 應該不能再逃避找工作了 目前會一點C和剛學 還不是很懂的javascript16
[討論] Unit test 的撰寫請益先說我對 Unit test 的看法:測試單元(可能是 function)的邏輯是否正確 好,進入正題 小弟最近剛工作,稍微讀了一下負責的 project 的程式碼後, 要開始開發 Unit test。 現況是,各個 file (.c) dependency 很重,10
[請益] 硬體工程師想自學韌體各位好,目前我在科技業擔任硬體工程師 先介紹一下我自己,從碩士開始主要都是走純硬體為主,硬要講有碰過韌體就是arduino, 做一些簡單的周邊硬體功能確定。 寫程式語言C已經是大學的事情了。 最近想自己進修學學韌體,爲自己提升一下能力,但是有點不太知道如何下手。6
Re: 不想唸碩士了,想去刷題想作一下補充,維護legacy code應該算是比較吃經驗跟工程技術: 1. 判別code smell 2. 了解原code的邏輯 (願意而且能夠讀懂別人的程式碼) 3. 還要能改得對 看這位大大應該是解題能力強、做大型專案的能力也強,把code寫對跟寫好對你5
Re: [請益] 只會C++就業難度在台灣會C/C++的工作其實滿多的 竹科豬屎屋裡面寫韌體/Driver的都是用C 這個就不用說了 如果講C++ 職缺也是不少 近年來Android大行其道,一般人只知道APP層的職缺 但在系統廠和豬屎屋其實有滿多人在寫Android HAL層的程式