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

隨筆-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 閱讀(812) 評論(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一区二区怡红| 欧美在线网址| 国产精品日韩在线播放| 亚洲欧美激情四射在线日| 亚洲福利国产| 性久久久久久| 欧美黑人一区二区三区| 国产中文一区二区| 美女日韩欧美| 亚洲欧美影音先锋| 欧美一级在线亚洲天堂| 亚洲免费成人| 久久综合亚洲社区| 久久人91精品久久久久久不卡| 亚洲人人精品| 亚洲国产婷婷| 国产精品久久久久久久久久久久久 | 99re热这里只有精品视频| 亚洲国产mv| 国产欧美精品一区aⅴ影院| 亚洲欧洲av一区二区| av成人老司机| 99精品欧美一区| 亚洲福利视频在线| 国产一区二区三区免费观看| 亚洲欧美中文字幕| 亚洲国产精品va在看黑人| 美女黄色成人网| 亚洲网址在线| 在线性视频日韩欧美| 欧美成人中文字幕| 日韩视频在线免费观看| 亚洲激情在线| 久久精品国产91精品亚洲| 在线观看视频一区二区欧美日韩| 欧美日韩黄色大片| 欧美日韩高清区| 久久九九热免费视频| 亚洲精品日韩综合观看成人91| 激情视频一区二区| 国产精品你懂的在线| 久久综合福利| 欧美另类videos死尸| 欧美v国产在线一区二区三区| 欧美日韩美女在线观看| 欧美成人精品福利| 国产精品久久精品日日| 欧美日韩三级在线| 亚洲人成人一区二区三区| 国产欧美大片| 亚洲精品国产品国语在线app| 日韩天堂在线观看| 亚洲精品一区二区三区不| 国外成人在线视频网站| 亚洲欧洲一二三| 亚洲午夜精品久久| 一本大道久久a久久精二百| 欧美一区二区三区视频在线| 亚洲午夜精品17c| 亚洲男人的天堂在线| 久久综合色88| 亚洲毛片播放| 久久国产精品亚洲va麻豆| 每日更新成人在线视频| 老色批av在线精品| 伊人久久大香线蕉综合热线 | 免费一级欧美片在线观看| 麻豆av一区二区三区| 国产精品jizz在线观看美国| 午夜精品区一区二区三| 亚洲精品乱码久久久久久蜜桃91 | 欧美亚洲专区| 伊伊综合在线| 久久久久国产免费免费| 媚黑女一区二区| 一区二区成人精品| 久久久99爱| 新67194成人永久网站| 亚洲少妇自拍| 欧美日韩一区二区在线| 久久久亚洲精品一区二区三区| 欧美日韩在线第一页| 亚洲私拍自拍| 欧美成人精品1314www| 亚洲最新中文字幕| 久久久中精品2020中文| 国产亚洲精品aa午夜观看| 久久久久一区二区| 久久久精品国产99久久精品芒果| 久热re这里精品视频在线6| 亚洲三级免费观看| 亚洲视频在线观看三级| 国产精品五月天| 日韩一区二区免费看| 欧美激情欧美激情在线五月| 亚洲国产精品va| 国产视频亚洲精品| 欧美一区二区在线免费播放| 精品91久久久久| 久久久久www| 欧美成人精品一区| 99精品免费网| 欧美性淫爽ww久久久久无| 91久久夜色精品国产九色| 在线观看的日韩av| 久久九九精品99国产精品| 欧美在线在线| 亚洲精品国产无天堂网2021| 久久久之久亚州精品露出| 亚洲激情一区二区| 亚洲国产精品成人va在线观看| 欧美福利视频在线| 亚洲三级影院| 一区二区三区色| 亚洲一区欧美| 亚洲电影中文字幕| 亚洲永久免费av| 欧美日韩视频专区在线播放| 亚洲电影自拍| 亚洲欧美国产高清| 亚洲区一区二| 国内久久婷婷综合| 国产精品久久久久久久久动漫| 久久免费视频这里只有精品| 亚洲人成人99网站| 91久久精品日日躁夜夜躁国产| 欧美一区二区三区视频免费| 国产在线不卡精品| 久久综合中文| 亚洲欧美综合v| 麻豆av一区二区三区久久| 一区二区日韩| 影视先锋久久| 国产亚洲高清视频| 欧美精品一区在线| 欧美专区亚洲专区| 午夜精品久久久久久| 亚洲视频一二| 巨乳诱惑日韩免费av| 久久久久一本一区二区青青蜜月| 久久精品国产一区二区三| 日韩视频不卡中文| 一区二区三区国产精华| 亚洲激情女人| 亚洲图片欧美日产| 午夜一区不卡| 久久国产精品一区二区| 久久精品视频导航| 亚洲精品一区二| 亚洲影院免费| 久久综合九色综合欧美狠狠| 夜夜嗨网站十八久久| 久久久久久久久久看片| 免费视频久久| 亚洲毛片在线看| 美女网站久久| 欧美午夜不卡| 亚洲国产三级网| 西西人体一区二区| 欧美福利一区二区三区| 亚洲色图自拍| 亚洲国产精品成人| 亚洲欧美激情精品一区二区| 久久精品首页| 国产精品专区一| 国产专区精品视频| 亚洲欧美国产高清va在线播| 久久久精品国产一区二区三区 | 日韩视频在线你懂得| 亚洲影视九九影院在线观看| 日韩视频免费在线观看| 久久精品日产第一区二区三区| 美女诱惑一区| 欧美一区二区女人| 国产日韩三区| 亚洲一区二区高清| 亚洲一二区在线| 欧美性大战久久久久久久蜜臀 | 欧美成人午夜激情视频| 欧美色精品在线视频| 亚洲茄子视频| 亚洲国产成人精品女人久久久 | 亚洲人成在线观看| 久久疯狂做爰流白浆xx| 久久综合久久久| 国产一区二区三区黄| 久久免费精品日本久久中文字幕| 一本色道久久综合亚洲91| 国产精品久久久久一区二区| 亚洲欧洲日本一区二区三区| 99精品热视频| 欧美激情一区二区在线| 亚洲欧美精品| 欧美插天视频在线播放| 国产目拍亚洲精品99久久精品| 亚洲宅男天堂在线观看无病毒| 91久久精品一区二区别| 国产精品卡一卡二卡三| 亚洲精品极品|