[ 收藏 ] [ 繁体中文 ]  
臺灣貨到付款、ATM、超商、信用卡PAYPAL付款,4-7個工作日送達,999元臺幣免運費   在線留言 商品價格為新臺幣 
首頁 電影 連續劇 音樂 圖書 女裝 男裝 童裝 內衣 百貨家居 包包 女鞋 男鞋 童鞋 計算機周邊

商品搜索

 类 别:
 关键字:
    

商品分类

  • 新类目

     管理
     投资理财
     经济
     社会科学
  • 深入淺出嵌入式底層軟件開發
    該商品所屬分類:圖書 -> 軟硬件技術
    【市場價】
    684-992
    【優惠價】
    428-620
    【作者】 楊鑄唐攀 
    【出版社】北京航空航天大學出版社 
    【ISBN】9787512403826
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    出版社:北京航空航天大學出版社
    ISBN:9787512403826
    商品編碼:1076128644

    品牌:文軒
    出版時間:2011-05-01
    代碼:79

    作者:楊鑄,唐攀

        
        
    "
    作  者:楊鑄、 唐攀 著
    /
    定  價:79
    /
    出 版 社:北京航空航天大學出版社
    /
    出版日期:2011年05月01日
    /
    頁  數:672
    /
    裝  幀:平裝
    /
    ISBN:9787512403826
    /
    主編推薦
    《深入淺出:嵌入式底層軟件開發》包含ARM裸機程序開發、嵌入式Linux繫統建構、Linux驅動程序開發三部分。
    《深入淺出:嵌入式底層軟件開發》從軟硬件的分界面開始,循序漸進,逐一詳細講解嵌入式底層軟件開發的各個技術要點,技術體繫全面;既有一定的理論,但更加強調實戰性;深入淺出,能讓讀者以最少的時間成本代價獲得嵌入式底層軟件開發的技術精髓。
    如果您是一位硬件工程師,想在最短的時間內學習軟件控制硬件的原理,並編寫軟件來直接控制硬件,那麼本書是為您準備的,請閱讀本書的第一篇等
    目錄
    ●1 第1章 ARM彙編編程基礎 9
    1.1 ARM CPU寄存器 9
    1.1.1 普通寄存器R0 – R15 10
    1.1.2 狀態寄存器CPSR與SPSR 11
    1.1.3 流水線對PC值的影響 13
    1.2 基本尋址方式與基本指令 15
    1.2.1 最常見尋址方式精解 15
    1.2.2 最常見指令精解 16
    1.3 ARM彙編偽操作 18
    1.3.1 彙編偽操作在彙編程序中的使用範例 18
    1.3.2 最常見彙編偽操作精解 19
    1.3.3 彙編偽操作列表 21
    1.4 ADS開發環境的使用 23
    1.4.1 在ADS中進行裸機程序的編輯、編譯、運行 24
    1.4.2 在AXD中進行裸機程序調試的方法與步驟 32
    1.5 RealView MDK開發環境的使用 40
    1.5.1 在MDK開發環境下編寫裸機程序 40
    1.5.2 MDK調試裸機程序的方法與步驟 55
    1.6 其他常見尋址模式與常見指令 58
    1.6.1 其他常見尋址模式(基址尋址、多寄存器尋址、堆棧尋址、寄存器移位尋址、相對尋址) 58
    1.6.2 其他常見指令(訪存指令、數據處理指令、乘法指令) 62
    2 第2章 ARM編程進階 65
    2.1 ARM彙編偽指令 65
    2.1.1 精解ldr偽指令 65
    2.1.2 精解adr 67
    2.1.3 精解adrl偽指令 68
    2.1.4 nop偽指令 69
    2.2 ATPCS與混合編程 70
    2.2.1 ATPCS規則精解 70
    2.2.2 精解C和ARM彙編程序間的相互調用 74
    2.3 裸機硬件的控制方法與例程 76
    2.3.1 建立真實硬件的開發和調試環境 77
    2.3.2 軟件控制(驅動)硬件的編程原理 90
    2.3.3 裸機硬件控制程序實例 91
    2.3.4 啟動例程 96
    2.4 看門狗定時器(Watchdog) 102
    2.4.1 看門狗定時器的用途 103
    2.4.2 看門狗工作原理 104
    2.4.3 看門狗實驗 106
    2.5 繫統時鐘 107
    2.5.1 繫統工作時鐘頻率 107
    2.5.2 時鐘驅動實驗 112
    2.6 SDRAM內存 116
    2.6.1 S3C2440存儲器地址段(Bank) 117
    2.6.2 SDRAM內存工作原理 119
    2.6.3 SDRAM的讀操作 123
    2.6.4 SDRAM預充電操作 124
    2.6.5 SDRAM突發操作 124
    2.6.6 SDRAM寫操作 125
    2.6.7 SDRAM的刷新 126
    2.6.8 內存驅動實驗 130
    2.7 UART串口 134
    2.7.1 異步通信和同步通信 135
    2.7.2 數據的串行和並行通信方式 135
    2.7.3 數據通信傳輸模式 136
    2.7.4 S3C2440 UART控制器 137
    2.7.5 S3C2440 UART串口工作原理 138
    2.7.6 UART串口驅動實驗 147
    3 第3章 ARM體繫結構 151
    3.1 ARM處理器工作模式 151
    3.1.1 ARM處理器不同模式下寄存器 152
    3.1.2 ARM處理器模式切換(含MRS,MSR指令) 153
    3.2 ARM處理器異常處理 155
    3.2.1 異常分類 155
    3.2.2 異常發生的硬件操作 156
    3.2.3 異常返回地址 157
    3.2.4 異常向量表 158
    3.2.5 異常處理的返回 160
    3.3 S3C2440繫統中斷 161
    3.3.1 中斷的產生-中斷源 162
    3.3.2 中斷優先級 164
    3.3.3 中斷控制相關寄存器 166
    3.3.4 繫統中斷流程 169
    3.3.5 按鍵控制LED燈實驗 171
    3.4 semihosting與硬件重定向 179
    3.4.1 semihosting半主機調試 179
    3.4.2 硬件重定向 184
    3.5 繫統調用與軟件中斷SWI的實現 190
    3.5.1 繫統調用 190
    3.5.2 軟件中斷 191
    3.5.3 軟中斷處理 192
    3.5.4 led繫統調用實驗 193
    3.6 進程切換的實現 199
    3.6.1 進程 199
    3.6.2 進程控制塊PCB 200
    3.6.3 進程創建 201
    3.6.4 進程隊列 201
    3.6.5 進程調度(schedule) 202
    3.6.6 上下文切換 205
    3.7 MMU與內存保護的實現 208
    3.7.1 存儲MMU 209
    3.7.2 Cache 221
    3.7.3 CP15協處理器 223
    3.8 實戰:小型多任務操作繫統miniOS的實現 227
    3.8.1 miniOS代碼分析 227
    3.8.2 miniOS應用程序接口 261
    3.8.3 miniOS應用程序繫統調用接口 262
    4 第4章 嵌入式Linux軟件開發環境搭建 265
    4.1 體驗嵌入式linux繫統 265
    4.2 Linux操作繫統安裝 266
    4.2.1 在Window上安裝虛擬機 266
    4.2.2 在虛擬機上安裝Linux操作繫統ubuntu9.10 277
    4.3 在ubuntu9.10中安裝基本的開發環境 280
    4.4 ubuntu9.10上網絡服務的安裝與配置 281
    4.4.1 設置vmware網絡 282
    4.4.2 安裝、配置和使用ftp服務 286
    4.4.3 安裝、配置nfs服務 286
    5 第5章 建構bootloader 287
    5.1 準備工作 287
    5.1.1 嵌入式Linux繫統概述 287
    5.1.2 構建交叉編譯工具鏈 288
    5.1.3 bootloader概述 289
    5.2 深入剖析U-boot代碼 293
    5.2.1 安裝和使用源代碼閱讀工具Source Insight 293
    5.2.2 u-boot的編譯初步 295
    5.2.3 分析u-boot的第1階段代碼(cpu/arm920t/start.S) 297
    5.2.4 分析u-boot的第2階段代碼 301
    5.2.5 繼續移植、編譯u-boot 303
    5.2.6 u-boot常用命令使用簡介 307
    5.2.7 u-boot命令實現框架的分析 310
    5.2.8 u-boot引導Linux操作繫統的過程分析 315
    5.2.9 讓u-boot支持從usb slave接口獲得數據 320
    6 第6章 建構嵌入式Linux內核 322
    6.1 Linux內核簡介 322
    6.1.1 Linux內核版本歷史 322
    6.1.2 內核源碼目錄結構 322
    6.1.3 Linux內核構造繫統簡介 323
    6.2 移植、裁減及配置Linux內核到s3c2440開發板 324
    6.2.1 體驗Linux內核配置、編譯與使用 324
    6.2.2 為S3C2440移植內核 327
    6.2.3 配置並裁減內核 328
    6.2.4 運行內核並驗證內核被配置的功能 331
    6.3 內核Kconfig與Makefile文件分析 333
    6.3.1 內核構造繫統簡介 333
    6.3.2 Kconfig文件精解 333
    6.3.3 .config文件說明 335
    6.3.4 Makefile文件精解 335
    6.3.5 實戰:修改Kconfig和Makefile,完成向內核中添加新的功能組件——網卡、聲卡、LCD、觸摸屏驅動 336
    7 第7章 建構嵌入式Linux文件繫統 345
    7.1 嵌入式Linux文件繫統簡介 345
    7.1.1 嵌入式文件繫統概述 345
    7.1.2 MTD設備與Flash文件繫統簡介 346
    7.1.3 嵌入式Linux繫統中的tmpfs文件繫統 347
    7.2 詳解制作根文件繫統 349
    7.2.1 FHS標準介紹 349
    7.2.2 編譯/安裝busybox,生成/bin、/sbin、/usr/bin、/usr/sbin目錄 350
    7.2.3 利用交叉編譯工具鏈,構建/lib目錄 351
    7.2.4 手工構建/etc目錄 353
    7.2.5 手工構建最簡化的/dev目錄 354
    7.2.6 使用啟動腳本完成/proc、/sys、/dev、/tmp、/var等目錄的完整構建 355
    7.2.7 制作根文件繫統的jffs2映像文件 359
    7.3 建構嵌入式Linux應用程序繫統 360
    7.3.1 輔助處理工具的移植 360
    7.3.2 mp3播放器 madplay的移植 363
    7.3.3 主要網絡服務器的移植與使用 366
    7.3.4 數據庫程序的移植與使用 371
    7.4 建構GUI繫統 374
    7.4.1 移植tslib庫 374
    7.4.2 移植qtopia 375
    8 第8章 Linux驅動程序開發基礎 378
    8.1 Linux設備驅動程序簡介 378
    8.1.1 設備驅動分類和內核模塊 379
    8.1.2 設備文件和設備驅動 380
    8.1.3 內核模塊的編譯和使用 381
    8.2 字符設備驅動基本編程 388
    8.2.1 字符設備驅動體驗 388
    8.2.2 實現字符設備驅動的工作 388
    8.3 驅動程序中的並發控制方法 401
    8.3.1 並發控制原理簡介 401
    8.3.2 信號量的編程實戰 402
    8.3.3 自旋鎖的編程實戰 404
    8.3.4 Linux內核提供的其他並發控制方法 408
    8.4 驅動程序中的阻塞與非阻塞編程 409
    8.4.1 體驗阻塞I/O 409
    8.4.2 如何在驅動程序中實現阻塞I/O 411
    8.4.3 體驗非阻塞I/O 413
    8.4.4 如何在驅動程序中實現非阻塞I/O 415
    8.5 字符設備驅動程序對一些高級特性的實現 416
    8.5.1 non-seekable的實現 416
    8.5.2 select的實現 417
    9 第9章 Linux字符設備驅動開發實戰 422
    9.1 IO內存與硬件通信 422
    9.1.1 驅動中的內存分配 422
    9.1.2 使用 I/O 端口地址空間與硬件進行通信的內核API介紹 423
    9.1.3 使用 I/O 內存地址空間與硬件進行通信的內核API介紹 424
    9.1.4 通過I/O內存驅動硬件的實戰——LED燈驅動 425
    9.1.5 驅動程序對ioctl的規範實現 433
    9.2 內核misc設備架構分析 435
    9.2.1 定義全局變量 435
    9.2.2 注冊主設備號為10的misc設備 436
    9.2.3 導出內核API —— misc_register函數 437
    9.2.4 實施乾坤大挪移的misc設備open函數 438
    9.2.5 導出內核API —— misc_deregister函數 440
    9.3 watchdog驅動 441
    9.3.1 相關概念 441
    9.3.2 Watchdog硬件結構分析 443
    9.3.3 Watchdog驅動的初始化和卸載 443
    9.3.4 探測函數watchdog_probe的實現 444
    9.3.5 實現misc設備中對設備文件的操作 447
    9.3.6 Watchdog平臺驅動的設備移除、掛起和恢復接口函數的實現 450
    9.3.7 測試watchdog驅動 451
    9.4 內核編碼規範與風格 452
    9.4.1 縮進、長行、{}與空格的放 453
    9.4.2 變量和函數 453
    9.4.3 注釋.macros和enums 454
    9.4.4 快樂使用內核提供的實現常用功能的宏 455
    10 第10章 Linux驅動中的中斷編程 456
    10.1 驅動程序調測方法與技巧 456
    10.1.1 利用printk 456
    10.1.2 詳解OOP消息 457
    10.1.3 利用strace 461
    10.1.4 利用內核內置的hacking選項 462
    10.1.5 其他調測方法簡介 465
    10.2 驅動程序中的中斷處理 466
    10.2.1 中斷簡述 466
    10.2.2 驅動程序中進行中斷處理涉及到的最基本的內核API 466
    10.2.3 驅動程序進行中斷處理的實例代碼分析 467
    10.2.4 其他關於中斷的內核API 469
    10.3 內核時間與內核定時器 470
    10.3.1 內核中如何記錄時間 470
    10.3.2 內核定時器API 471
    10.3.3 內核定時器與內核時間的應用案例——按鍵消抖 471
    10.3.4 如何在內核中實現延時 474
    10.4 中斷頂半部與底半部 474
    10.4.1 區分和使用中斷頂半部與底半部的原因 474
    10.4.2 tasklet機制與編程實例 475
    10.4.3 workqueue機制與編程實例 478
    10.4.4 tasklet與workqueue的區別和不同應用環境總結 485
    10.5 Linux中斷處理繫統的架構與共享中斷 486
    10.5.1 裸機程序中的中斷編程與有操作繫統下的中斷編程的區別 486
    10.5.2 Linux中斷處理繫統的架構 487
    10.5.3 關於共享中斷的說明 487
    10.5.4 共享中斷實例 487
    11 第11章 Linux網絡設備驅動開發實戰 489
    11.1 網絡設備驅動基礎 489
    11.1.1 體驗網卡驅動 489
    11.1.2 網卡驅動的基本知識——2個結構體和5個函數 489
    11.1.3 虛擬網卡snull驅動代碼分析 494
    11.1.4 網卡驅動的編寫主要內容總結 499
    11.2 網絡設備驅動實例——cs8900 499
    11.2.1 虛擬網卡驅動與真實網卡驅動的主要區別 499
    11.2.2 真實網卡驅動的整體框架分析 500
    11.2.3 驅動中關於cs8900硬件操作的探討 507
    12 第12章 其他重要設備驅動開發實戰 519
    12.1 塊設備驅動初步(以ramdisk為例) 519
    12.1.1 體驗塊設備驅動 519
    12.1.2 塊設備驅動框架介紹 519
    12.1.3 塊設備的簡單讀寫實現代碼分析 522
    12.1.4 塊設備的高效讀寫實現代碼分析 523
    12.1.5 塊設備的其他操作接口fops 526
    12.2 LCD驅動 528
    12.2.1 LCD裸機驅動 528
    12.2.2 幀緩衝(FrameBuffer)設備驅動框架結構 536
    12.2.3 LCD驅動實例代碼 542
    12.2.4 LCD驅動代碼的主干結構的總結 555
    12.2.5 測試LCD驅動程序 556
    12.3 觸摸屏驅動 556
    12.3.1 觸摸屏裸機驅動 556
    12.3.2 Linux輸入子繫統 561
    12.3.3 Linux下觸摸屏驅動的實現步驟 564
    12.3.4 測試觸摸屏驅動程序 572
    12.4 USB驅動初步 572
    12.4.1 Linux下4種USB驅動簡介與功能體驗 572
    12.4.2 USB接口與規範 574
    12.4.3 USB設備驅動基本知識 575
    12.4.4 USB設備驅動實例 578
    內容簡介
    《深入淺出:嵌入式底層軟件開發》內容簡介:第1篇(第1~3章)以ARM CPU及其彙編語言為背景,深入淺出地講解軟件是如何控制硬件的。第2篇(第4~7章)以S3C2440開發板為硬件,講解制作嵌入式Linux繫統的完整過程,具有很強的實用性和可操作性。第3篇(第8~11章)以盡可能通俗的方式講解Linux設備驅動中涉及的復雜理論,在此基礎上,以驅動程序的2個接口(向下與硬件接口、向上與內核子繫統接口)為突破口,由淺入深地編寫和剖析了嵌入式真實典型硬件(LED燈、按鍵、網卡、LCD、觸摸屏)的驅動程序。所有的驅動程序均能在實際硬件上正常運行,幫助讀者揭開Linux驅動的神秘面紗。第12章以實戰的方式,深入淺出地剖析了嵌入式Linux繫統中最重要的2類驅動(LCD和觸摸屏)的代碼實現。並簡介了塊設備驅動和usb設備驅動。本書適合硬件工程師、軟件工程師、嵌入式軟件的從業人員、教授嵌入式軟件開發課等
    作者簡介
    楊鑄、 唐攀 著
    楊鑄教育背景:電子科技大學通信與信息工程工學碩士;北京郵電大學工學學士 學位,專業為計算機軟件。重大經歷:作為主要組織人員,組織完成了中國移動四川分公司最早的短信繫統平臺的建設;早期專注於Microsoft的OS和Database的技術研究與職業培訓,是微軟在中國的早期MCT之一,MCP號1694198;參與完成國家863計劃項目——信息安全產品演示和驗證平臺的子課題並與合作公司完成產品化開發—內部網絡監管繫統;中後期專注於嵌入式軟件開發的研究與職業培訓,精於ARM體繫結構與嵌入式Linux。



    "
     
    網友評論  我們期待著您對此商品發表評論
     
    相關商品
    【同作者商品】
    楊鑄唐攀
      本網站暫時沒有該作者的其它商品。
    有該作者的商品通知您嗎?
    請選擇作者:
    楊鑄唐攀
    您的Email地址
    在線留言 商品價格為新臺幣
    關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
    DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
    返回頂部