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

商品搜索

 类 别:
 关键字:
    

商品分类

  •  管理

     一般管理学
     市场/营销
     会计
     金融/投资
     经管音像
     电子商务
     创业企业与企业家
     生产与运作管理
     商务沟通
     战略管理
     商业史传
     MBA
     管理信息系统
     工具书
     外文原版/影印版
     管理类职称考试
     WTO
     英文原版书-管理
  •  投资理财

     证券/股票
     投资指南
     理财技巧
     女性理财
     期货
     基金
     黄金投资
     外汇
     彩票
     保险
     购房置业
     纳税
     英文原版书-投资理财
  •  经济

     经济学理论
     经济通俗读物
     中国经济
     国际经济
     各部门经济
     经济史
     财政税收
     区域经济
     统计 审计
     贸易政策
     保险
     经济数学
     各流派经济学说
     经济法
     工具书
     通货膨胀
     财税外贸保险类考试
     英文原版书-经济
  •  社会科学

     语言文字
     社会学
     文化人类学/人口学
     新闻传播出版
     社会科学总论
     图书馆学/档案学
     经典名家作品集
     教育
     英文原版书-社会科学
  •  哲学

     哲学知识读物
     中国古代哲学
     世界哲学
     哲学与人生
     周易
     哲学理论
     伦理学
     哲学史
     美学
     中国近现代哲学
     逻辑学
     儒家
     道家
     思维科学
     马克思主义哲学
     经典作品及研究
     科学哲学
     教育哲学
     语言哲学
     比较哲学
  •  宗教

  •  心理学

  •  古籍

  •  文化

  •  历史

     历史普及读物
     中国史
     世界史
     文物考古
     史家名著
     历史地理
     史料典籍
     历史随笔
     逸闻野史
     地方史志
     史学理论
     民族史
     专业史
     英文原版书-历史
     口述史
  •  传记

  •  文学

  •  艺术

     摄影
     绘画
     小人书/连环画
     书法/篆刻
     艺术设计
     影视/媒体艺术
     音乐
     艺术理论
     收藏/鉴赏
     建筑艺术
     工艺美术
     世界各国艺术概况
     民间艺术
     雕塑
     戏剧艺术/舞台艺术
     艺术舞蹈
     艺术类考试
     人体艺术
     英文原版书-艺术
  •  青春文学

  •  文学

     中国现当代随笔
     文集
     中国古诗词
     外国随笔
     文学理论
     纪实文学
     文学评论与鉴赏
     中国现当代诗歌
     外国诗歌
     名家作品
     民间文学
     戏剧
     中国古代随笔
     文学类考试
     英文原版书-文学
  •  法律

     小说
     世界名著
     作品集
     中国古典小说
     四大名著
     中国当代小说
     外国小说
     科幻小说
     侦探/悬疑/推理
     情感
     魔幻小说
     社会
     武侠
     惊悚/恐怖
     历史
     影视小说
     官场小说
     职场小说
     中国近现代小说
     财经
     军事
  •  童书

  •  成功/励志

  •  政治

  •  军事

  •  科普读物

  •  计算机/网络

     程序设计
     移动开发
     人工智能
     办公软件
     数据库
     操作系统/系统开发
     网络与数据通信
     CAD CAM CAE
     计算机理论
     行业软件及应用
     项目管理 IT人文
     计算机考试认证
     图形处理 图形图像多媒体
     信息安全
     硬件
     项目管理IT人文
     网络与数据通信
     软件工程
     家庭与办公室用书
  •  建筑

  •  医学

     中医
     内科学
     其他临床医学
     外科学
     药学
     医技学
     妇产科学
     临床医学理论
     护理学
     基础医学
     预防医学/卫生学
     儿科学
     医学/药学考试
     医院管理
     其他医学读物
     医学工具书
  •  自然科学

     数学
     生物科学
     物理学
     天文学
     地球科学
     力学
     科技史
     化学
     总论
     自然科学类考试
     英文原版书-自然科学
  •  工业技术

     环境科学
     电子通信
     机械/仪表工业
     汽车与交通运输
     电工技术
     轻工业/手工业
     化学工业
     能源与动力工程
     航空/航天
     水利工程
     金属学与金属工艺
     一般工业技术
     原子能技术
     安全科学
     冶金工业
     矿业工程
     工具书/标准
     石油/天然气工业
     原版书
     武器工业
     英文原版书-工业技
  •  农业/林业

  •  外语

  •  考试

  •  教材

  •  工具书

  •  中小学用书

  •  中小学教科书

  •  动漫/幽默

  •  烹饪/美食

  •  时尚/美妆

  •  旅游/地图

  •  家庭/家居

  •  亲子/家教

  •  两性关系

  •  育儿/早教

     保健/养生
     体育/运动
     手工/DIY
     休闲/爱好
     英文原版书
     港台图书
     研究生
     工学
     公共课
     经济管理
     理学
     农学
     文法类
     医学
  • 嵌入式Linux設備驅動程序開發指南(原書第2版)
    該商品所屬分類:計算機/網絡 -> 操作繫統/繫統開發
    【市場價】
    1755-2544
    【優惠價】
    1097-1590
    【作者】 西阿爾貝托·利貝拉爾·德·洛斯裡奧斯A 
    【所屬類別】 圖書  計算機/網絡  操作繫統/繫統開發  LINUX 
    【出版社】機械工業出版社 
    【ISBN】9787111684558
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    開本:16開
    紙張:膠版紙
    包裝:平裝-膠訂

    是否套裝:否
    國際標準書號ISBN:9787111684558
    叢書名:電子與嵌入式繫統設計譯叢

    作者:[西]阿爾貝托·利貝拉爾·德·洛斯裡奧斯(A
    出版社:機械工業出版社
    出版時間:2021年06月 


        
        
    "

    編輯推薦
    1.本書基於三種主流開發板(包括Raspberry Pi 3 Model B)編寫了近30個驅動程序的實驗,幫助讀者學習和掌握在嵌入式Linux繫統中開發驅動程序的技巧和方法,這些驅動程序支持NXP i.MX7D、Microchip SAMA5D2和Broadcom BCM2837微處理器。2.本書作者在嵌入式繫統方面有超過15年的豐富工程實踐經驗,他通過技術研討會、實踐講習班和本書的方式,將他在嵌入式Linux與Linux設備驅動程序開發的技巧和方法傳播和分享。本書中文版譯者也是相關領域的專家和愛好者,通過他們的專業翻譯,也讓讀者原汁原味地理解和體會該書的精華。3.本書配套的開發工具和實驗代碼都可以從網上獲得,或者通過書中作者提供的訪問鏈接下載,方便讀者閱讀實踐。 
    內容簡介
    嵌入式微處理器功能強大、節能和低成本與嵌入式Linux繫統的靈活性結合,促使業界許多公司基於嵌入式微處理器開發出了很多新產品。本書教讀者基於設備樹嵌入式Linux繫統如何開發設備驅動程序。讀者將學習編寫不同類型的Linux驅動程序,以及與內核和用戶空間交互的應用程序程序接口(API)和方法。本書以實戰為核心,闡述了Linux內核基礎知識,將編寫大約30個驅動程序並移植到三種不同的微處理器上。本書在實驗部分中基於NXP i.MX7D、Microchip SAMA5D2和Broadcom BCM2837三種不同微處理器詳細闡述了驅動程序的開發的實現,讀者可參考實驗部分選擇開發和測試自己的驅動程序。在閱讀本書之前,建議讀者先購買一個基於這些微處理器之一的開發板,板上至少應有一個SPI和I2C控制器,例如Raspberry Pi3模型B板。
    作者簡介
    Alberto Liberty是Arrow Electronics的現場應用工程師,在嵌入式繫統方面有超過15年的經驗。在過去的幾年裡,他一直在Arrow公司支持高端處理器和FPGA產品。Alberto也是Linux愛好者,在過去的幾年裡,他舉辦了多場關於嵌入式Linux與Linux設備驅動程序的技術研討會和實踐講習班。Alberto的專業技能還包括多媒體芯片(SoC)和嵌入式實時操作繫統(RTOS)。他目前居住在西班牙馬德裡,他的愛好是和女兒一起在馬德裡市中心散步,他還喜歡閱讀電影雜志和觀看科幻電影。
    目錄
    譯者序
    前言
    作者簡介
    第1章構建繫統1
    1.1引導加載程序1
    1.2Linux內核3
    1.3繫統調用接口和C運行時庫6
    1.4繫統共享庫7
    1.5根文件繫統8
    1.6Linux啟動過程9
    1.7構建嵌入式Linux繫統10
    1.8設置以太網通信11
    1.9為NXP i.MX7D處理器構建嵌入式Linux繫統11
    1.9.1簡介12譯者序
    前言
    作者簡介
    第1章構建繫統1
    1.1引導加載程序1
    1.2Linux內核3
    1.3繫統調用接口和C運行時庫6
    1.4繫統共享庫7
    1.5根文件繫統8
    1.6Linux啟動過程9
    1.7構建嵌入式Linux繫統10
    1.8設置以太網通信11
    1.9為NXP i.MX7D處理器構建嵌入式Linux繫統11
    1.9.1簡介12
    1.9.2主機軟件包12
    1.9.3設置repo工具13
    1.9.4Yocto工程的安裝和映像構建13
    1.9.5Yocto 之外的工作15
    1.9.6構建Linux內核18
    1.9.7安裝TFTP服務器20
    1.9.8安裝NFS服務器20
    1.9.9設置U-Boot環境變量21
    1.10為Microchip SAMA5D2處理器構建嵌入式Linux繫統21
    1.10.1簡介22
    1.10.2主機軟件包22
    1.10.3Yocto工程的安裝和映像構建22
    1.10.4Yocto 之外的工作25
    1.10.5構建Linux內核25
    1.10.6安裝TFTP服務器27
    1.10.7安裝NFS服務器27
    1.10.8設置U-Boot環境變量28
    1.11為Broadcom BCM2837處理器構建Linux嵌入式繫統28
    1.11.1Raspbian28
    1.11.2構建Linux內核29
    1.11.3將文件復制到Raspberry Pi31
    1.12使用Eclipse33
    1.12.1用於內核源碼的Eclipse配置33
    1.12.2用於開發Linux驅動程序的Eclipse配置38
    第2章Linux設備與驅動模型42
    2.1總線核心驅動42
    2.2總線控制器驅動45
    2.3設備驅動45
    2.4設備樹簡介46
    第3章簡驅動程序50
    3.1許可證51
    3.2實驗3-1:“helloworld”模塊51
    3.3代碼清單3-1:helloworld_imx.c52
    3.4代碼清單3-2:Makefile52
    3.5helloworld_imx.ko演示53
    3.6實驗3-2:“帶參數的helloworld”模塊53
    3.7代碼清單3-3:helloworld_imx_with_parameters.c54
    3.8helloworld_imx_with_parameters.ko演示54
    3.9實驗3-3:“helloworld計時”模塊55
    3.10代碼清單3-4:helloworld_imx_with_timing.c55
    3.11helloworld_imx_with_timing.ko演示56
    第4章字符設備驅動57
    4.1實驗4-1:“helloworld字符設備”模塊59
    4.2代碼清單4-1:helloworld_imx_char_driver.c63
    4.3代碼清單4-2:Makefile65
    4.4代碼清單 4-3:ioctl_test.c65
    4.5helloworld_imx_char_driver.ko演示66
    4.6將模塊添加到內核構建66
    4.7使用設備文件繫統創建設備文件67
    4.8實驗4-2:“class字符設備”模塊68
    4.9代碼清單4-4:helloworld_imx_class_driver.c70
    4.10helloworld_imx_class_driver.ko演示72
    4.11雜項字符設備驅動72
    4.12實驗4-3:“雜項字符設備”模塊73
    4.13代碼清單4-5:misc_imx_driver.c74
    4.14misc_imx_driver.ko演示75
    第5章平臺設備驅動76
    5.1實驗5-1:“平臺設備”模塊78
    5.2代碼清單5-1:hellokeys_imx.c81
    5.3hellokeys_imx.ko演示82
    5.4操作硬件的文檔82
    5.5硬件命名約定83
    5.6引腳控制器84
    5.7引腳控制子繫統86
    5.8設備樹引腳控制器綁定92
    5.9GPIO 控制器驅動96
    5.10GPIO描述符使用者接口98
    5.10.1獲取和釋放GPIO98
    5.10.2使用GPIO99
    5.10.3GPIO映射到中斷99
    5.10.4GPIO設備樹100
    5.11在內核和用戶態之間交換數據100
    5.12MMIO(內存映射I/O)設備訪問101
    5.13實驗5-2:“RGB LED平臺設備”模塊103
    5.13.1i.MX7D處理器的硬件描述103
    5.13.2SAMA5D2處理器的硬件描述105
    5.13.3BCM2837處理器的硬件描述107
    5.13.4i.MX7D處理器的設備樹107
    5.13.5SAMA5D2處理器的設備樹111
    5.13.6BCM2837處理器的設備樹114
    5.13.7“RGB LED平臺設備”模塊的代碼描述115
    5.14代碼清單5-2:ledRGB_sam_platform.c119
    5.15ledRGB_sam_platform.ko演示124
    5.16平臺驅動資源124
    5.17Linux LED類126
    5.18實驗5-3:“RGB LED類”模塊128
    5.18.1i.MX7D、SAMA5D2和BCM2837處理器的設備樹128
    5.18.2“RGB LED類”模塊的代碼描述130
    5.19代碼清單5.3:ledRGB_sam_class_platform.c134
    5.20ledRGB_sam_class_platform.ko演示137
    5.21用戶態中的平臺設備驅動137
    5.22用戶定義的I/O:UIO139
    5.22.1UIO如何運轉140
    5.22.2內核中的UIO API141
    5.23實驗5-4:“LED UIO平臺”模塊142
    5.23.1i.MX7D、SAMA5D2和BCM2837處理器的設備樹143
    5.23.2“LED UIO平臺”模塊的代碼描述144
    5.24代碼清單5-4:led_sam_UIO_platform.c146
    5.25代碼清單5-5:UIO_app.c148
    5.26led_sam_UIO_platform.ko及UIO_app演示150
    第6章I2C從端驅動151
    6.1Linux I2C 子繫統152
    6.2編寫I2C 從端驅動155
    6.2.1注冊I2C從端驅動155
    6.2.2在設備樹中聲明I2C設備157
    6.3實驗6-1:“I2C I/O 擴展設備”模塊159
    6.3.1i.MX7D處理器的硬件描述159
    6.3.2SAMA5D2 處理器的硬件描述159
    6.3.3BCM2837處理器的硬件描述160
    6.3.4i.MX7D處理器的設備樹161
    6.3.5SAMA5D2處理器的設備樹162
    6.3.6BCM2837處理器的設備樹163
    6.3.7“I2C I/O擴展設備”模塊的代碼描述164
    6.4代碼清單6-1:io_imx_expander.c167
    6.5io_imx_expander.ko演示170
    6.6sysfs文件繫統171
    6.7實驗6-2:“I2C多顯LED”模塊174
    6.7.1i.MX7D處理器的硬件描述175
    6.7.2SAMA5D2處理器的硬件描述176
    6.7.3BCM2837處理器的硬件描述176
    6.7.4i.MX7D處理器的設備樹177
    6.7.5SAMA5D2處理器的設備樹178
    6.7.6BCM2837處理器的設備樹180
    6.7.7ACPI和設備樹的統一設備屬性接口181
    6.7.8“I2C多顯LED”模塊的代碼描述182
    6.8代碼清單6-2:ltc3206_imx_led_class.c186
    6.9ltc3206_imx_led_class.ko演示192
    第7章處理設備驅動中的中斷194
    7.1GPIO控制器在Linux內核的中斷域196
    7.2設備樹中斷處理203
    7.3在Linux設備驅動中申請中斷206
    7.4實驗7-1:“按鈕中斷設備”模塊207
    7.4.1i.MX7D處理器的硬件描述208
    7.4.2SAMA5D2處理器的硬件描述208
    7.4.3BCM2837處理器的硬件描述208
    7.4.4i.MX7D 處理器的設備樹208
    7.4.5SAMA5D2 處理器的設備樹209
    7.4.6BCM2837 處理器的設備樹210
    7.4.7“按鈕中斷設備”模塊的代碼描述211
    7.5代碼清單7-1:int_imx_key.c213
    7.6int_imx_key.ko演示215
    7.7延遲工作215
    7.7.1軟中斷216
    7.7.2tasklet217
    7.7.3定時器218
    7.7.4線程化的中斷221
    7.7.5工作隊列223
    7.8內核中的鎖226
    7.8.1鎖和單處理器內核227
    7.8.2在中斷和進程上下文之間共享自旋鎖227
    7.8.3在用戶上下文使用鎖227
    7.9內核中的睡眠228
    7.10實驗7-2:“睡眠設備”模塊229
    7.10.1i.MX7D處理器的設備樹230
    7.10.2SAMA5D2處理器的設備樹231
    7.10.3BCM2837處理器的設備樹232
    7.10.4“睡眠設備”模塊的代碼描述233
    7.11代碼清單7-2:int_imx_key_wait.c236
    7.12int_imx_key_wait.ko演示239
    7.13內核線程239
    7.14實驗7-3:“keyled類”模塊240
    7.14.1i.MX7D處理器的硬件描述240
    7.14.2SAMA5D2處理器的硬件描述241
    7.14.3BCM2837處理器的硬件描述241
    7.14.4i.MX7D 處理器的設備樹242
    7.14.5SAMA5D2處理器的設備樹245
    7.14.6BCM2837處理器的設備樹247
    7.14.7“keyled類”模塊的代碼描述249
    7.15代碼清單7-3:keyled_imx_class.c255
    7.16keyled_imx_class.ko演示264
    第8章在Linux驅動中分配內存266
    8.1查詢ARM的MMU轉換表267
    8.2Linux地址的類型271
    8.3用戶進程的虛擬地址到物理地址的映射273
    8.4內核的虛擬地址到物理地址的映射273
    8.5內核內存分配器275
    8.5.1頁面分配器275
    8.5.2頁面分配器接口275
    8.5.3SLAB分配器276
    8.5.4SLAB分配器接口278
    8.5.5kmalloc內存分配器279
    8.6實驗8-1:“鏈表內存分配”模塊280
    8.7代碼清單8-1:linkedlist_imx_platform.c283
    8.8linkedlist_imx_platform.ko演示287
    第9章在Linux設備驅動中使用DMA288
    9.1緩存一致性288
    9.2Linux DMA引擎API289
    9.3實驗9-1:“流式DMA”模塊295
    9.4代碼清單9-1:sdma_imx_m2m.c302
    9.5sdma_imx_m2m.ko演示 306
    9.6DMA分散/聚集映射306
    9.7實驗9-2:“分散/聚集DMA設備”模塊 307
    9.8代碼清單9-2:sdma_imx_sg_m2m.c310
    9.9sdma_imx_sg_m2m.ko演示 315
    9.10用戶態DMA315
    9.11實驗9-3:“用戶態DMA”模塊317
    9.12代碼清單9-3:sdma_imx_mmap.c319
    9.13代碼清單9-4:sdma.c323
    9.14sdma_imx_mmap.ko演示324
    第10章輸入子繫統設備驅動框架325
    10.1輸入子繫統驅動程序326
    10.2實驗10-1:“輸入子繫統加速度計”模塊327
    10.2.1設備樹329
    10.2.2使用I2C交互的輸入框架330
    10.2.3使用輸入設備的輸入框架331
    10.3代碼清單10-1:i2c_imx_accel.c334
    10.4i2c_imx_accel.ko演示336
    10.5在Linux中使用SPI337
    10.6Linux的SPI子繫統339
    10.7編寫SPI從設備驅動程序 342
    10.7.1注冊SPI從設備驅動程序 342
    10.7.2在設備樹中聲明SPI設備343
    10.8實驗10-2:“SPI加速度計輸入設備”模塊346
    10.8.1i.MX7D 處理器的硬件描述347
    10.8.2SAMA5D2處理器的硬件描述 347
    10.8.3BCM2837處理器的硬件描述 348
    10.8.4i.MX7D處理器的設備樹348
    10.8.5SAMA5D2處理器的設備樹 349
    10.8.6BCM2837處理器的設
    前言
    嵌入式繫統已經成為我們日常生活中不可或缺的一部分。它們被部署在移動設備、網絡基礎設施、家庭和消費設備、數字標牌、醫學成像、汽車信息娛樂以及許多其他工業應用中。嵌入式繫統的使用正呈指數級增長。今天的處理器是由硅制成的,硅本身是由地球上豐富的材料之一—沙子制成的。處理器技術已經從2000年的90 nm制造技術發展到今天的14 nm,預計到2021年將縮小至7 nm或5 nm。
    今天的嵌入式處理器包括多核64位CPU,這些CPU采用先進的14 nm工藝制造,具有廣泛的異構計算能力。這些異構計算能力包括功能強大的GPU和DSP,它們被設計為運行經過訓練的神經網絡,並使下一代虛擬現實應用程序能夠應用於單核或雙核嵌入式處理器上,可以運行為不斷增長的物聯網和工業市場而設計的高能效、低成本的應用程序。現在,在一個價的處理器上運行嵌入式Linux繫統是可能的,並且新的處理器還在不斷問世,成本也在不斷下降。
    嵌入式Linux的靈活性,為嵌入式計算而設計的高效、節能的處理器的可用性,以及新處理器的低成本,使許多工業公司在嵌入式處理器的基礎上開發新的產品成為可能。現在的工程師手中有強大的工具來開發以前無法想像的應用程序,但是他們需要了解當前Linux提供的豐富特性。
    嵌入式Linux固件開發人員需要了解底層硬件功能控制,以便能夠為多個外設編寫接口,如GPIO、串行總線、定時器、DMA、CAN、USB和LCD。嵌入式繫統已經成為我們日常生活中不可或缺的一部分。它們被部署在移動設備、網絡基礎設施、家庭和消費設備、數字標牌、醫學成像、汽車信息娛樂以及許多其他工業應用中。嵌入式繫統的使用正呈指數級增長。今天的處理器是由硅制成的,硅本身是由地球上豐富的材料之一—沙子制成的。處理器技術已經從2000年的90 nm制造技術發展到今天的14 nm,預計到2021年將縮小至7 nm或5 nm。
    今天的嵌入式處理器包括多核64位CPU,這些CPU采用先進的14 nm工藝制造,具有廣泛的異構計算能力。這些異構計算能力包括功能強大的GPU和DSP,它們被設計為運行經過訓練的神經網絡,並使下一代虛擬現實應用程序能夠應用於單核或雙核嵌入式處理器上,可以運行為不斷增長的物聯網和工業市場而設計的高能效、低成本的應用程序。現在,在一個價的處理器上運行嵌入式Linux繫統是可能的,並且新的處理器還在不斷問世,成本也在不斷下降。
    嵌入式Linux的靈活性,為嵌入式計算而設計的高效、節能的處理器的可用性,以及新處理器的低成本,使許多工業公司在嵌入式處理器的基礎上開發新的產品成為可能。現在的工程師手中有強大的工具來開發以前無法想像的應用程序,但是他們需要了解當前Linux提供的豐富特性。
    嵌入式Linux固件開發人員需要了解底層硬件功能控制,以便能夠為多個外設編寫接口,如GPIO、串行總線、定時器、DMA、CAN、USB和LCD。
    下面是一個底層硬件控制的真實例子:假設嵌入式Linux的固件開發人員正在設計一個需要與三個不同的UART通信的Linux應用程序。一臺Linux SBC(單板計算機)有三個可用的UART,但是在測試應用程序時,看起來隻有兩個可用的UART。原因是處理器的引腳可以被多路復用到不同的功能中,同一個引腳可以是UART引腳、I2C引腳、SPI引腳、GPIO等。要激活第三個UART,固件開發人員首先必須在內核代碼中查找描述該SBC硬件的設備樹(DT)源文件,其次必須檢查繫統,看看在這些DT文件中是否創建並激活了這些缺失的UART設備。如果沒有包含該UART設備節點,則可以使用其他已創建的UART節點作為參考來創建它。之後,新的UART焊點必須多路復用為UART功能,確保它們不會與DT中使用相同焊點的其他設備發生衝突。
    在使用設備樹的Linux繫統中,當在設備樹中聲明某個設備時,會由內核加載該設備的驅動程序。驅動程序從設備樹節點中檢索配置數據(例如,分配給該設備的物理地址,該設備觸發的中斷,以及設備特定的信息)。在本書中,將對設備樹進行詳細解釋,你將看到設備樹在開發Linux設備驅動程序中的重要作用。
    本書將告訴你如何為設備樹嵌入式Linux繫統開發設備驅動程序。你將學會如何編寫不同類型的Linux驅動程序,以及如何使用適當的API(應用程序接口)實現與內核和用戶態的交互。本書內容以實用為主,但也提供重要的理論基礎知識。
    本書編寫了近30個驅動程序,並將其移植到三種不同的處理器上。你可以選擇NXP i.MX7D、Microchip SAMA5D2和Broadcom BCM2837三種處理器來開發和測試這些驅動程序,本書的實驗部分詳細介紹了這些驅動程序的實現。在你開始閱讀之前,建議你使用一個開發板,這個開發板需要有一些GPIO,以及至少一個SPI和I2C控制器。本書詳細介紹了用於開發驅動程序的不同評估板的硬件配置,其中用於實現驅動程序的單板包括著名的Raspberry Pi 3 Model B。我鼓勵你在開始閱讀之前,先找到一塊這樣的單板,因為本書的內容注重實踐,用單板做實驗將有助於你應用貫穿全書的理論知識。
    你將學習如何開發驅動程序,從簡單的不與任何外部硬件交互的驅動程序,到管理不同類型設備(如加速度計、DAC、ADC、RGB LED、多顯LED控制器、I/O擴展器和按鈕)的驅動程序。你還將開發DMA驅動程序、管理中斷的驅動程序,以及通過寫入/讀取處理器內部寄存器來控制外部設備的驅動程序。為了簡化這些驅動程序的開發,你將使用不同類型的框架:雜項框架、LED框架、UIO框架、輸入框架和IIO工業框架。
    本書是一個學習工具,可以幫助讀者在沒有任何領域知識的情況下開始開發驅動程序。本書的寫作目的是介紹如何開發沒有高度復雜性的驅動程序,這既有助於強化主要的驅動程序開發概念,也有助於讀者開始開發自己的驅動程序。記住,開發驅動程序的好方法不是從頭開始寫。你可以重用與Linux內核主線驅動程序類似的免費代碼。本書中所寫的所有驅動程序都遵循GPL許可,因此你可以在相同許可證下修改和重新發布它們。
    本書的目標讀者
    對於想知道如何從頭開始開發驅動程序的嵌入式Linux應用開發者來說,本書是理想之作。本書也適合為非設備樹內核開發過驅動程序,並想學習如何創建新的基於設備樹的驅動程序的嵌入式軟件開發者。本書還適合那些想學習如何使用Linux處理嵌入式平臺底層硬件的學生和愛好者。讀者如果能事先具備C語言、嵌入式Linux和Yocto工程工具的基本知識,對閱讀本書將有所幫助,但這不是必需的。
    本書結構
    第1章首先描述嵌入式Linux繫統的主要部分,以及構建它的不同方法,解釋為什麼選擇Yocto工程和Debian作為構建選項。接下來,詳細介紹如何使用Yocto和De


     
    網友評論  我們期待著您對此商品發表評論
     
    相關商品
    在線留言 商品價格為新臺幣
    關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
    DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
    返回頂部