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

隨筆-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>
            亚洲精品一区二区三区婷婷月 | 亚洲破处大片| 亚洲伦理精品| 久久久久久久精| 亚洲大片一区二区三区| 欧美日韩在线播放| 亚洲综合电影| 亚洲美女诱惑| 先锋影音久久| 国产精品久久久久秋霞鲁丝 | 午夜精品久久久久久久99水蜜桃| 麻豆国产精品777777在线| 欧美大片网址| 快she精品国产999| 亚洲国产高清自拍| 久久免费视频网站| 欧美伦理视频网站| 国产精品免费一区二区三区在线观看| 一区二区三区成人精品| 91久久精品美女高潮| 欧美黄网免费在线观看| 久久精品一区四区| 久久久精品国产99久久精品芒果| 国产精品99久久久久久久vr| 99国产精品自拍| 黄色一区二区在线| 精品99一区二区| 亚洲欧洲av一区二区三区久久| 艳妇臀荡乳欲伦亚洲一区| 久久久精品国产一区二区三区 | 国产精品久久国产三级国电话系列| 国产视频一区在线观看一区免费| 亚洲深爱激情| 亚洲人成7777| 欧美14一18处毛片| 在线视频亚洲| 欧美一级久久久久久久大片| 亚洲午夜精品一区二区三区他趣| 欧美日韩精品三区| 亚洲国产美国国产综合一区二区| 亚洲一级网站| 久久狠狠一本精品综合网| 欧美激情精品久久久久久黑人| 欧美在线播放一区| 久久国产欧美精品| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美日韩一区综合| 一区二区三区高清不卡| 中国成人亚色综合网站| 黄色精品一区| 免费成人性网站| 久久精品久久99精品久久| 欧美日韩国语| 在线一区亚洲| 欧美伦理视频网站| 国产精品久久久久久久午夜| 欧美高清不卡在线| 久久久国产一区二区三区| 亚洲欧美怡红院| 亚洲福利视频在线| 亚洲综合电影一区二区三区| 香蕉成人久久| 久久国产加勒比精品无码| 亚洲高清视频一区二区| 亚洲国产乱码最新视频| 国产啪精品视频| 久久精品亚洲精品| 久久久久久久久蜜桃| 在线亚洲一区二区| 国产精品亚洲一区二区三区在线| 影音先锋日韩有码| 久久婷婷国产综合精品青草| 国产精品专区一| 亚洲欧美日韩精品久久亚洲区 | 国产人久久人人人人爽| 99国产精品一区| 亚洲黄色三级| 99精品欧美| 国产日韩欧美a| 久久久久久久久久码影片| 国产亚洲制服色| 久久国产毛片| 亚洲主播在线| 老鸭窝91久久精品色噜噜导演| 欧美激情中文字幕在线| 这里只有精品丝袜| 国产一区二区三区直播精品电影| 亚洲欧洲日本专区| 欧美一区二区三区播放老司机| 亚洲第一页自拍| 中文网丁香综合网| 99国产精品久久久久久久久久| 国产一区二区三区久久久| 久久久噜噜噜久久人人看| 亚洲婷婷综合久久一本伊一区| 亚洲直播在线一区| 亚洲国产乱码最新视频| 欧美激情在线| 欧美激情免费观看| 国产一区二区三区在线播放免费观看| 欧美成人一区二区在线| 蜜桃久久av一区| 亚洲一区在线观看视频 | 欧美日韩免费观看一区二区三区 | 欧美高清你懂得| 欧美日韩精品综合在线| 国产精品海角社区在线观看| 国产午夜精品一区理论片飘花 | 久久国产精品72免费观看| 午夜日韩av| 免费久久久一本精品久久区| 中文久久精品| 亚洲欧美制服另类日韩| 亚洲欧美电影院| 榴莲视频成人在线观看| 亚洲精品国产精品国自产在线 | 久久精品99久久香蕉国产色戒| 欧美日韩亚洲天堂| 国产视频一区在线| 亚洲四色影视在线观看| 中日韩高清电影网| 中文高清一区| 亚洲影音先锋| 欧美一区永久视频免费观看| 欧美一区二区免费观在线| 久久久精品日韩| 亚洲欧美日韩在线一区| 国产精品男gay被猛男狂揉视频| 亚洲巨乳在线| 欧美 日韩 国产精品免费观看| 亚洲视频第一页| 性做久久久久久免费观看欧美| 欧美大片免费看| 欧美**人妖| 宅男噜噜噜66国产日韩在线观看| 亚洲精品在线观看免费| 久久精品伊人| 欧美性色aⅴ视频一区日韩精品| 最新热久久免费视频| 最新中文字幕一区二区三区| 欧美激情网友自拍| 国产精品theporn| 国内精品久久国产| 99re在线精品| 午夜日韩激情| 亚洲一级高清| 一区二区三区国产在线观看| 一区二区激情| 亚洲欧洲日韩综合二区| 亚洲三级免费| 激情综合色丁香一区二区| 国产精品网站在线| 国产一区二区毛片| 99re亚洲国产精品| 欧美在线观看天堂一区二区三区| 亚洲精品欧美| 欧美理论电影在线播放| 狠狠噜噜久久| 欧美国产综合视频| 久久免费国产| 亚洲欧美成aⅴ人在线观看| 麻豆精品视频| 欧美日韩在线高清| 亚洲神马久久| 欧美色另类天堂2015| 亚洲专区在线| 亚洲一区二区少妇| 韩国自拍一区| 麻豆国产精品777777在线| 欧美激情第二页| 久久亚洲美女| 欧美激情精品久久久久久| 亚洲精品久久久蜜桃| 国产欧美在线观看| 免费欧美在线| 海角社区69精品视频| 久久精品成人| 亚洲精品美女久久7777777| 亚洲精品国产精品久久清纯直播| 久久国产精品亚洲va麻豆| 国产真实乱偷精品视频免| 欧美成年人视频网站| 久久色在线观看| 国产午夜精品一区二区三区欧美 | 亚洲精一区二区三区| 亚洲专区免费| 亚洲国产欧美一区二区三区久久| 午夜在线播放视频欧美| 亚洲国产精品毛片| 国产精品有限公司| av成人免费在线| 日韩午夜剧场| 亚洲欧洲日本国产| 欧美揉bbbbb揉bbbbb| 欧美高清在线一区| 久久久亚洲精品一区二区三区| 亚洲精品少妇30p| 亚洲视频在线观看三级| 国产一区视频在线观看免费| 欧美日韩国产区|