1. 計算機硬體基礎教程

清華大學計算機課程之計算機原理

"計算機原理"是計算機專業學生必修的核心硬體課程。課程內容,是在學習過數字邏輯和數字集成電路課程的基礎上,分成如下3個層次給出課程的有關知識和技術內容:

(1)重點講解簡單、完整、單台計算機的基本組成原理和內部運行機制,
(2)適當說明當前國內外流行的最新計算機中廣泛採用的新技術、新工藝,
(3)順便了解當前國內外計算機組成領域最新研究成果和發展應用趨勢。

第一個層次的教學內容是重點,屬於原理性的基礎知識,其特點是內容相對穩定,同學可以動手實踐。因此,同學在通過課堂教學學習過這些原理知識的基礎上,可以通過教學實踐環節,完成指定的教學實驗題目,或者參加並完成帶有一定研究型的工程設計項目來加深對教學內容的理解程度,增長研究、開創性工作、通過實踐獲取知識的能力,從知識和能力兩個方面全面提高學生的素質。

第二個層次體現的是教學內容的先進性,其特點是技術性較強,內容變化相對較快,由於設備條件的限制,同學難以動手實踐,更多的是通過課堂教學來學習這些知識,適當的布置一些作業,重點鍛煉學生的邏輯思維和創新能力。

第三個層次反映的是教學內容的前沿性,其特點是技術性上的不成熟性明顯,有些甚至處於原理方案或者還只是一種思路,主要目的在於擴展學生的眼界和思考問題所站的高度。這部分內容不作為教學考試和評定成績的必要要求。

下載地址:

http://www.ithov.com/Book/Downbook200903/%D3%B2%BC%FE%BC%BC%CA%F5/%D3%B2%BC%FE%BB%F9%B4%A1/%C7%E5%BB%AA%B4%F3%D1%A7%BC%C6%CB%E3%BB%FA%BF%CE%B3%CC%D6%AE%BC%C6%CB%E3%BB%FA%D4%AD%C0%ED.rar?0000000510122486000tflag=1250675970&opin=.rar

2. 如何搭建嵌入式開發的硬體環境

前言

首先,這個教程在僅使用附帶的光碟鏡像文件里的資料的情況下,所搭建的嵌入式 ARM 開發環境可以滿足 ARM 核為 ARM920T 及 CORTEX-A8 的嵌入式開發需求。

其次,搭建針對處理器為 ARM920T 的開發環境步驟如下:

WINDOWS 系統:

1、 用 WINRAR 或 7zip 打開鏡像文件 Linux-dev.iso,將/WIN32/Daemon_Tools_4.46.1.328.exe 拖出來,

安裝後運行;

2、 使用 Daemon 載入鏡像文件 Linux-dev.iso 後,找到並雙擊/vmplayer/VMware-player-5.0.1-894247.exe 運行,安裝完成;

3、 將/VMware-linux-tools.iso 復制到任何地方,譬如 D:\Virtual Machines\ 文件夾下;4、 將文件夾/Ubuntu 復制到電腦的任何地方,譬如 D:\Virtual Machines\ 文件夾下;

5、 打開 VMware Player,這是一個免費的軟體,所以不需考慮不能使用的情況,更不需破解。效果圖如下:

嵌入式開發環境的搭建

點擊」Open a Virtual Machine」,找到剛才復制的 Ubuntu 文件夾,選中 Ubuntu.vmx 這個文件:

嵌入式開發環境的搭建

後點擊打開;

6、 點擊」Edit virtual machine settings」,這里需要注意的是,若你的電腦 CPU 是單核的,需將」Processors」由 2 設置為 1,否則,不能運行。選擇」CD/DVD (IDE)」,之後點擊右邊的」Browse…」,找到並選擇剛才復制的 VMware-linux-tools.iso,之後點擊」Options」進入另一個設置界面;

7、 選擇第三個」Shared Folders」,在右邊將其設置為」Always enabled」,再點擊下面的」Add…」,選擇一個在硬碟上新建的空文件夾,譬如 D:\Virtual Machines\shared 文件夾,點擊」Next》」,之後點擊」Enable this share」,最後在設置主界面點擊」OK」完成設置;

8、 將虛擬光碟機載入的光碟中 Linux 文件夾中的所有文件都復制到上一步新建的空文件夾,譬如

D:\Virtual Machines\shared 文件夾下;

9、 在 VMware Player 下點擊圖標 以運行虛擬機 Linux,啟動後可以看到桌面上有一個光碟的圖標;

10、 在 Linux 桌面右鍵後選擇」Open in terminal」,之後切換到/tmp 目錄:cd /tmp ;11、 執行命令 tar zxf /media/cdrom0/VMwareTools-9.2.2-893683.tar.gz ,等待約一分鍾後運行完畢;

12、 切換目錄:cd 。/vmware-tools-distrib/ ;

13、 執行命令:sudo 。/vmare-install.pl ,用戶」user」的密碼為 redeem2012 ;

14、 下面出現很多問題,[yes]或[no],那麼就可以一直點擊鍵盤 ENTER 鍵選擇默認設置,直至安裝完成;15、 人,活著,要有耐心——這個過程稍長,顯示最後兩行為」Enjoy, --the WMware team」時就安裝完成了;

16、 以上幾個步驟如下:

嵌入式開發環境的搭建

17、 執行命令:sudo reboot 以重啟;

18、 啟動後在桌面右鍵選擇」Open in terminal」,輸入命令:cd /mnt/hgfs/shared ,當然若之前選擇的空享空文件夾名稱與 shared 不一樣,可能不是這個目錄,唉,管不了這么多了;19、 查看目當下文件如下:

嵌入式開發環境的搭建

20、 安裝 libusb-1.0.9.tar.bz2,依次輸入以下命令:tar jxf libusb-1.0.9.tar.bz2 、

cd libusb-1.0.9 、 。/configure --prefix=/usr 、 make 、 sudo make install ,注意最後一步需要輸入密碼 redeem2012,完了之後返回原目錄: cd 。。/ ;21、 安裝 readline-6.2.tar.gz,依次輸入以下命令:tar zxf readline-6.2.tar.gz 、 cd readline-6.2 、。/configure --prefix=/usr 、 make 、 sudo make install ,完了之後返回原目錄:cd 。。/ ;

22、 安裝交叉編譯器:sudo tar arm-linux-gcc-3.4.5.tar.bz2 -C /home ;

23、 更改環境變數:gedit /home/user/.profile ,在最後一行添加這么一句:export PATH=$PATH:/home/user/gcc-3.4.5-glibc-2.3.6/bin ,保存後退出

24、 切換回用戶主目錄:cd ~ ;

25、 執行命令:tar jxf /mnt/hgfs/shared/JLink_Linux_V422.tar.bz2 ;

26、 依次執行以下命令:cd JLink_Linux_V422/ 、 sudo cp libjlinkarm.so.* /usr/lib ,現在就可以

運行 JLink 了: sudo 。/JLinkExe ,但要注意這么一點:由於現在運行的是 windows 系統下的虛擬機, Linux 操作系統無法訪問到 JLink,那麼就需要按下圖所示選擇將連接到電腦的 JLink 直接送給虛擬機中運行的 Linux。我沒有 JLink,所以下圖中沒有,你需要自己選擇硬體並點擊箭頭後再點擊」connect」:

嵌入式開發環境的搭建

另外,下面需要安裝 minicom,也需要按上圖將串口連接到 Linux 操作系統;

27、 這一步安裝minicom。將虛擬機文件夾 Ubuntu 下的 minicom_2.3-1ubuntu2_i386.deb 復制到shared文件下,之後執行命令:sudo dpkg --install /mnt/hgfs/shared/ minicom_2.3-1ubuntu2_i386.deb

到這一步,windows 系統下的嵌入式 ARM 開發環境搭建完成了。重啟一下更好。

至於 Linux 系統下的配置,這要復雜得多,因為系統情況完全不一樣,因而,這里不再給出,當然,所有的軟體也跟上面的完全一樣。

另外,minicom、JLink 的配置和使用,這里就不說了,自己到網上去找吧,若搞不好,就當自虐了。反正我已經送佛到西了,整個過程不需要仍何網路,不需要上網

所附的光碟鏡像文件中還有一些 windows 下的軟體,如 SecureCRT、arm-none-linux-gcc 等,這些也能用到,只不過我沒那個心情講更多了,以上的配置已經完全足夠了。

網路是個好東西,沒有網路,就沒有 LINUX,也沒有快速學習的條件。所以——現在,自學去吧。

3. 我是剛剛搞電子開發的,軟硬體都不是很懂、看什麼書才會很快的入門

先學51單片機開發吧,最好學會自己設計電路,然後自己制板,然後燒寫程序,這樣下來一整套程序全會了。書推薦《新概念51單片機C語言教程》

4. 學習手機硬體開發需要看什麼書

硬體和軟體不同,整個環境比較閉塞,手機開發只有被開發手機的公司招過去,然後接觸相關的器件,這方面的技術知識網上很少的.手機的核心器件你不是大量的買,人家根本不給你技術支持,網上去問也沒幾個人用過. 當然你要范范的說基本知識儲備的話,數電,模電,微波技術,通信原理....不說全學懂,至少認真學過.

下面推薦幾本硬體書:
第一步:基礎的有:物理學,半導體物理,模擬電子,數字電路,高頻電子,電磁場與波(傳輸線原理),微機原理,信號與系統,通訊原理等等基礎知識
第二步:想進一步的做產品,要懂材料學,機構,工藝,模具,可靠性,信號完整性,EMC/EMI,防雷防靜電。
最後:也可以找這本《電子技術基礎 模擬部分》 書看看。

5. 硬體開發板怎麼開發

基礎需要數電,模電等。
之後開發用PCB制圖軟體。一般網上有教程。
主要還是硬體基礎

6. 想要自學硬體設計,有哪些教程可以推薦給我

  1. 建議找個專業的學校學習

  2. 畢竟自學好多東西都不懂

7. 如何學習嵌入式硬體開發

嵌入式開發難得不是C語言匯編語言,
而是各種MCU替換的情況下如何實現說需要的功能。
由於目前比較知名廠商有st,英飛凌,ti等

旗下有N+1個類別的MCU,不同級別的MCU在編程實現時候也有很多差別。
即使是同一個廠商實現方式上也存在差別。

因此建議先掌握基本的C語言或者匯編語言的開發,
然後選擇一類學習開發板,自己好好研究。

8. 我想學習有關電子電路,硬體開發方面的知識,比如單片機,編程什麼,不是很懂。大家給提供一些科目、書籍

如何學習單片機編程


1從一種單片機入手,推薦51單片機
2要學習基本硬體知識,比如簡單的單片機外圍電路
3用C語言編程,要學習C語言
4學會必要的電子軟體PROTEL和KEIL,protues
一定要動手做些小作品,哪怕很簡單。。。這門課實踐性很強。。這就是新手上路了,重在堅持

--------------------

我說一下自己大概的學習過程:

1、單片機的資源里最重要的應該就是中斷了,是一種處理實時事件的方法,因為中斷是非同步觸發,會打斷程序的流程。所以,這部分的深入理解會給寫程序帶來極大的幫助。至於其他的功能無非就是讀寫一些相關寄存器來實現,這些相關功能是為整體程序服務的,屬於底層(指邏輯意義上)的東西。所有真正項目的完成,都依賴於單片機的基本功能的有機組合。請注意,我這樣的描述方式其實透露出了一些「模塊化」的設計思想----把程序的邏輯層次分離出來,然後進行有機組合。

2、單片機與pc機程序最大的不同就是沒有操作系統,所有的東西都需要從最基本的來。這樣的好處是可以更透徹地理解計算機的工作原理。我始終認為在單片機寫程序的人比純在pc上寫程序的人更能理解計算機的本質。

3、基本的外圍電路、外圍晶元需要了解。其實,對於單片機來說,所有與單片機連接的部分,無論輸入和輸入都是高低電平。注意,「高低電平」這樣的說法其實是偏向硬體的說法,是針對硬體電路的。在程序里沒有高低電平的說法,都是邏輯0和1。所以,在描述程序中的「高低電位」的時候,我更願意用邏輯0和1來表述。照此理解,我們完全可以把單片機理解為一個可以處理邏輯信號的「黑盒子」,有很多線(也就是單片機的引腳)連著黑盒子,用來與外界進行交流信息。

4、與單片機外的晶元或電路交流信息又多種方法,串口、各種匯流排等等。提到匯流排,一個重要的概念就不得不提,那就是時序。時序是所有晶元工作的基礎,否則還要晶振做什麼,晶振就是產生時序的原動力。匯流排中的時序想來一定會有如下這些功能:哪個時輸出0和1,哪個時刻讀如0和1,怎麼表示一次通訊開始、結束、傳輸錯誤時怎麼處理......

5、在一頭扎入所有細節之後,時不時出來從更高的角度重新審視,會有意想不到的收獲。


既然定時器中斷之類都沒問題了,那麼單片機原理估計也大概懂了不少了,因為教程一般都是針對應用,對其原理相關的講解也不會很多,一般講單片機原理的,都是從匯編入手,機器碼--》匯編助記符,51單片機空間劃分及其定址等,比如idata,xdata。作為使用者的話,而不是做晶元的話,理論上夠用,估計樓主是想學一些簡單的外圍電路和通信介面協議吧?比如是IIC,IIS,SPI,和常用的一些FLASH介面。


匯編現在還不懂。我覺得對單片機現在還沒有系統的思想!


匯編懂了,當然更好,但好多人是撇開匯編,也一樣搞單片機,呵呵


對單片機現在還沒有系統的思想,只因沒做過,自己做了一兩個實驗,哪怕再簡單,你只要從復位那步開始,弄清它的來龍去脈,那麼你就理解它了。就正如我們以前剛學編程語言的時候,一樣沒有任何編程思想,再簡單的作業只能仿照例子。後來慢慢有了,就是因為參考人家代碼多了,自己做得多了罷了。


學好單片機也容易也不容易,你可以買個簡單的開發板回來先練練手,書籍其實挺多的,基本上都大同小異主要是要實踐,實踐一遍基本上就會了,還有一種途徑是在外面參加短期單片機培訓班,你看你在哪裡。我只知道武漢有一家叫武漢眾嵌的培訓機構有培訓單片機項目開發的班,你可以在網上搜搜。


培訓倒不用了,我現在的這個項目就是單片機的,PIC32的。只是感覺自己很多東西不懂!


慢慢來吧,既然有平台了,就一個字「干」,碰到不明白不明白的就查資料,就問人,OK了


不用學匯編 C語言就足夠了 數電模電是要看的 看那些有總結性的書就行了 我這有 可傳給你 最好看郭天祥的十天學會單片機 很不錯 我就是從看他的視頻開始的 最好再買個實驗板 模擬的效果很差 一百都快錢就買一個個


引用 14 樓 zhulongzhulong 的回復:

不用學匯編 C語言就足夠了 數電模電是要看的 看那些有總結性的書就行了 我這有 可傳給你 最好看郭天祥的十天學會單片機 很不錯 我就是從看他的視頻開始的 最好再買個實驗板 模擬的效果很差 一百都快錢就買一個個

9. 我如何開發一款硬體呢 ,比如一個小機器人

機器人有著悠久的歷史。在古代,希伯來人寫了一篇關於人工生物的文章; 達芬奇在1495年出版了一篇關於機械騎士的設計;而西屋公司的Televox機器人於1927年創建,會聽取人類的聲音命令。這些發展為今天我們的機器人未來願景,鋪平了道路。
然而,盡管所有在線教程都可以教一般人如何構建機器人,而我們卻還沒有做到。但是我們已經離製作一個機器人很接近了。在今天,建立一個機器人——至少從頭開始——仍然需要開發人員的技能,或至少是基線編碼知識。至少這個項目不再求助銀行,因為目前廣泛使用的技術類型有了合理的價格。
我們來看看創建一個具有明確目的功能的機器人真正需要什麼。
步驟1:設定意圖
第一步是為機器人設定一個意圖。它會創造自主的海灘藝術嗎?它會是一個家庭伴侶,擁有先進的情感智慧,學習新事物嗎?培養對STEM教育的興趣?簡化製造供應鏈的流程?天空是極限,但沒有理由太復雜——有時最成功的機器人是那些滿足單一目的的機器人。無論如何,沒有明確的意圖,就不可能建立一個成功的作品。
步驟2:選擇你的平台
接下來,決定您的機器人將運行什麼操作系統。選擇最佳操作系統取決於您是建造工業機器人還是認知機器人。Windows 10擊敗了Linux,用於日常使用的機器人,主要是由於它與Microsoft的AI解決方案的集成。此外,Windows 10是用戶友好和易於操作與基本的計算機知識。一旦您決定了要創建什麼樣的機器人,您就可以選擇最能使您的機器人生活的操作系統。
步驟3:建立大腦
下一步,可以說是最重要的一步,就是建立你的機器人的中央指揮部。無論是語音認知,語音,面部識別,運動檢測還是其他功能,都可以作為支持機器人所需功能的骨幹。
這種「大腦」的基礎可以像手持式互聯網連接的硬體一樣簡單。熱門的迭代包括可以自行編程的經濟實惠的小型計算機Raspberry Pi,以及預先安裝完整的Windows 10操作系統的第一個製造商Board LattePanda,從而提供與常規Windows PC相同的用戶體驗。LattePanda是手掌大小、基於intel和arino的,它允許處理器優化、開發和定製機器人原型的編碼。好消息是,LattePanda不僅適用於軟體開發人員,還可以通過教學和製作人員逐步使用教程。
步驟4:創建外殼
在步驟1中為您的機器人提供的功能將決定它所需要的物理特性。例如,如果你正在建造一個需要視覺的清潔機器人,大腦需要與激光掃描儀、馬達驅動和觸覺感測器兼容。如果機器人需要能夠與其他設備通信,請確保大腦可以適應消息傳遞連接。
機器人正在走向主流
一些最令人印象深刻的機器人發明已經在市場上。以InMoov為代表,這是第一個開源、3d列印的、真人大小的機器人,它走路和說話。盡管InMoov在電影中擁有典型的人形機器人形象,但它的形狀和大小各不相同,為企業和消費者提供了不同的用途。
機器人無處不在,它們不會消失。北美的企業去年訂購了近 35,000台機器人,由於生產力和機器人提供的速度有可觀測的增長,從2015年起就有10%的跌幅。同樣, 到2020年,有超過十分之一的美國家庭預計將擁有一台機器人,從2015年的25個增加到了一個。這些統計數據突出表明,無論多麼基本或復雜,我們都需要對所有這些東西進行更主流的理解。
在一天結束的時候,有很多關於如何創建機器人的噪音。誠然,有很多方法可以做到,但為了取得成功,該過程需要知識和耐心。它包括制定明確的策略,權衡不同操作系統的優缺點,編程大腦以執行所需功能,以及構建實現機器人預定功能的物理特徵。內容來源:機器人家
望點贊,謝謝

10. 學習硬體開發需要學習哪些書籍

下面是我列出的書單:
嵌入式書籍推薦
Linux基礎
1、《Linux與Unix Shell 編程指南》
C語言基礎
1、《C Primer Plus,5th Edition》Stephen Prata著
2、《The C Programming Language, 2nd Edition》Brian W. Kernighan David M. Rithie(K & R)著
3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE)
4、《嵌入式Linux應用程序開發詳解》
Linux內核
1、《深入理解Linux內核》(第三版)
2、《Linux內核源代碼情景分析》毛德操 胡希明著
研發方向
1、《UNIX Network Programming》(UNP)
2、《TCP/IP詳解》
3、《Linux內核編程》
4、《Linux設備驅動開發》(LDD)
5、《Linux高級程序設計》 楊宗德著
硬體基礎
1、《ARM體系結構與編程》杜春雷著
2、S3C2410 Datasheet
英語基礎
1、《計算機與通信專業英語》
系統教程
1、《嵌入式系統――體系結構、編程與設計》
2、《嵌入式系統――採用公開源代碼和StrongARM/Xscale處理器》毛德操 胡希明著
3、《Building Embedded Linux Systems》
4、《嵌入式ARM系統原理與實例開發》 楊宗德著
理論基礎
1、《演算法導論》
2、《數據結構(C語言版)》
3、《計算機組織與體系結構?性能分析》
4、《深入理解計算機系統》Randal E. Bryant David O''Hallaron著
5、《操作系統:精髓與設計原理》
6、《編譯原理》
7、《數據通信與計算機網路》
8、《數據壓縮原理與應用》

C語言書籍推薦
1. The C programming language 《C程序設計語言》
2. Pointers on C 《C和指針》
3. C traps and pitfalls 《C陷阱與缺陷》
4. Expert C Lanuage 《專家C編程》
5. Writing Clean Code -----Microsoft Techiniques for Developing Bug-free C Programs
《編程精粹--Microsoft 編寫優質無錯C程序秘訣》
6. Programming Embedded Systems in C and C++ 《嵌入式系統編程》
7.《C語言嵌入式系統編程修煉》
8.《高質量C++/C編程指南》林銳
把這些書看完,基本就可以了