深入淺出嵌入式底層軟件開發(fā)

出版時(shí)間:2011-5  出版社:北京航空航天大學(xué)  作者:楊鑄//唐攀  頁數(shù):654  
Tag標(biāo)簽:無  

前言

創(chuàng)作動(dòng)機(jī) 還在學(xué)生時(shí)代,就曾聽一位老師感嘆:學(xué)硬件的人搞不懂軟件,學(xué)軟件的人搞不懂硬件。似乎計(jì)算機(jī)軟硬件之間有一道難以逾越的鴻溝。因此學(xué)習(xí)computer software專業(yè)的我當(dāng)時(shí)就曾有一種沖動(dòng),要在裸機(jī)設(shè)備上,做一些有意思的編程,從而讓自己能夠從整體上,自下而上地了解、進(jìn)而貫通計(jì)算機(jī)的軟硬件體系知識(shí)。然而上世紀(jì)90年代初期國內(nèi)硬件的缺乏,軟件技術(shù)資料的匱乏,讓這樣的想法舉步維艱,幾經(jīng)嘗試后,終至放棄。隨著微軟VB、VC可視化IDE開發(fā)在國內(nèi)的興起,JAVA開發(fā)的興盛,國內(nèi)的計(jì)算機(jī)軟件教育越來越傾向于快速拖拽控件的應(yīng)用程序開發(fā),這使得上下貫通的夢想愈來愈遙不可及。正當(dāng)夢想遠(yuǎn)去之時(shí),國內(nèi)嵌入式產(chǎn)業(yè)開始興起,由于嵌入式本身的特性,使得必然要同時(shí)橫跨軟件和硬件,更為重要的是,ARM CPU以它的開放性和易學(xué)性一統(tǒng)嵌入式硬件的江湖,國內(nèi)基于ARM CPU的優(yōu)秀嵌入式硬件設(shè)備層出不窮,而互聯(lián)網(wǎng)在國內(nèi)的普及更是使得各種嵌入式技術(shù)資料的獲得和技術(shù)知識(shí)的交流變得非常的容易,于是終于再次有機(jī)會(huì)了卻學(xué)生時(shí)代的夢想。埋頭鉆研多年后,方有所心得,在其間更為Linux的人人為我,我為人人的理念所打動(dòng),故而萌發(fā)了要把自己的心得落于紙上,以降低嵌入式軟件開發(fā)的學(xué)習(xí)門檻、平滑其陡峭的學(xué)習(xí)曲線,讓更多的人受惠。然及至動(dòng)筆,方才發(fā)現(xiàn)自己會(huì)和讓別人會(huì)完全是兩碼事情,要想做到深入淺出,讓讀者以最少的時(shí)間成本代價(jià)獲得嵌入式底層軟件開發(fā)的技術(shù)精髓,何其難哉!本書的創(chuàng)作算是一種盡力的嘗試吧。本書內(nèi)容及組織方式第1篇(第1章——第3章)以ARM CPU及其匯編語言為背景,深入淺出地講解軟件是如何控制硬件的。第1章學(xué)習(xí)ARM的匯編指令、偽操作和開發(fā)環(huán)境,使讀者能在短時(shí)間內(nèi)掌握和使用ARM匯編語言進(jìn)行編程第2章精解ARM匯編偽指令、C與匯編的混合編程。在此基礎(chǔ)上,以S3C2440為實(shí)例,使讀者能在短時(shí)間內(nèi)掌握,通過閱讀硬件手冊去編程控制典型的硬件——LED燈、Watchdog、系統(tǒng)時(shí)鐘、UART串口。并為學(xué)習(xí)后續(xù)章節(jié)打下基礎(chǔ)。第3章以S3C2440為背景,揭秘ARM CPU硬件中斷處理過程和軟件中斷處理流程的各個(gè)細(xì)節(jié),并講解進(jìn)程切換的技術(shù)細(xì)節(jié)和通過MMU實(shí)現(xiàn)內(nèi)存保護(hù)的細(xì)節(jié)。在此基礎(chǔ)上,實(shí)現(xiàn)了一個(gè)可以在真實(shí)硬件上運(yùn)行的小型多任務(wù)操作系統(tǒng)——miniOS。通過本章的學(xué)習(xí),你將有機(jī)會(huì),以最少的時(shí)間代價(jià),親手在真實(shí)硬件上了解操作系統(tǒng)中橫跨軟硬件的兩大子系統(tǒng)(進(jìn)程調(diào)度、內(nèi)存管理)與硬件相關(guān)的底層實(shí)現(xiàn)原理和細(xì)節(jié)第2篇(第4章——第7章)以S3C2440開發(fā)板為硬件,講解制作嵌入式Linux系統(tǒng)的完整過程,具有很強(qiáng)的實(shí)用性和可操作性第4章介紹開發(fā)環(huán)境的搭建和使用第5章深入剖析u-boot,并在此基礎(chǔ)上完成對u-boot的移植和擴(kuò)充第6章站在制作產(chǎn)品和實(shí)際使用的角度,講解如何移植、裁剪、配置、編譯Linux內(nèi)核第7章詳細(xì)介紹制作嵌入式Linux根文件系統(tǒng)的步驟和技巧,并講解了主要應(yīng)用程序系統(tǒng)和GUI系統(tǒng)的建構(gòu)第3篇(第8章——第11章)以盡可能通俗的方式講解Linux設(shè)備驅(qū)動(dòng)中涉及的復(fù)雜理論,在此基礎(chǔ)上,以驅(qū)動(dòng)程序的2個(gè)接口(向下與硬件接口、向上與內(nèi)核子系統(tǒng)接口)為突破口,由淺入深地編寫和剖析了嵌入式真實(shí)典型硬件(LED燈、按鍵、網(wǎng)卡、LCD、觸摸屏)的驅(qū)動(dòng)程序。所有的驅(qū)動(dòng)程序均能在實(shí)際硬件上正常運(yùn)行,幫助讀者揭開Linux驅(qū)動(dòng)的神秘面紗第8章講解字符設(shè)備驅(qū)動(dòng)基本知識(shí),包括:編寫驅(qū)動(dòng)模塊的基礎(chǔ)知識(shí)、并發(fā)控制方法、阻塞與非阻塞編程第9章以簡單硬件——LED燈和Watchdog為切入點(diǎn),以實(shí)戰(zhàn)的方式詳細(xì)講述了字符設(shè)備的驅(qū)動(dòng)開發(fā),并在此基礎(chǔ)上詳細(xì)分析了內(nèi)核的misc設(shè)備子系統(tǒng)第10章以典型硬件——按鍵為切入點(diǎn),詳細(xì)介紹了Linux驅(qū)動(dòng)中的中斷編程和內(nèi)核定時(shí)器編程,并在此基礎(chǔ)上,以實(shí)例的方式詳細(xì)剖析了中斷底半部2種機(jī)制(tasklet和workqueue)的區(qū)別和不同應(yīng)用環(huán)境第11章詳細(xì)講解了網(wǎng)卡驅(qū)動(dòng)的編寫。以虛擬網(wǎng)卡snull為例詳解網(wǎng)卡驅(qū)動(dòng)向上的接口實(shí)現(xiàn),以真實(shí)網(wǎng)卡cs8900為例詳解網(wǎng)卡驅(qū)動(dòng)向下的接口實(shí)現(xiàn)第12章以實(shí)戰(zhàn)的方式,深入淺出地剖析了嵌入式Linux系統(tǒng)中最重要的2類驅(qū)動(dòng)(LCD和觸摸屏)的代碼實(shí)現(xiàn)。并簡介了塊設(shè)備驅(qū)動(dòng)和usb設(shè)備驅(qū)動(dòng)。感謝本書由楊鑄負(fù)責(zé)編寫并統(tǒng)編全部書稿,安博教育的唐攀作為本書的第二作者編寫了本書部分章節(jié),并為本書制作了大部分的插圖,對他踏實(shí)刻苦的鉆研精神和認(rèn)真負(fù)責(zé)的敬業(yè)精神,在此表示深深的謝意。感謝我的父母,是你們從小對我樸實(shí)無華的諄諄教導(dǎo),在我心靈的深處種下了要勤奮學(xué)習(xí)、要努力工作、要懂得感恩的火種,你們給了我強(qiáng)大的精神鼓勵(lì)和支持,使得本書得以順利完成。感謝來自寶島臺(tái)灣的中原大學(xué)生物醫(yī)學(xué)工程系蔡育秀教授和全美教育的田本和先生,在我學(xué)習(xí)和研究的過程中,給予了很大幫助。感謝北京航空航天大學(xué)出版社胡曉柏主任對本書的支持和關(guān)懷,正是他耐心的鼓勵(lì)和支持,才使得本書在最短的時(shí)間內(nèi)與讀者見面。感謝安博中程的孫夏玉、李奎、成寶宗、柳斌、劉鵬、張?jiān)坪?、關(guān)東升、關(guān)杰、葛紅艷、肖瑤,重慶東方的馬伯驪、馬林,達(dá)內(nèi)教育的馬鋒,北京軟件出口中心發(fā)展有限公司的王柱經(jīng)理、劉志強(qiáng)先生,威盛(中國)的修宸,神州數(shù)碼的楊建光,對本書的寫作和出版提供的幫助。感謝中科紅旗軟件技術(shù)有限公司姚文凱,神州數(shù)碼科技有限公司韓林利對本書提出的寶貴意見,為讀者提供了更前沿,更注重實(shí)踐的案例。感謝廣州友善之臂科技有限公司,他們出品的開發(fā)板和相關(guān)資料質(zhì)量很高,使得本書的寫作有了個(gè)很好的硬件平臺(tái),事半功倍。限于筆者水平有限,書中難免有遺漏和不足之處,懇請廣大讀者批評(píng)指正,聯(lián)系方式是E-mail:scyz@263.net。并開通了QQ技術(shù)討論群:47753328。作者 2011年 于北京維亞大廈成都少城公園重慶西永軟件園洛陽師范學(xué)院山西大學(xué)商務(wù)學(xué)院

內(nèi)容概要

本書包含ARM裸機(jī)程序開發(fā)、嵌入式Linux系統(tǒng)建構(gòu)、Linux驅(qū)動(dòng)程序開發(fā)三部分。從軟硬件的分界面開始,循序漸進(jìn),逐一詳細(xì)介紹嵌入式底層軟件開發(fā)的各個(gè)技術(shù)要點(diǎn),技術(shù)體系全面;既有一定的理論,但更加強(qiáng)調(diào)實(shí)戰(zhàn)性;深入淺出,能讓讀者以最少的時(shí)間成本代價(jià)獲得嵌入式底層軟件開發(fā)的技術(shù)精髓。
本書適合硬件工程師、軟件工程師、嵌入式軟件的從業(yè)人員、教授嵌入式軟件開發(fā)課程的老師、意欲從事嵌入式軟件開發(fā)工作的大學(xué)生閱讀。

作者簡介

  楊鑄 教育背景:電子科技大學(xué)通信與信息工程工學(xué)碩士;北京郵電大學(xué)工學(xué)學(xué)士
學(xué)位,專業(yè)為計(jì)算機(jī)軟件。重大經(jīng)歷:作為主要組織人員,組織完成了中國移動(dòng)四川分公司最早的短信系統(tǒng)平臺(tái)的建設(shè);早期專注于Microsoft的OS和Database的技術(shù)研究與職業(yè)培訓(xùn),是微軟在中國的早期MCT之一,MCP號(hào)1694198;參與完成國家863計(jì)劃項(xiàng)目——信息安全產(chǎn)品演示和驗(yàn)證平臺(tái)的子課題并與合作公司完成產(chǎn)品化開發(fā)—內(nèi)部網(wǎng)絡(luò)監(jiān)管系統(tǒng);中后期專注于嵌入式軟件開發(fā)的研究與職業(yè)培訓(xùn),精于ARM體系結(jié)構(gòu)與嵌入式Linux。

書籍目錄

第1篇 ARM體系結(jié)構(gòu)與編程
 第1章 ARM匯編編程基礎(chǔ)
  1.1 ARM CPU寄存器
  1.1.1 普通寄存器R0~Rl5
  1.1.2 狀態(tài)寄存器CPSR與SPSR
  1.1.3 流水線對PC的值的影響
  1.2 基本尋址方式與基本指令
   1.2.1 最常見尋址方式精解
   1.2.2 最常見指令精解
  1.3 ARM匯編偽操作
  1.3.1 匯編偽操作在匯編程序中的使用范例
  1.3.2 最常見匯編偽操作精解
  1.3.3 匯編偽操作列表
  1.4 ADS開發(fā)環(huán)境的使用
  1.4.1 在ADS中進(jìn)行裸機(jī)程序的編輯、編譯、運(yùn)行
  1.4.2 在AXD中進(jìn)行裸機(jī)程序調(diào)試的方法與步驟
  1.5 RealView MDK開發(fā)環(huán)境的使用
  1.5.1 在MDK開發(fā)環(huán)境下編寫裸機(jī)程序
  1.5.2 MDK調(diào)試裸機(jī)程序的方法與步驟
  1.6 其他常見尋址模式與常見指令
   1.6.1 其他常見尋址模式
   1.6.2 其他常見指令
 第2章 ARM編程進(jìn)階
  2.1 ARM匯編偽指令
   2.1.1 精解ldr偽指令
   2.1.2 精解adr
   2.1.3 精解adrl偽指令
   2.1.4 nop偽指令
  2.2 ATPCS與混合編程
  2.2.1 ATPCS規(guī)則精解
  2.2.2 精解C和ARM匯編程序間的相互調(diào)用
  2.3 裸機(jī)硬件的控制方法與例程
  2.3.1 建立真實(shí)硬件的開發(fā)和調(diào)試環(huán)境
  2.3.2 軟件控制(驅(qū)動(dòng))硬件的編程原理
  2.3.3 裸機(jī)硬件控制程序?qū)嵗?br />  2.3.4 啟動(dòng)例程
  2.4 看門狗定時(shí)器
  2.4.1 看門狗定時(shí)器的用途
  2.4.2 看門狗工作原理
  2.4.3 看門狗實(shí)驗(yàn)
  2.5 系統(tǒng)時(shí)鐘
   2.5.1 系統(tǒng)工作時(shí)鐘頻率
   2.5.2 時(shí)鐘驅(qū)動(dòng)實(shí)驗(yàn)
  2.6 SDRAM內(nèi)存
   2.6.1 3C2440存儲(chǔ)器地址段(Bank)
   2.6.2 SDRAM內(nèi)存工作原理
    2.6.3 SDRAM的讀操作
   2.6.4 SDRAM預(yù)充電操作
   2.6.5 SDRAM突發(fā)操作
   2.6.6 SDRAM寫操作
   2.6.7 SDRAM的刷新
   2.6.8 內(nèi)存驅(qū)動(dòng)實(shí)驗(yàn)
  2.7 UART串口
    2.7.1 同步通信和異步通信
   2.7.2 數(shù)據(jù)的串行和并行通信方式
 ……
第2篇 嵌入式Linux系統(tǒng)建構(gòu)
第3篇 Linux驅(qū)動(dòng)程序開發(fā)
參考文獻(xiàn)

編輯推薦

《深入淺出:嵌入式底層軟件開發(fā)》包含ARM裸機(jī)程序開發(fā)、嵌入式Linux系統(tǒng)建構(gòu)、Linux驅(qū)動(dòng)程序開發(fā)三部分。《深入淺出:嵌入式底層軟件開發(fā)》從軟硬件的分界面開始,循序漸進(jìn),逐一詳細(xì)講解嵌入式底層軟件開發(fā)的各個(gè)技術(shù)要點(diǎn),技術(shù)體系全面;既有一定的理論,但更加強(qiáng)調(diào)實(shí)戰(zhàn)性;深入淺出,能讓讀者以最少的時(shí)間成本代價(jià)獲得嵌入式底層軟件開發(fā)的技術(shù)精髓。如果您是一位硬件工程師,想在最短的時(shí)間內(nèi)學(xué)習(xí)軟件控制硬件的原理,并編寫軟件來直接控制硬件,那么本書是為您準(zhǔn)備的,請閱讀本書的第一篇。如果您是一位應(yīng)用軟件工程師,很好奇到底是誰幫助你的應(yīng)用軟件去操控底層的硬件完成各種各樣有意思的工作,那么請閱讀本書的第一篇和第三篇。如果您是一位嵌入式軟件的從業(yè)人員,那么相信通過閱讀本書,您能以最少的時(shí)間成本,了解到嵌入式底層軟件開發(fā)的技術(shù)精髓,回答你為了趕項(xiàng)目工期而不得不囫圇吞棗的技術(shù)問題。如果您是一位教授嵌入式軟件開發(fā)課程的老師,相信本書能有助于您更加深入淺出地講好您的課程,因?yàn)楸緯乃袃?nèi)容和實(shí)驗(yàn)都經(jīng)過了數(shù)百名學(xué)員的親手操作和認(rèn)可。如果您是一位即將走出校門,意欲從事嵌入式軟件開發(fā)工作的大學(xué)生,當(dāng)本書能助您一臂之力,快速掌握實(shí)際開發(fā)工作中所需的實(shí)戰(zhàn)技能,使您順利適應(yīng)新的工作崗位的話,我將感到無比的自豪。如果您是一位在校學(xué)生并和學(xué)生時(shí)代的我有相同沖動(dòng)的話,那么請通讀本書吧!

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    深入淺出嵌入式底層軟件開發(fā) PDF格式下載


用戶評(píng)論 (總計(jì)22條)

 
 

  •   RT: 需要結(jié)合其他書籍看,在前面部分結(jié)合韋東山的那本看,還不錯(cuò)的,但是后面部分的驅(qū)動(dòng)要結(jié)合LDD看. 前面的寫那個(gè)RTOS部分如果看過μCOSII的話會(huì)感覺非常容易的,當(dāng)然也不會(huì)有太多收獲. 驅(qū)動(dòng)部分寫得不怎么好. 書本結(jié)合的是Mini2440當(dāng)然我用到是TQ2440,也講到了.里面的DVD資料里面有些東西需要結(jié)合對應(yīng)的Linux內(nèi)核版本才可以使用. 書本后面部分不是很好.前面不錯(cuò).盡管個(gè)人認(rèn)為如此,還是值得一看. 還有就是書本有不少的錄入錯(cuò)誤.不過不影響閱讀. 1--- 希望作者在下一版本的時(shí)候可以使用Ubuntu的后續(xù)或者LTS版本,因?yàn)?.10現(xiàn)在已經(jīng)Not Support any more. 2--- 還有就是截圖等編輯還是需要更用心和認(rèn)真.許多的空格等不方便閱讀. 例如 Page398的第10行里面的-- 中間看起來很像是有空格.雖然這些對于一般人沒有問題.但是對于初學(xué)者不好. 3--- 書本應(yīng)該自成體系,形成一個(gè)系統(tǒng).這本書在后續(xù)部分跨度過大,此部分對于那些Linux驅(qū)動(dòng)初學(xué)者不適合.
  •   評(píng)心而論,還不錯(cuò),前面先講解ARM體系結(jié)構(gòu),然后是常用的裸板驅(qū)動(dòng),系統(tǒng)構(gòu)建與驅(qū)動(dòng)移植,適合有一定的基礎(chǔ)的朋友閱讀。
  •   正在用mini2440開發(fā)板學(xué)習(xí)LINUX,在書城看了這本書很久,覺得很不錯(cuò)就買了,不過拿到書后感覺沒有書城的書質(zhì)量好,明顯感覺紙張較薄,并且有些頁字印刷的不是很清晰,不過最重要的是內(nèi)容很豐富.
  •   內(nèi)容太雜,ARM部份的太少。 如果全本書都是介紹ARM的就好了。
  •   這本書是學(xué)長推薦的!真心不錯(cuò)!我那個(gè)班有幾個(gè)同學(xué)都買了這本書!
  •   包含了基于ARM的嵌入式Linux底層開發(fā)的3個(gè)主要組成部分,視角獨(dú)特、內(nèi)容原創(chuàng)、結(jié)構(gòu)安排合理。非常適合ARM的入門學(xué)習(xí)者以及有一定底層開發(fā)經(jīng)驗(yàn)的軟件工程師ARM理論部分的內(nèi)容,結(jié)合光盤中的示例代碼,如果完全掌握了的話,應(yīng)當(dāng)說對ARM中的精華內(nèi)容已經(jīng)可以入門了;之后學(xué)習(xí)ARM部分控制硬件的內(nèi)容,它是ARM的實(shí)戰(zhàn)部分,既可以深化對ARM基本知識(shí)的理解,亦可為實(shí)際工作打好基礎(chǔ);然后學(xué)習(xí)miniOS部分,它將揭示操作系統(tǒng)的底層奧妙,實(shí)在是引人入勝(如果你對OS不感興趣,可以略過);最后不妨逐行分析一下u-boot第一階段的ARM匯編代碼(在書的第2部分有詳細(xì)介紹),這實(shí)在是不可多得的ARM綜合應(yīng)用案例。嵌入式Linux系統(tǒng)構(gòu)建部分略顯單薄,但對u-boot代碼的分析也非常精彩。此部分建議參閱 構(gòu)建嵌入式linux核心軟件系統(tǒng)實(shí)戰(zhàn)。Linux驅(qū)動(dòng)部分,基礎(chǔ)部分基于著名的LDD3,但卻以盡可能通俗的方式講解了Linux設(shè)備驅(qū)動(dòng)中涉及的復(fù)雜理論。在此基礎(chǔ)上,以驅(qū)動(dòng)程序的2個(gè)接口(向下與硬件接口、向上與內(nèi)核子系統(tǒng)接口)為突破口,由淺入深地編寫和剖析了嵌入式真實(shí)典型硬件(LED燈、按鍵、網(wǎng)卡、LCD、觸摸屏)的驅(qū)動(dòng)程序。所有的驅(qū)動(dòng)程序均能在實(shí)際硬件上正常運(yùn)行,幫助讀者揭開Linux驅(qū)動(dòng)的神秘面紗。這部分最精彩的內(nèi)容當(dāng)屬對中斷的講解,言簡意賅而深入淺出。
  •   本書前幾章是《ARM體系架構(gòu)》一書的內(nèi)容,后面介紹linux系統(tǒng)安裝,網(wǎng)上基本非常容易查找,再后面介紹linux驅(qū)動(dòng)編寫,內(nèi)容類似與老外那本著名的Linux驅(qū)動(dòng)圖書。最關(guān)鍵的是居然按照ARMv6的架構(gòu)寫,三星的2440芯片為基礎(chǔ)。此書用來忽悠那些參加各種linux嵌入式培訓(xùn)機(jī)構(gòu)比較好??傮w上,此書比較垃圾,買書請慎重?。?!
  •   物流給力,第二天送到。書已經(jīng)在使用了,平時(shí)參考很有用。
  •   很經(jīng)典的教程,值得買啊,書是正版的,比較便宜。
  •   該書對初學(xué)嵌入式學(xué)習(xí)者是個(gè)很好的幫助工具書,值得參考和學(xué)習(xí)。但是對貴商城提個(gè)寶貴的意見,送貨的速度有待提高,服務(wù)態(tài)度一般。
  •   掃描了二維碼,應(yīng)該是正版的吧,封面有磨損
  •   這個(gè)書硬件講得比較細(xì)致,后面軟件部分我學(xué)起來有點(diǎn)亂,是軟件知識(shí)太多,我不太扎實(shí),書里也沒有一一詳細(xì)介紹,都是以實(shí)例來講解分析的。適合動(dòng)手跟著做。
  •   很好??!我很喜歡,推薦!
  •   光盤不好使 內(nèi)容是抄的
  •   垃圾中的戰(zhàn)斗機(jī),寫的神馬狗屁,東拼西湊,真不知道好評(píng)的是不是些托
  •   前面硬件部分講的不錯(cuò),很清晰。后面linux實(shí)在一般,就沒看后面了。
  •   感覺這本書好像沒有嚴(yán)格校正似的,錯(cuò)誤的地方很多,特別是Linux驅(qū)動(dòng)程序開發(fā)那一塊,雖說對于有基礎(chǔ)的人來說那些錯(cuò)誤很明顯,但是對于初學(xué)者來說就不好糾正了,還有就是感覺驅(qū)動(dòng)那一塊的知識(shí)點(diǎn)講的并不深入,一些API直接貼了上去,并沒有細(xì)致的說明,純屬于對LDD3的概括。并且知識(shí)點(diǎn)講得沒有條理性,給人一種很茫然的感覺... 閱讀更多
  •   果然深入淺出?。?/li>
  •   書很好,講的深入淺出,有層次
  •   這本書不錯(cuò),推薦看看
  •   內(nèi)容不錯(cuò),非常喜歡,價(jià)格也實(shí)惠。
  •   不錯(cuò)的書,還有光盤,比dd好多了
 

250萬本中文圖書簡介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7