FreeRTOS源碼詳解與應用開發—基於STM32

FreeRTOS源碼詳解與應用開發—基於STM32 pdf epub mobi txt 電子書 下載 2025

左忠凱,劉軍,張洋 著
圖書標籤:
  • FreeRTOS
  • STM32
  • 嵌入式
  • 實時操作係統
  • 源碼分析
  • 應用開發
  • 嵌入式係統
  • ARM
  • 單片機
  • 開發指南
想要找書就要到 靜流書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 北京航空航天大學齣版社
ISBN:9787512423954
版次:1
商品編碼:12121539
包裝:平裝
開本:16開
齣版時間:2017-07-01
用紙:膠版紙

具體描述

內容簡介

  FreeRTOS源碼詳解與應用開發—基於STM32

  本書輔以大量的例程,全麵講解瞭Fr e eRTOS的原理以及源碼,主要內容包括任務管理和任 務調度、係統裁減和配置、時間管理、隊列、信號量、軟件定時器、事件標誌組、任務通知、低功耗 Ti ck l e s s模式、空閑任務以及內存管理等。同時,本書配有大量的圖例,對於想要深入學習RTOS 類係統原理的人來說是一個不錯的選擇。 本書配套資料包括視頻教程、文檔教程、各個例程的源碼及相關參考資料,所有資料均可在開 源電子網(網址為www. openedv. c om)免費下載。 本書適閤那些想要學習Fr e eRTOS的初學者,也可作為高等院校計算機、電子技術、自動化、 嵌入式等相關專業的教材。


前言/序言

  背景知識 近年來微處理器的性能呈爆炸式增長,尤其是在ARM公司發布瞭Co r t ex M 內核以後,全球很多大型半導體廠商都推齣瞭基於Co r t ex M內核的MCU。以ST (意法半導體)為例,先後推齣瞭STM32F1、 STM32F4、 STM32F7和最近剛推齣的 STM32H7,其性能已經遠超曾經的ARM7,甚至已經超過瞭大多數的ARM9處理 器。強大的性能意味著復雜的功能、復雜的應用,隨著應用中所需功能的增多,裸機 開發越來越吃力,應用中各功能模塊的管理遇到瞭前所未有的挑戰。這時候,一個科 學的、閤理的模塊化管理方法顯得尤為重要,而這個正是操作係統的基本功能,即任 務管理。 提起操作係統,大多數人的第一反應應該是 Wi ndows、 L i nux、And r o i d和IOS 等這些常用的大型操作係統。很不幸的是,對於Co r t ex M這種級彆的MCU來講, 這些係統一個都用不瞭,它們有自己專用的操作係統,叫RTOS類操作係統。RTOS 是Re a lTimeOpe r a t i ngSys t em的縮寫,也就是實時操作係統。RTOS類操作係統 有很多,如μC/OSI I / I I I、 RTX、 RT Thr e ad、 Fr e eRTOS等。那為何本書選擇Fr e eRTOS呢? 最主要的原因就是Fr e eRTOS免費,而且全球占有量很大,很多第三方 組件廠商都選擇Fr e eRTOS作為默認操作係統,比如STM32官方庫、 TouchGFX圖 形界麵、各種 Wi F i和藍牙的協議棧等,因此本書選擇瞭Fr e eRTOS。係統的運行需 要一個平颱,本書選取ALIENTEK推齣的STM32F429阿波羅開發闆,本書所涉及 的例程都是基於此款開發闆編寫的;如果讀者使用其他類型的開發闆,則隻需要對例 程稍做修改即可。 本書特點 ? 由簡入深,從最基本的API函數使用方法講起,讓讀者對於Fr e eRTOS先有 一個基本的概念,後續章節再對Fr e eRTOS的各功能模塊進行詳細講解。 ? 對Fr e eRTOS中重要的功能模塊,比如信號量、隊列、列錶和列錶項等,進行 瞭源碼級的剖析,對其中重要的API函數源碼做瞭詳細分析。 ? 針對Fr e eRTOS的移植過程,筆者每操作一步都記錄下來編寫進本書,盡可 能保證移植過程閤理、無誤,盡量確保讀者通過參考本書的移植過程可以將Fr e eRTOS移植到任何Fr e eRTOS所支持的MCU上。 ? 對於本書中晦澀難懂的原理性知識,我們都會配有相應的圖形,采用圖文結 閤的方式加深對原理的理解。所有圖形都采用Vi s i o軟件進行繪製,保證圖 形質量,圖形配色閤理、大氣。 ? 操作係統是運行在處理器上的,因此,肯定會涉及處理器架構方麵的知識,本 書中涉及的地方都會標記齣可以參考的書籍以及章節,方便想要深入瞭解的 讀者去閱讀參考。 ? 基本上每章都有相應的練習和使用例程,通過理論加實踐的方式來加強對 Fr e eRTOS操作係統的掌握。 ? 考慮到不同讀者的C語言使用水平不同,本書涉及的例程中都沒有使用復雜 的C語言語法,基本都是最常用的語法。 使用對象 ? 使用Fr e eROTS操作係統的研發人員,或者畢業設計等需要使用Fr e eRTOS 的學生。 ? 對Fr e eRTOS感興趣、想要深入瞭解其運行原理的愛好者。 ? 學習過其他RTOS類操作係統、想要再掌握一種RTOS類操作係統的愛 好者。 軟硬件平颱 使用Fr e eRTOS肯定避免不瞭編寫、編譯程序,程序編譯完成以後肯定也需要 下載到硬件上去運行。編寫程序的IDE和運行程序的硬件平颱有很多種,本書使用 的軟硬件平颱如下: 硬件平颱: ALIENTEK推齣的STM32F429阿波羅開發闆。擁有這款開發闆的 讀者可以直接下載本書中的所有例程,無須做任何修改。ALIENTEK有多款 STM32開發闆,包括STM32F103、 STM32F407、 STM32F429和STM32F767,本書 所有例程都有這些開發闆的對應版本,擁有這些開發闆的讀者可以直接下載對應的 例程。使用其他開發闆的讀者也不用著急,本書例程操作的都是STM32最基本的 外設,比如串口、定時器、 I /O等,隻須稍做修改就可以將例程在自己的開發闆上運行 起來。 IDE開發工具: Ke i l公司的MDK5. 22。 Fr e eRTOS版本: V9. 0. 0版本的Fr e eRTOS。 STM32庫: ST最新推齣的HAL庫,版本為V1. 4. 2。 參考資料 本書編寫過程中參考過很多資料,但是最有用的就隻有那幾份文檔和書籍,首推 的就是Fr e eRTOS官方的兩份文檔:《 Fr e eRTOS_Re f e r enc e_Manua l_V9. 0. 0》和《Ma s t e r i ng_t he _Fr e eRTOS_Re a l _Time _Ke rne l A_Hands On_Tu t o r i a l _Gu i de》, 讀者可以在Fr e eRTOS官網下載。另外,涉及Co r t ex M內核的時候推薦讀者參考《 ARMCo r t ex M3與Co r t ex M4權威指南(第3版)》,此書對Co r t ex M3/M4內 核做瞭詳細講解。本書重點講解Fr e eROTS的原理和使用,不會對STM32的使用 做過多講解,這方麵的資料可以參考ALIENTEK推齣的精通STM32F4係列叢書 和ST官方的參考手冊、數據手冊等。 配套資料 本書配套資料包括視頻教程、文檔教程、各個例程的源碼及相關參考資料,所有 資料均可在開源電子網免費下載,網址為www. openedv. c om。 感 謝 本書獲得瞭ALIENTEK公司的大力支持,它為本書的編寫提供瞭很多便利條 件,並且給予瞭大量的建議。衷心感謝劉軍、張洋、劉勇財、周莉、劉海濤、李振勇、黃 樹乾、吳振陽、彭立峰、羅建等人的審稿,感謝開源電子網廣大網友對本書提齣的 建議。 由於編者水平有限,加之時間倉促,難免會有錯誤和不足之處,希望廣大讀者能 夠提齣寶貴意見。如果發現有錯誤的地方可以發郵件到郵箱: zuo zhaongka i@ ou t l ook. c om,或者在論壇ww. openedv. com上留言。

  左忠凱 2017年5月



《嵌入式實時操作係統設計與實踐》 內容簡介: 本書是一部深入探討嵌入式實時操作係統(RTOS)核心原理、設計哲學以及在實際應用開發中落地實踐的專業著作。作者以其深厚的理論功底和豐富的實踐經驗,為讀者構建瞭一個全麵而詳實的RTOS知識體係,旨在幫助讀者不僅理解RTOS的“是什麼”,更能掌握RTOS的“為什麼”和“如何做”。 第一部分:實時操作係統基礎理論與核心概念 本部分將從最基礎的層麵齣發,逐步深入地剖析實時操作係統的核心概念和運作機製。 何為實時操作係統? 我們將清晰地界定實時操作係統的定義,闡述其與通用操作係統的關鍵區彆,重點突齣“實時性”在嵌入式係統中的不可或缺性。 實時性並非簡單的高速,而是指係統對外部事件的響應能夠在規定的時間限製內完成。我們將深入探討硬實時與軟實時的概念差異,以及它們在不同應用場景下的適用性。 分析實時操作係統在現代嵌入式設備中的核心作用,例如在工業自動化、航空航天、醫療設備、汽車電子等對可靠性和及時性要求極高的領域。 進程與綫程管理 進程的概念與生命周期: 詳細講解進程的定義、組成(PCB)、創建、就緒、運行、阻塞、終止等各個狀態及其轉換過程。 綫程的概念與優勢: 引入綫程作為比進程更輕量級的執行單元,分析多綫程帶來的並發執行、資源共享效率提升以及上下文切換開銷的降低。 多任務調度: 這是RTOS的靈魂所在。我們將全麵介紹各種經典的調度算法,包括: 固定優先級調度: 詳細講解搶占式和非搶占式固定優先級調度的工作原理、優缺點以及適用場景。 動態優先級調度: 探討具有動態調整能力的調度算法,如Rate Monotonic (RM)和Earliest Deadline First (EDF),分析其理論基礎和在復雜係統中的應用。 時間片輪轉調度: 講解時間片的概念、調度過程以及在需要公平性場景下的應用。 其他調度策略: 簡要介紹混閤調度、協同調度等更高級的調度方式。 上下文切換: 深入解析CPU上下文切換的細節,包括寄存器保存、程序計數器更新、棧指針切換等,以及其對係統性能的影響。 進程間通信(IPC)與同步機製 IPC的必要性: 解釋在多任務環境下,進程或綫程之間需要進行數據交換和協調的原因。 消息隊列: 講解消息隊列的原理、數據傳遞方式、阻塞/非阻塞操作,以及在生産者-消費者模型中的應用。 信號量: 詳細闡述信號量的概念(計數信號量、互斥信號量)、P/V操作(wait/signal)在資源互斥訪問和同步控製中的作用。 互斥鎖(Mutex): 區分互斥鎖與信號量的異同,重點講解互斥鎖在保護共享資源時的獨占性,以及優先級反轉等潛在問題。 事件標誌組(Event Flags): 介紹事件標誌組如何用於任務間的異步事件通知和同步,允許任務等待一個或多個事件的發生。 管道(Pipes)與共享內存: 探討更高效的IPC機製,分析其實現原理和適用場景,以及在數據傳輸效率上的優勢。 內存管理 嵌入式內存特點: 分析嵌入式係統內存資源的有限性、多樣性(RAM, Flash)以及對內存管理提齣的挑戰。 靜態內存分配: 講解全局變量、靜態變量的分配方式,及其在運行時不需要額外管理。 動態內存分配: 詳細介紹 `malloc` / `free` 等標準的C語言內存分配函數,以及其在RTOS中的潛在問題(碎片化、堆棧溢齣)。 內存池(Memory Pool): 深入講解固定大小內存池的設計原理,如何通過預先分配固定大小的內存塊來提高分配效率並減少碎片。 可變大小內存分配器: 探討RTOS提供的更靈活的動態內存管理方案,以及其內部數據結構和管理策略。 中斷與異常處理 中斷的概念與分類: 詳細闡述中斷的定義、産生原因(外部中斷、內部中斷)、中斷嚮量錶的作用。 中斷服務例程(ISR)的編寫原則: 強調ISR的快速響應、簡潔性,避免在ISR中進行耗時操作,以及如何安全地與任務進行交互。 中斷與任務的交互: 介紹如何利用信號量、事件標誌組等機製,讓ISR通知等待的任務,實現中斷事件與任務處理的解耦。 異常處理: 講解CPU在執行過程中可能遇到的異常情況(如非法指令、訪問越界),以及操作係統如何捕獲和處理這些異常,保證係統的穩定性。 第二部分:實時操作係統設計與源碼剖析 本部分將跳齣對通用RTOS理論的描述,轉而深入分析一個典型的、具有代錶性的RTOS的內部設計細節和源碼實現。讀者將通過對具體源碼的解讀,理解抽象概念如何在代碼層麵落地。 RTOS核心架構設計 內核組織結構: 介紹RTOS的模塊化設計,如調度器、IPC模塊、內存管理模塊、時鍾管理模塊等。 關鍵數據結構: 剖析RTOS中至關重要的數據結構,如就緒列錶(Ready List)、任務控製塊(TCB, Task Control Block)、鏈錶等,理解它們如何支持RTOS的各項功能。 係統調用接口: 分析RTOS提供的API設計原則,如何通過係統調用實現用戶模式與內核模式的轉換。 調度器源碼深度解析 就緒列錶的維護: 詳細講解就緒列錶如何根據任務優先級進行組織和管理。 任務切換的實現: 深入分析任務上下文保存與恢復的匯編代碼實現細節,理解TCB在切換過程中的作用。 調度算法的具體代碼: 以某種主流調度算法為例(如優先級搶占式調度),逐行解讀其算法邏輯在代碼中的體現,包括如何選擇下一個運行任務,以及在任務狀態改變時如何更新就緒列錶。 IPC與同步機製的源碼實現 消息隊列源碼: 分析消息隊列的緩衝區管理、消息的發送與接收邏輯,以及相關的阻塞與喚醒機製。 信號量與互斥鎖源碼: 剖析信號量和互斥鎖的內部計數、等待隊列的管理,以及P/V操作(wait/signal)的具體實現,包括如何處理任務阻塞和喚醒。 事件標誌組源碼: 演示事件標誌組如何通過位操作實現事件的設置和等待,以及多任務等待同一組事件的處理邏輯。 內存管理模塊源碼 動態內存分配器源碼: 詳細解讀內存池的初始化、內存塊的分配與釋放過程,理解其內部空閑鏈錶或位圖的管理。 內存碎片管理策略: 分析RTOS如何應對內存碎片問題,例如通過閤並相鄰空閑塊等方式。 時鍾與定時器管理 係統滴答(System Tick): 講解係統滴答的作用,如何作為RTOS的心跳,驅動時間相關的事件。 定時器源碼: 分析軟件定時器的實現原理,如何基於係統滴答和鏈錶實現周期性或單次觸發的定時任務。 延時函數的實現: 講解 `delay()` 等延時函數的內部機製,以及它們如何與調度器協同工作。 第三部分:RTOS在嵌入式係統中的應用開發 本部分將理論與實踐相結閤,引導讀者將RTOS的知識應用於實際的嵌入式項目開發。 項目初始化與RTOS啓動流程 硬件平颱初始化: 講解在嵌入式項目啓動時,需要進行的必要硬件初始化工作,如時鍾配置、GPIO設置、外設初始化等。 RTOS內核初始化: 演示如何調用RTOS提供的API來初始化內核,創建第一個任務(通常是主任務)。 任務創建與管理: 詳細講解如何在應用程序中創建、掛起、恢復和刪除任務,並閤理分配任務優先級。 構建模塊化與可維護的嵌入式軟件 任務劃分策略: 討論如何根據功能模塊和實時性要求,將復雜的嵌入式係統分解為多個獨立的任務。 模塊間通信與協調: 強調在多任務係統中,如何利用IPC機製來實現任務間的有效通信和同步,避免全局變量的濫用。 錯誤處理與異常恢復: 探討在嵌入式係統中如何設計 robust 的錯誤處理機製,提高係統的可靠性。 驅動程序開發與RTOS集成 通用驅動程序框架: 介紹嵌入式驅動程序的設計模式,如何將硬件操作封裝成標準的API。 中斷驅動的驅動程序: 演示如何設計中斷驅動的驅動程序,實現高效的外設數據處理。 RTOS下的驅動程序: 分析在RTOS環境下,驅動程序需要考慮的綫程安全、資源共享以及與RTOS核心的協同工作。 常見嵌入式應用場景開發實踐 通信協議棧的實現: 以TCP/IP、MQTT等通信協議棧為例,講解如何在RTOS環境中進行移植和應用開發。 傳感器數據采集與處理: 演示如何利用RTOS的多任務能力,並行采集多路傳感器數據,並進行實時分析和處理。 GUI應用開發: 探討如何在資源受限的嵌入式設備上,集成圖形用戶界麵庫,並與RTOS協同工作。 設備狀態監控與控製: 講解如何利用RTOS的定時器和任務機製,實現設備的周期性狀態檢測和遠程控製。 RTOS性能優化與調試技巧 性能瓶頸分析: 介紹常用的性能分析工具和方法,如CPU使用率、內存占用率、任務響應時間等。 內存優化: 探討如何通過閤理的內存分配策略、減少內存拷貝等方式來優化內存使用。 功耗優化: 講解如何利用RTOS的低功耗模式和調度策略來降低設備的功耗。 RTOS調試工具: 介紹RTOS提供的各種調試工具,如實時分析器、日誌係統、斷點調試等,以及如何利用它們來快速定位和解決問題。 棧溢齣檢測與處理: 講解棧溢齣的危害以及如何在RTOS中進行檢測和預防。 第四部分:高級主題與未來展望 實時操作係統與Linux的對比與融閤 分析RTOS與Linux在設計理念、應用場景上的差異。 探討實時Linux(如PREEMPT_RT補丁)的原理和優勢。 介紹如何將RTOS與Linux結閤,實現高性能、高可靠性的嵌入式係統。 麵嚮對象設計在RTOS中的應用 探討如何將麵嚮對象的設計思想應用於RTOS應用開發,提高代碼的可復用性和可維護性。 安全與可靠性設計 討論在RTOS係統中如何考慮安全性問題,例如訪問控製、安全通信等。 分析RTOS在功能安全(Functional Safety)標準(如ISO 26262)中的應用。 未來RTOS技術發展趨勢 探討微內核、雲原生RTOS、AIoT時代的RTOS等新興技術方嚮。 本書特點: 理論深度與實踐廣度並重: 既深入講解RTOS的核心理論,又提供豐富的應用案例和開發實踐。 清晰的結構與邏輯: 章節之間層層遞進,由淺入深,便於讀者係統學習。 注重細節與原理: 深入剖析RTOS的內部機製和源碼實現,幫助讀者知其然並知其所以然。 麵嚮實際開發: 強調RTOS在實際嵌入式項目中的應用,提供可操作的開發指導。 語言風格: 采用嚴謹、專業的學術語言,同時輔以清晰易懂的解釋,力求使讀者在閱讀過程中獲得流暢的體驗。 本書適閤於從事嵌入式係統開發的工程師、對實時操作係統感興趣的研究人員,以及正在學習嵌入式開發的學生。通過本書的學習,讀者將能夠深刻理解實時操作係統的運作原理,並能獨立完成復雜的嵌入式實時係統項目。

用戶評價

評分

作為一名正在努力從傳統裸機編程嚮RTOS範式過渡的工程師,我對於工具鏈和環境配置的詳盡說明抱有極高的期待。僅僅講解理論是不夠的,在實際操作中,編譯錯誤、鏈接問題以及與特定MCU寄存器交互的細節往往是初學者最大的障礙。我期望本書不僅涵蓋FreeRTOS本身,更能提供一套完整的、可復現的、基於STM32CubeIDE或Keil等主流IDE的工程搭建指南。比如,如何正確地初始化時鍾源、配置Systick定時器以驅動心跳節拍、如何設置正確的內存分區以適應RTOS的堆棧需求等。如果書中能提供一套配套的、可下載的源代碼示例,並且這些示例能夠完美運行,那就太棒瞭。這能讓我對照書本的講解,立即動手驗證每一個概念,極大地縮短瞭“理論學習”到“實際部署”之間的時間鴻溝。

評分

這本書的排版和印刷質量給我留下瞭非常好的印象。紙張的選擇偏啞光,閱讀起來長時間眼睛也不會感到疲勞,這對於需要反復研讀代碼和復雜邏輯的讀者來說至關重要。我特彆留意瞭圖錶的清晰度,涉及到任務切換、信號量或消息隊列等並發控製場景時,時序圖和狀態圖的繪製直接決定瞭理解的難易程度。很多技術書籍在這方麵做得比較粗糙,導緻讀者需要花費大量時間去猜測作者的意圖。如果這本書的插圖能夠做到邏輯清晰、層次分明,並且準確地映射到具體的源碼位置,那麼它的學習價值將大大提升。此外,章節的邏輯組織也顯得非常重要。我希望它能遵循“宏觀到微觀”的路徑,先介紹FreeRTOS的整體架構和設計哲學,然後逐步深入到各個模塊的源碼實現,最終再迴歸到STM32平颱上的具體移植和應用實踐,形成一個完整的知識閉環。

評分

這本書的封麵設計得很有質感,配色沉穩,字體清晰,第一眼看上去就給人一種專業、嚴謹的感覺。我立刻就被書名中“FreeRTOS源碼詳解”這個關鍵詞吸引住瞭,因為我目前正在從事基於STM32平颱的嵌入式項目開發,對操作係統底層的理解一直是個瓶頸。通常市麵上的書籍要麼偏嚮於應用層API的介紹,對源碼的剖析往往淺嘗輒止,要麼就是過於晦澀難懂的純理論書籍,很難將理論與實際開發緊密結閤起來。我期待這本書能夠在源碼的逐行解析中,揭示FreeRTOS內核調度、內存管理、中斷處理等核心機製的運作奧秘,特彆是如何與STM32的硬件特性進行協同工作。如果書中能提供清晰的流程圖和代碼注釋,輔以對關鍵數據結構和函數的深入探討,那無疑會大大加速我對實時操作係統理解的深度,幫助我調試那些棘手的底層Bug,構建齣更穩定、更高效的嵌入式係統。我希望它不僅僅是參考手冊,更是一位耐心的導師,能把我從應用層的“調用者”引嚮對內核“掌控者”的轉變。

評分

這本書的特色似乎在於它將“源碼詳解”與“應用開發”做瞭緊密的結閤,這正是我所缺乏的。單純的源碼分析容易流於抽象,而脫離瞭實際應用場景的理論講解也顯得空洞無力。我關注的是,作者是如何選取那些最具代錶性的STM32應用場景,比如電機控製、數據采集或網絡通信,然後展示FreeRTOS內核是如何在其上實現高效、可靠調度的。例如,當處理一個高優先級、時間敏感的傳感器中斷時,代碼是如何確保上下文切換的原子性,並正確地喚醒等待的任務的?書中是否詳細分析瞭中斷服務程序(ISR)與任務通信的最佳實踐,避免引入優先級反轉或死鎖等經典問題?如果能看到真實項目中,應用層代碼是如何巧妙地調用內核API來管理資源和同步事件的案例分析,那麼這本書的實用價值就遠超一般的教科書瞭。

評分

我非常看重作者在處理復雜概念時的闡釋深度和清晰度。FreeRTOS中的定時器管理、軟件延時、以及隊列溢齣處理機製,這些看似簡單的功能背後往往隱藏著精妙的設計。我希望這本書能夠避免使用過於官方和僵硬的術語堆砌,而是用一種更貼近工程師思維的語言來解釋這些細節。比如,對於任務優先級繼承(Priority Inheritance)或優先級天花闆(Priority Ceiling)這些高級同步機製的引入,作者能否通過生動的比喻或圖示,把其背後的互斥保護思想講解透徹,而不是僅僅貼上官方文檔的定義?一個好的技術解讀,應該是能夠“點撥”讀者,讓讀者在讀完之後,不僅知道“是什麼”,更明白“為什麼是這樣設計”,並能舉一反三地將其思想遷移到其他類似的實時係統中去。如果這本書能達到這種“授人以漁”的境界,那它將是值得我長期珍藏的技術寶典。

評分

不錯,學習一下

評分

商品不錯,值得購買,下次還來買……

評分

這個書感覺還行吧,主要過一遍係統

評分

不錯,下次還來,質量不錯

評分

留著備看吧。

評分

包裝完好,沒有褶皺。

評分

還行,講得一般般

評分

有點貴

評分

質量不錯,正版

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有