內容簡介
《ARM Linux 入門與實踐:基於TI AM335x 處理器》可以算是《ARM Linux入門與實踐——一個嵌入式愛好者的自學體驗》的姊妹篇,但因將三星ARM9處理器S3C2410改成瞭TI的Cortex—A8處理器AM335x,所以除保留瞭前一《ARM Linux 入門與實踐:基於TI AM335x 處理器》的思路及少部分章節外,大部分的內容都做瞭修改。
《ARM Linux 入門與實踐:基於TI AM335x 處理器》分為三篇:ARM硬件、ARM前後颱係統、基於Linux係統的應用。第一篇ARM硬件,包括TI官方評估闆ARM335x Starter Kit的硬件分析和評估闆入門指南;第二篇ARM前後颱係統,包括TI官方無操作係統平颱下的應用庫——Starterware開發環境搭建及應用分析、啓動代碼分析、Boot源代碼分析、LCD和觸摸屏源代碼分析、前後颱係統應用等;第三篇Linux係統的應用,包括基於PC的操作、應用編程和驅動、嵌入式Linux開發環境創建、嵌入式Linux驅動開發和網絡編程等。
作者簡介
程昌南,網名阿南,2000年開始自學單片機,2003年獲得全國大學生電子競賽全國一等奬,2004年大學畢業即開始從事基於ARMLinux等嵌入式軟件、硬件技術的産品開發,熟悉51係列、STM32等單片機,三星、NXP和海思係列的ARM處理器,從事過音視頻傳輸控製、車載GPS、無人機和機器人等多個行業,著有《ARMLinux入門與實踐——一個嵌入式愛好者的自學體驗》、《ARMCortex—A8硬件設計DIY》。
內頁插圖
目錄
第一篇 ARM硬件
第1章 概述
1.1 嵌入式係統、單片機、ARM及Linux
1.2 ARM處理器的選擇
1.3 AM335x簡介和公版資源
1.4 AM335x官方開發資源
1.4.1 硬件開發闆
1.4.2 軟件開發包
1.5 ARM開發工具及調試方法
1.5.1 集成開發環境
1.5.2 硬件仿真器
1.5.3 前後颱係統的調試方法
1.5.4 嵌入式Linux的開發調試方法
1.6 “實踐再實踐”在ARM學習中的意義
第2章 AM335x Starter Kit實驗平颱硬件分析
2.1 AM335x Starter Kit實驗平颱概述及功能組成
2.2 地址空間分配
2.2.1 AM335x處理器內存映射
2.2.2 AM335x Starter Kit平颱地址空間分配
2.3 常用元件概述
2.3.1 電阻標稱值
2.3.2 肖特基二極管
2.3.3 功率電感
2.3.4 鐵氧體磁珠
2.3.5 自恢復保險絲PPTC
2.3.6 有源和無源蜂鳴器
2.4 AM335x Starter Kit(TMDSSK3358)原理圖分析
2.4.1 MPU AM3358
2.4.2 時鍾電路
2.4.3 上電引導模式配置
2.4.4 JTAG接口電路
2.4.5 霺D卡接口
2.4.6 DDR3 SDRAM存儲器
2.4.7 調試串口
2.4.8 以太網接口
2.4.9 按鍵GPIO
2.4.1 0LED顯示
2.4.1 1IIC總綫的EEROM存儲器
2.4.1 2復位電路
2.4.1 3按鍵中斷輸入
2.4.1 4電源輸入及PMIC電源管理芯片
2.4.1 5Wi-Fi和藍牙模塊
2.4.1 6USB Host/Device
2.4.1 7IIS音頻電路
2.4.1 8LCD顯示
第3章 AM335x Starter Kit入門
3.1 A.M335x Starter Kit快速入門指南
3.2 硬件調試概述
3.3 XDS100v2仿真器和ccs軟件的使用
3.3.1 集成開發環境CCS的下載與安裝
3.3.2 仿真器與目標闆的硬件安裝
3.3.3 XDS100v2 USB仿真器在CCSv6集成開發環境中的配置
……
第二篇 ARM前後颱係統
第三篇 基於Linux係統的應用
前言/序言
1.ARM和Linux的學習體會
如何纔能學好並盡快上手ARM和Linux?這是很多初學者想問的,也是曾經在網上熱烈討論過的。其實學習沒有捷徑,不管您是否特彆聰明,主要還是取決於您的態度和一定的方法,嵌入式ARM和Linux的學習也一樣。在此筆者想根據自己在自學ARM與I.inux過程中的體會並結閤網上的討論做一下總結。
對於ARM的學習,如果您已經有瞭單片機或計算機結構的基本知識,並且也有瞭C語言的基礎,那麼上手還是比較容易的。首先,應該瞭解一下ARM的體係結構,它有哪些版本,哪些模式,哪些寄存器、異常等,這方麵的內容可以參考《ARM體係結構與編程》一書。這本書介紹的內容還是比較全麵的,可以先快速地瀏覽,特彆是匯編指令不需要記住,以後應用時再查。其實很多內容筆者也早已經忘記,但並不妨礙正常理解和應用ARM。其次,選定一種具體廠傢型號的ARM處理器,學習該處理器相關開發工具的使用,如開發環境、仿真器及評估闆等。然後,可以分析該處理器的外圍擴展方法,如SDRAM、NANDFlash、NORFlash、SD卡等,一般官方或第三方都會提供原理圖,可以嘗試分析原理圖。接著,要理解該處理器的啓動過程,嘗試從一塊裸闆逐步運行自己的應用程序,也可以參考官方的啓動代碼及例程。最後,就可以調試、測試該處理器的各種外圍部件,如定時器PWM、串口、LCD等,特彆是中斷及執行過程。
對於Linux的學習,盡管我們最終應用的是嵌入式Linux,但還是要先在PC下學習,原因是,無論基於PC還是嵌入式處理器,其Linux開發、編程、調試等都是相近的,而PC的性能、資源等都更加豐富,嵌入式Linux的開發環境通常也都建立在PC的Linux環境下,同時有大量Linux的相關專著、編程書籍等都是針對PC編寫的。至於學習的順序,筆者覺得應該先在PC上安裝一種常用的Linux發行版係統(以前是RedHat.現在常用Ubuntu),再買一兩本相應的入門書籍,熟悉一下Linux環境,學習常用的命令和操作(不一定多,基本、常用的就可以,以後在使用過程中再慢慢積纍),理解Linux下的目錄結構與作用等。其次,學習在Linux環境下編程,《GNU/Linux編程指南》或《UNIX環境高級編程》都可以,它們都是非常經典的專著,對文件描述符的概念,打開、讀、寫等操作的係列基礎知識都有介紹,如果沒有這些基礎而直接看《Linux設備驅動程序》會覺得睏難。再次,拿本內核的書翻翻,瞭解一下Linux內核源代碼樹的目錄結構、編譯等。最後,學習《Linux設備驅動程序》,理解驅動程序的結構框架等。根據實際需要,讀者也可學習網絡編程和圖形用戶界麵GUI編程,比較權威的書是《UNIX網絡編程》和《C++GUIQT4編程》;另外由於QTGUI是基於C++的,所以需要學習C++的知識,可參考《C++程序設計教程》一書。如果不想學C++,也可以選擇其他如MicroWindows、MiniGUI等。有瞭PC的Linux基礎及編程知識後,就可以直接應用於嵌入式係統瞭!此時需要一個硬件平颱(如開發闆或直接的産品等目標係統)和該平颱的開發環境。開發環境,一般的處理器原廠或第三方都會提供,所以不需要移植。它包括建立在PC宿主機上的編譯等工具和嵌入式Linux內核(包括硬件BSP等驅動)源碼。此時隻需學習開發環境的建立和使用,並將PC所學的知識應用於具體的嵌入式平颱。如果涉及硬件及驅動,那麼應該具備一定的硬件調試和解決問題的能力,此時單片機、ARM基礎知識及外圍設備接口的調試能力將起到很重要的作用。很多朋友(包括非電子、自動化專業的朋友)都希望自己將來能從事Linux驅動方麵的工作,認為學習瞭Linux驅動方麵的知識就行瞭,而往往忽略硬件本身的調試和解決問題的能力,我覺得這是不正確的。因為Linux驅動與前後颱控製硬件外設的區彆隻在於它與應用程序的接口,它要按照一定的結構和規則去驅動,這種規則涉及的也就是通常講的Linux的驅動知識和技術。它是固定的,容易掌握的,隻要去遵循就不會齣問題。而硬件及外設是韆變萬化的,所涉及的技術是多方麵的,除處理器本身外,還有各種接口及協議,數字、模擬技術等,在設計、調試時是很容易齣現問題的。此時就要求我們有一定的調試、測試手段和方法。所以筆者認為要想成為一名優秀的ARMLinux驅動工程師,首先必須是一名優秀的、具有豐富調試經驗的單片機或ARM處理器應用工程師,所以希望那些想從事ARMLinux底層驅動相關工作的朋友在還沒有機會接觸ARM和Linux時,不要對目前的單片機工作産生抵觸情緒,因為如果沒有一個紮實的單片機基礎和調試能力,即使有一個ARM和Linux的工作機會,您也很難成為這方麵最優秀的工程師。
ARM Linux 入門與實踐:基於TI AM335x 處理器 epub pdf mobi txt 電子書 下載 2024
ARM Linux 入門與實踐:基於TI AM335x 處理器 下載 epub mobi pdf txt 電子書