可以推薦一些學習微機原理,單片機,嵌入式或者FPGA的經典書籍,可以少走彎路?
例如我所知的51的有郭天祥的書我看了,確實很好,ARM有《權威指南》,FPGA有《深入淺出玩轉FPGA》,還有《VERILOG那些事》還有哪些看過的自認為很好的,硬體方面的也可以
不要看書,各家晶元或者工具裡面自帶的文檔和示例工程才是權威,各種亂七八糟的書多數都是翻譯了事(而且翻譯的沒有最渣,只有更渣)——————————————————————————————————————看來不少人都被各種騙錢的xx入門xx指南坑過,其實就好比你買了個冰箱,想要學會怎麼用你會去看廠家的說明書而不是在淘寶上看買家曬單。以FPGA為例,個人習慣用Xilinx的,他家作為買晶元的,肯定是盼著能多賣一點,恨不得手把手地教會你怎麼用,而且還想讓你做出好產品,想讓你的產品大賣,然後你才能多買幾片不是么。所以你可以看到他家的文檔幾乎是面面俱到,而且在各個可能的應用場景都給你開發過原型系統來給你參考。
原廠的文檔千好萬好只有一點不好——那就是都是英文的。但是怎奈主流IC廠商都在英美呢,所以既然題主想要干這行,必須克服對英文文檔的恐懼。
多動手做才是王道,就像 @時國懷 提到的,你不實際做過看一百遍書都記不住。
同意 @王天祺 的觀點。盡信書不如無書。
現在的很多書在排版和編輯的時候都可能會有些點寫錯或寫反的。而且這些書大多都是只出一版賺完錢就走人。有錯漏也不會補上。(除非你買第二第三版的書)各個晶元廠家自己出的Datasheet和使用指南、應用方案等Pdf文檔都是免費下載的。廠家為了保證信息的準確性,會定期更新Datasheet並給出舊版的勘誤表。我剛畢業時候,公司要求我使用PIC單片機,在學校只學過51的。當時工資低還沒個固定住所,懶得拖一大堆教科書跑來跑去,就直接在Microchip的官網下載Datasheet文檔和使用指南在本本上看。就著公司的PIC開發板做實驗,半個月就掌握了PIC16/18系列的晶元。當你從事嵌入式開發的時候,不太可能讓你一個人設計一個完整的系統,通常只是參與設計一個小模塊,因此直接學大框架設計是沒有必要的,嵌入式開發人員最需要的是基本功,所以,先鍛煉好C語言能力。
看書不會讓你少走多少彎路,動手編碼才能真正讓你少走彎路。
多讀代碼,提升自己掌握大規模代碼(比如超過十萬行的模塊)的能力。
多寫代碼,熟悉各種基本演算法,熟悉函數指針數組、各種狀態機編寫等基本C語言技能,這些都是動手做出來的,看書,未必管用。
先趕緊開始寫代碼吧。
舉幾個例子:
1、Linux內核中使用了大量的do {}while(0) 這種宏定義,為什麼這麼用?
2、宏定義里用#代表什麼意思?
3、如何快速統計一個int型整數的二進位數里有多少個1?
……
動手寫才能理解,看書,過後就忘了。FPGA入門書2本,需要通讀:《Verilog HDL設計與驗證》 吳繼華 王誠《FPGA Prototyping by Verilog Examples》Pong P. Chu
我對黑金的編碼風格存有異議,所以不推薦。
王天祺 說的非常對
我記得我很多年前第一次用PIC16F877A的時候,不懂去官網查資料,在噹噹上買了一本北航的XXX從入門到精通。
結果有個地方印錯了........半個月卡在一個寄存器配置位上........(不說了,都是淚)
晶元官網上所有你要的資料都有!!!數據手冊,應用筆記,範例模型,運算公式模型,程序範例模板,應用案例,等等
其他地方只能參考,絕對不要篤信。
另外,對某些大學教授,一年能出幾十上百本類似工具書的現狀,我只能鄙視!深深的鄙視!
真希望大學剛剛畢業的孩子們,不要再走彎路了,直接去晶元官網找資料。
*******datasheet.pdf
51單片機:郭天翔《十天學會單片機》
STM32:正點原子《STM32不完全手冊》
Arduino:奈何《Arduino程序設計基礎》DSP:顧衛鋼《手把手教你學DSP》Altera:特權《深入淺出玩轉FPGA》Xilinx:何賓《FPGA權威指南》Linux:鳥哥《鳥哥的Linux私房菜》唯一一本認真看過的51單片機書:8051微控制器和嵌入式系統 。入門與系統學習51單片機力薦!
&<&<時間觸發嵌入式系統設計模式&>&>
比較老的書但是很經典值得一讀,裡面提供了很多典型的設計模式和硬體電路,可以避免走很多彎路
&<&
我教授推薦的書,如果想研究硬實時嵌入式系統的話可以參考下
王天祺 說的非常對在學校做TI的430,用戶指南,數據手冊,官方代碼 這三樣有了比什麼資料書都好。市場上的那些書(只針對430相關書籍)都是第一個人翻譯錯了,後面的人跟著抄錯,還有很多重要的細節沒有翻譯出來。相當反感一些《xx天玩轉xx》之流的書籍。
Building embedded systems, Programmable Hardware
It has both MCU and FPGA
http://www.amazon.com/Building-Embedded-Systems-Programmable-Hardware/dp/148421918X/推薦閱讀:
※ARM 和 x86 架構相比,各自的發展前景怎麼樣?
※X86和ARM架構的處理器能效差異為什麼會這麼大?
※關於手機晶元,台積電、ARM、三星、蘋果、MTK 是什麼關係?
※ARM處理器會預取指令,那麼我們修改PC寄存器時,被預取的指令是否是被直接丟棄了?
※樹莓派 (Raspberry Pi) 的性能如何?
TAG:ARM | 硬體 | 嵌入式系統 | 現場可編輯邏輯門陣列FPGA | 單片機 |