锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
configUSE_PREEMPTION
璁劇疆涓?錛屼嬌鐢ㄦ姠鍏堝紡鍐呮牳錛涜緗負0錛屼負鍚堜綔杞漿鍐呮牳銆?
configUSE_IDLE_HOOK
璁劇疆涓?錛?浣跨敤絀洪棽閽╁瓙錛涜緗負0錛屼笉浣跨敤絀洪棽閽╁瓙,銆?
configUSE_TICK_HOOK
濡傛灉甯屾湜浣跨敤鏃墮棿鐗囬挬瀛? 灝辮緗負1錛岃緗負0錛屼笉浣跨敤
configCPU_CLOCK_HZ
鍐呴儴澶勭悊鍣ㄦ墽琛岀殑棰戠巼銆傝繖涓奸渶瑕佹紜厤緗鍥村畾鏃跺櫒銆?
configTICK_RATE_HZ
The frequency of the RTOS tick interrupt.
RTOS鏃墮棿鐗囦腑鏂殑棰戠巼銆?
鏃墮棿鐗囦腑鏂敤鏉ユ祴閲忔椂闂淬傚洜姝ゆ洿楂樻椂闂寸墖棰戠巼鎰忓懗鐫鏃墮棿嫻嬮噺鍙互鏈夋洿楂樺垎杈ㄧ巼錛屽悓鏃舵剰鍛崇潃鍐呮牳鍗犵敤鏇村鐨凜PU錛堟晥鐜囧緢浣庯級銆傛紨紺虹▼搴忛兘浣跨敤浜?000Hz鐨勬椂闂寸墖棰戠巼銆傝繖鏄負浜嗘祴璇曞唴鏍革紝閫氬父闇瑕佹洿楂樼殑棰戠巼銆?
澶氫釜浠誨姟鍏辨湁鍚屼竴浼樺厛綰с傞氳繃鍒囨崲浠誨姟錛屽湪姣忎竴涓猂TOS鏃墮棿鐗囧唴錛屽唴鏍稿皢鍦ㄥ悓涓浼樺厛綰х殑浠誨姟闂村垎閰嶅鐞嗗櫒鏃墮棿銆傞珮鏃墮棿鐗囬鐜囨剰鍛崇潃灝嗗噺灝戠粰浜堟瘡涓換鍔$殑鏃墮棿浠介銆?
configMAX_PRIORITIES
搴旂敤紼嬪簭浠誨姟涓彲鐢ㄤ紭鍏堢駭 鐨勬暟鐩?
浠諱綍鏁伴噺鐨勪換鍔★紝閮藉彲浠ュ垎閰嶅悓涓浼樺厛綰с?浠誨姟鍗曠嫭鍒嗛厤浼樺厛綰с傚弬鑰僣onfigMAX_CO_ROUTINE_PRIORITIES銆?鍐呮牳鍒嗛厤鐨勬瘡涓彲鐢ㄧ殑浼樺厛綰ч兘娑堣桼AM錛屽洜姝よ繖涓間笉搴旇璁劇疆涓洪珮浜庡疄闄呭簲鐢ㄧ▼搴忎腑闇瑕佺殑銆?
configMINIMAL_STACK_SIZE
絀洪棽浠誨姟浣跨敤鐨勫爢鏍堝ぇ灝忋傞氬父榪欎釜鍊間笉鐢ㄥ皯浜?FreeRTOSConfig.h file涓紨紺虹▼搴忔彁渚涚殑銆?
configTOTAL_HEAP_SIZE
鍐呮牳鎬誨叡鍙敤鐨凴AM鏁伴噺銆傚鏋滅▼搴忎腑鍒╃敤渚嬪瓙涓唴瀛樺垎閰嶆柟妗堬紙FreeRTOS 婧愪唬鐮佹彁渚涚殑錛夛紝榪欎釜鍊間粎浠呴傜敤榪欎簺銆傚弬鑰冨唴瀛樼鐞?閮ㄥ垎鑾峰緱鏇磋繃緇嗚妭.
configMAX_TASK_NAME_LEN
褰撳垱寤轟竴涓換鍔★紝鑳藉緇欎簣鎻忚堪浠誨姟鍚嶇О鐨勬渶澶у璁擱暱搴︺傝繖涓暱搴︽寚瀹氱鍙鋒暟鐩紝鍖呮嫭NULL緇堟瀛楄妭銆?
configUSE_TRACE_FACILITY
璁劇疆涓?錛屼嬌鐢ㄥ彲瑙嗗寲榪借釜鍔熻兘銆傝緗負0錛屽氨涓嶄嬌鐢ㄣ傚鏋滀嬌鐢ㄥ彲瑙嗗寲榪借釜錛屽繀欏繪彁渚涜拷韙紦鍐插尯銆?
configUSE_16_BIT_TICKS
鏃墮棿鐗囷紙鍐呮牳寮濮嬫墽琛屽悗錛屾椂闂寸墖涓柇鐨勬鏁幫級鏉ユ祴閲忔椂闂淬傛椂闂寸墖璁℃暟鍣ㄥ畾涔変負鍙敤鐨刾ortTickType.綾誨瀷銆?/p>
瀹氫箟configUSE_16_BIT_TICKS涓?錛屽皢浣縫ortTickType瀹氫箟涓?6浣嶆棤絎﹀彿綾誨瀷銆傚畾涔変負0錛屽皢鏄?2浣嶆棤絎﹀彿綾誨瀷銆?浣跨敤16浣嶇被鍨嬶紝灝嗕嬌鍦?6浣嶆垨8浣嶅崟鐗囨満澶у箙搴︽彁楂樻ц兘銆備絾鏄紝榪欐牱闄愬埗浜嗘渶澶ф寚瀹氬彲鐢ㄦ椂闂村懆鏈燂紙65535鏃墮棿鐗囷級銆傜劧鑰岋紝鍋囧畾鏃墮棿鐗囬鐜囦負250Hz錛屼竴涓換鍔″湪16浣嶄笂錛屾渶澶у歡鏃舵垨涓柇鏃墮棿浣?62縐掞紝鑰?2浣嶄負17179869縐掋?/p>
configIDLE_SHOULD_YIELD
榪欎釜鍙傛暟鎺у埗浠誨姟涓庣┖闂蹭換鍔′紭鍏堢駭鐩稿悓鏃剁殑琛屼負銆備粎浠呮湁浠ヤ笅褰卞搷錛?/p>
1.浣跨敤浼樺厛綰ц皟搴?
2.鐢ㄦ埛紼嬪簭鍒涘緩鐨勪換鍔★紝榪愯鍦ㄧ┖闂蹭換鍔′竴鏍風殑浼樺厛綰?
浠誨姟鍦ㄦ椂闂寸墖杞漿涓紝浣跨敤鍚屼竴浼樺厛綰с傚亣瀹氭病鏈夋洿楂樹紭鍏堢駭鐨勪換鍔★紝榪欐牱姣忎竴涓換鍔★紝鍦ㄧ┖闂蹭紭鍏堢駭涓嬶紝灝嗚鍒嗛厤鐩稿悓鏁伴噺鐨勫鐞嗘椂闂淬傚鏋滐紝浠栦滑鐨勪紭鍏堢駭楂樹簬絀洪棽浠誨姟鐨勪紭鍏堢駭錛岄偅涔堣繖縐嶆儏鍐墊洿鏄姝ゃ?褰撲換鍔″浜庣┖闂蹭紭鍏堢駭涓嬬殑琛屼負錛屼細鏈夌◢璁鎬笉鍚屻傚綋configIDLE_SHOULD_YIELD璁劇疆涓?鏃訛紝褰撳叾浠栧湪絀洪棽浼樺厛綰х殑浠誨姟鍑嗗榪愯鏃訛紝絀洪棽浠誨姟灝嗙珛鍒昏鍑篊PU銆傚綋紼嬪簭鐨勪換鍔¤皟搴﹀彲鐢ㄦ椂錛岃紜繚絀洪棽浠誨姟鑳藉鎵ц鐨勬渶灝戞椂闂翠互涓娿傝繖涓涓猴紝浜х敓浜嗕笉濂界殑褰卞搷錛堟牴鎹簲鐢ㄧ▼搴忕殑闇瑕侊級錛屽涓嬫弿榪幫細
涓婅堪鍥捐〃琛ㄦ槑錛屽洓涓湪絀洪棽浼樺厛綰х殑浠誨姟鎵ц妯″瀷銆備換鍔, B,鍜孋錛屾槸搴旂敤紼嬪簭浠誨姟銆備換鍔?I鏄┖闂蹭換鍔°備笂涓嬫枃鍒囨崲鍦═0, T1....T6瑙勫緥鐨勫懆鏈熼棿鍙戠敓銆傚綋絀洪棽浠誨姟鎵ц鏃訛紝浠誨姟A鍑嗗鎵ц錛屼絾鏄┖闂蹭換鍔″凡緇忓崰鍘諱簡褰撳墠鏃墮棿鐗囩殑閮ㄥ垎鏃墮棿銆傜粨鏋滄槸錛屼換鍔 鍜屼換鍔鍏卞悓鍒嗕韓涓涓椂闂寸墖銆備換鍔 鍜屼換鍔姣斾換鍔鑾峰緱鏇村鐨勬墽琛屾椂闂淬?
榪欎簺鍙互閫氳繃濡備笅閬垮厤錛?
1.濡傛灉鍚堥傦紝鍙互浣跨敤絀洪棽閽╁瓙浠f浛鍦ㄧ┖闂蹭紭鍏堢駭鐨勫垎寮浠誨姟銆傚垱寤虹▼搴忎換鍔$殑浼樺厛綰ч珮浜庣┖闂蹭紭鍏堢駭銆?
2.璁劇疆configIDLE_SHOULD_YIELD涓?
璁劇疆configIDLE_SHOULD_YIELD涓?錛屽皢闃繪絀洪棽浠誨姟璁╁嚭鎵ц鏃墮棿鐩村埌瀹冪殑鏃墮棿鐗囩敤瀹屻傝繖灝辯‘淇濅簡鎵鏈夊湪絀洪棽浼樺厛綰х殑浠誨姟鍒嗛厤浜嗙浉鍚屾暟閲忕殑鎵ц鏃墮棿銆傝繖鏄互鍒嗛厤緇欑┖闂蹭換鍔℃洿楂樻瘮渚嬬殑鎵ц鏃墮棿涓轟唬浠楓?/p>
configUSE_MUTEXES
璁劇疆涓?錛屽皢浣跨敤浜掓枼鍔熻兘錛涜緗負0錛屽皢涓嶄嬌鐢ㄣ傝鑰呭簲璇ユ槑鐧紽reeRTOS.org 鍔熻兘涓簰鏂ュ瀷鍜屼簩榪涘埗鍨嬩俊鍙烽噺涔嬮棿鐨勪笉鍚屻?
configUSE_RECURSIVE_MUTEXES
璁劇疆涓?錛屽皢浣跨敤閫掑綊浜掓枼鍔熻兘錛涜緗負0錛屽皢涓嶄嬌鐢ㄣ?
configUSE_COUNTING_SEMAPHORES
璁劇疆涓?錛屽皢浣跨敤璁℃暟鍣ㄥ瀷淇″彿閲忓姛鑳斤紱璁劇疆涓?錛屽皢涓嶄嬌鐢ㄣ?
configUSE_ALTERNATIVE_API
璁劇疆涓?錛屽皢鍖呭惈鏇夸唬闃熷垪鍑芥暟錛涜緗負0錛屽皢涓嶅寘鍚傛浛浠PI鍦╭ueue.h澶存枃浠朵腑鏈夎緇嗙殑鎻忚堪銆?
configCHECK_FOR_STACK_OVERFLOW
The 鍫嗘爤婧㈠嚭媯嫻?榪欓〉涓湁璇︾粏鐨勭粏鑺傛弿榪般?
configQUEUE_REGISTRY_SIZE
闃熷垪璁板綍鏈変袱涓姛鑳斤紝閮借繖娑夊強鍒板唴鏍哥浉鍏崇殑璋冭瘯錛?/p>
1.鍏佽涓涓槦鍒楃浉鍏崇殑鍚嶇О錛屽彲浠ュ湪GUI璋冭瘯涓鏄撳畾涔夈?
2.鍖呭惈浜嗚皟璇曞櫒鎵闇鐨勪俊鎭紝鏉ュ畾浣嶆瘡涓褰曠殑闃熷垪鍜屼俊鍙烽噺銆?
闃熷垪璁板綍闄や簡榪涜鍐呮牳鐩稿叧鐨勮皟璇曞錛屾病鏈変粈涔堢洰鐨勩?configQUEUE_REGISTRY_SIZE瀹氫箟浜嗗彲浠ヨ褰曠殑闃熷垪鍜屼俊鍙烽噺鐨勬渶澶ф暟鐩傝繖浜涗粎鑳藉鍦ㄤ嬌鐢ㄥ唴鏍哥浉鍏寵皟璇曟椂闇瑕佽褰曠殑銆傛煡鐪婣PI涓璿QueueAddToRegistry() 鍜?vQueueUnregisterQueue()鍙傝冩枃妗o紝鑾峰緱鏇村淇℃伅銆?/p>
configUSE_CO_ROUTINES
璁劇疆涓?錛屽皢浣跨敤錛堝崗鍚屼緥紼嬶級鍚堜綔杞漿寮忕▼搴忥紱璁劇疆涓?錛屽皢涓嶄嬌鐢ㄣ傚綋浣跨敤鏃訛紝蹇呴』鎶奀routine.c鍖呭惈榪涘幓欏圭洰涓?
configMAX_CO_ROUTINE_PRIORITIES
鍚堜綔寮忓簲鐢ㄧ▼搴忎腑鍙敤鐨勪紭鍏堢駭鏁扮洰銆?浠諱綍鍚堜綔寮忕▼搴忓彲浣跨敤鍚屼竴浼樺厛綰с備換鍔″垎鍒緗紭鍏堢駭鈥斺斿弬鑰僣onfigMAX_CO_ROUTINE_PRIORITIES.
Cortex M3 浣跨敤鐫璇鋒敞鎰忛儴鍒嗙粨灝劇壒鍒鏄庣殑鍦版柟銆?
configKERNEL_INTERRUPT_PRIORITY搴旇璁劇疆涓烘渶浣庝紭鍏堢駭銆?
娉ㄦ剰濡備笅璁ㄨ涓紝浠?FromISR" 緇撳熬鐨凙PI鍑芥暟浠呰兘澶熷湪涓柇鏈嶅姟鍑芥暟涓皟鐢ㄣ?
閭d簺浠呬粎璁劇疆configKERNEL_INTERRUPT_PRIORITY鐨勬帴鍙?
鍐呮牳鏈韓涓?configKERNEL_INTERRUPT_PRIORITY璁劇疆浼樺厛綰с傝皟鐢ˋPI鍑芥暟鐨勪腑鏂紝涔熷繀欏諱互榪欎釜浼樺厛綰ф墽琛屻傛病鏈夎皟鐢ˋPI鍑芥暟鐨勪腑鏂紝鍙互鏈夋洿楂樼殑浼樺厛綰э紝鍥犳鍐呮牳璋冨姩錛屼粬浠墽琛屼粠涓嶅歡鏃訛紙鍦ㄤ粬浠‖浠墮檺鍒剁殑鑼冨洿鍐咃級銆?閭d簺鍦ㄨ繖涓ょ鎯呭喌涓嬶細
configKERNEL_INTERRUPT_PRIORITY and configMAX_SYSCALL_INTERRUPT_PRIORITY鎵ц鐨勬帴鍙c?
鍐呮牳鏈韓涓篶onfigKERNEL_INTERRUPT_PRIORITY璁劇疆浼樺厛綰с傚彲浠ヨ緗甤onfigMAX_SYSCALL_INTERRUPT_PRIORITY涓轟粠璋冪敤FreeRTOS.org API 鍑芥暟鐨勪腑鏂緗洿楂樼殑浼樺厛綰с?
鍙互璁劇疆configMAX_SYSCALL_INTERRUPT_PRIORITY楂樹簬 錛堜竴涓緢楂樹紭鍏堢駭鐨勬按騫籌級configKERNEL_INTERRUPT_PRIORITY鏉ヨ幏寰?涓柇鍏ㄥ祵濂楁ā寮忋傛病鏈夎皟鐢ˋPI鍑芥暟鐨勪腑鏂彲浠ュ湪楂樹簬configMAX_SYSCALL_INTERRUPT_PRIORITY 浼樺厛綰т笅鎵ц錛屽洜姝ゆ槸涓嶄細琚唴鏍告墽琛屽歡鏃躲備緥濡傦紝鍋囧畾涓涓井鎺у埗鍣紝涓?綰т腑鏂紭鍏堢駭姘村鉤鈥斺?鏄渶浣庝紭鍏堢駭錛?涓烘渶楂橈紙鍙傝僀ortex M3鐢ㄦ埛鍦ㄨ繖閮ㄥ垎鐨勭粨灝劇壒鍒敞鎰忕殑鍦版柟錛夈傚涓嬪浘鐗囷紝鎻忚堪浜嗗湪姣忎竴涓紭鍏堢駭涓嬩粈涔堝彲浠ュ拰浠涔堜笉鍙互錛屼袱涓父閲忚璁劇疆涓?鍜?銆?
涓柇浼樺厛綰ч厤緗緥瀛?
榪欎簺鍙傛暟閰嶇疆鍏佽寰堢伒媧葷殑涓柇澶勭悊錛?
•涓柇澶勭悊鐨勪換鍔★紝鍍忕郴緇熼噷鍏朵粬浠誨姟涓鏍鳳紝涔﹀啓鍜屽垎閰嶄紭鍏堢駭銆傝繖浜涗換鍔¢兘鏄涓涓腑鏂縺媧匯侷SR鏈韓緙栧啓鐨勫簲璇ュ敖鍙兘鐨勭煭灝忊斺斾粎浠呬負浜嗗敜閱掓洿楂樹紭鍏堢駭鐨勪換鍔¤屽崰鐢≧AM銆侷SR榪斿洖錛岀洿鎺ヨ繘鍏ヨ鍞ら啋鐨勪換鍔♀斺斿洜姝や腑鏂鐞嗘槸鍙婃椂鐨勫ソ鍍忔墍鏈夋槸涓柇鏈韓鍋氱殑涓鏍楓傝繖鏍風殑濂藉鏄細鎵ц澶勭悊鐨勪換鍔℃椂錛屾墍鏈夌殑涓柇閮藉厑璁搞?
鎵ц configMAX_SYSCALL_INTERRUPT_PRIORITY鐨勬帴鍙f彁渚涙洿澶氣斺斿湪鍐呮牳涓柇鍜宑onfigMAX_SYSCALL_INTERRUPT_PRIORITY 涔嬮棿鍏佽鍏ㄥ祵濂楁ā寮忓祵濂楀拰紼嬪簭璋冪敤API鍑芥暟銆備腑鏂紭鍏堢駭鍦╟onfigMAX_SYSCALL_INTERRUPT_PRIORITY鎵ц浠庝笉寤舵椂銆?
•榪愯鍦ㄩ珮浜庣郴緇熻皟鐢ㄦ渶澶т紭鍏堢駭鐨処SR錛屼粠涓嶄細琚唴鏍告湰韜睆钄斤紝鎵浠ヤ粬浠殑鍝嶅簲鎬т笉琚唴鏍稿姛鑳芥墍褰卞搷銆傚浜庨偅浜涢渶瑕佺灛闂撮珮綺懼害鐨勪腑鏂潵璇存槸涓ソ鏂規(guī)硶鈥斺斾緥濡傦細鎵ц鍙戝姩鏈烘崲鍚戠殑涓柇銆傜劧鑰岋紝榪欐牱鐨処SR涓嶈兘澶熶嬌鐢‵reeRTOS.org API鍑芥暟
涓轟簡鍒╃敤榪欎釜鏂規(guī)錛屽簲鐢ㄧ▼搴忓繀欏婚伒瀹堝涓嬪師鍒欙細浠諱綍浣跨敤FreeRTOS.org API鐨勪腑鏂繀欏昏緗負鍚屼竴浼樺厛綰э紝鍍忓唴鏍革紙configKERNEL_INTERRUPT_PRIORITY閰嶇疆鐨勪竴鏍鳳級錛屾垨鑰呭浜庢垨浣庝簬configMAX_SYSCALL_INTERRUPT_PRIORITY錛堜負浜嗘帴鍙e寘鍚簡榪欎釜鍔熻兘錛夈?
Cortex M3 鐢ㄥ拰鐗瑰埆瑕佹敞鎰忕殑鍦版柟錛?璁頒綇,Cortex M3 鏍稿績鏁板間笂浣跨敤浣庝紭鍏堢駭鏉ヤ唬鏇塊珮浼樺厛綰х殑涓柇錛堣繖鏍風湅璧鋒潵鍙嶅父瑙勫拰瀹規(guī)槗蹇樿錛夈傚鏋滃笇鏈涘垎閰嶅涓柇涓涓綆浼樺厛綰э紝涓嶈鍒嗛厤涓?浼樺厛綰э紙鎴栧叾浠栦綆鏁板鹼級錛屽洜涓鴻繖鏍峰疄闄呬笂鍦ㄧ郴緇熶腑榪欎釜涓柇涓烘渶楂樹紭鍏堢駭鈥斺斿鏋滆緗紭鍏堢駭鍦╟onfigMAX_SYSCALL_INTERRUPT_PRIORITY鍙兘浣跨郴緇熷穿婧冦?鍦–ortex M3鏍稿績 鏈浣庝紭鍏堢駭瀹為檯涓婃槸255鈥斺旂劧鑰屼笉鍚屼簬 Cortex M3 鍗栦富璇存槑鐨勪笉鍚屾暟鐩殑浼樺厛綰т綅鍜屾敮鎸佸簱鍑芥暟錛堟湡寰呬紭鍏堢駭浣跨敤涓嶅悓鏂規(guī)硶鎸囧畾錛夈備緥濡傚湪STM32 錛屽湪ST椹卞姩搴撲腑鑳藉鎸囧畾鐨勬渶浣庝紭鍏堢駭鏄?5鈥斺旀渶楂樹紭鍏堢駭鍙互鎸囧畾涓?銆俢onfigKERNEL_INTERRUPT_PRIORITY and configMAX_SYSCALL_INTERRUPT_PRIORITY
configKERNEL_INTERRUPT_PRIORITY涓鑸傜敤浜嶤ortex-M3, PIC24, dsPIC and PIC32 鎺ュ彛銆?configMAX_SYSCALL_INTERRUPT_PRIORITY涓鑸琍IC32鍜孋ortex M3 鎺ュ彛涓彲鐢ㄣ傚叾浠栨帴鍙e皢寰堝揩鏇存柊銆?