原创 FreeRTOS 學習記錄2

1 FreeRTOS配置文件詳解 作用:裁剪系統的功能。FreeRTOS 提供豐富的組件和功能,爲了適應資源內存不同的處理器,所以要裁剪一些系統功能。 1.1  FreeRTOS與內核配置相關 通過宏的方式來操作,類似寄存器的操作。

原创 FreeRTOS 學習記錄1

1 內存分佈 一個程序包含兩個部分: 1.只讀區(代碼區),代碼區裏有代碼和只讀數據。(代碼區就是程序編譯後生成的二進制文件,存在你的硬盤裏) 2.讀寫區(變量區),變量區有全局變量,堆,棧。棧(stack):是由進程分配的臨時變量的區域

原创 RT-Thread學習記錄15 內存池的使用

以下爲看視頻筆記.......... 1. 內存池的介紹   動態內存堆可以分配任意大小的內存塊,非常靈活和方便。但其存在明顯的缺點:一是分配效率不高,在每次分配時,都要進行空閒內存塊查找;二是容易產生內存碎片。 爲了提高內存分配的效率,

原创 RT-Thread學習記錄14 軟件定時器的使用

以下爲看視頻筆記..........   軟件定時器是由操作系統提供的一:類系統接口,它構建在硬件定時器基礎之上(系統滴答定時器)。軟件定時器使系統能夠提供不受數目限制的定時器服務。 RT-Thread操作系統提供的軟件定時器,以系統節拍

原创 RT-Thread學習記錄7 信號量的使用

以下爲看視頻筆記.......... 1. 信號量(IPC) 在嵌入式系統中運行的代碼主要包括線程和中斷(ISR),在它們的運行過程中,它們的運行步驟有時需要同步(按照預定的先後次序運行),它們訪問的資源有時需要互斥(一個時刻只允許一個

原创 RT-Thread學習記錄12 消息隊列的使用

以下爲看視頻筆記.......... 1. 消息隊列工作機制 消息隊列是RT-Thread中另一種常用的線程間通信方式,消息隊列是對郵箱的擴展。 消息隊列能夠接收來自線程或中斷服務例程中發出的不固定長度的消息,並把消息緩存在自己的內存空間

原创 RT-Thread學習記錄10 線程的優先級翻轉

以下爲看視頻筆記..........   1.優先級翻轉 使用信號量會導致的另一個潛在問題是線程優先級翻轉問題。所謂線程優先級翻轉,即當一個高優先級線程試圖通過某種互斥IPC對象機制訪問兵享資源時,.如果該IPC對象已被-低優先級的線程

原创 RT-Thread學習記錄12 郵箱的使用

以下爲看視頻筆記.......... 1. 郵箱的工作機制 RT-Thread操作系統的郵箱用於線程間通信(郵箱具有數據交互功能,但互斥量、信號量等IPC沒有數據交互功能),特點是開銷比較低,效率較高。郵箱中的每一封郵件只能容納 固定的4

原创 RT-Thread學習記錄9 互斥量的使用

以下爲看視頻筆記.......... 1. 例子說明互斥量 我們來看一個生活中的例子:現在大多銀行ATM機都有一個特製的鐵門。需要使用ATM的用戶都需要在門前排隊,進入鐵門]使用ATM機的用戶進入後會在裏面將鐵門鎖住,以保障自身安全,這

原创 RT-Thread學習記錄8 生產者消費者問題

以下爲看視頻筆記.......... 1.生產者消費者問題模型 生產者消費者問題是一個經典的、多線程同步問題。 有兩個線程: - -個生產者線程和一個消費者線程。兩個線程共享-個初始爲空、固定大小爲n的緩存區。. 生產者的工作是“生產”-

原创 RT-Thread學習記錄11 事件集的使用

以下爲看視頻筆記.......... 1. 例說事件集 以坐公交車爲例說明事件集,在公交站等公交車時可能有以下幾種情況: ①P1坐公交車去某地,只有一趟公交車可以到達目的地,等到此公交車即可出發。②P1坐公交車去某地,有3趟公交車都可以到

原创 RT-Thread學習記錄6 臨界區保護

以下爲看視頻筆記.......... 1.臨界區概念 臨界資源是指一次僅允許一一個線程訪問的共享資源。它可以是一個具體的硬件設備(如打印機等),也可以是一個變量、一個緩衝區。 不論是硬件臨界資源,還是軟件臨界資源,多個線程必須互斥地對它

原创 RT-Thread學習記錄5 空閒線程及常用的鉤子函數

以下爲看視頻筆記.......... 1. 空閒線程是一個比較特殊的系統線程,它具備最低的優先級。當系統中無其他就緒線程可運行時,調度器將調度到空閒線程。 空閒線程還負責一些系統資源回收以及將一-些處於關閉態的線程從線程調度列表中移除的動