青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-250  評論-20  文章-55  trackbacks-0

配置參量(位于FreeRTOSConfig.h)
configUSE_PREEMPTION
設置為1,使用搶先式內核;設置為0,為合作輪轉內核。

configUSE_IDLE_HOOK
設置為1, 使用空閑鉤子;設置為0,不使用空閑鉤子,。

configUSE_TICK_HOOK
如果希望使用時間片鉤子, 就設置為1,設置為0,不使用

configCPU_CLOCK_HZ
內部處理器執行的頻率。這個值需要正確配置外圍定時器。

configTICK_RATE_HZ
The frequency of the RTOS tick interrupt.

RTOS時間片中斷的頻率。

時間片中斷用來測量時間。因此更高時間片頻率意味著時間測量可以有更高分辨率,同時意味著內核占用更多的CPU(效率很低)。演示程序都使用了1000Hz的時間片頻率。這是為了測試內核,通常需要更高的頻率。

多個任務共有同一優先級。通過切換任務,在每一個RTOS時間片內,內核將在同一優先級的任務間分配處理器時間。高時間片頻率意味著將減少給予每個任務的時間份額。

configMAX_PRIORITIES
應用程序任務中可用優先級 的數目. 

任何數量的任務,都可以分配同一優先級。 任務單獨分配優先級。參考configMAX_CO_ROUTINE_PRIORITIES。 內核分配的每個可用的優先級都消耗RAM,因此這個值不應該設置為高于實際應用程序中需要的。

configMINIMAL_STACK_SIZE
空閑任務使用的堆棧大小。通常這個值不用少于 FreeRTOSConfig.h file中演示程序提供的。

configTOTAL_HEAP_SIZE
內核總共可用的RAM數量。如果程序中利用例子中內存分配方案(FreeRTOS 源代碼提供的),這個值僅僅適用這些。參考內存管理 部分獲得更過細節.

configMAX_TASK_NAME_LEN
當創建一個任務,能夠給予描述任務名稱的最大容許長度。這個長度指定符號數目,包括NULL終止字節。

configUSE_TRACE_FACILITY
設置為1,使用可視化追蹤功能。設置為0,就不使用。如果使用可視化追蹤,必須提供追蹤緩沖區。

configUSE_16_BIT_TICKS
時間片(內核開始執行后,時間片中斷的次數)來測量時間。時間片計數器定義為可用的portTickType.類型。

定義configUSE_16_BIT_TICKS為1,將使portTickType定義為16位無符號類型。定義為0,將是32位無符號類型。 使用16位類型,將使在16位或8位單片機大幅度提高性能。但是,這樣限制了最大指定可用時間周期(65535時間片)。然而,假定時間片頻率為250Hz,一個任務在16位上,最大延時或中斷時間位262秒,而32位為17179869秒。

configIDLE_SHOULD_YIELD
這個參數控制任務與空閑任務優先級相同時的行為。僅僅有以下影響:

1.使用優先級調度
2.用戶程序創建的任務,運行在空閑任務一樣的優先級
任務在時間片輪轉中,使用同一優先級。假定沒有更高優先級的任務,這樣每一個任務,在空閑優先級下,將被分配相同數量的處理時間。如果,他們的優先級高于空閑任務的優先級,那么這種情況更是如此。 當任務處于空閑優先級下的行為,會有稍許不同。當configIDLE_SHOULD_YIELD設置為1時,當其他在空閑優先級的任務準備運行時,空閑任務將立刻讓出CPU。當程序的任務調度可用時,要確保空閑任務能夠執行的最少時間以上。這個行為,產生了不好的影響(根據應用程序的需要),如下描述:


上述圖表表明,四個在空閑優先級的任務執行模型。任務A, B,和C,是應用程序任務。任務 I是空閑任務。上下文切換在T0, T1....T6規律的周期間發生。當空閑任務執行時,任務A準備執行,但是空閑任務已經占去了當前時間片的部分時間。結果是,任務I 和任務A共同分享一個時間片。任務B 和任務C比任務A獲得更多的執行時間。

這些可以通過如下避免:

1.如果合適,可以使用空閑鉤子代替在空閑優先級的分開任務。創建程序任務的優先級高于空閑優先級。
2.設置configIDLE_SHOULD_YIELD為1
設置configIDLE_SHOULD_YIELD為1,將阻止空閑任務讓出執行時間直到它的時間片用完。這就確保了所有在空閑優先級的任務分配了相同數量的執行時間。這是以分配給空閑任務更高比例的執行時間為代價。

configUSE_MUTEXES
設置為1,將使用互斥功能;設置為0,將不使用。讀者應該明白FreeRTOS.org 功能中互斥型和二進制型信號量之間的不同。

configUSE_RECURSIVE_MUTEXES
設置為1,將使用遞歸互斥功能;設置為0,將不使用。

configUSE_COUNTING_SEMAPHORES
設置為1,將使用計數器型信號量功能;設置為0,將不使用。

configUSE_ALTERNATIVE_API
設置為1,將包含替代隊列函數;設置為0,將不包含。替代API在queue.h頭文件中有詳細的描述。

configCHECK_FOR_STACK_OVERFLOW
The 堆棧溢出檢測 這頁中有詳細的細節描述。

configQUEUE_REGISTRY_SIZE
隊列記錄有兩個功能,都這涉及到內核相關的調試:

1.允許一個隊列相關的名稱,可以在GUI調試中容易定義。
2.包含了調試器所需的信息,來定位每個記錄的隊列和信號量。
隊列記錄除了進行內核相關的調試外,沒有什么目的。 configQUEUE_REGISTRY_SIZE定義了可以記錄的隊列和信號量的最大數目。這些僅能夠在使用內核相關調試時需要記錄的。查看API中vQueueAddToRegistry() 和 vQueueUnregisterQueue()參考文檔,獲得更多信息。

configUSE_CO_ROUTINES
設置為1,將使用(協同例程)合作輪轉式程序;設置為0,將不使用。當使用時,必須把Croutine.c包含進去項目中。

configMAX_CO_ROUTINE_PRIORITIES
合作式應用程序中可用的優先級數目。 任何合作式程序可使用同一優先級。任務分別設置優先級——參考configMAX_CO_ROUTINE_PRIORITIES.

 

 

Cortex M3 使用著請注意部分結尾特別說明的地方。


configKERNEL_INTERRUPT_PRIORITY應該設置為最低優先級。

注意如下討論中,以"FromISR" 結尾的API函數僅能夠在中斷服務函數中調用。

那些僅僅設置configKERNEL_INTERRUPT_PRIORITY的接口

內核本身為 configKERNEL_INTERRUPT_PRIORITY設置優先級。調用API函數的中斷,也必須以這個優先級執行。沒有調用API函數的中斷,可以有更高的優先級,因此內核調動,他們執行從不延時(在他們硬件限制的范圍內)。 那些在這兩種情況下:

configKERNEL_INTERRUPT_PRIORITY and configMAX_SYSCALL_INTERRUPT_PRIORITY執行的接口。

內核本身為configKERNEL_INTERRUPT_PRIORITY設置優先級。可以設置configMAX_SYSCALL_INTERRUPT_PRIORITY為從調用FreeRTOS.org API 函數的中斷設置更高的優先級。

可以設置configMAX_SYSCALL_INTERRUPT_PRIORITY高于 (一個很高優先級的水平)configKERNEL_INTERRUPT_PRIORITY來獲得 中斷全嵌套模式。沒有調用API函數的中斷可以在高于configMAX_SYSCALL_INTERRUPT_PRIORITY 優先級下執行,因此是不會被內核執行延時。例如,假定一個微控制器,為8級中斷優先級水平——0是最低優先級,7為最高(參考Cortex M3用戶在這部分的結尾特別注意的地方)。如下圖片,描述了在每一個優先級下什么可以和什么不可以,兩個常量被設置為4和0。


中斷優先級配置例子
這些參數配置允許很靈活的中斷處理:

•中斷處理的任務,像系統里其他任務一樣,書寫和分配優先級。這些任務都是被一個中斷激活。ISR本身編寫的應該盡可能的短小——僅僅為了喚醒更高優先級的任務而占用RAM。ISR返回,直接進入要喚醒的任務——因此中斷處理是及時的好像所有是中斷本身做的一樣。這樣的好處是:執行處理的任務時,所有的中斷都允許。
執行 configMAX_SYSCALL_INTERRUPT_PRIORITY的接口提供更多——在內核中斷和configMAX_SYSCALL_INTERRUPT_PRIORITY 之間允許全嵌套模式嵌套和程序調用API函數。中斷優先級在configMAX_SYSCALL_INTERRUPT_PRIORITY執行從不延時。

•運行在高于系統調用最大優先級的ISR,從不會被內核本身屏蔽,所以他們的響應性不被內核功能所影響。對于那些需要瞬間高精度的中斷來說是個好方法——例如:執行發動機換向的中斷。然而,這樣的ISR不能夠使用FreeRTOS.org API函數
為了利用這個方案,應用程序必須遵守如下原則:任何使用FreeRTOS.org API的中斷必須設置為同一優先級,像內核(configKERNEL_INTERRUPT_PRIORITY配置的一樣),或者處于或低于configMAX_SYSCALL_INTERRUPT_PRIORITY(為了接口包含了這個功能)。

Cortex M3 用和特別要注意的地方: 記住,Cortex M3 核心數值上使用低優先級來代替高優先級的中斷(這樣看起來反常規和容易忘記)。如果希望分配夠中斷一個低優先級,不要分配為0優先級(或其他低數值),因為這樣實際上在系統中這個中斷為最高優先級——如果設置優先級在configMAX_SYSCALL_INTERRUPT_PRIORITY可能使系統崩潰。 在Cortex M3核心 最低優先級實際上是255——然而不同于 Cortex M3 賣主說明的不同數目的優先級位和支持庫函數(期待優先級使用不同方法指定)。例如在STM32 ,在ST驅動庫中能夠指定的最低優先級是15——最高優先級可以指定為0。configKERNEL_INTERRUPT_PRIORITY and configMAX_SYSCALL_INTERRUPT_PRIORITY

configKERNEL_INTERRUPT_PRIORITY一般適用于Cortex-M3, PIC24, dsPIC and PIC32 接口。 configMAX_SYSCALL_INTERRUPT_PRIORITY一般PIC32和Cortex M3 接口中可用。其他接口將很快更新。

posted on 2010-05-18 21:10 jay 閱讀(815) 評論(0)  編輯 收藏 引用 所屬分類: FreeRTOS

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            蜜桃久久av一区| 欧美激情一区二区三区全黄| 一区二区免费在线播放| 欧美精品激情在线| 亚洲电影第1页| 欧美jizzhd精品欧美喷水| 久久国产综合精品| 国产中文一区二区三区| 久久女同精品一区二区| 欧美一区久久| 精品av久久707| 欧美成人免费在线观看| 蜜桃av综合| 亚洲精选大片| 亚洲精品一区二区三区婷婷月 | 欧美成人精精品一区二区频| 久久久久久久国产| 亚洲第一区中文99精品| 欧美电影美腿模特1979在线看| 快射av在线播放一区| 一区二区三区免费看| 亚洲视频图片小说| 国产九色精品成人porny| 欧美一区二区三区四区视频| 欧美与欧洲交xxxx免费观看| 黄色综合网站| 亚洲成在人线av| 老巨人导航500精品| 亚洲精品永久免费| 99视频有精品| 国产欧美一区二区精品婷婷| 久久免费视频一区| 欧美www视频| 亚洲先锋成人| 午夜天堂精品久久久久| 在线播放中文一区| 亚洲人成亚洲人成在线观看| 国产精品护士白丝一区av| 欧美在线国产| 麻豆国产精品va在线观看不卡| 99re成人精品视频| 亚洲男女毛片无遮挡| 精品福利电影| 亚洲黄色成人| 国产麻豆日韩欧美久久| 免费久久精品视频| 欧美日韩视频在线一区二区| 欧美中文在线视频| 毛片av中文字幕一区二区| av成人手机在线| 午夜精品网站| 亚洲日本激情| 亚洲综合丁香| 尤物在线观看一区| 日韩亚洲国产精品| 国产在线日韩| 亚洲最新在线视频| 激情综合电影网| 日韩一级欧洲| 在线成人免费观看| 中文国产亚洲喷潮| 在线成人黄色| 亚洲综合日本| 亚洲精品综合久久中文字幕| 亚洲欧美在线观看| 99精品久久| 久久国产视频网| 亚洲一区二区伦理| 久久视频在线看| 午夜精品一区二区三区四区| 久久综合网hezyo| 午夜精品美女自拍福到在线| 欧美成人精品一区二区三区| 欧美在线视频a| 欧美精品在线看| 久久综合一区二区| 亚洲综合精品四区| 欧美bbbxxxxx| 久久久精品国产99久久精品芒果| 欧美激情亚洲自拍| 老司机免费视频一区二区| 欧美特黄一区| 亚洲国产精品久久久久婷婷老年| 国产欧美一区二区在线观看| 亚洲精品一区在线观看香蕉| 在线观看亚洲视频| 午夜日韩激情| 亚洲一区二区在线免费观看视频| 美女成人午夜| 久久久夜精品| 国产精品午夜av在线| 亚洲精品欧洲精品| 亚洲国产日韩欧美| 久久国产日韩欧美| 欧美一区二区三区四区夜夜大片 | 久久精品国产免费观看| 欧美日韩激情网| 欧美成人tv| 国产亚洲精品v| 亚洲一区二区三区777| 99精品国产在热久久下载| 可以免费看不卡的av网站| 久久一本综合频道| 国产精品视频网| 亚洲精品视频一区二区三区| 91久久精品久久国产性色也91 | 久久精品国产免费观看| 欧美一区二区三区免费看| 欧美色视频在线| 日韩午夜激情| 夜夜嗨av一区二区三区中文字幕 | 激情小说另类小说亚洲欧美 | 欧美午夜一区| 亚洲精品日韩在线观看| 亚洲精品裸体| 久久婷婷丁香| 免费欧美网站| 亚洲第一精品夜夜躁人人爽| 久久久久久夜| 免费在线看成人av| 樱桃成人精品视频在线播放| 欧美一级专区| 欧美一区二区日韩| 国产免费成人在线视频| 亚洲免费在线视频一区 二区| 欧美亚洲视频在线观看| 国产精品一区二区你懂的| 亚洲影院在线观看| 性高湖久久久久久久久| 亚洲专区免费| 国产精品日韩欧美一区| 亚洲一区免费视频| 欧美在线观看一二区| 国内成+人亚洲+欧美+综合在线| 欧美亚洲视频| 久久先锋影音av| 在线看视频不卡| 欧美xxxx在线观看| 亚洲品质自拍| 亚洲视频一区在线| 国产精品久久久久久av福利软件| 亚洲一区二区av电影| 欧美一区二区在线| 狠狠狠色丁香婷婷综合久久五月| 久久精品亚洲一区| 欧美激情一区二区三区蜜桃视频 | 噜噜噜91成人网| 亚洲国产成人av在线| 欧美国产成人精品| 夜夜嗨av一区二区三区四区| 午夜在线a亚洲v天堂网2018| 国产亚洲福利一区| 久久婷婷人人澡人人喊人人爽| 欧美激情精品久久久久久变态 | 亚洲精品免费在线观看| 欧美日本中文字幕| 亚洲视频在线观看网站| 久久国产精品久久久久久| 影音先锋欧美精品| 欧美精品福利在线| 亚洲一区二区三区精品动漫| 久久久久国产精品www| 亚洲国产另类久久精品| 欧美日韩国产综合新一区| 香蕉乱码成人久久天堂爱免费 | 国产自产女人91一区在线观看| 老**午夜毛片一区二区三区| 亚洲伦理在线| 久久成人免费电影| 亚洲欧洲日韩在线| 国产精品露脸自拍| 久久久美女艺术照精彩视频福利播放| 亚洲国产三级网| 欧美亚洲网站| 亚洲大胆人体在线| 欧美色中文字幕| 欧美在线观看网址综合| 亚洲国产日韩一级| 欧美一区二区观看视频| 91久久久久久久久久久久久| 国产精品国产三级国产专播品爱网 | 亚洲永久免费精品| 欧美xart系列高清| 一区二区免费在线观看| 国产日韩欧美精品综合| 欧美国产激情| 欧美一区二区三区成人| 91久久精品美女| 久久九九热re6这里有精品| 亚洲精品一区二区三区99| 国产精品一二| 欧美阿v一级看视频| 亚洲欧美日韩系列| 国产丝袜一区二区| 亚洲欧美综合网| 亚洲人体1000| 久热精品在线视频| 亚洲一区国产精品| 亚洲国产综合91精品麻豆| 国产精品美女久久久久久久|