diff --git a/ChangeLog_CN.md b/ChangeLog_CN.md index e899a685f0..27c7ded0d2 100644 --- a/ChangeLog_CN.md +++ b/ChangeLog_CN.md @@ -1,462 +1,675 @@ -版本: RT-Thread 2.0.0 Alpha -发布时间:2014/4/8 +鐗堟湰: RT-Thread 2.0.0 RC + +鍙戝竷鏃堕棿:2014/11/4 + +闅忕潃RT-Thread鍔熻兘瓒婃潵瓒婂锛屽浣曞彂甯冪増鏈篃鎴愪负涓浠跺ご鐤肩殑浜嬫儏锛屽洜涓洪渶瑕佷粩缁嗗姣旀渶杩戜笁涓湀鏉ョ殑淇敼璁板綍銆傝繖娆$殑鍙戝竷璺濈涓婁竴娆eta鐗堟湰渚濈劧鏄笁涓湀鐨勬椂闂达紝浣嗘寜鐓у彂甯冭鍒掑凡鐒舵帹杩熶簡涓涓湀杩涜鍙戝竷銆 + +鍦ㄨ繖涓変釜鏈堜腑锛屽紑婧愮ぞ鍖轰笂涔熷彂鐢熶簡寰堝鏈夎叮鐨勪簨鎯咃細 + +闃垮槈鐨勪娇鐢≧T-Thread鐨勫洓杞撮琛屽櫒姣曚笟璁捐鎯婅壋浜浉锛岄噰鐢ㄤ簡1涓猄TM32F4 + 8涓猄TM32F1杩涜椋炶鎺у埗锛屾昏9涓狹CU鐨勫彟绫诲疄鐜版柟寮忥紱娌垮惊鍥涜酱椋炶鍣ㄧ殑璺嚎锛屼笌鍥藉唴鍖垮悕鍥㈤槦鍚堜綔锛岄噰鐢≧W009 Wi-Fi鎺у埗鐨勮糠浣犲洓杞撮琛屽櫒涔熷湪绋虫鎺ㄨ繘杩囩▼涓 + +RT-Thread鍋氫负涓涓紑婧愮粍缁囧弬涓庣殑CSDN寮婧愬浠よ惀缁撳嚭浜嗕赴纭曠殑鏋滃疄锛 +鐢県duffddybz鍙備笌鐨処Pv6鍗忚鏍堢Щ妞嶏紙鏈鏂扮増鏈殑lwIP-head鐗堟湰绉绘锛夊湪杩欐鍙戝竷涓凡缁忓寘鎷繘鏉ワ紝浠庤岃兘澶熷湪浣跨敤RT-Thread鐨勫皬鍨嬭澶囦笂瀹炵幇TCP/IP v4/v6鍙屾爤鐨勬敮鎸侊紱 +鐢眞zyy2鍙備笌鐨凣DB stub瀹炵幇锛屼篃瀹岀編鐨勬敮鎸丅eagleBoneBlack寮鍙戞澘鍜孲TM32F4骞冲彴锛 +CSDN寮婧愬浠よ惀鍏朵粬鐨勬垚鏋滐紝渚嬪bluedroid绉绘涔熸湁浜嗗垵姝ョ殑鎴愭灉锛屽笇鏈涜兘澶熷湪鍚庣画鐨勭増鏈紙鍙兘浼氭槸2.1.0绯诲垪鐗堟湰锛燂級鍖呭惈杩涙潵銆侰SDN寮婧愬浠よ惀鏄竴娆¢潪甯告鐨勬椿鍔紝鑳藉璁╁鐢熸彁鍓嶈繘鍏ュ疄鎴橈紝浜嗚В杞欢寮鍙戠殑鍒濇鐭ヨ瘑銆傚寮婧愮ぞ鍖烘潵璇达紝涔熸槸涓娆¢潪甯告湁鐩婄殑绀惧尯浜掑姩娲诲姩銆傚笇鏈涙槑骞磋繖涓椿鍔ㄥ彲浠ョ户缁紝鍏虫敞RT-Thread銆佸祵鍏ュ紡寮鍙戠殑鍚屽鍙互鍏虫敞鏄庡勾鐨勫姩鍚戙 + +褰撳墠鏅鸿兘鍖栬澶囨槸涓涓鍙楀叧娉ㄧ殑棰嗗煙锛岄拡瀵硅繖涓棰嗗煙鐨勭壒鐐癸紝RT-Thread涔熺浉搴旂殑鍋氬嚭浜嗙Н鏋佺殑鍝嶅簲锛屾墍浠ヨ繖涓増鏈紑濮嬪姞鍏ensor鐨勫簲鐢ㄦ鏋讹紙APP/绠楁硶 <--> sensor framework <--> RT-Thread device driver <--> 纭欢澶栬锛夈傚笇鏈涘湪灏忓瀷鍖栫殑RT-Thread鎿嶄綔绯荤粺鍩虹涓婅瀺鍚堟櫤鑳藉寲鐩稿叧鐨勬妧鏈紝璁㏑T-Thread鎴愪负杩欐柟闈㈠彲閫夌殑OS绯荤粺涔嬩竴銆俁T-Thread鎿嶄綔绯荤粺鐨剆ensor妗嗘灦涔熷皾璇曟柊鐨勫疄鐜版柟寮忥紝鍗抽噰鐢–++鐨勬柟寮忔潵瀹炵幇锛堝綋鐒朵篃浼氳冭檻C鏂归潰鐨勫吋瀹癸紝鏃犵枒C++鐨勯潰鍚戝璞$壒鎬т細鏇村ソ锛屾墍浠ユ渶缁堥夋嫨浜咰++锛夛紝鍦ㄨ繖涓熀纭涓婁篃鍙兘铻嶅悎鍏朵粬鐨勪竴浜涚敓鎬佹妧鏈紝渚嬪ARM mbed骞冲彴涓婄殑涓浜涚ぞ鍖虹粍浠舵妧鏈傛墍浠ヨ繖涓彂甯冪増鏈腑鏃㈠寘鎷瑂ensor妗嗘灦锛屼篃鍖呮嫭浜咰++搴曞眰鐨勪竴浜涘熀纭鏀拺銆 + +杩欎釜鐗堟湰鏄疪T-Thread 2.0.0绯诲垪姝e紡鐗堟湰鐨勫欓夌増鏈紝姝e紡鐗堟湰棰勮浼氬湪骞村簳姝e紡鍙戝竷锛岃窛绂绘寮忕増鏈繕浼氬姞鍏ユ洿瀹屽杽鐨勪竴浜涙敮鎾戯紙渚嬪鍚勭浼犳劅鍣ㄩ┍鍔級銆備篃璁″垝2014骞11鏈22鏃ワ紝鍦ㄤ笂娴锋郸涓滀妇琛孯T-Thread宓屽叆寮忕郴缁熸矙榫欐椿鍔紝娆㈣繋澶у鍏虫敞骞跺弬涓庤繘琛孯T-Thread鏂规柟闈㈤潰鐨勬妧鏈氦娴併 + +浠ヤ笅鏄繖涓増鏈殑鏇存敼璁板綍: + + [鍐呮牳] + +* 淇褰撻噰鐢ㄩ珮绾у埆浼樺寲缂栬瘧鏃讹紝idle浠诲姟涓煡璇㈡槸鍚︽湁鍍靛案绾跨▼鐨勬綔鍦╞ug锛 + +* 淇memory pool涓殑绔炰簤闂锛 + +* 鍦╟onsole涓墦寮璁惧鏃讹紝鍔犲叆娴佹爣蹇楄繘琛屾墦寮锛 + + [缁勪欢] + +* 鍔犲叆C++鍩虹鏀拺缁勪欢銆侰++缁勪欢渚濊禆浜嶳T_USING_LIBC搴擄紝褰撲娇鐢℅CC缂栬瘧鍣ㄦ椂璇锋敞鎰忔煡鐪嬪叾涓殑璇存槑鏂囨。骞舵洿鏀筶d script锛 + +* 淇DFS涓璑FS鎵撳紑鐩綍鐨刡ug锛 + +* 鏇存敼DFS ROMFS榛樿romfs_root涓哄急鍖栫鍙凤紱 + +* 娣诲姞DFS涓璬fs_file_lseek鎺ュ彛涓叧浜巉s鐨勬鏌ワ紱 + +* 绉婚櫎I2C core涓棤鐢ㄧ殑core lock閿侊紱 + +* 娣诲姞sensor framework锛堥噰鐢–++鐨勬柟寮忔敮鎸佸悇绉峴ensor锛夛紱 + +* 淇serial妗嗘灦涓璂MA鍙戦佺殑bug锛坔eyuanjie87锛夛紱 + +* 绉婚櫎SPI妗嗘灦涓笉蹇呰鐨刣evice鍒濆鍖栦唬鐮侊紱 + +* 瀹屽杽SPI Wi-Fi缃戝崱RW009椹卞姩骞舵彁渚汻SSI鐩稿叧鐨勫懡浠わ紱 + +* 淇MSH涓湭瀹氫箟DFS_USING_WORKDIR鏃舵洿鏀瑰綋鍓嶇洰褰曠殑bug锛 + +* 淇MSH涓湭瀹氫箟RT_LWIP_TCP鏃朵緷鐒跺畾涔変簡netstat鍛戒护鐨刡ug锛 + +* 淇MSH涓湭瀹氫箟RT_USING_HEAP鏃朵緷鐒跺畾涔変簡free鍛戒护鐨刡ug锛 + +* 淇finsh涓璅INSH_USING_HISTORY鐩稿叧鐨勮鍓紱 + +* 鍔犲叆gdb stub缁勪欢锛屽綋鍓嶆敮鎸丄RM Cortex-A8鍜孋ortex-M3/4锛坵zyy2锛夛紱 + +* 缁熶竴涓嶅悓缂栬瘧鍣ㄤ笅浣跨敤LIBC鐨勫畯涓篟T_USING_LIBC锛屽師鏈夌殑瀹忓畾涔塕T_USING_NEWLIB/RT_USING_ARM_LIBC闇瑕佷粠rtconfig.h涓Щ闄わ紝骞舵浛鎹㈡垚RT_USING_LIBC锛 + +* 鍔犲叆鏈鏂扮殑lwIP鍒嗘敮锛歭wip-head锛屼互鎻愪緵IPv4/v6鍙屾爤鐨勫姛鑳斤紙hduffddybz锛夛紱 + +* YMode涓墦寮涓插彛璁惧鏃讹紝娣诲姞open flag锛坅rmink锛夛紱 + + [bsp] + +* 鍔犲叆鍖椾含浜井闆呮牸鐨凪7锛堝崕灞憋級浣庡姛鑰桭PGA鐨凙RM Cortex-M3绉绘锛坅ozima锛夛紱 + +* 鍔犲叆鍖椾含浜井闆呮牸鐨凪7 EMAC浠ュお缃戦┍鍔紙aozima锛夛紱 + +* AT91SAM9260鍒嗘敮涓洿鏀筊T_USING_NEWLIB涓篟T_USING_LIBC锛 + +* BeagleBoneBlack鍒嗘敮涓姞鍏db stub鏀寔锛坵zyy2锛夛紱 + +* LPC176x鍒嗘敮涓姞鍏++鏀寔锛 + +* LPC176x鍒嗘敮涓慨姝D鍗¢┍鍔ㄨ繑鍥炲崱淇℃伅鐨刡ug锛 + +* 淇LPC408x鍒嗘敮涓璆CC缂栬瘧鏃剁殑闂锛 + +* LPC408x鍒嗘敮涓姞鍏++鏀寔锛 + +* 榫欒姱1B鍒嗘敮涓姞鍏ART3椹卞姩锛 + +* 鍔犲叆椋炵储鍗婂浣撶殑MB9BF568 FM4鍒嗘敮绉绘锛坹angfasheng锛夛紱 + +* mini2440鍒嗘敮涓洿鏀筊T_USING_NEWLIB涓 RT_USING_LIBC锛 + +* stm32f0x鍒嗘敮涓Щ闄や笉鍚岀紪璇戝櫒涓嬬殑LIBC瀹氫箟锛岀粺涓鏇存敼涓篟T_USING_LIBC锛 + +* stm32f0x鍒嗘敮涓姞鍏ヤ覆鍙f帴鏀舵孩鍑轰腑鏂鐞嗭紙armink锛夛紱 + +* stm32f40x鍒嗘敮涓姞鍏db stub鏀寔骞舵坊鍔燯ART6椹卞姩锛坵zzy2锛夛紱 + +* zynq7000鍒嗘敮涓洿鏀筊T_USING_NEWLIB涓篟T_USING_LIBC锛 + +* 鍔犲叆ARM Cortex-M4鑺墖鎸囦护绾х殑ffs瀹炵幇锛 + +* 淇MB0BF618S鍒嗘敮涓己灏憈imer鍒濆鍖栫殑bug锛坢ike mao锛夛紱 + + [宸ュ叿] + +* 绉婚櫎Python 2.6涓湭鏀寔鐨勮娉曪紙xfguo锛夛紱 + +* 绉婚櫎Windows骞冲彴涓殑startupinfo淇℃伅锛堝Python鐗堟湰鍏煎鎬ф洿濂斤級锛 + +* 淇CPPPATH琚墦涔辩殑bug锛 + +//---------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------- + +鐗堟湰: RT-Thread 2.0.0 Beta + +鍙戝竷鏃堕棿:2014/8/1 + +v2.0.0杩欎釜鐗堟湰绯诲垪鏄疪T-Thread褰撳墠鐨勫紑鍙戝垎鏀紝濡傛灉瑕佷笂鏂伴」鐩紝寤鸿浣跨敤杩欎釜鐗堟湰鏉ヨ繘琛岋紝棰勮杩欎釜鐗堟湰鐨勬寮忕増浼氬湪骞村簳鍙戝竷銆傛杩庡杩欎釜鐗堟湰杩涜娴嬭瘯銆佸苟鍙嶉闂锛岃兘澶熸棭鏃ヨ繘鍏ュ埌绋冲畾鐗堛 + +v2.0.0鐗堟湰鐨勫紑鍙戠浉瀵规椿璺冧簺锛屽紑婧愮ぞ鍖烘彁渚涗簡寮烘湁鍔涚殑鏀寔锛氬Arda璐$尞鐨凾M4C129x绉绘锛孯omeo璐$尞鐨刦rdm-k64f绉绘锛寈iaonong鐨凩PC4300绉绘绛夛紝浠ュ強鐫胯禌寰锋湇鍔″叕鍙告崘璧犵殑Zynq7000绉绘锛孧B9BF618S绉绘锛屼互鍙奡PI WiFi缃戝崱鐨勯┍鍔ㄤ唬鐮佺瓑銆 + +鏇存敼璁板綍 + +[鍐呮牳] + +* 绉婚櫎rt_device_init_all()鍑芥暟锛氬湪绯荤粺鍚姩鏃朵笉闇瑕佸啀璋冪敤杩欎釜鍑芥暟鏉ュ垵濮嬪寲椹卞姩锛岃屾槸鐢变笂灞傚簲鐢ㄦ墽琛宺t_device_open鏃惰嚜鍔ㄨ繘琛岃澶囧垵濮嬪寲锛 +* 淇璁惧瀵硅薄寮曠敤璁℃暟鍦ㄦ墦寮璁惧澶辫触渚濈劧閫掑鐨勯棶棰橈紱 +* 澧炲姞WEAK瀹忕敤浜庡畾涔/澹版槑寮辩鍙凤紱 +* 鍦ㄦ墽琛岄潤鎬佸唴瀛樺潡鍒嗛厤鍓嶏紝閲嶇疆绾跨▼鐨別rrno锛 +* 淇timer鏈墦寮璋冭瘯閫夐」鏃讹紝鏃犵敤鐨勯潤鎬佸嚱鏁板畾涔夛紙瀵艰嚧缂栬瘧璀﹀憡锛夛紱 +* 鍚姩timer鍓嶏紝瀵箃imer杩涜寮哄埗绉婚櫎锛 +* 鍦ㄦ墽琛宻oft timer瓒呮椂鍑芥暟鏃讹紝鎵撳紑璋冨害鍣ㄩ攣锛 +* 鏂板鍧楄澶囩殑鑷姩鍒锋柊鍙傛暟锛孯T_DEVICE_CTRL_BLK_AUTOREFRESH锛 + +[宸ュ叿] + +* 淇scons鍛戒护缂栬瘧鏃讹紝閫夋嫨keil mdk (armcc)缂栬瘧鍣ㄦ椂锛屽懡浠よ澶暱缂栬瘧澶辫触鐨勯棶棰橈紱 + +[绉绘] + +* 绉婚櫎rt_device_init_all()鐩稿叧鐨勮皟鐢紱 +* 鏍规嵁涓插彛妗嗘灦璋冩暣鐩稿叧鐨勯┍鍔ㄤ唬鐮侊紱 +* 鏂板frdm-k64f绉绘锛團reeScale K64鑺墖锛夛紱 +* 绉婚櫎K60Fxxxx绉绘锛 +* 鏂板LPC43xx绉绘锛圢XP LPC4357鑺墖锛夛紱 +* 绉婚櫎LPC176x涓殑缁勪欢鍒濆鍖栭厤缃紱 +* 淇榫欒姱1B绉绘锛坙s1bdev锛変腑閾炬帴鑴氭湰鍏充簬缁勪欢鍒濆鍖栭儴鍒嗙殑閰嶇疆锛 +* 淇STM32F40x涓璘ART3鐨勯厤缃紱 +* 淇STM32F40x涓璆NU GCC杩炴帴鑴氭湰涓璕OM/RAM澶у皬鐨勯厤缃紱 +* 绉婚櫎STM32F107涓殑缁勪欢鍒濆鍖栭厤缃紱 +* 澧炲己STM32F107 EMAC椹卞姩鎬ц兘锛屽悓鏃跺姞鍏ヨ嚜鍔ㄦ煡鎵綪HY鑺墖鍦板潃鍔熻兘锛 +* 閲嶅啓xplorer4330锛圢XP LPC4330鑺墖锛夌Щ妞嶏紙xiaonong瀹屾垚锛夛紱 +* 鏂板Zynq7000 ARM Dual Cortex-A9绉绘锛 +* 鏂板MB9BF618S绉绘锛 +* 鏂板tm4c129x绉绘锛屽苟鍔犲叆鐩稿簲鐨凟MAC浠ュお缃戦┍鍔紱 + +[缁勪欢] + +* DFS: 鏂板鏍规嵁璁惧瀵硅薄鑾峰緱鍏朵笂瑁呰浇鏂囦欢绯荤粺璺緞鐨勫嚱鏁帮細dfs_filesystem_get_mounted_path(struct rt_device* device); +* DFS: 淇readdir鍦℅NU GCC涓嬬殑缂栬瘧璀﹀憡锛 +* DeviceDrivers锛氭柊澧瀢orkqueue瀹炵幇锛 +* DeviceDrivers: 淇USB Device鏍堜腑鐨勪竴浜涙嫾鍐欓敊璇紱 +* DeviceDrivers: 閲嶅啓serial妗嗘灦锛岃兘澶熻涓插彛璁惧椹卞姩鍚屾椂鏀寔涓夌妯″紡锛歱oll銆乮nterrupt銆丏MA銆傛ā寮忛夋嫨闇瑕佸湪鎵цrt_device_open鏃讹紝鐢眔pen flags鎸囧畾锛 +* DeviceDrivers: 鍔犲叆鏇村鐨凷PI璁惧椹卞姩锛屼緥濡俁W009鐨凷PI WiFi缃戝彛椹卞姩锛2.4G 802.11 b/g/n锛學EP/WPA/WPA2锛孲oftAP/Station锛夛紝SPI NorFlash鍧楄澶囬┍鍔紝ENC28J60浠ュお缃戠綉鍗¢┍鍔紱 +* Finsh: list_device()鍛戒护涓鍔爎efcount鐨勪俊鎭紱 +* Finsh: 淇'0'闆跺父閲忔棤娉曡瘑鍒殑閿欒锛 +* Finsh: mv鍛戒护锛屽疄鐜版妸涓涓枃浠剁Щ鍔ㄥ埌涓涓洰褰曚腑锛 +* Finsh: ifconfig鍛戒护鏀寔瀵逛竴涓綉缁滄帴鍙g殑鍩烘湰閰嶇疆锛 +* Finsh: 鏂板netstat鍛戒护锛岀敤浜庢樉绀哄綋鍓嶇郴缁熶腑TCP杩炴帴鐨勭姸鎬侊紱 +* Finsh: 淇褰撳懡浠よ澶暱瀵艰嚧鐨勭紦鍐插尯绉婚櫎鐨勯棶棰橈紱 +* libc: 淇arm libc涓湭浣跨敤DFS鏃剁殑缂栬瘧璀﹀憡锛 +* libc: 淇newlib涓娇鐢―FS鏃剁殑绯荤粺璋冪敤缂栬瘧璀﹀憡锛圙NU GCC涓嬶級锛 +* lwIP 1.4.1: 榛樿鎵撳紑LWIP_SO_SNDTIMEO浠ユ敮鎸佽繛鎺ュ彂閫佽秴鏃讹紱 +* lwIP 1.4.1: 淇MEMP_NUM_TCP_SEG瀹氫箟閿欒鐨勯棶棰橈紱 +* lwIP 1.4.1: 鍔犲叆RT_LWIP_REASSEMBLY_FRAG閫夐」瀹氫箟浠ユ敮鎸両P鍒嗙粍鍙婂悎骞讹紱 +* lwIP 1.4.1: ethnet缃戠粶鎺ュ彛鏀寔瀹氫箟LWIP_NO_TX_THREAD/LWIP_NO_RX_THREAD锛屼互鍏抽棴etx/erx绾跨▼锛 +* lwIP 1.4.1: 鐢ㄦ埛鍙互閲嶆柊瀹氫箟RT_LWIP_ETH_MTU锛屼互淇敼缃戠粶涓殑MTU鍊硷紱 +* lwIP 1.4.1: 淇LWIP_NETIF_LINK_CALLBACK鏉′欢缂栬瘧鐨勯棶棰橈紱 +* lwIP 1.4.1: 瀹屽杽绉绘鐩稿叧鐨勬敞閲婏紱 +* log trace: 澧炲姞log_session_lvl鎺ュ彛锛 +* log trace: log trace涓殑session寮曠敤鏇存敼鎴愬父閲忓舰寮忥紱 +* ymodem: 澧炲己鏁版嵁鎺ユ敹鐨勭ǔ瀹氭э紱 + +//---------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------- + +//---------------------------------------------------------------------------------------- + +鐗堟湰: RT-Thread 2.0.0 Alpha +鍙戝竷鏃堕棿:2014/4/8 -RT-Thread 2.0.0分支的第一个技术预览版本,仅用于展示2.0.0发展分支的演化动向(按照roadmap,2.0.0这个分支会有一部分RT-Thread和Linux互补性的技术,为Linux增加更好的实时性,为RT-Thread增加更多的功能性,这份技术预览版正是朝着这个目标而努力),欢迎反馈建议和问题。 +RT-Thread 2.0.0鍒嗘敮鐨勭涓涓妧鏈瑙堢増鏈紝浠呯敤浜庡睍绀2.0.0鍙戝睍鍒嗘敮鐨勬紨鍖栧姩鍚(鎸夌収roadmap锛2.0.0杩欎釜鍒嗘敮浼氭湁涓閮ㄥ垎RT-Thread鍜孡inux浜掕ˉ鎬х殑鎶鏈紝涓篖inux澧炲姞鏇村ソ鐨勫疄鏃舵э紝涓篟T-Thread澧炲姞鏇村鐨勫姛鑳芥э紝杩欎唤鎶鏈瑙堢増姝f槸鏈濈潃杩欎釜鐩爣鑰屽姫鍔)锛屾杩庡弽棣堝缓璁拰闂銆 -[组件变更] -* msh: bugfix 和功能性增强。新的 msh 在调用外部模块方面更加方便。 -* DFS: nfs 的 bugfix 和内置命令的增强。ELM FatFS加入对扇区不匹配情况下的信息输出,这样能够及时定位问题。 -* JS:新添了轻量级Javascript引擎,可以在RT-Thread中直接运行javascript脚本。 -* VMM:可以在qemu中运行的 Virtual Machine Module 组件。暂时只支持 realview-pb-a8 的 bsp。 -* CMSIS:版本更新至 3.20 -* drivers:USB 协议栈的重构。新的框架中编写驱动变得更加容易了。 +[缁勪欢鍙樻洿] -[BSP 变更] -* beaglebone:串口驱动更新 -* realview-a8:添加了 VMM 组件 +* msh锛 bugfix 鍜屽姛鑳芥у寮恒傛柊鐨 msh 鍦ㄨ皟鐢ㄥ閮ㄦā鍧楁柟闈㈡洿鍔犳柟渚裤 +* DFS锛 nfs 鐨 bugfix 鍜屽唴缃懡浠ょ殑澧炲己銆侲LM FatFS鍔犲叆瀵规墖鍖轰笉鍖归厤鎯呭喌涓嬬殑淇℃伅杈撳嚭锛岃繖鏍疯兘澶熷強鏃跺畾浣嶉棶棰樸 +* JS锛氭柊娣讳簡杞婚噺绾avascript寮曟搸锛屽彲浠ュ湪RT-Thread涓洿鎺ヨ繍琛宩avascript鑴氭湰銆 +* VMM锛氬彲浠ュ湪qemu涓繍琛岀殑 Virtual Machine Module 缁勪欢銆傛殏鏃跺彧鏀寔 realview-pb-a8 鐨 bsp銆 +* CMSIS锛氱増鏈洿鏂拌嚦 3.20 +* drivers锛歎SB 鍗忚鏍堢殑閲嶆瀯銆傛柊鐨勬鏋朵腑缂栧啓椹卞姩鍙樺緱鏇村姞瀹规槗浜嗐 -[编译脚本] -* 固件加入scons --target=ua -s,用于准备用户应用环境; +[BSP 鍙樻洿] -[发布后记] -RT-Thread 2.0.0. Alpha版本相比于RT-Thread 1.2.1,新的特性主要有两部分: -- RT-Thread + Linux双系统,这部分以RealView-A8处理器(ARM Cortex-A8单核)为蓝本,给出一个简单的双系统并行运行的demo;在没有硬件的环境下,可以使用QEMU软件虚拟方式的执行。这个链接中包含一个编译好的Linux及RT-Thread二进制包,可以直接下载进行体验。 +* beaglebone锛氫覆鍙i┍鍔ㄦ洿鏂 +* realview-a8锛氭坊鍔犱簡 VMM 缁勪欢 -目录中有 Linux 的内核镜像 zImage,ramdisk rootfs.cpio.gz。可以用 +[缂栬瘧鑴氭湰] + +* 鍥轰欢鍔犲叆scons --target=ua -s锛岀敤浜庡噯澶囩敤鎴峰簲鐢ㄧ幆澧冿紱 + +[鍙戝竷鍚庤] + +RT-Thread 2.0.0. Alpha鐗堟湰鐩告瘮浜嶳T-Thread 1.2.1锛屾柊鐨勭壒鎬т富瑕佹湁涓ら儴鍒嗭細 +- RT-Thread + Linux鍙岀郴缁燂紝杩欓儴鍒嗕互RealView-A8澶勭悊鍣(ARM Cortex-A8鍗曟牳)涓鸿摑鏈紝缁欏嚭涓涓畝鍗曠殑鍙岀郴缁熷苟琛岃繍琛岀殑demo锛涘湪娌℃湁纭欢鐨勭幆澧冧笅锛屽彲浠ヤ娇鐢≦EMU杞欢铏氭嫙鏂瑰紡鐨勬墽琛屻傝繖涓摼鎺ヤ腑鍖呭惈涓涓紪璇戝ソ鐨凩inux鍙奟T-Thread浜岃繘鍒跺寘锛屽彲浠ョ洿鎺ヤ笅杞借繘琛屼綋楠屻 + +鐩綍涓湁 Linux 鐨勫唴鏍搁暅鍍 zImage锛宺amdisk rootfs.cpio.gz銆傚彲浠ョ敤 qemu-system-arm -M realview-pb-a8 -kernel zImage -initrd rootfs.cpio.gz -serial vc -serial vc -来启动。启动之后 Linux 的控制台在第一个串口上(Atl + Ctrl + 3),可以直接无密码以 root 用户登录。登录之后加载内核模块: +鏉ュ惎鍔ㄣ傚惎鍔ㄤ箣鍚 Linux 鐨勬帶鍒跺彴鍦ㄧ涓涓覆鍙d笂(Atl + Ctrl + 3)锛屽彲浠ョ洿鎺ユ棤瀵嗙爜浠 root 鐢ㄦ埛鐧诲綍銆傜櫥褰曚箣鍚庡姞杞藉唴鏍告ā鍧楋細 insmod rtvmm.ko -来启动 RT-Thread。RT-Thread 启动之后控制台在第二个串口上(Atl + Ctrl + 4)。第一个串口Linux shell依然可以使用,第二个串口则是RT-Thread的shell。 -- JavaScript解析器,这个是由牛头哥移植的,可以在一个非常小资料的MCU上以JavaScript脚本方式进行编程、开发。根据这种方式,也提供了RN001JS的以太网硬件模块:以JavaScript脚本语言作为二次开发,提供在线web(即WebIDE)进行编程并运行JavaScript程序。JavaScript作为一门轻量级、解释型的语言,更容易上手,配合WebIDE、及提供的一些example可以使得开发变得非常的轻松,也包括一些传感器的JavaScript例子,让做网页的人也可以玩硬件了! +鏉ュ惎鍔 RT-Thread銆俁T-Thread 鍚姩涔嬪悗鎺у埗鍙板湪绗簩涓覆鍙d笂(Atl + Ctrl + 4)銆傜涓涓覆鍙inux shell渚濈劧鍙互浣跨敤锛岀浜屼釜涓插彛鍒欐槸RT-Thread鐨剆hell銆 +- JavaScript瑙f瀽鍣紝杩欎釜鏄敱鐗涘ご鍝ョЩ妞嶇殑锛屽彲浠ュ湪涓涓潪甯稿皬璧勬枡鐨凪CU涓婁互JavaScript鑴氭湰鏂瑰紡杩涜缂栫▼銆佸紑鍙戙傛牴鎹繖绉嶆柟寮忥紝涔熸彁渚涗簡RN001JS鐨勪互澶綉纭欢妯″潡锛氫互JavaScript鑴氭湰璇█浣滀负浜屾寮鍙戯紝鎻愪緵鍦ㄧ嚎web(鍗砏ebIDE)杩涜缂栫▼骞惰繍琛孞avaScript绋嬪簭銆侸avaScript浣滀负涓闂ㄨ交閲忕骇銆佽В閲婂瀷鐨勮瑷锛屾洿瀹规槗涓婃墜锛岄厤鍚圵ebIDE銆佸強鎻愪緵鐨勪竴浜沞xample鍙互浣垮緱寮鍙戝彉寰楅潪甯哥殑杞绘澗锛屼篃鍖呮嫭涓浜涗紶鎰熷櫒鐨凧avaScript渚嬪瓙锛岃鍋氱綉椤电殑浜轰篃鍙互鐜╃‖浠朵簡锛 //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread 1.2.1 -发布时间: 2014/4/8 +鐗堟湰: RT-Thread 1.2.1 +鍙戝竷鏃堕棿: 2014/4/8 -在原有的1.2.0版本的bug修正版本,也是1.2.0系列的第一个修正版本,原则上不添加任何的新功能,我们尽量会按照每个季度一个修订版本的方式推进。大家在使用的过程中有什么问题还请反馈给我们,这些问题很可能会在下个版本中修正! +鍦ㄥ師鏈夌殑1.2.0鐗堟湰鐨刡ug淇鐗堟湰锛屼篃鏄1.2.0绯诲垪鐨勭涓涓慨姝g増鏈紝鍘熷垯涓婁笉娣诲姞浠讳綍鐨勬柊鍔熻兘锛屾垜浠敖閲忎細鎸夌収姣忎釜瀛e害涓涓慨璁㈢増鏈殑鏂瑰紡鎺ㄨ繘銆傚ぇ瀹跺湪浣跨敤鐨勮繃绋嬩腑鏈変粈涔堥棶棰樿繕璇峰弽棣堢粰鎴戜滑锛岃繖浜涢棶棰樺緢鍙兘浼氬湪涓嬩釜鐗堟湰涓慨姝o紒 -以下是更改记录: -[内核] -* 用户应用,增加用户应用命令行参数支持; -* 在挂起一个任务时,把相应的定时器也关闭; +浠ヤ笅鏄洿鏀硅褰曪細 +[鍐呮牳] +* 鐢ㄦ埛搴旂敤锛屽鍔犵敤鎴峰簲鐢ㄥ懡浠よ鍙傛暟鏀寔锛 +* 鍦ㄦ寕璧蜂竴涓换鍔℃椂锛屾妸鐩稿簲鐨勫畾鏃跺櫒涔熷叧闂紱 [BSP] -* BeagleBone,加入更多串口驱动支持; -* 移除BSP中rt_device_init_all函数调用,改成打开设备时自动进行初始化; -* LPC176x,移除components初始化管理器; -* LPC4088,修正LED驱动的问题; -* STM32F107,移除components初始化管理器; +* BeagleBone锛屽姞鍏ユ洿澶氫覆鍙i┍鍔ㄦ敮鎸侊紱 +* 绉婚櫎BSP涓璻t_device_init_all鍑芥暟璋冪敤锛屾敼鎴愭墦寮璁惧鏃惰嚜鍔ㄨ繘琛屽垵濮嬪寲锛 +* LPC176x锛岀Щ闄omponents鍒濆鍖栫鐞嗗櫒锛 +* LPC4088锛屼慨姝ED椹卞姩鐨勯棶棰橈紱 +* STM32F107锛岀Щ闄omponents鍒濆鍖栫鐞嗗櫒锛 -[组件] -* 文件系统,ELM FatFS加入对扇区不匹配情况下的信息输出,这样能够及时定位问题; -* 文件系统,NFS网络文件系统修正相关的一些编译警告信息; -* 文件系统,copy命令加入文件夹方式复制功能; -* 文件系统,RAMFS,加入到components初始化管理器中; -* 文件系统,ROMFS,用于转换文件的工具mkromfs.py,增加Linux主机的支持; -* CMSIS更新到3.2.0版本; -* 串口驱动框架加入serial->ops->control的调用; -* 命令行系统,优化msh,支持用户应用的命令行参数; -* 命令行系统,当使用msh时,默认使用msh >的命令行提示符; -* TCP/IP协议栈,导出更多的lwIP接口给用户应用; -* POSIX thread,修正了同时使用lwIP组件时的编译警告; -* 第三方组件,加入TJPGD的移植,加入libpng的移植; +[缁勪欢] +* 鏂囦欢绯荤粺锛孍LM FatFS鍔犲叆瀵规墖鍖轰笉鍖归厤鎯呭喌涓嬬殑淇℃伅杈撳嚭锛岃繖鏍疯兘澶熷強鏃跺畾浣嶉棶棰橈紱 +* 鏂囦欢绯荤粺锛孨FS缃戠粶鏂囦欢绯荤粺淇鐩稿叧鐨勪竴浜涚紪璇戣鍛婁俊鎭紱 +* 鏂囦欢绯荤粺锛宑opy鍛戒护鍔犲叆鏂囦欢澶规柟寮忓鍒跺姛鑳斤紱 +* 鏂囦欢绯荤粺锛孯AMFS锛屽姞鍏ュ埌components鍒濆鍖栫鐞嗗櫒涓紱 +* 鏂囦欢绯荤粺锛孯OMFS锛岀敤浜庤浆鎹㈡枃浠剁殑宸ュ叿mkromfs.py锛屽鍔燣inux涓绘満鐨勬敮鎸侊紱 +* CMSIS鏇存柊鍒3.2.0鐗堟湰锛 +* 涓插彛椹卞姩妗嗘灦鍔犲叆serial->ops->control鐨勮皟鐢紱 +* 鍛戒护琛岀郴缁燂紝浼樺寲msh锛屾敮鎸佺敤鎴峰簲鐢ㄧ殑鍛戒护琛屽弬鏁帮紱 +* 鍛戒护琛岀郴缁燂紝褰撲娇鐢╩sh鏃讹紝榛樿浣跨敤msh >鐨勫懡浠よ鎻愮ず绗︼紱 +* TCP/IP鍗忚鏍堬紝瀵煎嚭鏇村鐨刲wIP鎺ュ彛缁欑敤鎴峰簲鐢紱 +* POSIX thread锛屼慨姝d簡鍚屾椂浣跨敤lwIP缁勪欢鏃剁殑缂栬瘧璀﹀憡锛 +* 绗笁鏂圭粍浠讹紝鍔犲叆TJPGD鐨勭Щ妞嶏紝鍔犲叆libpng鐨勭Щ妞嶏紱 -[编译脚本] -* 固件加入scons --target=ua -s,用于准备用户应用环境; +[缂栬瘧鑴氭湰] +* 鍥轰欢鍔犲叆scons --target=ua -s锛岀敤浜庡噯澶囩敤鎴峰簲鐢ㄧ幆澧冿紱 -[发布后记] -* RT-Thread携带了众多的BSP,不一定能够一一保证每个分支上把RT-Thread上相应的功能使用起来。所以针对这种情况,我们有一款评估用的硬件开发板:RealBoard 4088,在上面力求把一些相关例程都添加上,这样在一个基本的BSP基础上,可以对照着把其他的组件、功能添加进去; -* RealBoard 4088使用的RT-Thread版本主要以RT-Thread 1.2.1版本为主。 +[鍙戝竷鍚庤] +* RT-Thread鎼哄甫浜嗕紬澶氱殑BSP锛屼笉涓瀹氳兘澶熶竴涓淇濊瘉姣忎釜鍒嗘敮涓婃妸RT-Thread涓婄浉搴旂殑鍔熻兘浣跨敤璧锋潵銆傛墍浠ラ拡瀵硅繖绉嶆儏鍐碉紝鎴戜滑鏈変竴娆捐瘎浼扮敤鐨勭‖浠跺紑鍙戞澘锛歊ealBoard 4088锛屽湪涓婇潰鍔涙眰鎶婁竴浜涚浉鍏充緥绋嬮兘娣诲姞涓婏紝杩欐牱鍦ㄤ竴涓熀鏈殑BSP鍩虹涓婏紝鍙互瀵圭収鐫鎶婂叾浠栫殑缁勪欢銆佸姛鑳芥坊鍔犺繘鍘伙紱 +* RealBoard 4088浣跨敤鐨凴T-Thread鐗堟湰涓昏浠T-Thread 1.2.1鐗堟湰涓轰富銆 //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread 1.2.0正式版本 -发布时间: 2014/1/6 +鐗堟湰: RT-Thread 1.2.0姝e紡鐗堟湰 +鍙戝竷鏃堕棿: 2014/1/6 -实现roadmap中提到的大部分内容 +瀹炵幇roadmap涓彁鍒扮殑澶ч儴鍒嗗唴瀹 -1,文档方面已完成《RT-Thread编程手册》,同时还有论坛上jiezhi童鞋的《一起来学RT-Thread系列连载教程》 -2,BSP分支方面新增cortext-A8(beaglebone),cortext-R4(rm48x50),UNITY-2(SEP6200),lpc408x的移植 -3,组件方面: -- 加入msh(类似linux shell的风格),能够直接执行应用程序 -- 新增freemodbus 1.6.0的移植 -- 新增开源的嵌入式关系数据库SQLite 3.8.1的移植 -- 新增Ymodem协议 -- 默认使用lwIP 1.4.1 +1锛屾枃妗f柟闈㈠凡瀹屾垚銆奟T-Thread缂栫▼鎵嬪唽銆嬶紝鍚屾椂杩樻湁璁哄潧涓妀iezhi绔ラ瀷鐨勩婁竴璧锋潵瀛T-Thread绯诲垪杩炶浇鏁欑▼銆 +2锛孊SP鍒嗘敮鏂归潰鏂板cortext-A8(beaglebone)锛宑ortext-R4(rm48x50)锛孶NITY-2(SEP6200),lpc408x鐨勭Щ妞 +3锛岀粍浠舵柟闈細 +- 鍔犲叆msh(绫讳技linux shell鐨勯鏍)锛岃兘澶熺洿鎺ユ墽琛屽簲鐢ㄧ▼搴 +- 鏂板freemodbus 1.6.0鐨勭Щ妞 +- 鏂板寮婧愮殑宓屽叆寮忓叧绯绘暟鎹簱SQLite 3.8.1鐨勭Щ妞 +- 鏂板Ymodem鍗忚 +- 榛樿浣跨敤lwIP 1.4.1 -下面是自RT-Thread 1.2.0 RC版本发布以来具体的变更履历: -内核: -* timer.c - 使用跳跃表(skip list)实现系统定时器链表,并在bsp中的startup.c中重新加入定时器初始化函数rt_system_timer_init() -* rtdebug.h - 新增宏定义RT_DEBUG_IN_THREAD_CONTEXT -* idle.c - 在函数rt_thread_idle_excute()中一次清除所有的死线程 -* scheduler.c - 新增API rt_critical_level()返回调度器上锁次数 +涓嬮潰鏄嚜RT-Thread 1.2.0 RC鐗堟湰鍙戝竷浠ユ潵鍏蜂綋鐨勫彉鏇村饱鍘嗭細 +鍐呮牳锛 +* timer.c - 浣跨敤璺宠穬琛(skip list)瀹炵幇绯荤粺瀹氭椂鍣ㄩ摼琛紝骞跺湪bsp涓殑startup.c涓噸鏂板姞鍏ュ畾鏃跺櫒鍒濆鍖栧嚱鏁皉t_system_timer_init() +* rtdebug.h - 鏂板瀹忓畾涔塕T_DEBUG_IN_THREAD_CONTEXT +* idle.c - 鍦ㄥ嚱鏁皉t_thread_idle_excute()涓竴娆℃竻闄ゆ墍鏈夌殑姝荤嚎绋 +* scheduler.c - 鏂板API rt_critical_level()杩斿洖璋冨害鍣ㄤ笂閿佹鏁 -移植: -* cortex-m0 - 修正 cortex-m0 GCC移植中hardfault的问题点 -* cortex-r4 - 在startup后释放IRQ堆栈空间 -* cortex-r4 - 按字节长度分配堆栈空间 +绉绘锛 +* cortex-m0 - 淇 cortex-m0 GCC绉绘涓環ardfault鐨勯棶棰樼偣 +* cortex-r4 - 鍦╯tartup鍚庨噴鏀綢RQ鍫嗘爤绌洪棿 +* cortex-r4 - 鎸夊瓧鑺傞暱搴﹀垎閰嶅爢鏍堢┖闂 -BSP分支: -* 新增lpc408x移植 -* bsp/stm32f0x - 增加USART1,USART2驱动,支持finsh,支持组件初始化 -* bsp/simulator - 当RTGUI配置无效时打印错误信息 -* bsp/simulator - 默认情况下关闭RTGUI选项 -* bsp/simulator - 增加createdef.py文件来生成VS的def文件 -* bsp/simulator - 当使用VC++编译时去除_TIME_T_DEFINED的定义 -* bsp/xplorer4330 - 重命名文件Retarget.c为retarget.c,否则linux系统中编译会报错 -* bsp/xplorer4330 - 修正GCC编译链接时关于ENTRY的警告 -* bsp/rm48x50 - 新增GCC的移植 -* bsp/K60Fxxxx - 修正一个编译错误 +BSP鍒嗘敮锛 +* 鏂板lpc408x绉绘 +* bsp/stm32f0x - 澧炲姞USART1锛孶SART2椹卞姩锛屾敮鎸乫insh锛屾敮鎸佺粍浠跺垵濮嬪寲 +* bsp/simulator - 褰揜TGUI閰嶇疆鏃犳晥鏃舵墦鍗伴敊璇俊鎭 +* bsp/simulator - 榛樿鎯呭喌涓嬪叧闂璕TGUI閫夐」 +* bsp/simulator - 澧炲姞createdef.py鏂囦欢鏉ョ敓鎴怴S鐨刣ef鏂囦欢 +* bsp/simulator - 褰撲娇鐢╒C++缂栬瘧鏃跺幓闄TIME_T_DEFINED鐨勫畾涔 +* bsp/xplorer4330 - 閲嶅懡鍚嶆枃浠禦etarget.c涓簉etarget.c,鍚﹀垯linux绯荤粺涓紪璇戜細鎶ラ敊 +* bsp/xplorer4330 - 淇GCC缂栬瘧閾炬帴鏃跺叧浜嶦NTRY鐨勮鍛 +* bsp/rm48x50 - 鏂板GCC鐨勭Щ妞 +* bsp/K60Fxxxx - 淇涓涓紪璇戦敊璇 -组件: -* dfs - 正确处理mkfs未实现的情况 -* dfs - 使用指针代替index变量 -* dfs - 在函数dfs_filesystem_lookup()将含义模糊的指针变量名称empty重命名为fs -* dfs - 修正dfs_unmount问题点 -* dfs - 在设备打开错误时令挂载失败 -* dfs/elmfat - 令elmfatfs每次都检查扇区大小 -* net - 新增freemodbus 1.6.0的移植 -* finsh - 新增FINSH_USING_MSH_ONLY选项 -* finsh - 只有当shell设备为空时调用rt_console_get_device() -* finsh - 修正FINSH_USING_SYMTAB未定义的错误 -* finsh - 重构control按键的处理 -* msh - 增加文件和路径名称自动补全的功能 -* msh - msh内增加执行module的功能 -* msh - msh内增加更多的命令 -* libc - 修正 _sys_read()/_sys_write()问题点 -* external - 增加开源的嵌入式关系数据库SQLite 3.8.1的移植 -* pthreads - 避免ESHUTDOWN重复定义 -* mtd_nand - 在MTD nand中增加更多的调试措施 -* mtd_nand - 修正操作MTD nand时起始块错误的问题 -* lwip-1.4.1 - 在lwIP内加入更多的RT-Thread选项设置 -* log_trace - 修正函数memmove()参数使用错误的问题 -* drivers/pipe - 增加一个control命令来获得pipe剩余的空间 -* drivers/serial - 如果读写长度为0,则立即返回 +缁勪欢锛 +* dfs - 姝g‘澶勭悊mkfs鏈疄鐜扮殑鎯呭喌 +* dfs - 浣跨敤鎸囬拡浠f浛index鍙橀噺 +* dfs - 鍦ㄥ嚱鏁癲fs_filesystem_lookup()灏嗗惈涔夋ā绯婄殑鎸囬拡鍙橀噺鍚嶇Оempty閲嶅懡鍚嶄负fs +* dfs - 淇dfs_unmount闂鐐 +* dfs - 鍦ㄨ澶囨墦寮閿欒鏃朵护鎸傝浇澶辫触 +* dfs/elmfat - 浠lmfatfs姣忔閮芥鏌ユ墖鍖哄ぇ灏 +* net - 鏂板freemodbus 1.6.0鐨勭Щ妞 +* finsh - 鏂板FINSH_USING_MSH_ONLY閫夐」 +* finsh - 鍙湁褰搒hell璁惧涓虹┖鏃惰皟鐢╮t_console_get_device() +* finsh - 淇FINSH_USING_SYMTAB鏈畾涔夌殑閿欒 +* finsh - 閲嶆瀯control鎸夐敭鐨勫鐞 +* msh - 澧炲姞鏂囦欢鍜岃矾寰勫悕绉拌嚜鍔ㄨˉ鍏ㄧ殑鍔熻兘 +* msh - msh鍐呭鍔犳墽琛宮odule鐨勫姛鑳 +* msh - msh鍐呭鍔犳洿澶氱殑鍛戒护 +* libc - 淇 _sys_read()/_sys_write()闂鐐 +* external - 澧炲姞寮婧愮殑宓屽叆寮忓叧绯绘暟鎹簱SQLite 3.8.1鐨勭Щ妞 +* pthreads - 閬垮厤ESHUTDOWN閲嶅瀹氫箟 +* mtd_nand - 鍦∕TD nand涓鍔犳洿澶氱殑璋冭瘯鎺柦 +* mtd_nand - 淇鎿嶄綔MTD nand鏃惰捣濮嬪潡閿欒鐨勯棶棰 +* lwip-1.4.1 - 鍦╨wIP鍐呭姞鍏ユ洿澶氱殑RT-Thread閫夐」璁剧疆 +* log_trace - 淇鍑芥暟memmove()鍙傛暟浣跨敤閿欒鐨勯棶棰 +* drivers/pipe - 澧炲姞涓涓猚ontrol鍛戒护鏉ヨ幏寰梡ipe鍓╀綑鐨勭┖闂 +* drivers/serial - 濡傛灉璇诲啓闀垮害涓0锛屽垯绔嬪嵆杩斿洖 -例程: -* examples - 用rt_sem_control()中的RT_IPC_CMD_RESET命令rt_sem_trytake()来清除信号量 -* examples - 始终打印输出测试结果 -* examples - 在所有的测试结束后打印输出简报 -* examples - 在TC线程中清除变量_tc_stat的TC_STAT_RUNNING状态 -* examples - 重新实现loop功能,并新增finsh命令tc_loop -* examples - 在tc_stop中增加延时,由原来的延时RT_TICK_PER_SECOND/2调整为10 * RT_TICK_PER_SECOND -* examples - 在SConscript中判断TC如果被使能,在CPPPATH中增加TC路径 -* examples - 新增一个in-mem-log的例子 -* semaphore_priority.c - 在cleanup时释放信号量 -* heap_realloc.c - 检查调用realloc(ptr, 0)是否成功 -* thread_delete.c - tc线程的延时应该比tid2的延时长,保证其测试过程中正常运行 -* thread_delay.c - 放宽超时判断条件,因为当RT_TICK_PER_SECOND为1000时,容易产生1个tick的误差 -* semaphore_static.c - 放宽超时判断条件,因为当RT_TICK_PER_SECOND为1000时,容易产生1个tick的误差 -* semaphore_dynamic.c - 放宽超时判断条件,因为当RT_TICK_PER_SECOND为1000时,容易产生1个tick的误差 +渚嬬▼锛 +* examples - 鐢╮t_sem_control()涓殑RT_IPC_CMD_RESET鍛戒护rt_sem_trytake()鏉ユ竻闄や俊鍙烽噺 +* examples - 濮嬬粓鎵撳嵃杈撳嚭娴嬭瘯缁撴灉 +* examples - 鍦ㄦ墍鏈夌殑娴嬭瘯缁撴潫鍚庢墦鍗拌緭鍑虹畝鎶 +* examples - 鍦═C绾跨▼涓竻闄ゅ彉閲廮tc_stat鐨凾C_STAT_RUNNING鐘舵 +* examples - 閲嶆柊瀹炵幇loop鍔熻兘锛屽苟鏂板finsh鍛戒护tc_loop +* examples - 鍦╰c_stop涓鍔犲欢鏃讹紝鐢卞師鏉ョ殑寤舵椂RT_TICK_PER_SECOND/2璋冩暣涓10 * RT_TICK_PER_SECOND +* examples - 鍦⊿Conscript涓垽鏂璗C濡傛灉琚娇鑳斤紝鍦–PPPATH涓鍔燭C璺緞 +* examples - 鏂板涓涓猧n-mem-log鐨勪緥瀛 +* semaphore_priority.c - 鍦╟leanup鏃堕噴鏀句俊鍙烽噺 +* heap_realloc.c - 妫鏌ヨ皟鐢╮ealloc(ptr, 0)鏄惁鎴愬姛 +* thread_delete.c - tc绾跨▼鐨勫欢鏃跺簲璇ユ瘮tid2鐨勫欢鏃堕暱锛屼繚璇佸叾娴嬭瘯杩囩▼涓甯歌繍琛 +* thread_delay.c - 鏀惧瓒呮椂鍒ゆ柇鏉′欢锛屽洜涓哄綋RT_TICK_PER_SECOND涓1000鏃讹紝瀹规槗浜х敓1涓猼ick鐨勮宸 +* semaphore_static.c - 鏀惧瓒呮椂鍒ゆ柇鏉′欢锛屽洜涓哄綋RT_TICK_PER_SECOND涓1000鏃讹紝瀹规槗浜х敓1涓猼ick鐨勮宸 +* semaphore_dynamic.c - 鏀惧瓒呮椂鍒ゆ柇鏉′欢锛屽洜涓哄綋RT_TICK_PER_SECOND涓1000鏃讹紝瀹规槗浜х敓1涓猼ick鐨勮宸 -其他: -* 更新README.md +鍏朵粬锛 +* 鏇存柊README.md //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread 1.2.0RC -发布时间: 2013/10/10/ 10:19 +鐗堟湰: RT-Thread 1.2.0RC +鍙戝竷鏃堕棿: 2013/10/10/ 10:19 -主要说明: 该版本新增ARM Cortex-A8的支持(BeagleBone),新增UNITY-2内核的支持(SEP6200),新增Ymodem协议。 +涓昏璇存槑: 璇ョ増鏈柊澧濧RM Cortex-A8鐨勬敮鎸(BeagleBone)锛屾柊澧濽NITY-2鍐呮牳鐨勬敮鎸(SEP6200)锛屾柊澧瀁modem鍗忚銆 -变更履历 +鍙樻洿灞ュ巻 ======== -内核: -* 修正rtdef.h中的拼写错误(_MSC_VER_ -> _MSC_VER) -* 修正scheduler.c中的调试打印输出错误 -* ipc - 在函数rt_event_recv()中增加对参数option有效性的检查 -* device - 增加统计设备引用次数的变量ref_count -* memheap - 修正内存块分割问题点 -* memheap - 优化函数rt_memheap_realloc() -* kservice - 函数声明使用rt_vsnprintf代替vsnprintf -组件: -* dfs - 修正dfs_file.c中一处变量参数类型错误的问题 -* dfs - 增加mount table -* dfs - 在building脚本中加入ramfs的支持 -* dfs - 修正ramfs中O_APPEND write的问题 -* dfs/elm - 在mkfs中加入device_open/close -* dfs/jffs2 - 修正jffs2_opn/opendir中的f_flag初始化问题 -* dfs/jffs2 - 修正jffs2卸载问题 -* pthread - 修正一处编译警告 -* drivers/pipe - 增加rt_pipe_init/rt_pipe_detach -* drivers/pipe - 增加非阻塞读写和强制写模式 -* drivers/pipe - 当恢复读的时候调用函数rx_indicate() -* drivers/pipe - 增加一个设备类型(pipe类型) -* drivers/portal - 实现portal设备类型 -* drivers/ringbuffer - 修改一些模糊不清的函数名称 -* drivers/ringbuffer - 新增put_force和putchar_force接口函数 -* finsh - 当set_device时增加设备检查 -* finsh - 在rx_ind中增加对shell设备的自动设置 -* finsh - 增加pipe和portal设备的描述 -* finsh - 在变量定义时使用别名 -* finsh - 当关闭设备时注销rx_indicate -* finsh - 修正命令行太长的问题 -* finsh/msh - 只有当DFS_USING_WORKDIR使能时才声明cd/pwd -* init - 为新的组件初始化机制更新连接脚本 -* init - 增加组件初始化调试代码 -* logtrace - 整理代码,去除编译警告 -* logtrace - 增加LOG_TRACE_VERBOSE -* logtrace - 调整log values -* logtrace - 只有当finsh使能的时候才声明cmd -* libc/minilibc - 在sys/time.h中增加gettimeofday的声明 -* utilities - 新增ymodem +[鍐呮牳] -工具: -* building.py - 增加clang静态缝隙器的支持 -* building.py - 为Keil MDK增加buildlib功能 -* building.py - 在clang-analyze中执行'clang -Wall -fsyntas-only' -* clang-analyze.py - 增加一个定制工具实现clang静态分析 +* 淇rtdef.h涓殑鎷煎啓閿欒(_MSC_VER_ -> _MSC_VER) +* 淇scheduler.c涓殑璋冭瘯鎵撳嵃杈撳嚭閿欒 +* ipc - 鍦ㄥ嚱鏁皉t_event_recv()涓鍔犲鍙傛暟option鏈夋晥鎬х殑妫鏌 +* device - 澧炲姞缁熻璁惧寮曠敤娆℃暟鐨勫彉閲弐ef_count +* memheap - 淇鍐呭瓨鍧楀垎鍓查棶棰樼偣 +* memheap - 浼樺寲鍑芥暟rt_memheap_realloc() +* kservice - 鍑芥暟澹版槑浣跨敤rt_vsnprintf浠f浛vsnprintf -分支: -* 新增BeagleBone的移植 -* 新增SEP6200的移植 -* 新增K60Fxxxx的移植 -* 修正Linux中的编译错误(lm4f232, stm32f40x, xplorer4330) -* cortex-m3 - 加强hard fault的异常处理函数 -* at91sam9260 - 更新串口驱动,使用组件中的通用串口驱动 -* at91sam9260 - 更新工程目录结构 -* at91sam9260 - 修正编译错误 -* at91sam9260 - 内嵌GPLv2许可 -* stm32f10x - 删除无用的文件 -* stm32f10x - 更新工程目录结构 -* stm32f10x - 更新工程文件 -* stm32f10x - 为使用新的组件初始化更新连接脚本 -* stm32f10x - 为使用新的组件初始化更新SD card驱动 -* stm32f10x - 为使用新的组件初始化更新DM9000驱动 -* stm32f10x - 更新串口驱动,使用组件中的通用串口驱动 -* stm32f10x - 修正rtgui初始化问题 -* simulator - 为使用新的组件初始化更新代码,以便支持mingw -* simulator - 支持Linux系统 -* simulator - 修正Linux系统中的SDL初始化问题 -* simulator - 在rt_components_init之后初始化SDL -* simulator - 将对SDL设置的内容移入drivers/SConstruct -* simulator - 在env中获得CORSS_TOOL和EXEC_PATH的值 -* simulator - 支持clang-analyze -* simulator - 增加tap netif driver + +[缁勪欢] + +* dfs - 淇dfs_file.c涓竴澶勫彉閲忓弬鏁扮被鍨嬮敊璇殑闂 +* dfs - 澧炲姞mount table +* dfs - 鍦╞uilding鑴氭湰涓姞鍏amfs鐨勬敮鎸 +* dfs - 淇ramfs涓璒_APPEND write鐨勯棶棰 +* dfs/elm - 鍦╩kfs涓姞鍏evice_open/close +* dfs/jffs2 - 淇jffs2_opn/opendir涓殑f_flag鍒濆鍖栭棶棰 +* dfs/jffs2 - 淇jffs2鍗歌浇闂 +* pthread - 淇涓澶勭紪璇戣鍛 +* drivers/pipe - 澧炲姞rt_pipe_init/rt_pipe_detach +* drivers/pipe - 澧炲姞闈為樆濉炶鍐欏拰寮哄埗鍐欐ā寮 +* drivers/pipe - 褰撴仮澶嶈鐨勬椂鍊欒皟鐢ㄥ嚱鏁皉x_indicate() +* drivers/pipe - 澧炲姞涓涓澶囩被鍨(pipe绫诲瀷) +* drivers/portal - 瀹炵幇portal璁惧绫诲瀷 +* drivers/ringbuffer - 淇敼涓浜涙ā绯婁笉娓呯殑鍑芥暟鍚嶇О +* drivers/ringbuffer - 鏂板put_force鍜宲utchar_force鎺ュ彛鍑芥暟 +* finsh - 褰搒et_device鏃跺鍔犺澶囨鏌 +* finsh - 鍦╮x_ind涓鍔犲shell璁惧鐨勮嚜鍔ㄨ缃 +* finsh - 澧炲姞pipe鍜宲ortal璁惧鐨勬弿杩 +* finsh - 鍦ㄥ彉閲忓畾涔夋椂浣跨敤鍒悕 +* finsh - 褰撳叧闂澶囨椂娉ㄩ攢rx_indicate +* finsh - 淇鍛戒护琛屽お闀跨殑闂 +* finsh/msh - 鍙湁褰揇FS_USING_WORKDIR浣胯兘鏃舵墠澹版槑cd/pwd +* init - 涓烘柊鐨勭粍浠跺垵濮嬪寲鏈哄埗鏇存柊杩炴帴鑴氭湰 +* init - 澧炲姞缁勪欢鍒濆鍖栬皟璇曚唬鐮 +* logtrace - 鏁寸悊浠g爜锛屽幓闄ょ紪璇戣鍛 +* logtrace - 澧炲姞LOG_TRACE_VERBOSE +* logtrace - 璋冩暣log values +* logtrace - 鍙湁褰揻insh浣胯兘鐨勬椂鍊欐墠澹版槑cmd +* libc/minilibc - 鍦╯ys/time.h涓鍔爂ettimeofday鐨勫0鏄 +* utilities - 鏂板ymodem + +宸ュ叿: + +* building.py - 澧炲姞clang闈欐佺紳闅欏櫒鐨勬敮鎸 +* building.py - 涓篕eil MDK澧炲姞buildlib鍔熻兘 +* building.py - 鍦╟lang-analyze涓墽琛'clang -Wall -fsyntas-only' +* clang-analyze.py - 澧炲姞涓涓畾鍒跺伐鍏峰疄鐜癱lang闈欐佸垎鏋 + +鍒嗘敮: + +* 鏂板BeagleBone鐨勭Щ妞 +* 鏂板SEP6200鐨勭Щ妞 +* 鏂板K60Fxxxx鐨勭Щ妞 +* 淇Linux涓殑缂栬瘧閿欒(lm4f232, stm32f40x, xplorer4330) +* cortex-m3 - 鍔犲己hard fault鐨勫紓甯稿鐞嗗嚱鏁 +* at91sam9260 - 鏇存柊涓插彛椹卞姩锛屼娇鐢ㄧ粍浠朵腑鐨勯氱敤涓插彛椹卞姩 +* at91sam9260 - 鏇存柊宸ョ▼鐩綍缁撴瀯 +* at91sam9260 - 淇缂栬瘧閿欒 +* at91sam9260 - 鍐呭祵GPLv2璁稿彲 +* stm32f10x - 鍒犻櫎鏃犵敤鐨勬枃浠 +* stm32f10x - 鏇存柊宸ョ▼鐩綍缁撴瀯 +* stm32f10x - 鏇存柊宸ョ▼鏂囦欢 +* stm32f10x - 涓轰娇鐢ㄦ柊鐨勭粍浠跺垵濮嬪寲鏇存柊杩炴帴鑴氭湰 +* stm32f10x - 涓轰娇鐢ㄦ柊鐨勭粍浠跺垵濮嬪寲鏇存柊SD card椹卞姩 +* stm32f10x - 涓轰娇鐢ㄦ柊鐨勭粍浠跺垵濮嬪寲鏇存柊DM9000椹卞姩 +* stm32f10x - 鏇存柊涓插彛椹卞姩锛屼娇鐢ㄧ粍浠朵腑鐨勯氱敤涓插彛椹卞姩 +* stm32f10x - 淇rtgui鍒濆鍖栭棶棰 +* simulator - 涓轰娇鐢ㄦ柊鐨勭粍浠跺垵濮嬪寲鏇存柊浠g爜锛屼互渚挎敮鎸乵ingw +* simulator - 鏀寔Linux绯荤粺 +* simulator - 淇Linux绯荤粺涓殑SDL鍒濆鍖栭棶棰 +* simulator - 鍦╮t_components_init涔嬪悗鍒濆鍖朣DL +* simulator - 灏嗗SDL璁剧疆鐨勫唴瀹圭Щ鍏rivers/SConstruct +* simulator - 鍦╡nv涓幏寰桟ORSS_TOOL鍜孍XEC_PATH鐨勫 +* simulator - 鏀寔clang-analyze +* simulator - 澧炲姞tap netif driver //---------------------------------------------------------------------------------------- + //---------------------------------------------------------------------------------------- + //---------------------------------------------------------------------------------------- -版本: RT-Thread 1.2.0 Beta 版本 -发布时间: 2013/6/30 + + +鐗堟湰: RT-Thread 1.2.0 Beta 鐗堟湰 + +鍙戝竷鏃堕棿: 2013/6/30 -进过开发人员三个月的努力,RT-Thread 1.2.0 Beta 版本如期发布。 -该版本默认采用lwIP 1.4.1协议栈,USB device stack也进一步完善。加入 log_trace 子系统,加入组件初始化升级版本,加入 ARM Cortex-R 的移植。 +杩涜繃寮鍙戜汉鍛樹笁涓湀鐨勫姫鍔涳紝RT-Thread 1.2.0 Beta 鐗堟湰濡傛湡鍙戝竷銆 +璇ョ増鏈粯璁ら噰鐢╨wIP 1.4.1鍗忚鏍堬紝USB device stack涔熻繘涓姝ュ畬鍠勩傚姞鍏 log_trace 瀛愮郴缁燂紝鍔犲叆缁勪欢鍒濆鍖栧崌绾х増鏈紝鍔犲叆 ARM Cortex-R 鐨勭Щ妞嶃 -主要变化: -1,新增组件初始化功能 -- 详情请看论坛帖子[新功能] 组件初始化 -2,支持ARM Cortex-R系列处理器 -- Grissiom 完成 ARM Cortex-R 的移植,目前BSP中已有TI RM48x50分支(仅支持TI CCS开发环境) -3,文件系统中新增 RAMFS -4,加入 log_trace 子系统 -5,优化Cortex-M4线程上下文切换,使用了浮点运算的线程才保存及恢复FPU寄存器 -- 详情请看论坛帖子[优化]cortex-m4f线程切换,优化FPU寄存器 -6,新增API rt_memheap_realloc() -7,重新实现ringbuffer,采用镜像的方法区分“满”和“空”,同时支持任意大小的buffer -8,内核中加入RT_KERNEL_MALLOC/RT_KERNEL_FREE/RT_KERNEL_REALLOC宏。 -如果用户未定义这些宏,将默认指向rt_malloc/rt_free/rt_realloc。 -同时内核仅局限于使用这些宏来使用动态内存 -9,在 building.py 中新增生成 cscope database 的选项 -10,USB组件新增reset函数,支持热插拔 -11,scons编译系统支持CCS开发环境 -12,USB组件新增状态信息(USB_STATE_NOTATTACHED,USB_STATE_ATTACHED,USB_STATE_POWERED...) +涓昏鍙樺寲锛 -修复问题点: -1,USB组件HOST可以挂起endpoints -2,simulator分支,修复 serial_write 问题 -3,udisk可以被弹出 -4,iar.py中修复绝对路径的问题 -5,dfs_fs.h内增加dfs_mkfs()函数的申明 -6,生成MDK工程文件的时候加入library文件 -7,当PC不再接受数据的时候,重置VCOM相应的状态 -8,USB组件:返回正确的LangID字符串长度给HOST -9,Cortex-M0,Cortex-M3,Cortex-M4上下文切换时,回收系统初始化时用到的栈空间 +* 1锛屾柊澧炵粍浠跺垵濮嬪寲鍔熻兘 +- 璇︽儏璇风湅璁哄潧甯栧瓙[鏂板姛鑳絔 缁勪欢鍒濆鍖 +* 2锛屾敮鎸丄RM Cortex-R绯诲垪澶勭悊鍣 +- Grissiom 瀹屾垚 ARM Cortex-R 鐨勭Щ妞嶏紝鐩墠BSP涓凡鏈塗I RM48x50鍒嗘敮锛堜粎鏀寔TI CCS寮鍙戠幆澧冿級 +* 3锛屾枃浠剁郴缁熶腑鏂板 RAMFS +* 4锛屽姞鍏 log_trace 瀛愮郴缁 +* 5锛屼紭鍖朇ortex-M4绾跨▼涓婁笅鏂囧垏鎹紝浣跨敤浜嗘诞鐐硅繍绠楃殑绾跨▼鎵嶄繚瀛樺強鎭㈠FPU瀵勫瓨鍣 +- 璇︽儏璇风湅璁哄潧甯栧瓙[浼樺寲]cortex-m4f绾跨▼鍒囨崲锛屼紭鍖朏PU瀵勫瓨鍣 +* 6锛屾柊澧濧PI rt_memheap_realloc() +* 7锛岄噸鏂板疄鐜皉ingbuffer锛岄噰鐢ㄩ暅鍍忕殑鏂规硶鍖哄垎鈥滄弧鈥濆拰鈥滅┖鈥濓紝鍚屾椂鏀寔浠绘剰澶у皬鐨刡uffer +* 8锛屽唴鏍镐腑鍔犲叆RT_KERNEL_MALLOC/RT_KERNEL_FREE/RT_KERNEL_REALLOC瀹忋 +濡傛灉鐢ㄦ埛鏈畾涔夎繖浜涘畯锛屽皢榛樿鎸囧悜rt_malloc/rt_free/rt_realloc銆 +鍚屾椂鍐呮牳浠呭眬闄愪簬浣跨敤杩欎簺瀹忔潵浣跨敤鍔ㄦ佸唴瀛 +* 9锛屽湪 building.py 涓柊澧炵敓鎴 cscope database 鐨勯夐」 +* 10锛孶SB缁勪欢鏂板reset鍑芥暟锛屾敮鎸佺儹鎻掓嫈 +* 11锛宻cons缂栬瘧绯荤粺鏀寔CCS寮鍙戠幆澧 +* 12锛孶SB缁勪欢鏂板鐘舵佷俊鎭紙USB_STATE_NOTATTACHED锛孶SB_STATE_ATTACHED锛孶SB_STATE_POWERED...锛 + +淇闂鐐癸細 + +* 1锛孶SB缁勪欢HOST鍙互鎸傝捣endpoints +* 2锛宻imulator鍒嗘敮锛屼慨澶 serial_write 闂 +* 3锛寀disk鍙互琚脊鍑 +* 4锛宨ar.py涓慨澶嶇粷瀵硅矾寰勭殑闂 +* 5锛宒fs_fs.h鍐呭鍔燿fs_mkfs()鍑芥暟鐨勭敵鏄 +* 6锛岀敓鎴怣DK宸ョ▼鏂囦欢鐨勬椂鍊欏姞鍏ibrary鏂囦欢 +* 7锛屽綋PC涓嶅啀鎺ュ彈鏁版嵁鐨勬椂鍊欙紝閲嶇疆VCOM鐩稿簲鐨勭姸鎬 +* 8锛孶SB缁勪欢锛氳繑鍥炴纭殑LangID瀛楃涓查暱搴︾粰HOST +* 9锛孋ortex-M0锛孋ortex-M3锛孋ortex-M4涓婁笅鏂囧垏鎹㈡椂锛屽洖鏀剁郴缁熷垵濮嬪寲鏃剁敤鍒扮殑鏍堢┖闂 //---------------------------------------------------------------------------------------- -//---------------------------------------------------------------------------------------- + //---------------------------------------------------------------------------------------- -版本: RT-Thread 1.2.0 Alpha版本 -发布时间: 2013/4/10 +//---------------------------------------------------------------------------------------- + + + +鐗堟湰: RT-Thread 1.2.0 Alpha鐗堟湰 + +鍙戝竷鏃堕棿: 2013/4/10 -遵循2013年RT-Thread roadmap,RT-Thread 1.2.0 Alpha版本发布,Alpha意味着此版本为技术预览版,仅用于展示RT-Thread 1.2.0未来的发展方向,并不适合于开发正式产品。RT-Thread 1.2.0版本是1.1.x系列的下一个分支,这个分支主要体现的是RT-Thread 1.x系列的文档情况。当然也有一些功能、代码方面的增强。 +閬靛惊2013骞碦T-Thread roadmap锛孯T-Thread 1.2.0 Alpha鐗堟湰鍙戝竷锛孉lpha鎰忓懗鐫姝ょ増鏈负鎶鏈瑙堢増锛屼粎鐢ㄤ簬灞曠ずRT-Thread 1.2.0鏈潵鐨勫彂灞曟柟鍚戯紝骞朵笉閫傚悎浜庡紑鍙戞寮忎骇鍝併俁T-Thread 1.2.0鐗堟湰鏄1.1.x绯诲垪鐨勪笅涓涓垎鏀紝杩欎釜鍒嗘敮涓昏浣撶幇鐨勬槸RT-Thread 1.x绯诲垪鐨勬枃妗f儏鍐点傚綋鐒朵篃鏈変竴浜涘姛鑳姐佷唬鐮佹柟闈㈢殑澧炲己銆 -伴随着新版本的到来,RT-Thread有几个重大的转变: -1,代码托管从google code(SVN)迁移到github(GIT) -2,RT-Thread与RTGUI区分开来,并成为两个独立的开发分支 -3,重视文档,将文档建设作为1.2.0版本的首要任务来抓 +浼撮殢鐫鏂扮増鏈殑鍒版潵锛孯T-Thread鏈夊嚑涓噸澶х殑杞彉锛 +1锛屼唬鐮佹墭绠′粠google code(SVN)杩佺Щ鍒癵ithub(GIT) +2锛孯T-Thread涓嶳TGUI鍖哄垎寮鏉ワ紝骞舵垚涓轰袱涓嫭绔嬬殑寮鍙戝垎鏀 +3锛岄噸瑙嗘枃妗o紝灏嗘枃妗e缓璁句綔涓1.2.0鐗堟湰鐨勯瑕佷换鍔℃潵鎶 -内核主要变化: -1,加入__rt_ffs函数用于实现32位整数中获取第一个置1的位;同时调度器中位图相关算法直接使用__rt_ffs函数;CPU移植时,可定义RT_USING_CPU_FFS,使用芯片指令完成。 +鍐呮牳涓昏鍙樺寲锛 +1锛屽姞鍏_rt_ffs鍑芥暟鐢ㄤ簬瀹炵幇32浣嶆暣鏁颁腑鑾峰彇绗竴涓疆1鐨勪綅锛涘悓鏃惰皟搴﹀櫒涓綅鍥剧浉鍏崇畻娉曠洿鎺ヤ娇鐢╛_rt_ffs鍑芥暟锛汣PU绉绘鏃讹紝鍙畾涔塕T_USING_CPU_FFS锛屼娇鐢ㄨ姱鐗囨寚浠ゅ畬鎴愩 -2,新的中断注册机制 -weety加入interrupt description功能,用于为interrupt增加更多的信息,同时中断服务例程也可以携带用户自定义的参数类型。 -* 这部分对ARM7、ARM9、MIPS等影响很大,需要对CPU移植做相应的一些修改。 -* 这部分对ARM Cortex-M系列芯片没有影响。 +2锛屾柊鐨勪腑鏂敞鍐屾満鍒 +weety鍔犲叆interrupt description鍔熻兘锛岀敤浜庝负interrupt澧炲姞鏇村鐨勪俊鎭紝鍚屾椂涓柇鏈嶅姟渚嬬▼涔熷彲浠ユ惡甯︾敤鎴疯嚜瀹氫箟鐨勫弬鏁扮被鍨嬨 +* 杩欓儴鍒嗗ARM7銆丄RM9銆丮IPS绛夊奖鍝嶅緢澶э紝闇瑕佸CPU绉绘鍋氱浉搴旂殑涓浜涗慨鏀广 +* 杩欓儴鍒嗗ARM Cortex-M绯诲垪鑺墖娌℃湁褰卞搷銆 -3,调整定时器插入位置,为相同超时定时的后面。 +3锛岃皟鏁村畾鏃跺櫒鎻掑叆浣嶇疆锛屼负鐩稿悓瓒呮椂瀹氭椂鐨勫悗闈€ -组件主要变化: -1,添加lwIP 1.4.1。 -2,在finsh shell中加入module shell功能。finsh shell本身是一个C语言表达式的shell命令行,而module shell更类似于一个传统的命令行,由命令,参数等方式构成。 +缁勪欢涓昏鍙樺寲锛 +1锛屾坊鍔爈wIP 1.4.1銆 +2锛屽湪finsh shell涓姞鍏odule shell鍔熻兘銆俧insh shell鏈韩鏄竴涓狢璇█琛ㄨ揪寮忕殑shell鍛戒护琛岋紝鑰宮odule shell鏇寸被浼间簬涓涓紶缁熺殑鍛戒护琛岋紝鐢卞懡浠わ紝鍙傛暟绛夋柟寮忔瀯鎴愩 -分支主要变化: -1,完善simulator分支,支持RTGUI,支持应用模块。 -2,完善at91sam9260分支的移植及驱动更新。 +鍒嗘敮涓昏鍙樺寲锛 +1锛屽畬鍠剆imulator鍒嗘敮锛屾敮鎸丷TGUI锛屾敮鎸佸簲鐢ㄦā鍧椼 +2锛屽畬鍠刟t91sam9260鍒嗘敮鐨勭Щ妞嶅強椹卞姩鏇存柊銆 -编译系统主要变化: -1,开启省略编译时长命令特性,如果需要查看编译时命令行,可以使用scons --verbose查看。 -2,加入生成CodeBlocks工程特性。 -3,修正当系统安装使用Keil MDK 4.6+版本的问题。 +缂栬瘧绯荤粺涓昏鍙樺寲锛 +1锛屽紑鍚渷鐣ョ紪璇戞椂闀垮懡浠ょ壒鎬э紝濡傛灉闇瑕佹煡鐪嬬紪璇戞椂鍛戒护琛岋紝鍙互浣跨敤scons --verbose鏌ョ湅銆 +2锛屽姞鍏ョ敓鎴怌odeBlocks宸ョ▼鐗规с +3锛屼慨姝e綋绯荤粺瀹夎浣跨敤Keil MDK 4.6+鐗堟湰鐨勯棶棰樸 -github主要提交履历: -5646189b29: elm fatfs支持mkfs,并且无需提前执行dfs_mount; mount/umount/mkfs操作也不会引起reset -22786f8817: 允许用户自定义PID和VID -0001344105: 更明确的定时器运行机制,如果两个定时器在同一个时刻发生超时,那么先开始的定时器先处理 -5d68ef8ec1: 修正使用64位GCC时编译finsh过程中发生错误的问题 -a4d661dcf1: 修正dfs_elm.c中一处内存泄露,并且在mount fatfs失败时执行 umount fatfs操作 -43228aeb9c: 修正list_tcps问题:ipaddr_ntoa不是可重入的函数。 -3de4b92a68: 修正AT91SAM9260分支中PHY link状态错误的问题。 -1abaa0492d: 在kservice.c中增加__rt_ffs的实现。 -ec6f9e3b5a: 修正在dfs.c中一处空指正的问题。 -92d4c1939b: 修正at91sam9260分支上下文切换问题点,避免idle任务堆栈溢出。 -fb9ea5eada: 在at91sam9260分支中使能MMU,并且更新SDIO和EMAC驱动。 -009eccf640: 修正函数list()中错误使用strncpy的问题点。 -83751c63e3: 在dlopen.c中增加出错处理。 +github涓昏鎻愪氦灞ュ巻: +5646189b29: elm fatfs鏀寔mkfs锛屽苟涓旀棤闇鎻愬墠鎵цdfs_mount; mount/umount/mkfs鎿嶄綔涔熶笉浼氬紩璧穜eset +22786f8817: 鍏佽鐢ㄦ埛鑷畾涔塒ID鍜孷ID +0001344105: 鏇存槑纭殑瀹氭椂鍣ㄨ繍琛屾満鍒讹紝濡傛灉涓や釜瀹氭椂鍣ㄥ湪鍚屼竴涓椂鍒诲彂鐢熻秴鏃讹紝閭d箞鍏堝紑濮嬬殑瀹氭椂鍣ㄥ厛澶勭悊 +5d68ef8ec1: 淇浣跨敤64浣岹CC鏃剁紪璇慺insh杩囩▼涓彂鐢熼敊璇殑闂 +a4d661dcf1: 淇dfs_elm.c涓竴澶勫唴瀛樻硠闇诧紝骞朵笖鍦╩ount fatfs澶辫触鏃舵墽琛 umount fatfs鎿嶄綔 +43228aeb9c: 淇list_tcps闂锛歩paddr_ntoa涓嶆槸鍙噸鍏ョ殑鍑芥暟銆 +3de4b92a68: 淇AT91SAM9260鍒嗘敮涓璓HY link鐘舵侀敊璇殑闂銆 +1abaa0492d: 鍦╧service.c涓鍔燺_rt_ffs鐨勫疄鐜般 +ec6f9e3b5a: 淇鍦╠fs.c涓竴澶勭┖鎸囨鐨勯棶棰樸 +92d4c1939b: 淇at91sam9260鍒嗘敮涓婁笅鏂囧垏鎹㈤棶棰樼偣锛岄伩鍏峣dle浠诲姟鍫嗘爤婧㈠嚭銆 +fb9ea5eada: 鍦╝t91sam9260鍒嗘敮涓娇鑳組MU锛屽苟涓旀洿鏂癝DIO鍜孍MAC椹卞姩銆 +009eccf640: 淇鍑芥暟list()涓敊璇娇鐢╯trncpy鐨勯棶棰樼偣銆 +83751c63e3: 鍦╠lopen.c涓鍔犲嚭閿欏鐞嗐 //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread 1.1.1稳定版本 -发布时间: 2013/6/30 +鐗堟湰: RT-Thread 1.1.1绋冲畾鐗堟湰 +鍙戝竷鏃堕棿: 2013/6/30 -这个版本是一个基于RT-Thread 1.1.0正式版的bug修正版,相比于1.1.0版本,基本上没有添加什么新的功能,以下是修改记录: -内核: -* 修正timer激活时,插入队列顺序的问题; -* 内核中加入RT_KERNEL_MALLOC/RT_KERNEL_FREE/RT_KERNEL_REALLOC宏。如果用户未定义这些宏,将默认指向rt_malloc/rt_free/rt_realloc。同时内核仅局限于使用这些宏来使用动态内存; -* 加入Miscellaneous Device类型设备; -* 当未定义RT_USING_CONSOLE时,将把rt_kprintf置空以节省字符串占用空间; -* memheap对象加入rt_memheap_realloc函数接口; -* rt_exit_critical函数可以在调度器未启动时使用; -* keil工程文件生成中支持加入库文件; +杩欎釜鐗堟湰鏄竴涓熀浜嶳T-Thread 1.1.0姝e紡鐗堢殑bug淇鐗堬紝鐩告瘮浜1.1.0鐗堟湰锛屽熀鏈笂娌℃湁娣诲姞浠涔堟柊鐨勫姛鑳斤紝浠ヤ笅鏄慨鏀硅褰曪細 +鍐呮牳锛 +* 淇timer婵娲绘椂锛屾彃鍏ラ槦鍒楅『搴忕殑闂锛 +* 鍐呮牳涓姞鍏T_KERNEL_MALLOC/RT_KERNEL_FREE/RT_KERNEL_REALLOC瀹忋傚鏋滅敤鎴锋湭瀹氫箟杩欎簺瀹忥紝灏嗛粯璁ゆ寚鍚憆t_malloc/rt_free/rt_realloc銆傚悓鏃跺唴鏍镐粎灞闄愪簬浣跨敤杩欎簺瀹忔潵浣跨敤鍔ㄦ佸唴瀛橈紱 +* 鍔犲叆Miscellaneous Device绫诲瀷璁惧锛 +* 褰撴湭瀹氫箟RT_USING_CONSOLE鏃讹紝灏嗘妸rt_kprintf缃┖浠ヨ妭鐪佸瓧绗︿覆鍗犵敤绌洪棿锛 +* memheap瀵硅薄鍔犲叆rt_memheap_realloc鍑芥暟鎺ュ彛锛 +* rt_exit_critical鍑芥暟鍙互鍦ㄨ皟搴﹀櫒鏈惎鍔ㄦ椂浣跨敤锛 +* keil宸ョ▼鏂囦欢鐢熸垚涓敮鎸佸姞鍏ュ簱鏂囦欢锛 -组件: -* 修正lwIP 1.4.0中ipv4/ip.c中IP_ACCEPT_LINK_LAYER_ADDRESSED_PORT宏定义错误的问题; -* 加入RAMFS,内存文件系统; -* 统一working目录特性不支持的字符串位置; -* DFS中加入内存分配失败的保护; -* DFS中df输出更多有意义的信息; +缁勪欢锛 +* 淇lwIP 1.4.0涓璱pv4/ip.c涓璉P_ACCEPT_LINK_LAYER_ADDRESSED_PORT瀹忓畾涔夐敊璇殑闂锛 +* 鍔犲叆RAMFS锛屽唴瀛樻枃浠剁郴缁燂紱 +* 缁熶竴working鐩綍鐗规т笉鏀寔鐨勫瓧绗︿覆浣嶇疆锛 +* DFS涓姞鍏ュ唴瀛樺垎閰嶅け璐ョ殑淇濇姢锛 +* DFS涓璬f杈撳嚭鏇村鏈夋剰涔夌殑淇℃伅锛 -分支: -* lm3s8962/lm3s9b9x 增加EMAC驱动在接收时,如果内存不够,(丢弃数据包)并重新打开EMAC中断; +鍒嗘敮锛 +* lm3s8962/lm3s9b9x 澧炲姞EMAC椹卞姩鍦ㄦ帴鏀舵椂锛屽鏋滃唴瀛樹笉澶燂紝锛堜涪寮冩暟鎹寘锛夊苟閲嶆柊鎵撳紑EMAC涓柇锛 //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread 1.1.0 正式版发布 -发布时间: 2012/12/31 +鐗堟湰: RT-Thread 1.1.0 姝e紡鐗堝彂甯 +鍙戝竷鏃堕棿: 2012/12/31 -2012年玛雅人预言的世界末日没有到来,但是我们的 RT-Thread 1.1.0 正式版却如约而至。 +2012骞寸帥闆呬汉棰勮█鐨勪笘鐣屾湯鏃ユ病鏈夊埌鏉ワ紝浣嗘槸鎴戜滑鐨 RT-Thread 1.1.0 姝e紡鐗堝嵈濡傜害鑰岃嚦銆 -看看 1.1.0 突出的更改及改进情况,首先 1.1.0 版本是 1.0.x 系列的一个升级版本,并未包括实质性、大的改动,改动主要体现在: -内核:强化应用模块。通过 1.1.0 开发时主要使用的平台:ART、realtouch-stm32f4,对应用模块进行相应的修正,并真正的在 Cortex-M 系列上使用起来。 +鐪嬬湅 1.1.0 绐佸嚭鐨勬洿鏀瑰強鏀硅繘鎯呭喌锛岄鍏 1.1.0 鐗堟湰鏄 1.0.x 绯诲垪鐨勪竴涓崌绾х増鏈紝骞舵湭鍖呮嫭瀹炶川鎬с佸ぇ鐨勬敼鍔紝鏀瑰姩涓昏浣撶幇鍦細 +鍐呮牳锛氬己鍖栧簲鐢ㄦā鍧椼傞氳繃 1.1.0 寮鍙戞椂涓昏浣跨敤鐨勫钩鍙帮細ART銆乺ealtouch-stm32f4锛屽搴旂敤妯″潡杩涜鐩稿簲鐨勪慨姝o紝骞剁湡姝g殑鍦 Cortex-M 绯诲垪涓婁娇鐢ㄨ捣鏉ャ -驱动框架:这部分是 1.1.0 分支所主要新增的部分,包括: +椹卞姩妗嗘灦锛氳繖閮ㄥ垎鏄 1.1.0 鍒嗘敮鎵涓昏鏂板鐨勯儴鍒嗭紝鍖呮嫭锛 =>USB device/host stack; -=>SDIO 框架(支持 SDIO 设备、SD/MMC 设备) -=>SPI BUS,IIC device; -=>WDT、RTC 等设备; -=>MTD NOR 及 Nand 设备; +=>SDIO 妗嗘灦锛堟敮鎸 SDIO 璁惧銆丼D/MMC 璁惧锛 +=>SPI BUS锛孖IC device锛 +=>WDT銆丷TC 绛夎澶囷紱 +=>MTD NOR 鍙 Nand 璁惧锛 -文件系统部分也有显著的更改:由 prife 移植了 JFFS2、UFFS 以及 YAFFS2。这部分已经比国外的 ecos、RTEMS 支持更广泛。 -YiHui 加入并验证了 LUA 脚本的功能。 -prife 新增了全面的 Windows Simulator 的分支,并把内核,shell,各个文件系统,TCP/IP 以及 GUI 组件都运行通过。 -现在虽然已经出了 1.1.0 RC 版本,但在 1.1.0 正式版出来前,还会新加一个功能:scons 前端工具。 -这个增加的是工具部分,对 RT-Thread 代码的修改尽量少,它主要通过使用图形界面的方式来动态生成 RT-Thread 的各个工程文件,当然也包括编译功能。目的是方便于(新)用户使用,而不是直接面对命令行(命令行模式还会保留,以方便例如 RT-Thread 开发人员这样的尽情进行 Hacking)。 -以上摘录自《写在 RT-Thread 1.1.0 发布之前》 +鏂囦欢绯荤粺閮ㄥ垎涔熸湁鏄捐憲鐨勬洿鏀癸細鐢 prife 绉绘浜 JFFS2銆乁FFS 浠ュ強 YAFFS2銆傝繖閮ㄥ垎宸茬粡姣斿浗澶栫殑 ecos銆丷TEMS 鏀寔鏇村箍娉涖 +YiHui 鍔犲叆骞堕獙璇佷簡 LUA 鑴氭湰鐨勫姛鑳姐 +prife 鏂板浜嗗叏闈㈢殑 Windows Simulator 鐨勫垎鏀紝骞舵妸鍐呮牳锛宻hell锛屽悇涓枃浠剁郴缁燂紝TCP/IP 浠ュ強 GUI 缁勪欢閮借繍琛岄氳繃銆 +鐜板湪铏界劧宸茬粡鍑轰簡 1.1.0 RC 鐗堟湰锛屼絾鍦 1.1.0 姝e紡鐗堝嚭鏉ュ墠锛岃繕浼氭柊鍔犱竴涓姛鑳斤細scons 鍓嶇宸ュ叿銆 +杩欎釜澧炲姞鐨勬槸宸ュ叿閮ㄥ垎锛屽 RT-Thread 浠g爜鐨勪慨鏀瑰敖閲忓皯锛屽畠涓昏閫氳繃浣跨敤鍥惧舰鐣岄潰鐨勬柟寮忔潵鍔ㄦ佺敓鎴 RT-Thread 鐨勫悇涓伐绋嬫枃浠讹紝褰撶劧涔熷寘鎷紪璇戝姛鑳姐傜洰鐨勬槸鏂逛究浜庯紙鏂帮級鐢ㄦ埛浣跨敤锛岃屼笉鏄洿鎺ラ潰瀵瑰懡浠よ锛堝懡浠よ妯″紡杩樹細淇濈暀锛屼互鏂逛究渚嬪 RT-Thread 寮鍙戜汉鍛樿繖鏍风殑灏芥儏杩涜 Hacking锛夈 +浠ヤ笂鎽樺綍鑷婂啓鍦 RT-Thread 1.1.0 鍙戝竷涔嬪墠銆 -新版的 RTGUI 仍需要完善,此次 1.1.0 正式版本中暂不包括,之后会有单独的 RTGUI 版本发布。 -想获取更多 RTGUI 信息的同学,请关注 https://github.com/RT-Thread/RTGUI +鏂扮増鐨 RTGUI 浠嶉渶瑕佸畬鍠勶紝姝ゆ 1.1.0 姝e紡鐗堟湰涓殏涓嶅寘鎷紝涔嬪悗浼氭湁鍗曠嫭鐨 RTGUI 鐗堟湰鍙戝竷銆 +鎯宠幏鍙栨洿澶 RTGUI 淇℃伅鐨勫悓瀛︼紝璇峰叧娉 https://github.com/RT-Thread/RTGUI -以下是自 RT-Thread 1.1.0 RC 版本发布后,详细的更新内容: -内核: +浠ヤ笅鏄嚜 RT-Thread 1.1.0 RC 鐗堟湰鍙戝竷鍚庯紝璇︾粏鐨勬洿鏂板唴瀹癸細 +鍐呮牳锛 ===== -- 在设备注册时增加设备检查步骤 -- 在 kservice.c 中修正一处未定义 compiler 时的编译错误 -- 在 memheap.c 中增加对 heap object 的互斥操作 -- 重新定义宏 RT_NULL 由 ((void*)0) 变更为 0 -- 在 module.c 中使用 RT_DEBUG_LOG 代替 rt_kprintf -- 应用模块中删除 rt_current_module -- 应用模块中用户可以使用 rt_module_unload() 来卸载一个模块 -- 修正函数 clock_time_system_init() 中对变量 _timevalue.tv_usec 初始化错误的问题点 -- 软件定时器中修正 next timeout 处理错误的问题点 -- 函数 rt_kprintf() 中修正一处由 Grissiom 发现的 BUG -- 修正函数 rt_components_init() 中对 pthread 初始化问题点 -- device.c 中,如果设备不存在则返回 RT_EOK +- 鍦ㄨ澶囨敞鍐屾椂澧炲姞璁惧妫鏌ユ楠 +- 鍦 kservice.c 涓慨姝d竴澶勬湭瀹氫箟 compiler 鏃剁殑缂栬瘧閿欒 +- 鍦 memheap.c 涓鍔犲 heap object 鐨勪簰鏂ユ搷浣 +- 閲嶆柊瀹氫箟瀹 RT_NULL 鐢 ((void*)0) 鍙樻洿涓 0 +- 鍦 module.c 涓娇鐢 RT_DEBUG_LOG 浠f浛 rt_kprintf +- 搴旂敤妯″潡涓垹闄 rt_current_module +- 搴旂敤妯″潡涓敤鎴峰彲浠ヤ娇鐢 rt_module_unload() 鏉ュ嵏杞戒竴涓ā鍧 +- 淇鍑芥暟 clock_time_system_init() 涓鍙橀噺 _timevalue.tv_usec 鍒濆鍖栭敊璇殑闂鐐 +- 杞欢瀹氭椂鍣ㄤ腑淇 next timeout 澶勭悊閿欒鐨勯棶棰樼偣 +- 鍑芥暟 rt_kprintf() 涓慨姝d竴澶勭敱 Grissiom 鍙戠幇鐨 BUG +- 淇鍑芥暟 rt_components_init() 涓 pthread 鍒濆鍖栭棶棰樼偣 +- device.c 涓紝濡傛灉璁惧涓嶅瓨鍦ㄥ垯杩斿洖 RT_EOK -文件系统: +鏂囦欢绯荤粺锛 ========= -- 完善 jffs2 移植,支持 GCC 编译器(使用 NEWLIB) -- 修正函数 dfs_unmount() 中存在的一处 BUG -- 修正函数 dfs_uffs_seek() 中存在的一处 BUG -- 修正 DFS 中 O_APPEND 和 lseek 问题点 -- 在 DFS 中增加对 dfs_fd 的合法性检查 -- 修正 uffs 中未初始化所有设备操作函数 -- 更新 uffs,支持 MTD 接口 -- 增加 DFS_NFS_MAX_MTU 选项,修复读写 NFS 时包长度超过1个 mtu 长度的 bug -- 修复 NFS 中 seek 的一处 BUG -- 修复向 NFS server 上创建文件/目录时路径和权限的 BUG +- 瀹屽杽 jffs2 绉绘锛屾敮鎸 GCC 缂栬瘧鍣紙浣跨敤 NEWLIB锛 +- 淇鍑芥暟 dfs_unmount() 涓瓨鍦ㄧ殑涓澶 BUG +- 淇鍑芥暟 dfs_uffs_seek() 涓瓨鍦ㄧ殑涓澶 BUG +- 淇 DFS 涓 O_APPEND 鍜 lseek 闂鐐 +- 鍦 DFS 涓鍔犲 dfs_fd 鐨勫悎娉曟ф鏌 +- 淇 uffs 涓湭鍒濆鍖栨墍鏈夎澶囨搷浣滃嚱鏁 +- 鏇存柊 uffs锛屾敮鎸 MTD 鎺ュ彛 +- 澧炲姞 DFS_NFS_MAX_MTU 閫夐」锛屼慨澶嶈鍐 NFS 鏃跺寘闀垮害瓒呰繃1涓 mtu 闀垮害鐨 bug +- 淇 NFS 涓 seek 鐨勪竴澶 BUG +- 淇鍚 NFS server 涓婂垱寤烘枃浠/鐩綍鏃惰矾寰勫拰鏉冮檺鐨 BUG -组件: +缁勪欢锛 ===== -- 加入 LUA 脚本的功能 -- finsh 组件中完善对 win32 移植分支的支持 -- 完善 USB device stack -- RTC 驱动框架中新增对 RTC alarm 的支持 -- 串口驱动框架中增加对 DMA 传输的支持 -- LwIP 组件中增加对 MSC 编译器的支持 -- LwIP 组件中增加 RT_LWIP_ALIGN_SIZE 设置 -- 网络接口可以再 LwIP 初始化以后再进行初始化 -- minilibc 中增加更多的 errno -- newlib 中完善模块加载后的退出功能 -- 新增 RT_USING_MEMHEAP_AS_HEAP 功能,可以使用 memheap 作为系统默认的 memory heap +- 鍔犲叆 LUA 鑴氭湰鐨勫姛鑳 +- finsh 缁勪欢涓畬鍠勫 win32 绉绘鍒嗘敮鐨勬敮鎸 +- 瀹屽杽 USB device stack +- RTC 椹卞姩妗嗘灦涓柊澧炲 RTC alarm 鐨勬敮鎸 +- 涓插彛椹卞姩妗嗘灦涓鍔犲 DMA 浼犺緭鐨勬敮鎸 +- LwIP 缁勪欢涓鍔犲 MSC 缂栬瘧鍣ㄧ殑鏀寔 +- LwIP 缁勪欢涓鍔 RT_LWIP_ALIGN_SIZE 璁剧疆 +- 缃戠粶鎺ュ彛鍙互鍐 LwIP 鍒濆鍖栦互鍚庡啀杩涜鍒濆鍖 +- minilibc 涓鍔犳洿澶氱殑 errno +- newlib 涓畬鍠勬ā鍧楀姞杞藉悗鐨勯鍑哄姛鑳 +- 鏂板 RT_USING_MEMHEAP_AS_HEAP 鍔熻兘锛屽彲浠ヤ娇鐢 memheap 浣滀负绯荤粺榛樿鐨 memory heap -工具: +宸ュ叿锛 ===== -- 在 building.py 中支持自动生成 Visual Studio 工程 -- 新增 SConsUI 图形界面工具 +- 鍦 building.py 涓敮鎸佽嚜鍔ㄧ敓鎴 Visual Studio 宸ョ▼ +- 鏂板 SConsUI 鍥惧舰鐣岄潰宸ュ叿 -分支: +鍒嗘敮锛 ===== -- 新增 PPC405 分支 -- 新增 NXP LPC4330 分支 +- 鏂板 PPC405 鍒嗘敮 +- 鏂板 NXP LPC4330 鍒嗘敮 -- 新增 win32 的 simulator 分支 ---完善对编译环境 Visual Studio 2005 及以上版本的支持 ---支持 finsh ---支持 LWIP ---支持 jffs2,elm fatfs,uffs +- 鏂板 win32 鐨 simulator 鍒嗘敮 +--瀹屽杽瀵圭紪璇戠幆澧 Visual Studio 2005 鍙婁互涓婄増鏈殑鏀寔 +--鏀寔 finsh +--鏀寔 LWIP +--鏀寔 jffs2锛宔lm fatfs锛寀ffs -- mini2440 分支 --- 支持 SDHC +- mini2440 鍒嗘敮 +-- 鏀寔 SDHC -- efm32 分支 ---修正 ubuntu 下 GCC 编译的错误 +- efm32 鍒嗘敮 +--淇 ubuntu 涓 GCC 缂栬瘧鐨勯敊璇 -- sam7x 分支 ---修正使用Lwip后,编译错误的问题 +- sam7x 鍒嗘敮 +--淇浣跨敤Lwip鍚庯紝缂栬瘧閿欒鐨勯棶棰 -以下是此次版本发布时的测试环境: +浠ヤ笅鏄娆$増鏈彂甯冩椂鐨勬祴璇曠幆澧冿細 windows 7 ubuntu 10.04 LTS 64-bit python 2.7.3 @@ -465,88 +678,88 @@ IAR 6.30 MDK 4.53 arm-2011.09-69-arm-none-eabi.exe mips-2011.09-86-mips-sde-elf.exe -以下是 google code SVN 中自 RT-Thread 1.0.0 发布后的统计数据,感谢各位同学做出的努力,使得 RT-Thread 1.1.0 正式版顺利发布 +浠ヤ笅鏄 google code SVN 涓嚜 RT-Thread 1.0.0 鍙戝竷鍚庣殑缁熻鏁版嵁锛屾劅璋㈠悇浣嶅悓瀛﹀仛鍑虹殑鍔姏锛屼娇寰 RT-Thread 1.1.0 姝e紡鐗堥『鍒╁彂甯 //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread 1.1.0 RC -发布时间: 2012/10/12 +鐗堟湰: RT-Thread 1.1.0 RC +鍙戝竷鏃堕棿: 2012/10/12 -原计划在2012年9月30日发布的 RT-Thread 1.1.0 Beta2 版本变更为 RT-Thread 1.1.0 RC 现在发布了。 -RC 版本的发布意味着离 RT-Thread 1.1.0 正式版的发布已经不远了,在RC版本之后,将不再有新功能加入。欢迎大家测试,让我们一起迎接 RT-Thread 1.1.0 正式版的到来。 +鍘熻鍒掑湪2012骞9鏈30鏃ュ彂甯冪殑 RT-Thread 1.1.0 Beta2 鐗堟湰鍙樻洿涓 RT-Thread 1.1.0 RC 鐜板湪鍙戝竷浜嗐 +RC 鐗堟湰鐨勫彂甯冩剰鍛崇潃绂 RT-Thread 1.1.0 姝e紡鐗堢殑鍙戝竷宸茬粡涓嶈繙浜嗭紝鍦≧C鐗堟湰涔嬪悗锛屽皢涓嶅啀鏈夋柊鍔熻兘鍔犲叆銆傛杩庡ぇ瀹舵祴璇曪紝璁╂垜浠竴璧疯繋鎺 RT-Thread 1.1.0 姝e紡鐗堢殑鍒版潵銆 -此次发布主要是加入了 USB device stack;RTGUI 组件与 github 上的 RTGUI 开发分支保持同步; +姝ゆ鍙戝竷涓昏鏄姞鍏ヤ簡 USB device stack锛汻TGUI 缁勪欢涓 github 涓婄殑 RTGUI 寮鍙戝垎鏀繚鎸佸悓姝ワ紱 -以下是详细的更新内容: -内核: +浠ヤ笅鏄缁嗙殑鏇存柊鍐呭锛 +鍐呮牳锛 ===== -- 删除 rtm.c 文件 -- 修正 timer control 中 timer 标志设置错误的问题点 -- rtdef.h 中新增对 Microsoft Visual C++ 编译器的检查 -- 新增设备控制命令 RT_DEVICE_CTRL_BLK_SYNC -- 新增图形设备控制命令 RTGRAPHIC_CTRL_FILL_RECT 和 RTGRAPHIC_CTRL_DRAW_RECT -- 将模块的线程优先级从原来的 RT_THREAD_PRIORITY_MAX - 1 变为 RT_THREAD_PRIORITY_MAX - 2 -- module 中修正 section 拷贝问题点 -- module 中修正 模块删除失败的问题 +- 鍒犻櫎 rtm.c 鏂囦欢 +- 淇 timer control 涓 timer 鏍囧織璁剧疆閿欒鐨勯棶棰樼偣 +- rtdef.h 涓柊澧炲 Microsoft Visual C++ 缂栬瘧鍣ㄧ殑妫鏌 +- 鏂板璁惧鎺у埗鍛戒护 RT_DEVICE_CTRL_BLK_SYNC +- 鏂板鍥惧舰璁惧鎺у埗鍛戒护 RTGRAPHIC_CTRL_FILL_RECT 鍜 RTGRAPHIC_CTRL_DRAW_RECT +- 灏嗘ā鍧楃殑绾跨▼浼樺厛绾т粠鍘熸潵鐨 RT_THREAD_PRIORITY_MAX - 1 鍙樹负 RT_THREAD_PRIORITY_MAX - 2 +- module 涓慨姝 section 鎷疯礉闂鐐 +- module 涓慨姝 妯″潡鍒犻櫎澶辫触鐨勯棶棰 -文件系统: +鏂囦欢绯荤粺锛 ========= -- 修正 elm fatfs 中 f_seekdir 存在的问题 -- dfs_elm.c 中新增接口 ff_memalloc() 和 ff_memfree() -- 修正 dfs_elm.c 中函数 dfs_elm_open() 存在的内存泄露的问题 -- 修正 dfs_elm.c 中函数 dfs_elm_mount() 存在的未初始化的问题 -- 在函数 disk_ioctl() 中增加对 CTRL_SYNC 的处理 -- 新增 RT_DFS_ELM_CODE_PAGE 选项 -- DFS POSIX 中增加 O_BINARY 标志 -- 修正 ff.c 中函数 mem_cpy() 增加对字节未对齐的处理 +- 淇 elm fatfs 涓 f_seekdir 瀛樺湪鐨勯棶棰 +- dfs_elm.c 涓柊澧炴帴鍙 ff_memalloc() 鍜 ff_memfree() +- 淇 dfs_elm.c 涓嚱鏁 dfs_elm_open() 瀛樺湪鐨勫唴瀛樻硠闇茬殑闂 +- 淇 dfs_elm.c 涓嚱鏁 dfs_elm_mount() 瀛樺湪鐨勬湭鍒濆鍖栫殑闂 +- 鍦ㄥ嚱鏁 disk_ioctl() 涓鍔犲 CTRL_SYNC 鐨勫鐞 +- 鏂板 RT_DFS_ELM_CODE_PAGE 閫夐」 +- DFS POSIX 涓鍔 O_BINARY 鏍囧織 +- 淇 ff.c 涓嚱鏁 mem_cpy() 澧炲姞瀵瑰瓧鑺傛湭瀵归綈鐨勫鐞 -组件: +缁勪欢锛 ===== -- 新增 USB device stack -- components_init.c 重命名为 componets.c -- components_init.h 重命名为 componets.h -- 串口驱动框架中增加默认的 configuration -- 修正 serial.c 中函数rt_serial_control() 一处变量未初始化的问题 -- 删除函数 rt_ringbuffer_get_datasize() -- 新增 pipe 读,写,创建,销毁 API -- 新增 data queue 的实现 -- 修正 ring buffer 越界问题点 -- 修正函数 rt_spi_release_bus() 中断言判断错误的问题点 -- rtc.c 中 time() 函数增加 open 操作 -- MTD NAND 中新增 move_page 接口,添加mtd_nand成员oob_free,更改成员block_size为pages_per_block -- LWIP 中新增连接失败后关闭 sock 的操作 -- USB stack 中新增 ADK 协议的实现 -- LWIP 中函数 eth_device_init() 中当定义 LWIP_DHCP 时,设置 NETIF_FLAG_DHCP 标志;当定义 LWIP_IGMP 时,设置 NETIF_FLAG_IGMP 标志 -- minilibc 中新增接口 isspace() 和 atol() -- 删除了重复定义的 rt_list_entry +- 鏂板 USB device stack +- components_init.c 閲嶅懡鍚嶄负 componets.c +- components_init.h 閲嶅懡鍚嶄负 componets.h +- 涓插彛椹卞姩妗嗘灦涓鍔犻粯璁ょ殑 configuration +- 淇 serial.c 涓嚱鏁皉t_serial_control() 涓澶勫彉閲忔湭鍒濆鍖栫殑闂 +- 鍒犻櫎鍑芥暟 rt_ringbuffer_get_datasize() +- 鏂板 pipe 璇伙紝鍐欙紝鍒涘缓锛岄攢姣 API +- 鏂板 data queue 鐨勫疄鐜 +- 淇 ring buffer 瓒婄晫闂鐐 +- 淇鍑芥暟 rt_spi_release_bus() 涓柇瑷鍒ゆ柇閿欒鐨勯棶棰樼偣 +- rtc.c 涓 time() 鍑芥暟澧炲姞 open 鎿嶄綔 +- MTD NAND 涓柊澧 move_page 鎺ュ彛锛屾坊鍔爉td_nand鎴愬憳oob_free锛屾洿鏀规垚鍛榖lock_size涓簆ages_per_block +- LWIP 涓柊澧炶繛鎺ュけ璐ュ悗鍏抽棴 sock 鐨勬搷浣 +- USB stack 涓柊澧 ADK 鍗忚鐨勫疄鐜 +- LWIP 涓嚱鏁 eth_device_init() 涓綋瀹氫箟 LWIP_DHCP 鏃讹紝璁剧疆 NETIF_FLAG_DHCP 鏍囧織锛涘綋瀹氫箟 LWIP_IGMP 鏃讹紝璁剧疆 NETIF_FLAG_IGMP 鏍囧織 +- minilibc 涓柊澧炴帴鍙 isspace() 鍜 atol() +- 鍒犻櫎浜嗛噸澶嶅畾涔夌殑 rt_list_entry -工具: +宸ュ叿锛 ===== -- 在 building.py 中新增 MakeCopy(), GlobSubDir() 和 GetConfigValue() 函数 -- 新增 wizard.py - 自动生成 SConscript 的脚本 -- 增加 --copy-header 选项,拷贝 RT-Thread 头文件到本地 -- 修正 win32 系统中 GNU GCC 路径设置错误的问题点 -- 增加 remove_components 功能 +- 鍦 building.py 涓柊澧 MakeCopy(), GlobSubDir() 鍜 GetConfigValue() 鍑芥暟 +- 鏂板 wizard.py - 鑷姩鐢熸垚 SConscript 鐨勮剼鏈 +- 澧炲姞 --copy-header 閫夐」锛屾嫹璐 RT-Thread 澶存枃浠跺埌鏈湴 +- 淇 win32 绯荤粺涓 GNU GCC 璺緞璁剧疆閿欒鐨勯棶棰樼偣 +- 澧炲姞 remove_components 鍔熻兘 -分支: +鍒嗘敮锛 ===== -- m16c62p 分支 ---修正任务堆栈初始化时未设置任务返回地址的问题 +- m16c62p 鍒嗘敮 +--淇浠诲姟鍫嗘爤鍒濆鍖栨椂鏈缃换鍔¤繑鍥炲湴鍧鐨勯棶棰 -- upd70f3454 分支 ---修正任务堆栈初始化时未设置任务返回地址的问题 ---整理 BSP 目录结构,统一划分为 application 和 drivers 目录 ---支持 scons + IAR 编译 ---增加 IAR 工程模版 +- upd70f3454 鍒嗘敮 +--淇浠诲姟鍫嗘爤鍒濆鍖栨椂鏈缃换鍔¤繑鍥炲湴鍧鐨勯棶棰 +--鏁寸悊 BSP 鐩綍缁撴瀯锛岀粺涓鍒掑垎涓 application 鍜 drivers 鐩綍 +--鏀寔 scons + IAR 缂栬瘧 +--澧炲姞 IAR 宸ョ▼妯$増 - stm32f0x ---libcpu 移植代码中增加 r8 - r11 出栈,入栈操作 +--libcpu 绉绘浠g爜涓鍔 r8 - r11 鍑烘爤锛屽叆鏍堟搷浣 - mini2440 ---使用新的 RTGUI +--浣跨敤鏂扮殑 RTGUI -以下是此次版本发布时的测试环境: +浠ヤ笅鏄娆$増鏈彂甯冩椂鐨勬祴璇曠幆澧冿細 windows 7 ubuntu 10.04 LTS 64-bit python 2.7.3 @@ -559,100 +772,100 @@ mips-2011.09-86-mips-sde-elf.exe //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread 1.1.0 Beta1 -发布时间: 2012/6/30 -按照 2012 年 RT-Thread roadmap,经过各位同学的努力,RT-Thread 1.1.0 Beta1 版本按时发布了,此版本依然是技术预览版,展示 RT-Thread 未来的发展方向,但不适合用于产品开发。 -该版本主要是全面更新了 RTGUI 组件;加入了新的驱动框架(usb host, i2c,serial, rtc);组件中新增官方的 CMSIS 库;新增 Blackfin BF533 的移植,成为 RT-Thread 支持的第一个 DSP 分支。 +鐗堟湰: RT-Thread 1.1.0 Beta1 +鍙戝竷鏃堕棿: 2012/6/30 +鎸夌収 2012 骞 RT-Thread roadmap锛岀粡杩囧悇浣嶅悓瀛︾殑鍔姏锛孯T-Thread 1.1.0 Beta1 鐗堟湰鎸夋椂鍙戝竷浜嗭紝姝ょ増鏈緷鐒舵槸鎶鏈瑙堢増锛屽睍绀 RT-Thread 鏈潵鐨勫彂灞曟柟鍚戯紝浣嗕笉閫傚悎鐢ㄤ簬浜у搧寮鍙戙 +璇ョ増鏈富瑕佹槸鍏ㄩ潰鏇存柊浜 RTGUI 缁勪欢锛涘姞鍏ヤ簡鏂扮殑椹卞姩妗嗘灦锛坲sb host, i2c锛宻erial, rtc锛夛紱缁勪欢涓柊澧炲畼鏂圭殑 CMSIS 搴擄紱鏂板 Blackfin BF533 鐨勭Щ妞嶏紝鎴愪负 RT-Thread 鏀寔鐨勭涓涓 DSP 鍒嗘敮銆 -同时恭喜 prife 同学成为 RT-Thread DFS 虚拟文件系统组建维护人 +鍚屾椂鎭枩 prife 鍚屽鎴愪负 RT-Thread DFS 铏氭嫙鏂囦欢绯荤粺缁勫缓缁存姢浜 -以下是详细的更新内容: -内核: +浠ヤ笅鏄缁嗙殑鏇存柊鍐呭锛 +鍐呮牳锛 ===== -- 新增3个API:rt_timer_next_timeout_tick(), rt_timer_check(), rt_system_module_init() -- 修正 module 卸载的问题 -- 删除函数 rt_soft_timer_tick_increase() -- rt_object_is_systemobject() 返回类型变更为 rt_bool_t +- 鏂板3涓狝PI锛歳t_timer_next_timeout_tick(), rt_timer_check(), rt_system_module_init() +- 淇 module 鍗歌浇鐨勯棶棰 +- 鍒犻櫎鍑芥暟 rt_soft_timer_tick_increase() +- rt_object_is_systemobject() 杩斿洖绫诲瀷鍙樻洿涓 rt_bool_t -文件系统: +鏂囦欢绯荤粺锛 ========= -- 修正 fd 引用越界判断错误的问题 -- posix API 中,错误返回时设置正确的 errno +- 淇 fd 寮曠敤瓒婄晫鍒ゆ柇閿欒鐨勯棶棰 +- posix API 涓紝閿欒杩斿洖鏃惰缃纭殑 errno -组件: +缁勪欢锛 ========= -- 新增标准的 CMSIS 库,可供 ARM CORTEX 各分支使用,实现统一 -- 新增设备驱动框架(USB host,I2C,RTC,serial) -- 新增设备驱动的 IPC -- finsh 中新增 list_memheap 命令 -- finsh 中增加自动补全的功能 -- finsh 中增加行注释功能 -- finsh 中修正了由 Grissiom 发现的 finsh_var_delete() 中的问题 -- 组件初始化中增加 RTGUI 系统服务初始化函数 rtgui_system_server_init() -- minilibc 中解决了未定义 RT_USING_DEVICE 时,GCC 编译出错的问题 -- newlib 中解决了未定义 RT_USING_DEVICE 时,GCC 编译出错的问题 -- RTGUI 组件全面更新,与 RT-Thread 1.0.x 中的 RTGUI 不兼容 +- 鏂板鏍囧噯鐨 CMSIS 搴擄紝鍙緵 ARM CORTEX 鍚勫垎鏀娇鐢紝瀹炵幇缁熶竴 +- 鏂板璁惧椹卞姩妗嗘灦锛圲SB host锛孖2C锛孯TC锛宻erial锛 +- 鏂板璁惧椹卞姩鐨 IPC +- finsh 涓柊澧 list_memheap 鍛戒护 +- finsh 涓鍔犺嚜鍔ㄨˉ鍏ㄧ殑鍔熻兘 +- finsh 涓鍔犺娉ㄩ噴鍔熻兘 +- finsh 涓慨姝d簡鐢 Grissiom 鍙戠幇鐨 finsh_var_delete() 涓殑闂 +- 缁勪欢鍒濆鍖栦腑澧炲姞 RTGUI 绯荤粺鏈嶅姟鍒濆鍖栧嚱鏁 rtgui_system_server_init() +- minilibc 涓В鍐充簡鏈畾涔 RT_USING_DEVICE 鏃讹紝GCC 缂栬瘧鍑洪敊鐨勯棶棰 +- newlib 涓В鍐充簡鏈畾涔 RT_USING_DEVICE 鏃讹紝GCC 缂栬瘧鍑洪敊鐨勯棶棰 +- RTGUI 缁勪欢鍏ㄩ潰鏇存柊锛屼笌 RT-Thread 1.0.x 涓殑 RTGUI 涓嶅吋瀹 -分支: +鍒嗘敮锛 ===== -- 支持 Blackfin DSP 的移植,新增加 BF533 分支 -- 新增加 stm32f0x 分支 +- 鏀寔 Blackfin DSP 鐨勭Щ妞嶏紝鏂板鍔 BF533 鍒嗘敮 +- 鏂板鍔 stm32f0x 鍒嗘敮 -- at91sam9260 分支 ---新增 i2c 驱动 +- at91sam9260 鍒嗘敮 +--鏂板 i2c 椹卞姩 -- efm32 分支 ---新增 emu 驱动 ---更新 CMSIS 版本到 3.01 +- efm32 鍒嗘敮 +--鏂板 emu 椹卞姩 +--鏇存柊 CMSIS 鐗堟湰鍒 3.01 -- lpc176x 分支 ---rtconfig.h 中增加 CMSIS 选择项,选择使用 BSP 内的 CMSIS 或者是 RTT 组件中的 CMSIS ---更新 IAR 工程模版 ---修正 IAR 工程使用的 link 文件内容 +- lpc176x 鍒嗘敮 +--rtconfig.h 涓鍔 CMSIS 閫夋嫨椤癸紝閫夋嫨浣跨敤 BSP 鍐呯殑 CMSIS 鎴栬呮槸 RTT 缁勪欢涓殑 CMSIS +--鏇存柊 IAR 宸ョ▼妯$増 +--淇 IAR 宸ョ▼浣跨敤鐨 link 鏂囦欢鍐呭 -- lpc178x 分支 ---修正 GCC 编译错误的问题 ---配合 RTGUI 的更新,在 application.c 中作相应的调整 +- lpc178x 鍒嗘敮 +--淇 GCC 缂栬瘧閿欒鐨勯棶棰 +--閰嶅悎 RTGUI 鐨勬洿鏂帮紝鍦 application.c 涓綔鐩稿簲鐨勮皟鏁 - ls1bdev ---规范移植分支目录结构,分为 applications 和 drivers 两个目录 ---调整 rtconfig.h,支持 eclipse 的可视化配置 +--瑙勮寖绉绘鍒嗘敮鐩綍缁撴瀯锛屽垎涓 applications 鍜 drivers 涓や釜鐩綍 +--璋冩暣 rtconfig.h锛屾敮鎸 eclipse 鐨勫彲瑙嗗寲閰嶇疆 -- m16c62p 分支 ---规范移植分支目录结构,分为 applications 和 drivers 两个目录 ---增加 IAR 工程模版 +- m16c62p 鍒嗘敮 +--瑙勮寖绉绘鍒嗘敮鐩綍缁撴瀯锛屽垎涓 applications 鍜 drivers 涓や釜鐩綍 +--澧炲姞 IAR 宸ョ▼妯$増 -- mb9bf500r 分支 ---配合 RTGUI 的更新,在 application.c 中作相应的调整 +- mb9bf500r 鍒嗘敮 +--閰嶅悎 RTGUI 鐨勬洿鏂帮紝鍦 application.c 涓綔鐩稿簲鐨勮皟鏁 -- mb9bf506r 分支 ---rtconfig.h 中增加 CMSIS 选择项,选择使用 BSP 内的 CMSIS 或者是 RTT 组件中的 CMSIS ---规范移植分支目录结构,分为 applications 和 drivers 两个目录 +- mb9bf506r 鍒嗘敮 +--rtconfig.h 涓鍔 CMSIS 閫夋嫨椤癸紝閫夋嫨浣跨敤 BSP 鍐呯殑 CMSIS 鎴栬呮槸 RTT 缁勪欢涓殑 CMSIS +--瑙勮寖绉绘鍒嗘敮鐩綍缁撴瀯锛屽垎涓 applications 鍜 drivers 涓や釜鐩綍 -- mini2440 分支 ---更新 keil project ---修正 mini2440 移植中,上下文切换时的 bug,由 yuxun2k 提交补丁 ---配合 RTGUI 的更新,在 application.c 中作相应的调整 ---配合 RTGUI 的更新,在 calibration.c 中作相应的调整 +- mini2440 鍒嗘敮 +--鏇存柊 keil project +--淇 mini2440 绉绘涓紝涓婁笅鏂囧垏鎹㈡椂鐨 bug锛岀敱 yuxun2k 鎻愪氦琛ヤ竵 +--閰嶅悎 RTGUI 鐨勬洿鏂帮紝鍦 application.c 涓綔鐩稿簲鐨勮皟鏁 +--閰嶅悎 RTGUI 鐨勬洿鏂帮紝鍦 calibration.c 涓綔鐩稿簲鐨勮皟鏁 -- mini4020 分支 ---规范移植分支目录结构,分为 applications 和 drivers 两个目录 +- mini4020 鍒嗘敮 +--瑙勮寖绉绘鍒嗘敮鐩綍缁撴瀯锛屽垎涓 applications 鍜 drivers 涓や釜鐩綍 -- sam7x 分支 ---规范移植分支目录结构,分为 applications 和 drivers 两个目录 +- sam7x 鍒嗘敮 +--瑙勮寖绉绘鍒嗘敮鐩綍缁撴瀯锛屽垎涓 applications 鍜 drivers 涓や釜鐩綍 -- stm32f10x 分支 ---rtconfig.h 中增加 CMSIS 选择项,选择使用 BSP 内的 CMSIS 或者是 RTT 组件中的 CMSIS ---配合 RTGUI 的更新,在 application.c 中作相应的调整 ---增加 IAR 工程模板 +- stm32f10x 鍒嗘敮 +--rtconfig.h 涓鍔 CMSIS 閫夋嫨椤癸紝閫夋嫨浣跨敤 BSP 鍐呯殑 CMSIS 鎴栬呮槸 RTT 缁勪欢涓殑 CMSIS +--閰嶅悎 RTGUI 鐨勬洿鏂帮紝鍦 application.c 涓綔鐩稿簲鐨勮皟鏁 +--澧炲姞 IAR 宸ョ▼妯℃澘 -- stm32f20x 分支 ---规范移植分支目录结构,分为 applications 和 drivers 两个目录 +- stm32f20x 鍒嗘敮 +--瑙勮寖绉绘鍒嗘敮鐩綍缁撴瀯锛屽垎涓 applications 鍜 drivers 涓や釜鐩綍 -- stm32f107 分支 ---rtconfig.h 中增加 CMSIS 选择项,选择使用 BSP 内的 CMSIS 或者是 RTT 组件中的 CMSIS +- stm32f107 鍒嗘敮 +--rtconfig.h 涓鍔 CMSIS 閫夋嫨椤癸紝閫夋嫨浣跨敤 BSP 鍐呯殑 CMSIS 鎴栬呮槸 RTT 缁勪欢涓殑 CMSIS -以下是此次版本发布时的测试环境: +浠ヤ笅鏄娆$増鏈彂甯冩椂鐨勬祴璇曠幆澧冿細 windows 7 python 2.7.3 scons 2.1.0 @@ -663,717 +876,717 @@ mips-2011.09-86-mips-sde-elf.exe //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread 1.1.0 Alpha -发布时间: 2012/4/16 +鐗堟湰: RT-Thread 1.1.0 Alpha +鍙戝竷鏃堕棿:銆2012/4/16 -按照 2012 年 RT-Thread roadmap,RT-Thread 1.1.0 Alpha 版本发布,此版本为技术预览版,展示 RT-Thread 未来的发展方向,但不适合用于产品开发,此版本主要是新增了组件初始化模块,加入了新的驱动框架(SPI,SDIO),新增 jffs2,yaffs2 文件系统的移植,eclipse 可视化配置 rtconfig.h 选项,具体的更新内容如下: -内核: +鎸夌収 2012 骞 RT-Thread roadmap锛孯T-Thread 1.1.0 Alpha 鐗堟湰鍙戝竷锛屾鐗堟湰涓烘妧鏈瑙堢増锛屽睍绀 RT-Thread 鏈潵鐨勫彂灞曟柟鍚戯紝浣嗕笉閫傚悎鐢ㄤ簬浜у搧寮鍙戯紝姝ょ増鏈富瑕佹槸鏂板浜嗙粍浠跺垵濮嬪寲妯″潡锛屽姞鍏ヤ簡鏂扮殑椹卞姩妗嗘灦锛圫PI锛孲DIO锛夛紝鏂板 jffs2锛寉affs2 鏂囦欢绯荤粺鐨勭Щ妞嶏紝eclipse 鍙鍖栭厤缃 rtconfig.h 閫夐」锛屽叿浣撶殑鏇存柊鍐呭濡備笅锛 +鍐呮牳锛 ===== -- 完成components init模块,通过 API rt_componets_init(void),统一组建初始化流程,参考 lpc176x -- src/kservice.h 移动并重命名为 include/rtservice.h -- 新增rt_malloc_align/rt_free_align接口用于分配、释放对齐的内存 -- 打开kservice.c中的RT_PRINTF_PRECISION宏以支持rt_kprintf中的带精度格式输出 -- 新增 memheap用于在额外连续内存块上构建一个内存堆,提供新API rt_memheap_init(),rt_memheap_detach(),rt_memheap_alloc(),rt_memheap_free() -- 修正函数 rt_mp_init() 和 rt_mp_create() 中内存对齐的问题 -- finsh/cmd.c 中删除函数 rt_list_isempty(),统一使用 rtservice.h -- 修正动态加载模块 module.c 中 module unload 问题 -- 新增宏 RTTHREAD_VERSION,版本1.1.0的格式是10100 -- minilibc/stdint.h 中,新增 int64_t 和 uint64_t -- 1.1.0 版本后弃用函数 rt_system_tick_init() -- 新增 buildbot 模块,实现批量编译 scons 工程 +- 瀹屾垚components init妯″潡锛岄氳繃 API rt_componets_init(void)锛岀粺涓缁勫缓鍒濆鍖栨祦绋嬶紝鍙傝 lpc176x +- src/kservice.h 绉诲姩骞堕噸鍛藉悕涓 include/rtservice.h +- 鏂板rt_malloc_align/rt_free_align鎺ュ彛鐢ㄤ簬鍒嗛厤銆侀噴鏀惧榻愮殑鍐呭瓨 +- 鎵撳紑kservice.c涓殑RT_PRINTF_PRECISION瀹忎互鏀寔rt_kprintf涓殑甯︾簿搴︽牸寮忚緭鍑 +- 鏂板 memheap鐢ㄤ簬鍦ㄩ澶栬繛缁唴瀛樺潡涓婃瀯寤轰竴涓唴瀛樺爢锛屾彁渚涙柊API rt_memheap_init()锛宺t_memheap_detach()锛宺t_memheap_alloc()锛宺t_memheap_free() +- 淇鍑芥暟 rt_mp_init() 鍜 rt_mp_create() 涓唴瀛樺榻愮殑闂 +- finsh/cmd.c 涓垹闄ゅ嚱鏁 rt_list_isempty()锛岀粺涓浣跨敤 rtservice.h +- 淇鍔ㄦ佸姞杞芥ā鍧 module.c 涓 module unload 闂 +- 鏂板瀹 RTTHREAD_VERSION锛岀増鏈1.1.0鐨勬牸寮忔槸10100 +- minilibc/stdint.h 涓紝鏂板 int64_t 鍜 uint64_t +- 1.1.0 鐗堟湰鍚庡純鐢ㄥ嚱鏁 rt_system_tick_init() +- 鏂板 buildbot 妯″潡锛屽疄鐜版壒閲忕紪璇 scons 宸ョ▼ -- 新的 DeviceDriver 框架: -* SPI BUS及SPI Device -* SD卡及面向非存储类型的SDIO卡 -* MTD Nand设备及MTD NorFlash设备 +- 鏂扮殑 DeviceDriver 妗嗘灦锛 +* SPI BUS鍙奡PI Device +* SD鍗″強闈㈠悜闈炲瓨鍌ㄧ被鍨嬬殑SDIO鍗 +* MTD Nand璁惧鍙奙TD NorFlash璁惧 -文件系统: +鏂囦欢绯荤粺锛 ========= -- 新增 jffs2 文件系统移植 -- 新增 yaffs2 文件系统移植 -- 更新 uffs 到最新版本,并使用MTD Nand设备接口 -- 修正 tid->error 被无故修改的问题 +- 鏂板 jffs2 鏂囦欢绯荤粺绉绘 +- 鏂板 yaffs2 鏂囦欢绯荤粺绉绘 +- 鏇存柊 uffs 鍒版渶鏂扮増鏈紝骞朵娇鐢∕TD Nand璁惧鎺ュ彛 +- 淇 tid->error 琚棤鏁呬慨鏀圭殑闂 -网络组件: +缃戠粶缁勪欢锛 ========= -- lwip 默认使用 v1.4.0 替换原来的 v1.3.2 +- lwip 榛樿浣跨敤 v1.4.0 鏇挎崲鍘熸潵鐨 v1.3.2 -分支: +鍒嗘敮锛 ===== -- 支持 FPGA 软核的移植,新增加 microblaze 分支,nois-ii 分支 -- 新增加 pic32ethernet 分支 +- 鏀寔 FPGA 杞牳鐨勭Щ妞嶏紝鏂板鍔 microblaze 鍒嗘敮锛宯ois-ii 鍒嗘敮 +- 鏂板鍔 pic32ethernet 鍒嗘敮 -- at91sam9260 分支 ---更新网络驱动,新增 sido 驱动 +- at91sam9260 鍒嗘敮 +--鏇存柊缃戠粶椹卞姩锛屾柊澧 sido 椹卞姩 -- efm32 分支 ---新增 key 和 joystick 驱动,更新 usart 驱动 +- efm32 鍒嗘敮 +--鏂板 key 鍜 joystick 椹卞姩锛屾洿鏂 usart 椹卞姩 -- lm3s8962 分支 ---更新 ethernet 驱动,Enable reception of multicast packets +- lm3s8962 鍒嗘敮 +--鏇存柊 ethernet 椹卞姩锛孍nable reception of multicast packets -- m16c62p 分支 ---支持 SCONS/GCC 编译 +- m16c62p 鍒嗘敮 +--鏀寔 SCONS/GCC 缂栬瘧 -- fujistu fm3 分支 ---拆分 fm3 分支为 mb9bf506r 和 mb9bf500r 两个独立的分支 +- fujistu fm3 鍒嗘敮 +--鎷嗗垎 fm3 鍒嗘敮涓 mb9bf506r 鍜 mb9bf500r 涓や釜鐙珛鐨勫垎鏀 -- stm32f40 分支 ---更新 usart 驱动,更新 STM32F4xx_StdPeriph_Driver 到版本 V1.1.0 +- stm32f40 鍒嗘敮 +--鏇存柊 usart 椹卞姩锛屾洿鏂 STM32F4xx_StdPeriph_Driver 鍒扮増鏈 V1.1.0 -- mini2440 分支 ---新增 keil project +- mini2440 鍒嗘敮 +--鏂板 keil project -- x86 分支 ---支持 SCONS/GCC 编译 +- x86 鍒嗘敮 +--鏀寔 SCONS/GCC 缂栬瘧 -- lpc178x 分支 ---新增 LCD 驱动,增加 SDRAM 初始化 +- lpc178x 鍒嗘敮 +--鏂板 LCD 椹卞姩锛屽鍔 SDRAM 鍒濆鍖 -- lpc176x 分支 ---树立 RT-Thread 1.1.0 BSP 示范分支 ---提供全套编译方案(KEIL 工程,IAR 工程,SCONS/GCC,SCONS/KEIL,SCONS/IAR) ---提供 IAR 工程模板和 KEIL 工程模板,可以通过 scons --target=iar -s 自动生成 IAR 工程 ---重新定义 rtconfig.h 文件结构,实现 eclipse 中可视化配置 rtconfig.h 选项 ---调整 BPS 目录结构,应用相关归入 applications 目录,驱动相关归入 drivers 目录,库相关归入 CMSIS 目录 +- lpc176x 鍒嗘敮 +--鏍戠珛 RT-Thread 1.1.0 BSP 绀鸿寖鍒嗘敮 +--鎻愪緵鍏ㄥ缂栬瘧鏂规(KEIL 宸ョ▼锛孖AR 宸ョ▼锛孲CONS/GCC锛孲CONS/KEIL锛孲CONS/IAR) +--鎻愪緵 IAR 宸ョ▼妯℃澘鍜 KEIL 宸ョ▼妯℃澘锛屽彲浠ラ氳繃 scons --target=iar -s 鑷姩鐢熸垚 IAR 宸ョ▼ +--閲嶆柊瀹氫箟 rtconfig.h 鏂囦欢缁撴瀯锛屽疄鐜 eclipse 涓彲瑙嗗寲閰嶇疆 rtconfig.h 閫夐」 +--璋冩暣 BPS 鐩綍缁撴瀯锛屽簲鐢ㄧ浉鍏冲綊鍏 applications 鐩綍锛岄┍鍔ㄧ浉鍏冲綊鍏 drivers 鐩綍锛屽簱鐩稿叧褰掑叆 CMSIS 鐩綍 //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread 1.0.4 -发布时间: 2012/12/30 +鐗堟湰: RT-Thread 1.0.4 +鍙戝竷鏃堕棿: 2012/12/30 -RT-Thread 1.0.4 是 1.0.0 版本的 bug 修正版,也是 1.0.0 系列的最终版本。 -RT-Thread 1.0.x 自正式版本发布到现在已经维护了一年整时间,期间发布了 4 个修订版本,目前已经趋于成熟、稳定,完全满足商用需求。 -后续的重点我们会转移到 RT-Thread 1.1.0 版本的维护以及 RT-Thread 1.2.0 版本的开发。 +RT-Thread 1.0.4 鏄 1.0.0 鐗堟湰鐨 bug 淇鐗,涔熸槸 1.0.0 绯诲垪鐨勬渶缁堢増鏈 +RT-Thread 1.0.x 鑷寮忕増鏈彂甯冨埌鐜板湪宸茬粡缁存姢浜嗕竴骞存暣鏃堕棿锛屾湡闂村彂甯冧簡 4 涓慨璁㈢増鏈紝鐩墠宸茬粡瓒嬩簬鎴愮啛銆佺ǔ瀹氾紝瀹屽叏婊¤冻鍟嗙敤闇姹傘 +鍚庣画鐨勯噸鐐规垜浠細杞Щ鍒 RT-Thread 1.1.0 鐗堟湰鐨勭淮鎶や互鍙 RT-Thread 1.2.0 鐗堟湰鐨勫紑鍙戙 -1.0.4 版本仅在原来的基础上对已有的功能进行修正(新功能基本上没有),相对于 1.0.3 版本的更改如下: +1.0.4 鐗堟湰浠呭湪鍘熸潵鐨勫熀纭涓婂宸叉湁鐨勫姛鑳借繘琛屼慨姝o紙鏂板姛鑳藉熀鏈笂娌℃湁锛夛紝鐩稿浜 1.0.3 鐗堟湰鐨勬洿鏀瑰涓嬶細 -1,修正 DFS 中 O_APPEND 和 lseek 问题点 -2,在设备注册时增加设备检查步骤 -3,finsh shell 中支持行注释 -4,修正函数 clock_time_system_init() 中对变量 _timevalue.tv_usec 初始化错误的问题点 -5,在函数 fd_get() 中增加对 dfs_fd 的合法性检查 -6,删除 rtthread.h 中 rt_sprintf() 函数的重复声明 +1锛屼慨姝 DFS 涓 O_APPEND 鍜 lseek 闂鐐 +2锛屽湪璁惧娉ㄥ唽鏃跺鍔犺澶囨鏌ユ楠 +3锛宖insh shell 涓敮鎸佽娉ㄩ噴 +4锛屼慨姝e嚱鏁 clock_time_system_init() 涓鍙橀噺 _timevalue.tv_usec 鍒濆鍖栭敊璇殑闂鐐 +5锛屽湪鍑芥暟 fd_get() 涓鍔犲 dfs_fd 鐨勫悎娉曟ф鏌 +6锛屽垹闄 rtthread.h 涓 rt_sprintf() 鍑芥暟鐨勯噸澶嶅0鏄 //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread 1.0.3 -发布时间: 2012/10/12 +鐗堟湰: RT-Thread 1.0.3 +鍙戝竷鏃堕棿: 2012/10/12 -RT-Thread 1.0.3 是 1.0.0 版本的 bug 修正版,仅在原来的基础上对已有的功能进行修正(新功能基本上没有)。 -1.0.3 版本相对于 1.0.2 版本的更改: +RT-Thread 1.0.3 鏄 1.0.0 鐗堟湰鐨 bug 淇鐗堬紝浠呭湪鍘熸潵鐨勫熀纭涓婂宸叉湁鐨勫姛鑳借繘琛屼慨姝o紙鏂板姛鑳藉熀鏈笂娌℃湁锛夈 +1.0.3 鐗堟湰鐩稿浜 1.0.2 鐗堟湰鐨勬洿鏀癸細 -1,lm4f232 分支更新 rtconfig.ph -2,修正 timer control 中 timer 标志设置错误的问题点 -3,修正模块组件卸载问题点 -4,修正当 multi-drivers 使能后 dfs_elm_open()调用失败后存在的一处内存泄露问题点 -5,在 ELM FatFs 文件系统中增加 mount 检查 -6,修正 f_seekdir 中存在的问题点 -7,修正 finsh_var_delete 中的问题点 -8,修正 LPC178x 分支中 scons 配合 armcc 编译时发生错误的问题点 -9,修正 LPC176x 分支中 scons 配合 gcc 编译时发生错误的问题点 -10,LWIP 中函数 eth_device_init() 中当定义 LWIP_IGMP 时,设置 NETIF_FLAG_IGMP 标志 +1锛宭m4f232 鍒嗘敮鏇存柊 rtconfig.ph +2锛屼慨姝 timer control 涓 timer 鏍囧織璁剧疆閿欒鐨勯棶棰樼偣 +3锛屼慨姝fā鍧楃粍浠跺嵏杞介棶棰樼偣 +4锛屼慨姝e綋 multi-drivers 浣胯兘鍚 dfs_elm_open()璋冪敤澶辫触鍚庡瓨鍦ㄧ殑涓澶勫唴瀛樻硠闇查棶棰樼偣 +5锛屽湪 ELM FatFs 鏂囦欢绯荤粺涓鍔 mount 妫鏌 +6锛屼慨姝 f_seekdir 涓瓨鍦ㄧ殑闂鐐 +7锛屼慨姝 finsh_var_delete 涓殑闂鐐 +8锛屼慨姝 LPC178x 鍒嗘敮涓 scons 閰嶅悎 armcc 缂栬瘧鏃跺彂鐢熼敊璇殑闂鐐 +9锛屼慨姝 LPC176x 鍒嗘敮涓 scons 閰嶅悎 gcc 缂栬瘧鏃跺彂鐢熼敊璇殑闂鐐 +10锛孡WIP 涓嚱鏁 eth_device_init() 涓綋瀹氫箟 LWIP_IGMP 鏃讹紝璁剧疆 NETIF_FLAG_IGMP 鏍囧織 //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread 1.0.2 -发布时间: 2012/6/30 -RT-Thread 1.0.2 是 1.0.0 版本的 bug 修正版,仅在原来的基础上对已有的功能进行修正(新功能基本上没有)。 -1.0.2 版本相对于 1.0.1 版本的更改: +鐗堟湰: RT-Thread 1.0.2 +鍙戝竷鏃堕棿: 2012/6/30 +RT-Thread 1.0.2 鏄 1.0.0 鐗堟湰鐨 bug 淇鐗堬紝浠呭湪鍘熸潵鐨勫熀纭涓婂宸叉湁鐨勫姛鑳借繘琛屼慨姝o紙鏂板姛鑳藉熀鏈笂娌℃湁锛夈 +1.0.2 鐗堟湰鐩稿浜 1.0.1 鐗堟湰鐨勬洿鏀癸細 -1,DFS 组件中,修正 fd 引用越界判断错误的问题 -2,DFS posix API 中,错误返回时设置正确的 errno -3,LWIP 组件中,发送 mail 到 TCP 线程,用 rt_mb_send_wait() 代替 rt_mb_send() -4,在 rtthread.h 中新增两个 API:rt_timer_check(), rt_timer_next_timeout_tick() +1锛孌FS 缁勪欢涓紝淇 fd 寮曠敤瓒婄晫鍒ゆ柇閿欒鐨勯棶棰 +2锛孌FS posix API 涓紝閿欒杩斿洖鏃惰缃纭殑 errno +3锛孡WIP 缁勪欢涓紝鍙戦 mail 鍒 TCP 绾跨▼锛岀敤 rt_mb_send_wait() 浠f浛 rt_mb_send() +4锛屽湪 rtthread.h 涓柊澧炰袱涓 API锛歳t_timer_check(), rt_timer_next_timeout_tick() //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread 1.0.1 -发布时间: 2012/4/16 +鐗堟湰: RT-Thread 1.0.1 +鍙戝竷鏃堕棿: 2012/4/16 -RT-Thread 1.0.1是1.0.0版本的bug修正版,仅在原来的基础上对已有的功能进行修正(新功能基本上没有)。1.0.1版本相对于1.0.0版本的更改: -内核 -- 修正rt_sem_control/rt_event_control/rt_mb_control/rt_mq_control中可能引起的任务未及时调度的问题; -- 修正rt_memmove函数的问题; -- 增加rt_malloc_align/rt_free_align的接口用于地址对齐方式的分配和释放;(使用rt_malloc_align分配的内存块必须使用rt_free_align接口释放) -- 修正memory pool中内存块地址对齐的问题; -- 修正应用模块卸载的问题; +RT-Thread 1.0.1鏄1.0.0鐗堟湰鐨刡ug淇鐗堬紝浠呭湪鍘熸潵鐨勫熀纭涓婂宸叉湁鐨勫姛鑳借繘琛屼慨姝o紙鏂板姛鑳藉熀鏈笂娌℃湁锛夈1.0.1鐗堟湰鐩稿浜1.0.0鐗堟湰鐨勬洿鏀癸細 +鍐呮牳 +- 淇rt_sem_control/rt_event_control/rt_mb_control/rt_mq_control涓彲鑳藉紩璧风殑浠诲姟鏈強鏃惰皟搴︾殑闂锛 +- 淇rt_memmove鍑芥暟鐨勯棶棰橈紱 +- 澧炲姞rt_malloc_align/rt_free_align鐨勬帴鍙g敤浜庡湴鍧瀵归綈鏂瑰紡鐨勫垎閰嶅拰閲婃斁锛涳紙浣跨敤rt_malloc_align鍒嗛厤鐨勫唴瀛樺潡蹇呴』浣跨敤rt_free_align鎺ュ彛閲婃斁锛 +- 淇memory pool涓唴瀛樺潡鍦板潃瀵归綈鐨勯棶棰橈紱 +- 淇搴旂敤妯″潡鍗歌浇鐨勯棶棰橈紱 -文件系统 -- 修正umount时内存泄漏的问题; -- 修正文件系统中errno赋值的问题; +鏂囦欢绯荤粺 +- 淇umount鏃跺唴瀛樻硠婕忕殑闂锛 +- 淇鏂囦欢绯荤粺涓璭rrno璧嬪肩殑闂锛 shell -- 修正finsh_sysvar_append添加变量的问题; +- 淇finsh_sysvar_append娣诲姞鍙橀噺鐨勯棶棰橈紱 libc - minilibc -* 增加int64_t/uint64_t类型定义; +* 澧炲姞int64_t/uint64_t绫诲瀷瀹氫箟锛 - newlib -* 分离newlib与DFS的关联; -* 修正使能lwip时,timeval结构体定义将使用newlib提供的类型; +* 鍒嗙newlib涓嶥FS鐨勫叧鑱旓紱 +* 淇浣胯兘lwip鏃讹紝timeval缁撴瀯浣撳畾涔夊皢浣跨敤newlib鎻愪緵鐨勭被鍨嬶紱 -分支 +鍒嗘敮 - Cortex-M4 -* 修正使能FPU时任务切换的问题; +* 淇浣胯兘FPU鏃朵换鍔″垏鎹㈢殑闂锛 - MB9BF506 -* 修正SysTick时钟中断函数名错误的问题; +* 淇SysTick鏃堕挓涓柇鍑芥暟鍚嶉敊璇殑闂锛 //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread 1.0.0正式版 -发布时间: 2011/12/31 +鐗堟湰: RT-Thread 1.0.0姝e紡鐗 +鍙戝竷鏃堕棿: 2011/12/31 -RT-Thread从2006年诞生到现在已经5年了,历经多次版本更迭(0.2.x,0.3.0,0.3.3,0.4.0 beta1,0.4.0 beta2,0.4.0 RC1) -内核更稳定: -增强上下文检查的功能,更多的错误检查 +RT-Thread浠2006骞磋癁鐢熷埌鐜板湪宸茬粡5骞翠簡锛屽巻缁忓娆$増鏈洿杩紙0.2.x锛0.3.0锛0.3.3锛0.4.0 beta1锛0.4.0 beta2锛0.4.0 RC1锛 +鍐呮牳鏇寸ǔ瀹氾細 +澧炲己涓婁笅鏂囨鏌ョ殑鍔熻兘锛屾洿澶氱殑閿欒妫鏌 -组件更丰富: -有文件系统,有RTGUI,支持TCP/IP协议栈,支持动态模块加载,支持posix,在使用GCC时可以打开newlib选项,支持全套C标准运行库 +缁勪欢鏇翠赴瀵岋細 +鏈夋枃浠剁郴缁燂紝鏈塕TGUI锛屾敮鎸乀CP/IP鍗忚鏍堬紝鏀寔鍔ㄦ佹ā鍧楀姞杞斤紝鏀寔posix锛屽湪浣跨敤GCC鏃跺彲浠ユ墦寮newlib閫夐」锛屾敮鎸佸叏濂桟鏍囧噯杩愯搴 -分支移植更完善: -支持ARM7,ARM9,ARM Cortex-M3,ARM Cortex-M4,MIPS,AVR32,V850E等32位MCU,同时也支持瑞萨的16位MCU M16C系列 +鍒嗘敮绉绘鏇村畬鍠勶細 +鏀寔ARM7锛孉RM9锛孉RM Cortex-M3锛孉RM Cortex-M4锛孧IPS锛孉VR32锛孷850E绛32浣峂CU锛屽悓鏃朵篃鏀寔鐟炶惃鐨16浣峂CU M16C绯诲垪 -所以我们很高兴可以发布RT-Thread 1.0.0版本了,此次正式版的发布离不开各位同学的支持, -感谢李恒发起的线下网友聚会 -感谢上海浦东软件平台公司提供主题沙龙场地 -感谢grissiom翻译的coding style文档,及提交的RTGUI相关补丁 -感谢onelife维护EFM32分支 -感谢。。。 +鎵浠ユ垜浠緢楂樺叴鍙互鍙戝竷RT-Thread 1.0.0鐗堟湰浜嗭紝姝ゆ姝e紡鐗堢殑鍙戝竷绂讳笉寮鍚勪綅鍚屽鐨勬敮鎸侊紝 +鎰熻阿鏉庢亽鍙戣捣鐨勭嚎涓嬬綉鍙嬭仛浼 +鎰熻阿涓婃捣娴︿笢杞欢骞冲彴鍏徃鎻愪緵涓婚娌欓緳鍦哄湴 +鎰熻阿grissiom缈昏瘧鐨刢oding style鏂囨。,鍙婃彁浜ょ殑RTGUI鐩稿叧琛ヤ竵 +鎰熻阿onelife缁存姢EFM32鍒嗘敮 +鎰熻阿銆傘傘 -与RT-Thread 0.4.0 RC1比起来,RT-Thread 1.0.0主要有以下的更新内容: +涓嶳T-Thread 0.4.0 RC1姣旇捣鏉ワ紝RT-Thread 1.0.0涓昏鏈変互涓嬬殑鏇存柊鍐呭锛 -内核: +鍐呮牳锛 ===== -- 强制newlib组件配合GCC使用,否则将在编译时提示错误 -- 修正object名字复制问题 -- 新增RT-Thread I/O error code(RT_EIO) -- 新增三个设备类型(RT_Device_Class_SPIBUS, RT_Device_Class_SPIDevice, RT_Device_Class_SDIO) +- 寮哄埗newlib缁勪欢閰嶅悎GCC浣跨敤锛屽惁鍒欏皢鍦ㄧ紪璇戞椂鎻愮ず閿欒 +- 淇object鍚嶅瓧澶嶅埗闂 +- 鏂板RT-Thread I/O error code(RT_EIO) +- 鏂板涓変釜璁惧绫诲瀷锛圧T_Device_Class_SPIBUS, RT_Device_Class_SPIDevice, RT_Device_Class_SDIO锛 - building.py ----- 新增SrcRemove函数 ----- 新增MergeGroup函数 ----- 修正源文件含有中文名的问题点 -- 增加coding style说明文档 +---- 鏂板SrcRemove鍑芥暟 +---- 鏂板MergeGroup鍑芥暟 +---- 淇婧愭枃浠跺惈鏈変腑鏂囧悕鐨勯棶棰樼偣 +- 澧炲姞coding style璇存槑鏂囨。 -组件: +缁勪欢锛 ===== - DFS ----- 修正elmfs移植中statfs问题 ----- 修正dfs_elm.c中rename问题 ----- 修正dfs_file.c中rename问题 ----- 修正lseek下溢问题 +---- 淇elmfs绉绘涓璼tatfs闂 +---- 淇dfs_elm.c涓璻ename闂 +---- 淇dfs_file.c涓璻ename闂 +---- 淇lseek涓嬫孩闂 -LWIP ----- 更新finsh命令(list_if,set_if),支持multple interface +---- 鏇存柊finsh鍛戒护锛坙ist_if,set_if锛夛紝鏀寔multple interface -RTGUI ----- 定义宏RTGUI_NOTEBOOK_TAB_WIDTH代替原先使用的魔数 ----- 修正ack_mb在错误发生时没有detach的问题 ----- 修正RTGUI_USING_MOUSE_CURSOR选项打开时,编译出错问题 ----- 优化notebook代码结构,提高_rt_notebook_ondraw()执行效率 ----- 优化notebook.c中mouse事件处理 -- 修正zmordem一处语法错误 +---- 瀹氫箟瀹廟TGUI_NOTEBOOK_TAB_WIDTH浠f浛鍘熷厛浣跨敤鐨勯瓟鏁 +---- 淇ack_mb鍦ㄩ敊璇彂鐢熸椂娌℃湁detach鐨勯棶棰 +---- 淇RTGUI_USING_MOUSE_CURSOR閫夐」鎵撳紑鏃讹紝缂栬瘧鍑洪敊闂 +---- 浼樺寲notebook浠g爜缁撴瀯锛屾彁楂榑rt_notebook_ondraw()鎵ц鏁堢巼 +---- 浼樺寲notebook.c涓璵ouse浜嬩欢澶勭悊 +- 淇zmordem涓澶勮娉曢敊璇 -例程: +渚嬬▼锛 ===== ----- RTGUI例程中增加notebook的demo ----- 新增mem_test例程 ----- 更新kernel测试例程 +---- RTGUI渚嬬▼涓鍔爊otebook鐨刣emo +---- 鏂板mem_test渚嬬▼ +---- 鏇存柊kernel娴嬭瘯渚嬬▼ -分支: +鍒嗘敮锛 ===== -ARM Cortex-M3系列芯片的移植统一使用/libcpu/cortex-m3 -ARM Cortex-M4系列芯片的移植统一使用/libcpu/cortex-m4 +ARM Cortex-M3绯诲垪鑺墖鐨勭Щ妞嶇粺涓浣跨敤/libcpu/cortex-m3 +ARM Cortex-M4绯诲垪鑺墖鐨勭Щ妞嶇粺涓浣跨敤/libcpu/cortex-m4 -- 新增stm32f40x分支 -- 新增lm4f232分支 -- 完善m16c ----- 在汇编中正确使用BYTE操作指令操作rt_thread_switch_interrupt_flag变量 ----- 修正scons配合IAR编译出错的问题 -- 完善lm3s9b9x分支 ----- 更新eth驱动 ----- 新增sdram驱动 -- 完善stm32分支 ----- 更新enc28j60驱动,修正无响应问题点 -- 完善stm32f10x分支 ----- 更新touch驱动 ----- 更新eth驱动 ----- 更新rtc驱动 ----- 修正DMA_clear_Flag设置错误的问题 -- 完善stm32f20x分支 ----- 更新eeprom驱动 ----- 更新RTC驱动 ----- 新增SPI FRAM驱动 -- 完善efm32分支 ----- 更新CMSIS和efm32lib到2.3.2 -- 完善lpc24xx分支 ----- 增加异常处理函数 -- 完善lpc2148分支 ----- 修正scons+keil编译出错问题 ----- 新增thumb模式的移植代码 +- 鏂板stm32f40x鍒嗘敮 +- 鏂板lm4f232鍒嗘敮 +- 瀹屽杽m16c +---- 鍦ㄦ眹缂栦腑姝g‘浣跨敤BYTE鎿嶄綔鎸囦护鎿嶄綔rt_thread_switch_interrupt_flag鍙橀噺 +---- 淇scons閰嶅悎IAR缂栬瘧鍑洪敊鐨勯棶棰 +- 瀹屽杽lm3s9b9x鍒嗘敮 +---- 鏇存柊eth椹卞姩 +---- 鏂板sdram椹卞姩 +- 瀹屽杽stm32鍒嗘敮 +---- 鏇存柊enc28j60椹卞姩锛屼慨姝f棤鍝嶅簲闂鐐 +- 瀹屽杽stm32f10x鍒嗘敮 +---- 鏇存柊touch椹卞姩 +---- 鏇存柊eth椹卞姩 +---- 鏇存柊rtc椹卞姩 +---- 淇DMA_clear_Flag璁剧疆閿欒鐨勯棶棰 +- 瀹屽杽stm32f20x鍒嗘敮 +---- 鏇存柊eeprom椹卞姩 +---- 鏇存柊RTC椹卞姩 +---- 鏂板SPI FRAM椹卞姩 +- 瀹屽杽efm32鍒嗘敮 +---- 鏇存柊CMSIS鍜宔fm32lib鍒2.3.2 +- 瀹屽杽lpc24xx鍒嗘敮 +---- 澧炲姞寮傚父澶勭悊鍑芥暟 +- 瀹屽杽lpc2148鍒嗘敮 +---- 淇scons+keil缂栬瘧鍑洪敊闂 +---- 鏂板thumb妯″紡鐨勭Щ妞嶄唬鐮 //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread 0.4.0 RC1 -发布时间: 2011/10/1 +鐗堟湰: RT-Thread 0.4.0 RC1 +鍙戝竷鏃堕棿: 2011/10/1 -RT-Thread经过三个月时间的开发测试(SVN有100多次更新),RT-Thread 0.4.0 beta2顺利演变为RT-Thread 0.4.0 RC1。 +RT-Thread缁忚繃涓変釜鏈堟椂闂寸殑寮鍙戞祴璇曪紙SVN鏈100澶氭鏇存柊锛夛紝RT-Thread 0.4.0 beta2椤哄埄婕斿彉涓篟T-Thread 0.4.0 RC1銆 -RC版本的发布意味着离RT-Thread 0.4.0 正式版的发布已经不远了,在RC版本之后,将不再有新功能加入。欢迎大家测试,让我们一起迎接RT-Thread 0.4.0 正式版的到来。 +RC鐗堟湰鐨勫彂甯冩剰鍛崇潃绂籖T-Thread 0.4.0 姝e紡鐗堢殑鍙戝竷宸茬粡涓嶈繙浜嗭紝鍦≧C鐗堟湰涔嬪悗锛屽皢涓嶅啀鏈夋柊鍔熻兘鍔犲叆銆傛杩庡ぇ瀹舵祴璇曪紝璁╂垜浠竴璧疯繋鎺T-Thread 0.4.0 姝e紡鐗堢殑鍒版潵銆 -更新履历 -内核: +鏇存柊灞ュ巻 +鍐呮牳锛 ===== -* ARM cortex M3支持应用模块 -* RT-Thread中实现errno -* 任务开始时调用任务调度函数 -* 重写应用模块的memory allocator -* 修正当前任务被抢占时调用rt_thread_exit()出错的问题 -* 修正函数rt_mb_send_wait(),禁止修改当前任务的error -* 修正一处拼写错误 +* ARM cortex M3鏀寔搴旂敤妯″潡 +* RT-Thread涓疄鐜癳rrno +* 浠诲姟寮濮嬫椂璋冪敤浠诲姟璋冨害鍑芥暟 +* 閲嶅啓搴旂敤妯″潡鐨刴emory allocator +* 淇褰撳墠浠诲姟琚姠鍗犳椂璋冪敤rt_thread_exit()鍑洪敊鐨勯棶棰 +* 淇鍑芥暟rt_mb_send_wait()锛岀姝慨鏀瑰綋鍓嶄换鍔$殑error +* 淇涓澶勬嫾鍐欓敊璇 -- rt_thread_switch_interrput_flag -> rt_thread_switch_interrupt_flag -* 内核代码统一代码风格 -* 内核代码统一使用unix换行符'\n' +* 鍐呮牳浠g爜缁熶竴浠g爜椋庢牸 +* 鍐呮牳浠g爜缁熶竴浣跨敤unix鎹㈣绗'\n' -组件: +缁勪欢锛 ===== * Lwip --- 重新设计Lwip 1.4.0 ethernetif接口函数及初始化流程 --- 新增eth_device_linkchange()函数 --- 修正在中断处理中调用rt_mb_send()时,当前任务的error会被修改的问题 --- 重写sys_arch_protect()函数,在该函数内关中断并且关调度 --- 修正Issue 11(http://code.google.com/p/rt-thread/issues/detail?id=11) --- 优化netio代码 --- 新增finsh shell命令list_tcps() --- 更新Lwip 1.4.0,兼容旧的驱动程序 +-- 閲嶆柊璁捐Lwip 1.4.0 ethernetif鎺ュ彛鍑芥暟鍙婂垵濮嬪寲娴佺▼ +-- 鏂板eth_device_linkchange()鍑芥暟 +-- 淇鍦ㄤ腑鏂鐞嗕腑璋冪敤rt_mb_send()鏃讹紝褰撳墠浠诲姟鐨別rror浼氳淇敼鐨勯棶棰 +-- 閲嶅啓sys_arch_protect()鍑芥暟锛屽湪璇ュ嚱鏁板唴鍏充腑鏂苟涓斿叧璋冨害 +-- 淇Issue 11(http://code.google.com/p/rt-thread/issues/detail?id=11) +-- 浼樺寲netio浠g爜 +-- 鏂板finsh shell鍛戒护list_tcps() +-- 鏇存柊Lwip 1.4.0锛屽吋瀹规棫鐨勯┍鍔ㄧ▼搴 * RT GUI --- 修正画点时坐标超出DC缓存的问题 --- 修正函数dc_buffer_fill_rect()中,前后背景颜色显示错误的问题 --- 修正hz字体解除问题 --- 修正中文字体显示错误问题 --- 修正list控件的键盘事件处理问题 +-- 淇鐢荤偣鏃跺潗鏍囪秴鍑篋C缂撳瓨鐨勯棶棰 +-- 淇鍑芥暟dc_buffer_fill_rect()涓紝鍓嶅悗鑳屾櫙棰滆壊鏄剧ず閿欒鐨勯棶棰 +-- 淇hz瀛椾綋瑙i櫎闂 +-- 淇涓枃瀛椾綋鏄剧ず閿欒闂 +-- 淇list鎺т欢鐨勯敭鐩樹簨浠跺鐞嗛棶棰 * dfs --- 修正dfs_romfs_lookup(), dfs_romfs_open()及dfs_romfs_lseek()实现中的问题 +-- 淇dfs_romfs_lookup(), dfs_romfs_open()鍙奷fs_romfs_lseek()瀹炵幇涓殑闂 * finsh --- 修正node分配失败的问题 +-- 淇node鍒嗛厤澶辫触鐨勯棶棰 -分支: +鍒嗘敮锛 ===== -* 新增龙芯LS1B分支 --- 支持finsh --- 支持RT-Gui -* 更新AT91SAM9260分支 --- 支持Keil MDK编译 --- 针对Lwip API的变更,相应的更新了EMAC驱动 -* 更新stm32f107分支 --- 更新eth驱动 --- 更新uart驱动 -* 修正renesas M16C移植 --- 完善移植代码 --- 用C实现上下文切换,修正汇编代码中的参数传递寄存器不确定的情况 -* 修正NEC V850E移植 --- 完善移植代码 --- 用C实现上下文切换函数用C语言实现代替之前的汇编实现 -* 更新EFM32分支 --- 新增Accelerometer驱动 --- 新增ethernet驱动 -* 更新mini2440 --- 新增x35 LCD驱动 --- 完善touch驱动 -* 更新avr32uc3b0分支 --- 支持scons -* 更新lpc24xx分支 --- 支持thumb模式 -* 更新FM3分支 --- 增加scons+iar的编译支持 -* 更新pic32ethernet分支 --- 完善移植代码 --- 增加uart驱动 -* 更新lpc1114分支 --- 修正systick设置问题 -* 更新stm32f20x分支 --- 增加I2C驱动 --- 增加SD卡驱动 --- 增加RTC支持 +* 鏂板榫欒姱LS1B鍒嗘敮 +-- 鏀寔finsh +-- 鏀寔RT-Gui +* 鏇存柊AT91SAM9260鍒嗘敮 +-- 鏀寔Keil MDK缂栬瘧 +-- 閽堝Lwip API鐨勫彉鏇达紝鐩稿簲鐨勬洿鏂颁簡EMAC椹卞姩 +* 鏇存柊stm32f107鍒嗘敮 +-- 鏇存柊eth椹卞姩 +-- 鏇存柊uart椹卞姩 +* 淇renesas M16C绉绘 +-- 瀹屽杽绉绘浠g爜 +-- 鐢–瀹炵幇涓婁笅鏂囧垏鎹紝淇姹囩紪浠g爜涓殑鍙傛暟浼犻掑瘎瀛樺櫒涓嶇‘瀹氱殑鎯呭喌 +* 淇NEC V850E绉绘 +-- 瀹屽杽绉绘浠g爜 +-- 鐢–瀹炵幇涓婁笅鏂囧垏鎹㈠嚱鏁扮敤C璇█瀹炵幇浠f浛涔嬪墠鐨勬眹缂栧疄鐜 +* 鏇存柊EFM32鍒嗘敮 +-- 鏂板Accelerometer椹卞姩 +-- 鏂板ethernet椹卞姩 +* 鏇存柊mini2440 +-- 鏂板x35 LCD椹卞姩 +-- 瀹屽杽touch椹卞姩 +* 鏇存柊avr32uc3b0鍒嗘敮 +-- 鏀寔scons +* 鏇存柊lpc24xx鍒嗘敮 +-- 鏀寔thumb妯″紡 +* 鏇存柊FM3鍒嗘敮 +-- 澧炲姞scons+iar鐨勭紪璇戞敮鎸 +* 鏇存柊pic32ethernet鍒嗘敮 +-- 瀹屽杽绉绘浠g爜 +-- 澧炲姞uart椹卞姩 +* 鏇存柊lpc1114鍒嗘敮 +-- 淇systick璁剧疆闂 +* 鏇存柊stm32f20x鍒嗘敮 +-- 澧炲姞I2C椹卞姩 +-- 澧炲姞SD鍗¢┍鍔 +-- 澧炲姞RTC鏀寔 //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread 0.3.4 -发布时间: 2011/12/31 +鐗堟湰: RT-Thread 0.3.4 +鍙戝竷鏃堕棿: 2011/12/31 -0.3.x系列的又一修订版本 +0.3.x绯诲垪鐨勫張涓淇鐗堟湰 -- 更新STM32分支enc28j60驱动,修正无响应问题 -- 修复mini2440编译出错问题 -- 修复lpc2478分支scons编译出错的问题 -- 修复RT_LWIP_DNS重复定义问题 -- 统一kernel部分的代码风格 -- 更新版本号为0.3.4 +- 鏇存柊STM32鍒嗘敮enc28j60椹卞姩锛屼慨姝f棤鍝嶅簲闂 +- 淇mini2440缂栬瘧鍑洪敊闂 +- 淇lpc2478鍒嗘敮scons缂栬瘧鍑洪敊鐨勯棶棰 +- 淇RT_LWIP_DNS閲嶅瀹氫箟闂 +- 缁熶竴kernel閮ㄥ垎鐨勪唬鐮侀鏍 +- 鏇存柊鐗堟湰鍙蜂负0.3.4 //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread 0.3.3 -发布时间: 2011/9/30 +鐗堟湰: RT-Thread 0.3.3 +鍙戝竷鏃堕棿: 2011/9/30 -与上一版本比较RT-Thread 0.3.3版本内核只有一处修改,该版本的发布只有一个目的:稳定! -建议所有使用RT-Thread 0.3版本的用户升级到RT-Thread 0.3.3。 +涓庝笂涓鐗堟湰姣旇緝RT-Thread 0.3.3鐗堟湰鍐呮牳鍙湁涓澶勪慨鏀癸紝璇ョ増鏈殑鍙戝竷鍙湁涓涓洰鐨勶細绋冲畾锛 +寤鸿鎵鏈変娇鐢≧T-Thread 0.3鐗堟湰鐨勭敤鎴峰崌绾у埌RT-Thread 0.3.3銆 -内核: +鍐呮牳: ===== -* 修正接收侧线程 error 号被中断服务例程错误更改,从而出现从邮箱中接收消息会发生重复接收的问题 +* 淇鎺ユ敹渚х嚎绋 error 鍙疯涓柇鏈嶅姟渚嬬▼閿欒鏇存敼锛屼粠鑰屽嚭鐜颁粠閭涓帴鏀舵秷鎭細鍙戠敓閲嶅鎺ユ敹鐨勯棶棰 //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread 0.3.2正式版 -发布时间: 2011/7/4 +鐗堟湰: RT-Thread 0.3.2姝e紡鐗 +鍙戝竷鏃堕棿: 2011/7/4 -帖子由 lgnq ? 2011年 7月 4日 15:46 -发布说明 +甯栧瓙鐢 lgnq ? 2011骞 7鏈 4鏃 15:46 +鍙戝竷璇存槑 ======== -RT-Thread 0.3.2是RT-Thread 0.3.0发布以来的第二次修订版本,虽无新特性增加,但稳定性有所提高,建议用户及时更新。 +RT-Thread 0.3.2鏄疪T-Thread 0.3.0鍙戝竷浠ユ潵鐨勭浜屾淇鐗堟湰锛岃櫧鏃犳柊鐗规у鍔狅紝浣嗙ǔ瀹氭ф湁鎵鎻愰珮锛屽缓璁敤鎴峰強鏃舵洿鏂般 -这个版本支持的硬件平台数量与0.3.0正式版本的一致: -* ARM Cortex-M3系列:STM32,LM3S以及LPC1766。 -* ARM7TDMI系列:LPC2148,LPC2478,AT91SAM7X256,AT91SAM7S -* ARM920T系列:S3C2440(mini2440) -* IA32:QEMU及真实的x86机器 +杩欎釜鐗堟湰鏀寔鐨勭‖浠跺钩鍙版暟閲忎笌0.3.0姝e紡鐗堟湰鐨勪竴鑷达細 +* ARM Cortex-M3绯诲垪锛歋TM32锛孡M3S浠ュ強LPC1766銆 +* ARM7TDMI绯诲垪锛歀PC2148锛孡PC2478锛孉T91SAM7X256锛孉T91SAM7S +* ARM920T绯诲垪锛歋3C2440锛坢ini2440锛 +* IA32锛歈EMU鍙婄湡瀹炵殑x86鏈哄櫒 -修正的问题包括: -* 内核中使用0.4.x系列的定时器实现; -* 内核中当不使用RT_USING_DEVICE,即设备模型时,编译错误的修正; -* 内核中添加邮箱满时发送线程挂起等待的接口:rt_mb_send_wait。 -* 内核中修正在为空的memory块上进行rt_realloc时的问题; -* 内核中rt_mp_create函数添加对申请失败的处理; -* 内核中rt_thread_detach函数主动对线程状态更改为CLOSE状态; -* ELM文件系统中支持多个驱动器; -* ELM文件系统中支持超过512字节大小的扇区; -* LwIP协议栈移植中使用rt_mb_send_wait来做为邮箱发送接口; -* 修正lm3s网卡驱动的问题; -* 修正STM32F107网卡驱动的问题; -* 修正lpc176x网卡驱动的问题; -* 修正libcpu/arm/AT91SAM7X/interrupt.c中一处语法错误 -* 完善RT-Thread代码注释 +淇鐨勯棶棰樺寘鎷細 +* 鍐呮牳涓娇鐢0.4.x绯诲垪鐨勫畾鏃跺櫒瀹炵幇锛 +* 鍐呮牳涓綋涓嶄娇鐢≧T_USING_DEVICE锛屽嵆璁惧妯″瀷鏃讹紝缂栬瘧閿欒鐨勪慨姝o紱 +* 鍐呮牳涓坊鍔犻偖绠辨弧鏃跺彂閫佺嚎绋嬫寕璧风瓑寰呯殑鎺ュ彛锛歳t_mb_send_wait銆 +* 鍐呮牳涓慨姝e湪涓虹┖鐨刴emory鍧椾笂杩涜rt_realloc鏃剁殑闂锛 +* 鍐呮牳涓璻t_mp_create鍑芥暟娣诲姞瀵圭敵璇峰け璐ョ殑澶勭悊锛 +* 鍐呮牳涓璻t_thread_detach鍑芥暟涓诲姩瀵圭嚎绋嬬姸鎬佹洿鏀逛负CLOSE鐘舵侊紱 +* ELM鏂囦欢绯荤粺涓敮鎸佸涓┍鍔ㄥ櫒锛 +* ELM鏂囦欢绯荤粺涓敮鎸佽秴杩512瀛楄妭澶у皬鐨勬墖鍖猴紱 +* LwIP鍗忚鏍堢Щ妞嶄腑浣跨敤rt_mb_send_wait鏉ュ仛涓洪偖绠卞彂閫佹帴鍙o紱 +* 淇lm3s缃戝崱椹卞姩鐨勯棶棰橈紱 +* 淇STM32F107缃戝崱椹卞姩鐨勯棶棰橈紱 +* 淇lpc176x缃戝崱椹卞姩鐨勯棶棰橈紱 +* 淇libcpu/arm/AT91SAM7X/interrupt.c涓竴澶勮娉曢敊璇 +* 瀹屽杽RT-Thread浠g爜娉ㄩ噴 -RT-Thread在Google SVN服务器上的开发分支亦做了相应调整: -原来的branches/rtt_0_3_2分支更改为branches/rtt_0_3_3。 +RT-Thread鍦℅oogle SVN鏈嶅姟鍣ㄤ笂鐨勫紑鍙戝垎鏀害鍋氫簡鐩稿簲璋冩暣锛 +鍘熸潵鐨刡ranches/rtt_0_3_2鍒嗘敮鏇存敼涓篵ranches/rtt_0_3_3銆 -代码:http://code.google.com/p/rt-thread/downloads/detail?name=RT-Thread-0.3.2.zip +浠g爜锛歨ttp://code.google.com/p/rt-thread/downloads/detail?name=RT-Thread-0.3.2.zip -文档: -RT-Thread实时操作系统编程指南与0.3.0正式版的相同,以后会逐渐由API说明文档替代,朝着正规化的方向发展。 +鏂囨。锛 +RT-Thread瀹炴椂鎿嶄綔绯荤粺缂栫▼鎸囧崡涓0.3.0姝e紡鐗堢殑鐩稿悓锛屼互鍚庝細閫愭笎鐢盇PI璇存槑鏂囨。鏇夸唬锛屾湞鐫姝h鍖栫殑鏂瑰悜鍙戝睍銆 -(*) 希望使用新特性的开发人员请关注后续0.4.0版本的发布情况,0.4.0版本添加了很多的新特性,例如:16位的瑞萨M16分支,大端模式的AVR32分支,以及MIPS分支等。 +(*) 甯屾湜浣跨敤鏂扮壒鎬х殑寮鍙戜汉鍛樿鍏虫敞鍚庣画0.4.0鐗堟湰鐨勫彂甯冩儏鍐碉紝0.4.0鐗堟湰娣诲姞浜嗗緢澶氱殑鏂扮壒鎬э紝渚嬪锛16浣嶇殑鐟炶惃M16鍒嗘敮锛屽ぇ绔ā寮忕殑AVR32鍒嗘敮锛屼互鍙奙IPS鍒嗘敮绛夈 //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread 0.4.0 beta2 -发布时间: 2011/7/4 +鐗堟湰: RT-Thread 0.4.0 beta2 +鍙戝竷鏃堕棿: 2011/7/4 -这是RT-Thread 0.4.x系列的第二个测试版本。这个测试版本,依然更多的面向测试目的,不建议直接应用到实际的产品中。RT-Thread 0.4.0的非正式版本依然沿用GPL v2许可证进行发布,欢迎测试。 +杩欐槸RT-Thread 0.4.x绯诲垪鐨勭浜屼釜娴嬭瘯鐗堟湰銆傝繖涓祴璇曠増鏈紝渚濈劧鏇村鐨勯潰鍚戞祴璇曠洰鐨勶紝涓嶅缓璁洿鎺ュ簲鐢ㄥ埌瀹為檯鐨勪骇鍝佷腑銆俁T-Thread 0.4.0鐨勯潪姝e紡鐗堟湰渚濈劧娌跨敤GPL v2璁稿彲璇佽繘琛屽彂甯冿紝娆㈣繋娴嬭瘯銆 -RT-Thread 0.4.0版本初始提出的几个功能亦基本达到,提供了相对完善的POSIX thread接口,动态库载入接口libdl以及应用模块支持。这些新功能的加入使得RT-Thread能够初步的兼容于POSIX标准。 +RT-Thread 0.4.0鐗堟湰鍒濆鎻愬嚭鐨勫嚑涓姛鑳戒害鍩烘湰杈惧埌锛屾彁渚涗簡鐩稿瀹屽杽鐨凱OSIX thread鎺ュ彛锛屽姩鎬佸簱杞藉叆鎺ュ彛libdl浠ュ強搴旂敤妯″潡鏀寔銆傝繖浜涙柊鍔熻兘鐨勫姞鍏ヤ娇寰桼T-Thread鑳藉鍒濇鐨勫吋瀹逛簬POSIX鏍囧噯銆 -自RT-Thread 0.4.0 beta1版本以来的更改: -内核: -* 增加邮箱满时发送线程挂起等待的接口:rt_mb_send_wait -* 增加RT_USING_CONSOLE选项 -* 新增4个设备类型(RT_Device_Class_Graphic, RT_Device_Class_I2C, RT_Device_Class_USBDevice, RT_Device_Class_USBHost) -* 修正未定义RT_USING_DEVICE,即设备模型时,编译错误的问题 +鑷猂T-Thread 0.4.0 beta1鐗堟湰浠ユ潵鐨勬洿鏀癸細 +鍐呮牳锛 +* 澧炲姞閭婊℃椂鍙戦佺嚎绋嬫寕璧风瓑寰呯殑鎺ュ彛锛歳t_mb_send_wait +* 澧炲姞RT_USING_CONSOLE閫夐」 +* 鏂板4涓澶囩被鍨(RT_Device_Class_Graphic, RT_Device_Class_I2C, RT_Device_Class_USBDevice, RT_Device_Class_USBHost) +* 淇鏈畾涔塕T_USING_DEVICE锛屽嵆璁惧妯″瀷鏃讹紝缂栬瘧閿欒鐨勯棶棰 -组件: +缁勪欢锛 * net -** 新增LWIP 1.4.0的移植 -** LwIP协议栈移植中使用rt_mb_send_wait来做为邮箱发送接口 +** 鏂板LWIP 1.4.0鐨勭Щ妞 +** LwIP鍗忚鏍堢Щ妞嶄腑浣跨敤rt_mb_send_wait鏉ュ仛涓洪偖绠卞彂閫佹帴鍙 * minilibc -** 增加 malloc, realloc, free, calloc接口 +** 澧炲姞 malloc, realloc, free, calloc鎺ュ彛 * newlib -** 增加跟多的数学函数(coef, horner, sqrt, ln, exp, pow) +** 澧炲姞璺熷鐨勬暟瀛﹀嚱鏁(coef, horner, sqrt, ln, exp, pow) * pthreads -** pthreads脱离对newlib的依赖 -* 文件系统完善 -** fatfs版本由原来的R0.07e升级到R0.08b -** 修正fatfs目录搜索不正确的问题 +** pthreads鑴辩瀵筺ewlib鐨勪緷璧 +* 鏂囦欢绯荤粺瀹屽杽 +** fatfs鐗堟湰鐢卞師鏉ョ殑R0.07e鍗囩骇鍒癛0.08b +** 淇fatfs鐩綍鎼滅储涓嶆纭殑闂 * finsh -** 修正finsh GCC编译时variable section end错误的问题 -** 修改list_module_obj命令为list_mod_detail +** 淇finsh GCC缂栬瘧鏃秜ariable section end閿欒鐨勯棶棰 +** 淇敼list_module_obj鍛戒护涓簂ist_mod_detail * RT-Thread/GUI -** 重新设计RTGUI图形驱动接口 -** 修正多边形填充问题 +** 閲嶆柊璁捐RTGUI鍥惧舰椹卞姩鎺ュ彛 +** 淇澶氳竟褰㈠~鍏呴棶棰 -分支: -在原有的基础上(ARM7,ARM9,ARM Cortex-M3, IA32),新增了MIPS,AVR32(大端模式),瑞萨M16C/62P(16位),瑞萨(原NEC)V850E -* 新增at91sam9260分支 -* 新增avr32uc3b0分支 -* 新增efm32分支 -* 新增fm3分支 -** mb9bf500r分支 -*** 支持RTGUI -** mb9bf506r分支 -*** 支持NAND FATFS -* 分离lm3s分支 -** lm3s8962分支 -** lm3s9b9x分支 -* 新增lpc122x分支 -* 新增m16c62p(Renesas M16C/62P)分支 -** 支持IAR for M16C编译 -** 支持scons+IAR编译 -* 新增mini4020分支 -* 新增nios_ii分支 -* 新增pic32ethernet分支 -* 分离stm3210分支 -** stm32f107分支 -** stm32F20x分支 -** stm32f10x分支 -*** 更新 STM32F10x_StdPeriph_Lib_V3.5.0 -* 新增upd70f3454(Renesas V850E)分支 +鍒嗘敮锛 +鍦ㄥ師鏈夌殑鍩虹涓婏紙ARM7锛孉RM9锛孉RM Cortex-M3, IA32锛,鏂板浜哅IPS锛孉VR32锛堝ぇ绔ā寮忥級锛岀憺钀∕16C/62P锛16浣嶏級锛岀憺钀紙鍘烴EC锛塚850E +* 鏂板at91sam9260鍒嗘敮 +* 鏂板avr32uc3b0鍒嗘敮 +* 鏂板efm32鍒嗘敮 +* 鏂板fm3鍒嗘敮 +** mb9bf500r鍒嗘敮 +*** 鏀寔RTGUI +** mb9bf506r鍒嗘敮 +*** 鏀寔NAND FATFS +* 鍒嗙lm3s鍒嗘敮 +** lm3s8962鍒嗘敮 +** lm3s9b9x鍒嗘敮 +* 鏂板lpc122x鍒嗘敮 +* 鏂板m16c62p(Renesas M16C/62P)鍒嗘敮 +** 鏀寔IAR for M16C缂栬瘧 +** 鏀寔scons+IAR缂栬瘧 +* 鏂板mini4020鍒嗘敮 +* 鏂板nios_ii鍒嗘敮 +* 鏂板pic32ethernet鍒嗘敮 +* 鍒嗙stm3210鍒嗘敮 +** stm32f107鍒嗘敮 +** stm32F20x鍒嗘敮 +** stm32f10x鍒嗘敮 +*** 鏇存柊 STM32F10x_StdPeriph_Lib_V3.5.0 +* 鏂板upd70f3454(Renesas V850E)鍒嗘敮 tools: -* 精简tools目录,只留下building.py,其他工具转移到www.rt-thread.org -* 进一步完善building.py -** 修正编译mini2440工程时,提示the command line too long的问题 -** 自动创建IAR工程 -** 自动创建MDK4工程 +* 绮剧畝tools鐩綍锛屽彧鐣欎笅building.py锛屽叾浠栧伐鍏疯浆绉诲埌www.rt-thread.org +* 杩涗竴姝ュ畬鍠刡uilding.py +** 淇缂栬瘧mini2440宸ョ▼鏃讹紝鎻愮ずthe command line too long鐨勯棶棰 +** 鑷姩鍒涘缓IAR宸ョ▼ +** 鑷姩鍒涘缓MDK4宸ョ▼ //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread 0.4.0 beta1 -发布时间: 2010/11/30 -自RT-Thread 0.3.0正式版发布以来,经过开发人员密集的整8个月开发,大众用户的积极反馈、测试,终于完成了RT-Thread 0.4.x系列的第一个测试版本。这个测试版本,依然更多的面向测试目的,不建议直接应用到实际的产品中。RT-Thread 0.4.0的非正式版本依然沿用GPL v2许可证进行发布,欢迎测试。 -RT-Thread 0.4.0版本初始提出的几个功能亦基本达到,提供了相对完善的POSIX thread接口,动态库载入接口libdl以及应用模块支持。这些新功能的加入使得RT-Thread能够初步的兼容于POSIX标准。 -自RT-Thread 0.3.0版本以来的更改: -内核: -* 添加应用模块支持;支持两者应用方式:.mo 符号预解析应用;.so 符号未解析应用。.so应用需要在加载时动态解析符号。能够执行本地文件系统的应用模块,也能够执行网络文件系统上的应用模块。 -* 修正在rt_realloc参数中传入一个NULL指针时,分配失败的问题。修正slab管理器中对0xffffffff尺寸内存分配的问题; -* 修正OS节拍数溢出的问题。(charlie weng提供相应的patch) -* 块设备中读写偏移、大小等都更改成按块为单位; -* 更改rt_device中成员private名为user_data; -* 线程TCB中添加cleanup域,它将在线程运行结束时回调。 +鐗堟湰: RT-Thread 0.4.0 beta1 +鍙戝竷鏃堕棿: 2010/11/30 +鑷猂T-Thread 0.3.0姝e紡鐗堝彂甯冧互鏉ワ紝缁忚繃寮鍙戜汉鍛樺瘑闆嗙殑鏁8涓湀寮鍙戯紝澶т紬鐢ㄦ埛鐨勭Н鏋佸弽棣堛佹祴璇曪紝缁堜簬瀹屾垚浜哛T-Thread 0.4.x绯诲垪鐨勭涓涓祴璇曠増鏈傝繖涓祴璇曠増鏈紝渚濈劧鏇村鐨勯潰鍚戞祴璇曠洰鐨勶紝涓嶅缓璁洿鎺ュ簲鐢ㄥ埌瀹為檯鐨勪骇鍝佷腑銆俁T-Thread 0.4.0鐨勯潪姝e紡鐗堟湰渚濈劧娌跨敤GPL v2璁稿彲璇佽繘琛屽彂甯冿紝娆㈣繋娴嬭瘯銆 +RT-Thread 0.4.0鐗堟湰鍒濆鎻愬嚭鐨勫嚑涓姛鑳戒害鍩烘湰杈惧埌锛屾彁渚涗簡鐩稿瀹屽杽鐨凱OSIX thread鎺ュ彛锛屽姩鎬佸簱杞藉叆鎺ュ彛libdl浠ュ強搴旂敤妯″潡鏀寔銆傝繖浜涙柊鍔熻兘鐨勫姞鍏ヤ娇寰桼T-Thread鑳藉鍒濇鐨勫吋瀹逛簬POSIX鏍囧噯銆 +鑷猂T-Thread 0.3.0鐗堟湰浠ユ潵鐨勬洿鏀癸細 +鍐呮牳锛 +* 娣诲姞搴旂敤妯″潡鏀寔锛涙敮鎸佷袱鑰呭簲鐢ㄦ柟寮忥細.mo 绗﹀彿棰勮В鏋愬簲鐢紱.so 绗﹀彿鏈В鏋愬簲鐢ㄣ.so搴旂敤闇瑕佸湪鍔犺浇鏃跺姩鎬佽В鏋愮鍙枫傝兘澶熸墽琛屾湰鍦版枃浠剁郴缁熺殑搴旂敤妯″潡锛屼篃鑳藉鎵ц缃戠粶鏂囦欢绯荤粺涓婄殑搴旂敤妯″潡銆 +* 淇鍦╮t_realloc鍙傛暟涓紶鍏ヤ竴涓狽ULL鎸囬拡鏃讹紝鍒嗛厤澶辫触鐨勯棶棰樸備慨姝lab绠$悊鍣ㄤ腑瀵0xffffffff灏哄鍐呭瓨鍒嗛厤鐨勯棶棰橈紱 +* 淇OS鑺傛媿鏁版孩鍑虹殑闂銆(charlie weng鎻愪緵鐩稿簲鐨刾atch) +* 鍧楄澶囦腑璇诲啓鍋忕Щ銆佸ぇ灏忕瓑閮芥洿鏀规垚鎸夊潡涓哄崟浣嶏紱 +* 鏇存敼rt_device涓垚鍛榩rivate鍚嶄负user_data锛 +* 绾跨▼TCB涓坊鍔燾leanup鍩燂紝瀹冨皢鍦ㄧ嚎绋嬭繍琛岀粨鏉熸椂鍥炶皟銆 -组件: -* 添加newlib移植,当前仅能够支持GNU GCC编译环境; -* 添加POSIX thread兼容接口(支持barrier,cond,mutex,rwlock,spin,tls等),采用IEEE Std 1003.1, 2004 Edition为参考进行实现; -* 添加libdl兼容接口,能够使用dlopen,dlsym,dlclose等接口动态加载库; -* 文件系统完善 -* 对设备虚拟文件系统代码部分进行调整,精简; -* 修正device file system中struct stat的问题(能够兼容于newlib、minilibc、Keil MDK) -* 修正dfs_filesystem_lookup函数中空项操作的问题; -* 增加fstat接口;文件系统实现中增加mkfs,statfs接口以获得文件系统相关的信息。 -* 添加romfs文件系统,可以采用mkromfs.py脚本生成相应的ROM文件系统; -* 添加devfs文件系统,增加/dev/console设备,它是一个虚拟设备,用于标准输入、输出、错误等; -* 添加NFS v3客户端文件系统,可以配合FreeNFS/Linux NFS使用,以访问主机上的目录和文件; -* elm fat文件系统 -* 添加非512扇区的宏定义; -* 添加卸载的功能。 -* 修正重命名的问题; +缁勪欢锛 +* 娣诲姞newlib绉绘锛屽綋鍓嶄粎鑳藉鏀寔GNU GCC缂栬瘧鐜锛 +* 娣诲姞POSIX thread鍏煎鎺ュ彛锛堟敮鎸乥arrier锛宑ond锛宮utex锛宺wlock锛宻pin锛宼ls绛夛級锛岄噰鐢↖EEE Std 1003.1, 2004 Edition涓哄弬鑰冭繘琛屽疄鐜帮紱 +* 娣诲姞libdl鍏煎鎺ュ彛锛岃兘澶熶娇鐢╠lopen锛宒lsym锛宒lclose绛夋帴鍙e姩鎬佸姞杞藉簱锛 +* 鏂囦欢绯荤粺瀹屽杽 +* 瀵硅澶囪櫄鎷熸枃浠剁郴缁熶唬鐮侀儴鍒嗚繘琛岃皟鏁达紝绮剧畝锛 +* 淇device file system涓璼truct stat鐨勯棶棰橈紙鑳藉鍏煎浜巒ewlib銆乵inilibc銆並eil MDK锛 +* 淇dfs_filesystem_lookup鍑芥暟涓┖椤规搷浣滅殑闂锛 +* 澧炲姞fstat鎺ュ彛锛涙枃浠剁郴缁熷疄鐜颁腑澧炲姞mkfs锛宻tatfs鎺ュ彛浠ヨ幏寰楁枃浠剁郴缁熺浉鍏崇殑淇℃伅銆 +* 娣诲姞romfs鏂囦欢绯荤粺锛屽彲浠ラ噰鐢╩kromfs.py鑴氭湰鐢熸垚鐩稿簲鐨凴OM鏂囦欢绯荤粺锛 +* 娣诲姞devfs鏂囦欢绯荤粺锛屽鍔/dev/console璁惧锛屽畠鏄竴涓櫄鎷熻澶囷紝鐢ㄤ簬鏍囧噯杈撳叆銆佽緭鍑恒侀敊璇瓑锛 +* 娣诲姞NFS v3瀹㈡埛绔枃浠剁郴缁燂紝鍙互閰嶅悎FreeNFS/Linux NFS浣跨敤锛屼互璁块棶涓绘満涓婄殑鐩綍鍜屾枃浠讹紱 +* elm fat鏂囦欢绯荤粺 +* 娣诲姞闈512鎵囧尯鐨勫畯瀹氫箟锛 +* 娣诲姞鍗歌浇鐨勫姛鑳姐 +* 淇閲嶅懡鍚嶇殑闂锛 * RT-Thread/GUI -* 增加bmp图像格式支持; -* 原来的hardware dc更改为client dc;重写新的hardware dc,新的hardware dc绘图速度会更快。 -* 加入了非等宽字体支持。 -* 加入TTF字体支持,但内存空间占用估计比较大,对于unicode的问题还存在些问题。 -* 修正filelist_view控件析构的问题。 -* 对DC操作进行调整完善 (由richard lion完成) +* 澧炲姞bmp鍥惧儚鏍煎紡鏀寔锛 +* 鍘熸潵鐨刪ardware dc鏇存敼涓篶lient dc锛涢噸鍐欐柊鐨刪ardware dc锛屾柊鐨刪ardware dc缁樺浘閫熷害浼氭洿蹇 +* 鍔犲叆浜嗛潪绛夊瀛椾綋鏀寔銆 +* 鍔犲叆TTF瀛椾綋鏀寔锛屼絾鍐呭瓨绌洪棿鍗犵敤浼拌姣旇緝澶э紝瀵逛簬unicode鐨勯棶棰樿繕瀛樺湪浜涢棶棰樸 +* 淇filelist_view鎺т欢鏋愭瀯鐨勯棶棰樸 +* 瀵笵C鎿嶄綔杩涜璋冩暣瀹屽杽 (鐢眗ichard lion瀹屾垚) -分支: +鍒嗘敮锛 STM3210 -* 完善SDIO驱动,并提供超过4G卡的支持; +* 瀹屽杽SDIO椹卞姩锛屽苟鎻愪緵瓒呰繃4G鍗$殑鏀寔锛 mini2440 -* 能够使用0.4.0分支上所有的特性,能够开启newlib支持,能够开启POSIX thread支持,能够开启libdl支持。 -增加LPC的ARM Cortex-M0/3系列移植分支; -增加新唐的ARM Cortex-M0 NU1xx分支; -增加龙芯I SoC3210分支(MIPS 32位体系结构) +* 鑳藉浣跨敤0.4.0鍒嗘敮涓婃墍鏈夌殑鐗规э紝鑳藉寮鍚痭ewlib鏀寔锛岃兘澶熷紑鍚疨OSIX thread鏀寔锛岃兘澶熷紑鍚痩ibdl鏀寔銆 +澧炲姞LPC鐨凙RM Cortex-M0/3绯诲垪绉绘鍒嗘敮锛 +澧炲姞鏂板攼鐨凙RM Cortex-M0 NU1xx鍒嗘敮锛 +澧炲姞榫欒姱I SoC3210鍒嗘敮(MIPS 32浣嶄綋绯荤粨鏋) -<其他分支,例如avr32,瑞萨m16,SEP4020等分支,由于分支维护人来不及准备,此次发布未包括在内,可以自行从RT-Thread的google svn中获取> +<鍏朵粬鍒嗘敮锛屼緥濡俛vr32锛岀憺钀╩16锛孲EP4020绛夊垎鏀紝鐢变簬鍒嗘敮缁存姢浜烘潵涓嶅強鍑嗗锛屾娆″彂甯冩湭鍖呮嫭鍦ㄥ唴锛屽彲浠ヨ嚜琛屼粠RT-Thread鐨刧oogle svn涓幏鍙> -移植的组件: -* wyoujtg完成国内知名的开源项目FTK移植。FTK是一套极为绚丽,完整的GUI系统。 +绉绘鐨勭粍浠讹細 +* wyoujtg瀹屾垚鍥藉唴鐭ュ悕鐨勫紑婧愰」鐩瓼TK绉绘銆侳TK鏄竴濂楁瀬涓虹粴涓斤紝瀹屾暣鐨凣UI绯荤粺銆 -文档: -RT-Thread 0.4.0在线API文档 -下载: -RT-Thread 0.4.0 beta1下载 +鏂囨。锛 +RT-Thread 0.4.0鍦ㄧ嚎API鏂囨。 +涓嬭浇锛 +RT-Thread 0.4.0 beta1涓嬭浇 -【RT-Thread 0.4.x分支的额外说明】似乎很多人误以为0.4.x分支是面向资源丰富的平台,不太适合类似STM32这样的CM3平台。这里要说的是,0.4.x分支绝大部分是兼容0.3.x分支,并且也非常适合于STM32等面向微控制器的硬件平台。例如POSIX thread部分,它能够运行于STM32平台,如果使用Code Sourcery GCC工具链,同样能够支持其中的newlib C库。这部分同样对内存的需求非常少,并且后续会移植到其他编译环境下。0.4.x分支一些特性不适合于微控制器的包括: -- 应用模块加载。 -- FTK GUI。 +銆怰T-Thread 0.4.x鍒嗘敮鐨勯澶栬鏄庛戜技涔庡緢澶氫汉璇互涓0.4.x鍒嗘敮鏄潰鍚戣祫婧愪赴瀵岀殑骞冲彴锛屼笉澶傚悎绫讳技STM32杩欐牱鐨凜M3骞冲彴銆傝繖閲岃璇寸殑鏄紝0.4.x鍒嗘敮缁濆ぇ閮ㄥ垎鏄吋瀹0.3.x鍒嗘敮锛屽苟涓斾篃闈炲父閫傚悎浜嶴TM32绛夐潰鍚戝井鎺у埗鍣ㄧ殑纭欢骞冲彴銆備緥濡侾OSIX thread閮ㄥ垎锛屽畠鑳藉杩愯浜嶴TM32骞冲彴锛屽鏋滀娇鐢–ode Sourcery GCC宸ュ叿閾撅紝鍚屾牱鑳藉鏀寔鍏朵腑鐨刵ewlib C搴撱傝繖閮ㄥ垎鍚屾牱瀵瑰唴瀛樼殑闇姹傞潪甯稿皯锛屽苟涓斿悗缁細绉绘鍒板叾浠栫紪璇戠幆澧冧笅銆0.4.x鍒嗘敮涓浜涚壒鎬т笉閫傚悎浜庡井鎺у埗鍣ㄧ殑鍖呮嫭锛 +- 搴旂敤妯″潡鍔犺浇銆 +- FTK GUI銆 -对于Cortex-M3等平台,我们目前也在对 应用模块特性 进行评估,看看从技术上是否能够从另外的途径解决动态运行速度慢的问题。 +瀵逛簬Cortex-M3绛夊钩鍙帮紝鎴戜滑鐩墠涔熷湪瀵 搴旂敤妯″潡鐗规 杩涜璇勪及锛岀湅鐪嬩粠鎶鏈笂鏄惁鑳藉浠庡彟澶栫殑閫斿緞瑙e喅鍔ㄦ佽繍琛岄熷害鎱㈢殑闂銆 //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread 0.3.1正式版 -发布时间: 2010/9/29 -是发布0.3.1正式版的时候了:在0.3.1的维护过程中,得到了大家很多的反馈,其中一些bug及修正也是由大家指出,这里感谢大家一直以来的支持,RT-Thread的发展进步离不开大家的帮助,谢谢! 相较RT-Thread 0.3.0版本,0.3.1版本是一个bug修正版,并无添加新的特性(*),使用上与0.3.0版本完全兼容。建议使用RT-Thread 0.3.0版本的用户,如果需要长时间不间断运行(大于1年),请切换到0.3.1正式版本来。 +鐗堟湰: RT-Thread 0.3.1姝e紡鐗 +鍙戝竷鏃堕棿: 2010/9/29 +鏄彂甯0.3.1姝e紡鐗堢殑鏃跺欎簡锛氬湪0.3.1鐨勭淮鎶よ繃绋嬩腑锛屽緱鍒颁簡澶у寰堝鐨勫弽棣堬紝鍏朵腑涓浜沚ug鍙婁慨姝d篃鏄敱澶у鎸囧嚭锛岃繖閲屾劅璋㈠ぇ瀹朵竴鐩翠互鏉ョ殑鏀寔锛孯T-Thread鐨勫彂灞曡繘姝ョ涓嶅紑澶у鐨勫府鍔╋紝璋㈣阿锛 鐩歌緝RT-Thread 0.3.0鐗堟湰锛0.3.1鐗堟湰鏄竴涓猙ug淇鐗堬紝骞舵棤娣诲姞鏂扮殑鐗规(*)锛屼娇鐢ㄤ笂涓0.3.0鐗堟湰瀹屽叏鍏煎銆傚缓璁娇鐢≧T-Thread 0.3.0鐗堟湰鐨勭敤鎴凤紝濡傛灉闇瑕侀暱鏃堕棿涓嶉棿鏂繍琛岋紙澶т簬1骞达級锛岃鍒囨崲鍒0.3.1姝e紡鐗堟湰鏉ャ -这个版本支持的硬件平台数量与0.3.0正式版本的一致: -* ARM Cortex-M3系列:STM32,LM3S以及LPC1766,STM32中新添加STM32F100系列芯片支持。 -* ARM7TDMI系列:LPC2148,LPC2478,AT91SAM7X256,AT91SAM7S -* ARM920T系列:S3C2440(mini2440) -* IA32:QEMU及真实的x86机器 +杩欎釜鐗堟湰鏀寔鐨勭‖浠跺钩鍙版暟閲忎笌0.3.0姝e紡鐗堟湰鐨勪竴鑷达細 +* ARM Cortex-M3绯诲垪锛歋TM32锛孡M3S浠ュ強LPC1766锛孲TM32涓柊娣诲姞STM32F100绯诲垪鑺墖鏀寔銆 +* ARM7TDMI绯诲垪锛歀PC2148锛孡PC2478锛孉T91SAM7X256锛孉T91SAM7S +* ARM920T绯诲垪锛歋3C2440锛坢ini2440锛 +* IA32锛歈EMU鍙婄湡瀹炵殑x86鏈哄櫒 -修正的问题包括: -* 修正OS Tick溢出的问题。 -* 修正定时器有时会被延期操作的问题。 -* 修正heap分配器尾部数据浪费的问题。 -* 修正rt_realloc时内存可能被浪费使用的问题。 -* 调整各内核对象结构使得内存布局更合理。 +淇鐨勯棶棰樺寘鎷細 +* 淇OS Tick婧㈠嚭鐨勯棶棰樸 +* 淇瀹氭椂鍣ㄦ湁鏃朵細琚欢鏈熸搷浣滅殑闂銆 +* 淇heap鍒嗛厤鍣ㄥ熬閮ㄦ暟鎹氮璐圭殑闂銆 +* 淇rt_realloc鏃跺唴瀛樺彲鑳借娴垂浣跨敤鐨勯棶棰樸 +* 璋冩暣鍚勫唴鏍稿璞$粨鏋勪娇寰楀唴瀛樺竷灞鏇村悎鐞嗐 -* 修正ELM FatFs接口中rename的问题。 -* 修正LwIP中IGMP的问题。 -* 完善当发送mail失败时LwIP的处理。 -* 增强、完善RT-Thread/GUI的功能。 +* 淇ELM FatFs鎺ュ彛涓璻ename鐨勯棶棰樸 +* 淇LwIP涓璉GMP鐨勯棶棰樸 +* 瀹屽杽褰撳彂閫乵ail澶辫触鏃禠wIP鐨勫鐞嗐 +* 澧炲己銆佸畬鍠凴T-Thread/GUI鐨勫姛鑳姐 -RT-Thread在Google SVN服务器上的开发分支亦做了相应调整: -原来的branches/rtt_0_3_1分支更改为branches/rtt_0_3_2。 +RT-Thread鍦℅oogle SVN鏈嶅姟鍣ㄤ笂鐨勫紑鍙戝垎鏀害鍋氫簡鐩稿簲璋冩暣锛 +鍘熸潵鐨刡ranches/rtt_0_3_1鍒嗘敮鏇存敼涓篵ranches/rtt_0_3_2銆 -代码:见附件。 +浠g爜锛氳闄勪欢銆 -文档: -RT-Thread实时操作系统编程指南与0.3.0正式版的相同,以后会逐渐由API说明文档替代,朝着正规化的方向发展。 +鏂囨。锛 +RT-Thread瀹炴椂鎿嶄綔绯荤粺缂栫▼鎸囧崡涓0.3.0姝e紡鐗堢殑鐩稿悓锛屼互鍚庝細閫愭笎鐢盇PI璇存槑鏂囨。鏇夸唬锛屾湞鐫姝h鍖栫殑鏂瑰悜鍙戝睍銆 -STM32分支 +STM32鍒嗘敮 --------- -请注意STM32分支的工程文件组织方式和0.3.0版本中的不一样,原来的几个目录是不相独立的工程,而0.3.1中为了避免混淆,把它们变成了独立的工程(注:因为0.3.1与0.3.0是完全兼容的,所以不一定要更新BSP目录)。 +璇锋敞鎰廠TM32鍒嗘敮鐨勫伐绋嬫枃浠剁粍缁囨柟寮忓拰0.3.0鐗堟湰涓殑涓嶄竴鏍凤紝鍘熸潵鐨勫嚑涓洰褰曟槸涓嶇浉鐙珛鐨勫伐绋嬶紝鑰0.3.1涓负浜嗛伩鍏嶆贩娣嗭紝鎶婂畠浠彉鎴愪簡鐙珛鐨勫伐绋(娉細鍥犱负0.3.1涓0.3.0鏄畬鍏ㄥ吋瀹圭殑锛屾墍浠ヤ笉涓瀹氳鏇存柊BSP鐩綍)銆 -project_107是针对STM32F107芯片的工程,project_valueline是针对STM32F100芯片 STM32 Discovery开发版的工程,其余的芯片默认是STM32F103ZE。如果要修改成自己所需要的芯片,请遵循一下步骤: -* 在board.h文件中修改STM32_SRAM_SIZE宏定义,它的单位是KB,所以针对于STM32F103VB类型的芯片,只需要把它定义成20即可。 -* 在使用Keil MDK打开board.h文件时,也能够使用Keil MDK带的界面配置方式进行配置。 -* 在工程选项的C编译器预定义上,修改成和芯片匹配的类型,例如STM32F10X_HD、STM32F10X_MD等。 +project_107鏄拡瀵筍TM32F107鑺墖鐨勫伐绋嬶紝project_valueline鏄拡瀵筍TM32F100鑺墖 STM32 Discovery寮鍙戠増鐨勫伐绋嬶紝鍏朵綑鐨勮姱鐗囬粯璁ゆ槸STM32F103ZE銆傚鏋滆淇敼鎴愯嚜宸辨墍闇瑕佺殑鑺墖锛岃閬靛惊涓涓嬫楠わ細 +* 鍦╞oard.h鏂囦欢涓慨鏀筍TM32_SRAM_SIZE瀹忓畾涔夛紝瀹冪殑鍗曚綅鏄疜B锛屾墍浠ラ拡瀵逛簬STM32F103VB绫诲瀷鐨勮姱鐗囷紝鍙渶瑕佹妸瀹冨畾涔夋垚20鍗冲彲銆 +* 鍦ㄤ娇鐢↘eil MDK鎵撳紑board.h鏂囦欢鏃讹紝涔熻兘澶熶娇鐢↘eil MDK甯︾殑鐣岄潰閰嶇疆鏂瑰紡杩涜閰嶇疆銆 +* 鍦ㄥ伐绋嬮夐」鐨凜缂栬瘧鍣ㄩ瀹氫箟涓婏紝淇敼鎴愬拰鑺墖鍖归厤鐨勭被鍨嬶紝渚嬪STM32F10X_HD銆丼TM32F10X_MD绛夈 -另外,STM32分支支持IAR编译器,在使用IAR ARM时,如果你使用了finsh,请注意,最好在链接配置文件中加入 +鍙﹀锛孲TM32鍒嗘敮鏀寔IAR缂栬瘧鍣紝鍦ㄤ娇鐢↖AR ARM鏃讹紝濡傛灉浣犱娇鐢ㄤ簡finsh锛岃娉ㄦ剰锛屾渶濂藉湪閾炬帴閰嶇疆鏂囦欢涓姞鍏 keep { section FSymTab }; keep { section VSymTab }; -它的作用是为了保留finsh中使用到的符号表,因为这些符号表仅在命令行被调用,所以他们可能在最后生成目标文件时被优化掉。 +瀹冪殑浣滅敤鏄负浜嗕繚鐣檉insh涓娇鐢ㄥ埌鐨勭鍙疯〃锛屽洜涓鸿繖浜涚鍙疯〃浠呭湪鍛戒护琛岃璋冪敤锛屾墍浠ヤ粬浠彲鑳藉湪鏈鍚庣敓鎴愮洰鏍囨枃浠舵椂琚紭鍖栨帀銆 -具体请看stm32f10x_flash.icf文件。 +鍏蜂綋璇风湅stm32f10x_flash.icf鏂囦欢銆 -LM3S分支 +LM3S鍒嗘敮 -------- -LM3S分支默认采用LM3S8962芯片,针对的是TI这次发的48¥ 8962开发板。 +LM3S鍒嗘敮榛樿閲囩敤LM3S8962鑺墖锛岄拡瀵圭殑鏄疶I杩欐鍙戠殑48锟 8962寮鍙戞澘銆 -LPC176x分支 +LPC176x鍒嗘敮 ----------- -工程默认包括finsh shell,文件系统,网络协议栈的支持。 +宸ョ▼榛樿鍖呮嫭finsh shell锛屾枃浠剁郴缁燂紝缃戠粶鍗忚鏍堢殑鏀寔銆 -(*) 希望使用新特性的开发人员请关注后续0.4.0版本的发布情况,0.4.0版本添加了很多的新特性,例如:16位的瑞萨M16分支,大端模式的AVR32分支,以及MIPS分支等。 +(*) 甯屾湜浣跨敤鏂扮壒鎬х殑寮鍙戜汉鍛樿鍏虫敞鍚庣画0.4.0鐗堟湰鐨勫彂甯冩儏鍐碉紝0.4.0鐗堟湰娣诲姞浜嗗緢澶氱殑鏂扮壒鎬э紝渚嬪锛16浣嶇殑鐟炶惃M16鍒嗘敮锛屽ぇ绔ā寮忕殑AVR32鍒嗘敮锛屼互鍙奙IPS鍒嗘敮绛夈 //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread 0.3.0正式版 -发布时间: 2010/3/30 +鐗堟湰: RT-Thread 0.3.0姝e紡鐗 +鍙戝竷鏃堕棿: 2010/3/30 -相较以前的RT-Thread 0.3.0 RC版本,无大的修改(console调整为支持设备的模式),但依然建议所有使用0.2.x、0.3.0 beta/rc版的用户都开始使用0.3.0正式版。当前版本支持如下移植分支: -- ARM Cortex-M3系列:STM32(包含STM32F107),LM3S,LPC1766 -- ARM7TDMI系列:LPC2148,LPC2478,AT91SAM7X256,AT91SAM7S -- ARM920T系列:S3C2440(mini2440) -- IA32:QEMU及真实的x86机器 +鐩歌緝浠ュ墠鐨凴T-Thread 0.3.0 RC鐗堟湰锛屾棤澶х殑淇敼锛坈onsole璋冩暣涓烘敮鎸佽澶囩殑妯″紡锛夛紝浣嗕緷鐒跺缓璁墍鏈変娇鐢0.2.x銆0.3.0 beta/rc鐗堢殑鐢ㄦ埛閮藉紑濮嬩娇鐢0.3.0姝e紡鐗堛傚綋鍓嶇増鏈敮鎸佸涓嬬Щ妞嶅垎鏀細 +- ARM Cortex-M3绯诲垪锛歋TM32锛堝寘鍚玈TM32F107锛夛紝LM3S锛孡PC1766 +- ARM7TDMI绯诲垪锛歀PC2148锛孡PC2478锛孉T91SAM7X256锛孉T91SAM7S +- ARM920T绯诲垪锛歋3C2440锛坢ini2440锛 +- IA32锛歈EMU鍙婄湡瀹炵殑x86鏈哄櫒 -RT-Thread在Google SVN服务器上的开发分支亦做了相应调整: -原来的开发主干(trunk)更改为branches/rtt_0_3_1 -当前的开发主干(trunk)作为当前的RT-Thread 0.4.x开发分支继续前进。 +RT-Thread鍦℅oogle SVN鏈嶅姟鍣ㄤ笂鐨勫紑鍙戝垎鏀害鍋氫簡鐩稿簲璋冩暣锛 +鍘熸潵鐨勫紑鍙戜富骞诧紙trunk锛夋洿鏀逛负branches/rtt_0_3_1 +褰撳墠鐨勫紑鍙戜富骞诧紙trunk锛変綔涓哄綋鍓嶇殑RT-Thread 0.4.x寮鍙戝垎鏀户缁墠杩涖 -RT-Thread 0.3.1版本将在目前的0.3.0正式版上进行补丁修正,并且当0.4.x分支一些有用的、稳定功能也会迁移会0.3.x 分支。 +RT-Thread 0.3.1鐗堟湰灏嗗湪鐩墠鐨0.3.0姝e紡鐗堜笂杩涜琛ヤ竵淇锛屽苟涓斿綋0.4.x鍒嗘敮涓浜涙湁鐢ㄧ殑銆佺ǔ瀹氬姛鑳戒篃浼氳縼绉讳細0.3.x 鍒嗘敮銆 -后续会陆续加入一些AppNotes。 +鍚庣画浼氶檰缁姞鍏ヤ竴浜汚ppNotes銆 -补充说明: -STM3210分支 -Keil MDK工程文件位于bsp\stm3210目录下,仅是基本的led工程; -系统默认采用STM32F103ZE芯片,其他芯片需要修改的位置: -- 根据芯片片内SRAM大小修改board.h文件 -- 如果是STM32F107,请直接使用project_107目录下的工程(见下面详细的使用说明) +琛ュ厖璇存槑锛 +STM3210鍒嗘敮 +Keil MDK宸ョ▼鏂囦欢浣嶄簬bsp\stm3210鐩綍涓嬶紝浠呮槸鍩烘湰鐨刲ed宸ョ▼锛 +绯荤粺榛樿閲囩敤STM32F103ZE鑺墖锛屽叾浠栬姱鐗囬渶瑕佷慨鏀圭殑浣嶇疆锛 +- 鏍规嵁鑺墖鐗囧唴SRAM澶у皬淇敼board.h鏂囦欢 +- 濡傛灉鏄疭TM32F107锛岃鐩存帴浣跨敤project_107鐩綍涓嬬殑宸ョ▼(瑙佷笅闈㈣缁嗙殑浣跨敤璇存槑) -同时在bsp\stm3210目录下还存在多个以project_开头的目录,这些相应的针对不同类型的工程,例如project_finsh针对在RT-Thread中使用finsh shell的情况。当需要使用这些工程时,需要把相应project_xxx目录中的文件都复制到 stm3210目录中(直接同名覆盖的方式),然后再行打开stm3210目录下的工程文件。 +鍚屾椂鍦╞sp\stm3210鐩綍涓嬭繕瀛樺湪澶氫釜浠roject_寮澶寸殑鐩綍锛岃繖浜涚浉搴旂殑閽堝涓嶅悓绫诲瀷鐨勫伐绋嬶紝渚嬪project_finsh閽堝鍦≧T-Thread涓娇鐢╢insh shell鐨勬儏鍐点傚綋闇瑕佷娇鐢ㄨ繖浜涘伐绋嬫椂锛岄渶瑕佹妸鐩稿簲project_xxx鐩綍涓殑鏂囦欢閮藉鍒跺埌 stm3210鐩綍涓(鐩存帴鍚屽悕瑕嗙洊鐨勬柟寮)锛岀劧鍚庡啀琛屾墦寮stm3210鐩綍涓嬬殑宸ョ▼鏂囦欢銆 -LM3S分支 -LM3S的Keil MDK工程文件放在bsp\lm3s目录下;针对LM3S8962芯片(因为这个TI送的是带这个芯片的开发板),需要在 board.h中 +LM3S鍒嗘敮 +LM3S鐨凨eil MDK宸ョ▼鏂囦欢鏀惧湪bsp\lm3s鐩綍涓嬶紱閽堝LM3S8962鑺墖(鍥犱负杩欎釜TI閫佺殑鏄甫杩欎釜鑺墖鐨勫紑鍙戞澘)锛岄渶瑕佸湪 board.h涓 // For lm3s8962, it should be SYSCTL_XTAL_8MHZ #define LM3S_XTAL_TYPE SYSCTL_XTAL_6MHZ -把如上这个定义更改为SYSCTL_XTAL_8MHZ,否则得话会锁死JTAG。 +鎶婂涓婅繖涓畾涔夋洿鏀逛负SYSCTL_XTAL_8MHZ锛屽惁鍒欏緱璇濅細閿佹JTAG銆 //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread/LM3S 0.3.0 RC1版发布 -发布时间: 2010/1/4 +鐗堟湰: RT-Thread/LM3S 0.3.0 RC1鐗堝彂甯 +鍙戝竷鏃堕棿: 2010/1/4 -实时线程操作系统是一款面向实时领域的操作系统,这个和通常的通用操作系统有着很大的不同。通用操作系统通常面对的是日常应用,例如打开浏览器上网,播放音乐,采用字处理软件编辑文档。 -在古老的时代,通用操作系统一般只能处理一件事,而随着计算机技术日新月异的发展,硬件更新换代,上GHz主频、上GB内存、多核技术走进普通人的生活中,通用操作系统也就朝着并行化计算的方向发展。通用操作系统更多讲究的是,对这并行事务处理的公平性上,例如一个个民工在不同的窗口进行排队购买火车票,好的调度系统能够保证每个民工的公平性。 -实时系统和这种通用系统有很大的差别。实时系统指的是,当外界有系统关注的相应事件发生时,系统能够在指定的时间内(deadline)进行正确的响应。用于实时系统的操作系统就叫做实时操作系统。从系统的定义也可以看得出,实时操作系统和通用操作系统在事务的处理上有明显的区别,实时操作系统有非常强的针对性,对相应的事件力求做到这固定的时间内进行响应;而通用操作系统则需要努力地做到各个事务的公平性(某些系统也会非常注意数据的吞吐量,例如网络服务器)。 -实时线程操作系统(英文名RT-Thread)面向的正是这么一类的实时系统,因为其小型的特点也可以看成是一个嵌入式操作系统(嵌入式系统一般是针对一些专有目的而存在,比较吝啬于成本。而基于专有目的的特点,也注定了嵌入式系统或多或少的具有一些实时性的特点)。这种系统可以用于自动售票机,税控机,移动通信设备,mp3/mp4等便携式音乐设备,飞行器控制,车体导航控制,打印机,复印机,各类监控设备,路由器,ADSL,机顶盒等网络设备,医疗设备等等。 -TI流明LM3S系列芯片是基于ARM Cortex M3 v7构架的32位芯片,其中LM3S S6000,S8000,S9000系列芯片携带网络功能。RT-Thread的标准内核可以运行在除LM3S S100系列外的所有系列芯片上。这次RT-Thread针对于LM3S进行移植验证并经过压力测试的是LM3S6918芯片,芯片携带64K片内静态内存,256K闪存,频率是50MHz。在这个平台上,RT-Thread支持的特性包括: -? 完善的实时核心 -- 面向对象方式的实时核心(但依然保留了C语言的优雅、小巧风格); -- 默认32线程优先级的全抢占式实时内核(亦可配置成256线程优先级);相同优先级线程时间片轮转调度; -- 相同优先级线程实施时间片可配置的分时时间片轮转调度; -- 线程间同步机制:信号量和防止优先级翻转的互斥锁; -- 完善高效的线程间通信机制,包括邮箱,消息队列和事件; -- 支持线程挂起和唤醒的固定内存块管理及线程安全的动态内存堆管理; -- 向上层提供基于名字的统一接口设备驱动模型; +瀹炴椂绾跨▼鎿嶄綔绯荤粺鏄竴娆鹃潰鍚戝疄鏃堕鍩熺殑鎿嶄綔绯荤粺锛岃繖涓拰閫氬父鐨勯氱敤鎿嶄綔绯荤粺鏈夌潃寰堝ぇ鐨勪笉鍚屻傞氱敤鎿嶄綔绯荤粺閫氬父闈㈠鐨勬槸鏃ュ父搴旂敤锛屼緥濡傛墦寮娴忚鍣ㄤ笂缃戯紝鎾斁闊充箰锛岄噰鐢ㄥ瓧澶勭悊杞欢缂栬緫鏂囨。銆 +鍦ㄥ彜鑰佺殑鏃朵唬锛岄氱敤鎿嶄綔绯荤粺涓鑸彧鑳藉鐞嗕竴浠朵簨锛岃岄殢鐫璁$畻鏈烘妧鏈棩鏂版湀寮傜殑鍙戝睍锛岀‖浠舵洿鏂版崲浠o紝涓奊Hz涓婚銆佷笂GB鍐呭瓨銆佸鏍告妧鏈蛋杩涙櫘閫氫汉鐨勭敓娲讳腑锛岄氱敤鎿嶄綔绯荤粺涔熷氨鏈濈潃骞惰鍖栬绠楃殑鏂瑰悜鍙戝睍銆傞氱敤鎿嶄綔绯荤粺鏇村璁茬┒鐨勬槸锛屽杩欏苟琛屼簨鍔″鐞嗙殑鍏钩鎬т笂锛屼緥濡備竴涓釜姘戝伐鍦ㄤ笉鍚岀殑绐楀彛杩涜鎺掗槦璐拱鐏溅绁紝濂界殑璋冨害绯荤粺鑳藉淇濊瘉姣忎釜姘戝伐鐨勫叕骞虫с +瀹炴椂绯荤粺鍜岃繖绉嶉氱敤绯荤粺鏈夊緢澶х殑宸埆銆傚疄鏃剁郴缁熸寚鐨勬槸锛屽綋澶栫晫鏈夌郴缁熷叧娉ㄧ殑鐩稿簲浜嬩欢鍙戠敓鏃讹紝绯荤粺鑳藉鍦ㄦ寚瀹氱殑鏃堕棿鍐咃紙deadline锛夎繘琛屾纭殑鍝嶅簲銆傜敤浜庡疄鏃剁郴缁熺殑鎿嶄綔绯荤粺灏卞彨鍋氬疄鏃舵搷浣滅郴缁熴備粠绯荤粺鐨勫畾涔変篃鍙互鐪嬪緱鍑猴紝瀹炴椂鎿嶄綔绯荤粺鍜岄氱敤鎿嶄綔绯荤粺鍦ㄤ簨鍔$殑澶勭悊涓婃湁鏄庢樉鐨勫尯鍒紝瀹炴椂鎿嶄綔绯荤粺鏈夐潪甯稿己鐨勯拡瀵规э紝瀵圭浉搴旂殑浜嬩欢鍔涙眰鍋氬埌杩欏浐瀹氱殑鏃堕棿鍐呰繘琛屽搷搴旓紱鑰岄氱敤鎿嶄綔绯荤粺鍒欓渶瑕佸姫鍔涘湴鍋氬埌鍚勪釜浜嬪姟鐨勫叕骞虫э紙鏌愪簺绯荤粺涔熶細闈炲父娉ㄦ剰鏁版嵁鐨勫悶鍚愰噺锛屼緥濡傜綉缁滄湇鍔″櫒锛夈 +瀹炴椂绾跨▼鎿嶄綔绯荤粺锛堣嫳鏂囧悕RT-Thread锛夐潰鍚戠殑姝f槸杩欎箞涓绫荤殑瀹炴椂绯荤粺锛屽洜涓哄叾灏忓瀷鐨勭壒鐐逛篃鍙互鐪嬫垚鏄竴涓祵鍏ュ紡鎿嶄綔绯荤粺锛堝祵鍏ュ紡绯荤粺涓鑸槸閽堝涓浜涗笓鏈夌洰鐨勮屽瓨鍦紝姣旇緝鍚濆暚浜庢垚鏈傝屽熀浜庝笓鏈夌洰鐨勭殑鐗圭偣锛屼篃娉ㄥ畾浜嗗祵鍏ュ紡绯荤粺鎴栧鎴栧皯鐨勫叿鏈変竴浜涘疄鏃舵х殑鐗圭偣锛夈傝繖绉嶇郴缁熷彲浠ョ敤浜庤嚜鍔ㄥ敭绁ㄦ満锛岀◣鎺ф満锛岀Щ鍔ㄩ氫俊璁惧锛宮p3/mp4绛変究鎼哄紡闊充箰璁惧锛岄琛屽櫒鎺у埗锛岃溅浣撳鑸帶鍒讹紝鎵撳嵃鏈猴紝澶嶅嵃鏈猴紝鍚勭被鐩戞帶璁惧锛岃矾鐢卞櫒锛孉DSL锛屾満椤剁洅绛夌綉缁滆澶囷紝鍖荤枟璁惧绛夌瓑銆 +TI娴佹槑LM3S绯诲垪鑺墖鏄熀浜嶢RM Cortex M3 v7鏋勬灦鐨32浣嶈姱鐗囷紝鍏朵腑LM3S S6000锛孲8000锛孲9000绯诲垪鑺墖鎼哄甫缃戠粶鍔熻兘銆俁T-Thread鐨勬爣鍑嗗唴鏍稿彲浠ヨ繍琛屽湪闄M3S S100绯诲垪澶栫殑鎵鏈夌郴鍒楄姱鐗囦笂銆傝繖娆T-Thread閽堝浜嶭M3S杩涜绉绘楠岃瘉骞剁粡杩囧帇鍔涙祴璇曠殑鏄疞M3S6918鑺墖锛岃姱鐗囨惡甯64K鐗囧唴闈欐佸唴瀛橈紝256K闂瓨锛岄鐜囨槸50MHz銆傚湪杩欎釜骞冲彴涓婏紝RT-Thread鏀寔鐨勭壒鎬у寘鎷細 +? 瀹屽杽鐨勫疄鏃舵牳蹇 +- 闈㈠悜瀵硅薄鏂瑰紡鐨勫疄鏃舵牳蹇冿紙浣嗕緷鐒朵繚鐣欎簡C璇█鐨勪紭闆呫佸皬宸ч鏍硷級锛 +- 榛樿32绾跨▼浼樺厛绾х殑鍏ㄦ姠鍗犲紡瀹炴椂鍐呮牳锛堜害鍙厤缃垚256绾跨▼浼樺厛绾э級锛涚浉鍚屼紭鍏堢骇绾跨▼鏃堕棿鐗囪疆杞皟搴︼紱 +- 鐩稿悓浼樺厛绾х嚎绋嬪疄鏂芥椂闂寸墖鍙厤缃殑鍒嗘椂鏃堕棿鐗囪疆杞皟搴︼紱 +- 绾跨▼闂村悓姝ユ満鍒讹細淇″彿閲忓拰闃叉浼樺厛绾х炕杞殑浜掓枼閿侊紱 +- 瀹屽杽楂樻晥鐨勭嚎绋嬮棿閫氫俊鏈哄埗锛屽寘鎷偖绠憋紝娑堟伅闃熷垪鍜屼簨浠讹紱 +- 鏀寔绾跨▼鎸傝捣鍜屽敜閱掔殑鍥哄畾鍐呭瓨鍧楃鐞嗗強绾跨▼瀹夊叏鐨勫姩鎬佸唴瀛樺爢绠$悊锛 +- 鍚戜笂灞傛彁渚涘熀浜庡悕瀛楃殑缁熶竴鎺ュ彛璁惧椹卞姩妯″瀷锛 -? FinSH shell命令行 -- 命令即C代码的命令行方式; -- 直接在命令行中调用系统内核函数; -- 直接在命令行中访问系统全局变量; -- 历史记录及命令自动补全; +? FinSH shell鍛戒护琛 +- 鍛戒护鍗矯浠g爜鐨勫懡浠よ鏂瑰紡锛 +- 鐩存帴鍦ㄥ懡浠よ涓皟鐢ㄧ郴缁熷唴鏍稿嚱鏁帮紱 +- 鐩存帴鍦ㄥ懡浠よ涓闂郴缁熷叏灞鍙橀噺锛 +- 鍘嗗彶璁板綍鍙婂懡浠よ嚜鍔ㄨˉ鍏紱 -? 面向小型设备的虚拟文件系统 -- 向上层应用提供POSIX风格的API接口; -- 支持多种具体文件系统实现; -- LM3S分支内置SD卡驱动程序; +? 闈㈠悜灏忓瀷璁惧鐨勮櫄鎷熸枃浠剁郴缁 +- 鍚戜笂灞傚簲鐢ㄦ彁渚汸OSIX椋庢牸鐨凙PI鎺ュ彛锛 +- 鏀寔澶氱鍏蜂綋鏂囦欢绯荤粺瀹炵幇锛 +- LM3S鍒嗘敮鍐呯疆SD鍗¢┍鍔ㄧ▼搴忥紱 -? LwIP轻型TCP/IP协议栈 -- 标准的BSD Socket接口; -- IP、ICMP、UDP、TCP标准协议支持; -- DNS,DHCP,PPP协议支持; -- TFTP、HTTP、FTP应用协议支持(见netutil组件); -- LM3S分支内置以太网驱动; +? LwIP杞诲瀷TCP/IP鍗忚鏍 +- 鏍囧噯鐨凚SD Socket鎺ュ彛锛 +- IP銆両CMP銆乁DP銆乀CP鏍囧噯鍗忚鏀寔锛 +- DNS锛孌HCP锛孭PP鍗忚鏀寔锛 +- TFTP銆丠TTP銆丗TP搴旂敤鍗忚鏀寔锛堣netutil缁勪欢锛夛紱 +- LM3S鍒嗘敮鍐呯疆浠ュお缃戦┍鍔紱 -? 开发环境支持: -- GNU GCC (scons做为构建工具) +? 寮鍙戠幆澧冩敮鎸侊細 +- GNU GCC (scons鍋氫负鏋勫缓宸ュ叿) - Keil MDK -以上是RT-Thread/LM3S 0.3.0的特性,这些特性在RT-Thread 0.3.x分支中不会有大的改变。 +浠ヤ笂鏄疪T-Thread/LM3S 0.3.0鐨勭壒鎬э紝杩欎簺鐗规у湪RT-Thread 0.3.x鍒嗘敮涓笉浼氭湁澶х殑鏀瑰彉銆 -技术指标及优势 -看完RT-Thread的特性后,看看一些其他有吸引力的地方。 +鎶鏈寚鏍囧強浼樺娍 +鐪嬪畬RT-Thread鐨勭壒鎬у悗锛岀湅鐪嬩竴浜涘叾浠栨湁鍚稿紩鍔涚殑鍦版柟銆 -首先是体积。看网上有网友说,RT-Thread是否是基于Linux,或者直接使用Linux,这里不得不说,Linux并不是任何事情都做得到,它做不到在数KByte的内存占用上依然能够非常好的运行,而这类设备非常多。例如LM3S这类芯片,本身只有大约64K或更少的片内静态内存,另外就是闪存(通常在128K - 512K之间)。外扩内存基本上不太可能,这类芯片是完全的成本敏感型芯片,硬件决定了它已经不能外扩内存(LM3S最新款的已经支持能够外扩内存了,不过手上还没拿到)。 +棣栧厛鏄綋绉傜湅缃戜笂鏈夌綉鍙嬭锛孯T-Thread鏄惁鏄熀浜嶭inux锛屾垨鑰呯洿鎺ヤ娇鐢↙inux锛岃繖閲屼笉寰椾笉璇达紝Linux骞朵笉鏄换浣曚簨鎯呴兘鍋氬緱鍒帮紝瀹冨仛涓嶅埌鍦ㄦ暟KByte鐨勫唴瀛樺崰鐢ㄤ笂渚濈劧鑳藉闈炲父濂界殑杩愯锛岃岃繖绫昏澶囬潪甯稿銆備緥濡侺M3S杩欑被鑺墖锛屾湰韬彧鏈夊ぇ绾64K鎴栨洿灏戠殑鐗囧唴闈欐佸唴瀛橈紝鍙﹀灏辨槸闂瓨锛堥氬父鍦128K - 512K涔嬮棿锛夈傚鎵╁唴瀛樺熀鏈笂涓嶅お鍙兘锛岃繖绫昏姱鐗囨槸瀹屽叏鐨勬垚鏈晱鎰熷瀷鑺墖锛岀‖浠跺喅瀹氫簡瀹冨凡缁忎笉鑳藉鎵╁唴瀛橈紙LM3S鏈鏂版鐨勫凡缁忔敮鎸佽兘澶熷鎵╁唴瀛樹簡锛屼笉杩囨墜涓婅繕娌℃嬁鍒帮級銆 -看几个体积指标: -RT-Thread标准Kernel(标准Kernel指得是没经过剪裁的内核): -9.5K只读数据和执行代码占用,1.5K内存占用(通常只读数据和执行代码放置在闪存中) +鐪嬪嚑涓綋绉寚鏍囷細 +RT-Thread鏍囧噯Kernel锛堟爣鍑咾ernel鎸囧緱鏄病缁忚繃鍓鐨勫唴鏍革級锛 +9.5K鍙鏁版嵁鍜屾墽琛屼唬鐮佸崰鐢紝1.5K鍐呭瓨鍗犵敤锛堥氬父鍙鏁版嵁鍜屾墽琛屼唬鐮佹斁缃湪闂瓨涓級 -包括上面说的完整组件,即标准Kernel,finsh shell,文件系统,网络协议栈: -80K只读数据和执行代码占用,13.5K内存占用,当运行时,会有5K左右的动态内存占用。即当系统运行时,大约剩余45K内存给用户使用。 +鍖呮嫭涓婇潰璇寸殑瀹屾暣缁勪欢锛屽嵆鏍囧噯Kernel锛宖insh shell锛屾枃浠剁郴缁燂紝缃戠粶鍗忚鏍堬細 +80K鍙鏁版嵁鍜屾墽琛屼唬鐮佸崰鐢紝13.5K鍐呭瓨鍗犵敤锛屽綋杩愯鏃讹紝浼氭湁5K宸﹀彸鐨勫姩鎬佸唴瀛樺崰鐢ㄣ傚嵆褰撶郴缁熻繍琛屾椂锛屽ぇ绾﹀墿浣45K鍐呭瓨缁欑敤鎴蜂娇鐢ㄣ -和LM3S提供的无操作系统LwIP,FatFS文件系统比较: -120K只读数据和执行代码占用,35K内存占用。即当系统运行时,大约剩余20K内存给用户使用。 +鍜孡M3S鎻愪緵鐨勬棤鎿嶄綔绯荤粺LwIP锛孎atFS鏂囦欢绯荤粺姣旇緝锛 +120K鍙鏁版嵁鍜屾墽琛屼唬鐮佸崰鐢紝35K鍐呭瓨鍗犵敤銆傚嵆褰撶郴缁熻繍琛屾椂锛屽ぇ绾﹀墿浣20K鍐呭瓨缁欑敤鎴蜂娇鐢ㄣ -再看看针对网络的一些性能指标 -对比情况采用了相同的netio测试得到的数据统计 +鍐嶇湅鐪嬮拡瀵圭綉缁滅殑涓浜涙ц兘鎸囨爣 +瀵规瘮鎯呭喌閲囩敤浜嗙浉鍚岀殑netio娴嬭瘯寰楀埌鐨勬暟鎹粺璁 RT-Thread/LM3S NETIO - Network Throughput Benchmark, Version 1.26 (C) 1997-2005 Kai Uwe Rommel @@ -1386,7 +1599,7 @@ Packet size 16k bytes: 706 KByte/s Tx, 2196 KByte/s Rx. Packet size 32k bytes: 709 KByte/s Tx, 2136 KByte/s Rx. Done. -TI/无操作系统情况下的LwIP +TI/鏃犳搷浣滅郴缁熸儏鍐典笅鐨凩wIP NETIO - Network Throughput Benchmark, Version 1.26 (C) 1997-2005 Kai Uwe Rommel TCP connection established. @@ -1395,60 +1608,60 @@ Packet size 2k bytes: 870 KByte/s Tx, 2463 KByte/s Rx. Packet size 4k bytes: 870 KByte/s Tx, 3322 KByte/s Rx. Packet size 8k bytes: 870 KByte/s Tx, 3239 KByte/s Rx. -(上面的是PC端NETIO输出的结果,Tx对应LM3S开发板上的接收,Rx对应LM3S开发板上的发送) -从上面可以看出,在大数据块发送时,RT-Thread/LM3S的移植会有一些损耗,但总的来说损耗不算太大,特别是报文在1k - 2k范围时数据相差不大。如何看待这个差异:通常没有操作系统时,系统能够更专注的做一件事。而有操作系统的情况下,它能够额外的做一些事务,这些事务在进行切换时,会产生一定的系统资源开销。总的来说,体积上的改善一定程度上弥补了性能的差距(例如RT-Thread/LM3S能够支持16k、32k bytes大小的网络包发送接收,而无操作系统的LwIP则不能)。 +锛堜笂闈㈢殑鏄疨C绔疦ETIO杈撳嚭鐨勭粨鏋滐紝Tx瀵瑰簲LM3S寮鍙戞澘涓婄殑鎺ユ敹锛孯x瀵瑰簲LM3S寮鍙戞澘涓婄殑鍙戦侊級 +浠庝笂闈㈠彲浠ョ湅鍑猴紝鍦ㄥぇ鏁版嵁鍧楀彂閫佹椂锛孯T-Thread/LM3S鐨勭Щ妞嶄細鏈変竴浜涙崯鑰楋紝浣嗘荤殑鏉ヨ鎹熻椾笉绠楀お澶э紝鐗瑰埆鏄姤鏂囧湪1k - 2k鑼冨洿鏃舵暟鎹浉宸笉澶с傚浣曠湅寰呰繖涓樊寮傦細閫氬父娌℃湁鎿嶄綔绯荤粺鏃讹紝绯荤粺鑳藉鏇翠笓娉ㄧ殑鍋氫竴浠朵簨銆傝屾湁鎿嶄綔绯荤粺鐨勬儏鍐典笅锛屽畠鑳藉棰濆鐨勫仛涓浜涗簨鍔★紝杩欎簺浜嬪姟鍦ㄨ繘琛屽垏鎹㈡椂锛屼細浜х敓涓瀹氱殑绯荤粺璧勬簮寮閿銆傛荤殑鏉ヨ锛屼綋绉笂鐨勬敼鍠勪竴瀹氱▼搴︿笂寮ヨˉ浜嗘ц兘鐨勫樊璺濓紙渚嬪RT-Thread/LM3S鑳藉鏀寔16k銆32k bytes澶у皬鐨勭綉缁滃寘鍙戦佹帴鏀讹紝鑰屾棤鎿嶄綔绯荤粺鐨凩wIP鍒欎笉鑳斤級銆 -最后看看一些实时性能指标 -这组数据是与著名的开源实时操作系统ecos的比较。测试代码完全相同,硬件平台相同(采用的是PXA310),编译器相同(GNU GCC),编译参数相同: -基本任务测试 RTT/ecos 1.40倍 -协作调度测试 RTT/ecos 1.20倍 -抢占调度测试 RTT/ecos 1.33倍 -同步处理测试 RTT/ecos 1.86倍 -内存分配测试 RTT/ecos 2.50倍 +鏈鍚庣湅鐪嬩竴浜涘疄鏃舵ц兘鎸囨爣 +杩欑粍鏁版嵁鏄笌钁楀悕鐨勫紑婧愬疄鏃舵搷浣滅郴缁焑cos鐨勬瘮杈冦傛祴璇曚唬鐮佸畬鍏ㄧ浉鍚岋紝纭欢骞冲彴鐩稿悓锛堥噰鐢ㄧ殑鏄疨XA310锛夛紝缂栬瘧鍣ㄧ浉鍚岋紙GNU GCC锛夛紝缂栬瘧鍙傛暟鐩稿悓锛 +鍩烘湰浠诲姟娴嬭瘯 RTT/ecos 1.40鍊 +鍗忎綔璋冨害娴嬭瘯 RTT/ecos 1.20鍊 +鎶㈠崰璋冨害娴嬭瘯 RTT/ecos 1.33鍊 +鍚屾澶勭悊娴嬭瘯 RTT/ecos 1.86鍊 +鍐呭瓨鍒嗛厤娴嬭瘯 RTT/ecos 2.50鍊 -当一个实时操作系统能够做到稳定运行、性能比拟普遍运行的系统有一定优势、后续能够稳定发展时,那么她将是一款能够得到普遍使用的系统,而事实也正是如此:在中国,已经有十来家公司采用RT-Thread运用于他们的产品中,而后续打算在产品中采用RT-Thread的公司还有更多。 +褰撲竴涓疄鏃舵搷浣滅郴缁熻兘澶熷仛鍒扮ǔ瀹氳繍琛屻佹ц兘姣旀嫙鏅亶杩愯鐨勭郴缁熸湁涓瀹氫紭鍔裤佸悗缁兘澶熺ǔ瀹氬彂灞曟椂锛岄偅涔堝ス灏嗘槸涓娆捐兘澶熷緱鍒版櫘閬嶄娇鐢ㄧ殑绯荤粺锛岃屼簨瀹炰篃姝f槸濡傛锛氬湪涓浗锛屽凡缁忔湁鍗佹潵瀹跺叕鍙搁噰鐢≧T-Thread杩愮敤浜庝粬浠殑浜у搧涓紝鑰屽悗缁墦绠楀湪浜у搧涓噰鐢≧T-Thread鐨勫叕鍙歌繕鏈夋洿澶氥 -许可证 -作为一套基础组件,就例如电脑中的中文输入法一样,它不应该收费,因此它能够免费的使用于商业产品中(0.3.x系统仅需要在我们这边进行产品信息备案,更换GPLv2许可证为商业许可证!0.4.x将更换产品许可证为BSD或Apache开源许可证)。 +璁稿彲璇 +浣滀负涓濂楀熀纭缁勪欢锛屽氨渚嬪鐢佃剳涓殑涓枃杈撳叆娉曚竴鏍凤紝瀹冧笉搴旇鏀惰垂锛屽洜姝ゅ畠鑳藉鍏嶈垂鐨勪娇鐢ㄤ簬鍟嗕笟浜у搧涓紙0.3.x绯荤粺浠呴渶瑕佸湪鎴戜滑杩欒竟杩涜浜у搧淇℃伅澶囨锛屾洿鎹PLv2璁稿彲璇佷负鍟嗕笟璁稿彲璇侊紒0.4.x灏嗘洿鎹骇鍝佽鍙瘉涓築SD鎴朅pache寮婧愯鍙瘉锛夈 //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread RTOS v0.2.3版本 -发布时间: 2008/10/6 +鐗堟湰: RT-Thread RTOS v0.2.3鐗堟湰 +鍙戝竷鏃堕棿: 2008/10/6 -更新记录 -- 添加slab内存管理器; -- 添加用于小型内存系统的动态内存管理器 (使用动态内存时,小型内存管理器与slab内存管理器中使用其中之一); -- 添加lwip做为RT-Thread的TCP/IP协议栈 (0.2.3包含AT91RM9200网卡驱动,及QEMU/s3c2410虚拟的rtl8019网卡驱动); -- 添加C++特性支持; -- finsh中添加动态添加系统调用及系统变量的API; -- 修正rt_int*_t定义为显式的signed定义; -- 修正线程超时函数的问题; -- 修正链表中初始化问题; -- 修正Object中调用钩子函数的问题; +鏇存柊璁板綍 +- 娣诲姞slab鍐呭瓨绠$悊鍣紱 +- 娣诲姞鐢ㄤ簬灏忓瀷鍐呭瓨绯荤粺鐨勫姩鎬佸唴瀛樼鐞嗗櫒 锛堜娇鐢ㄥ姩鎬佸唴瀛樻椂锛屽皬鍨嬪唴瀛樼鐞嗗櫒涓巗lab鍐呭瓨绠$悊鍣ㄤ腑浣跨敤鍏朵腑涔嬩竴锛夛紱 +- 娣诲姞lwip鍋氫负RT-Thread鐨凾CP/IP鍗忚鏍 锛0.2.3鍖呭惈AT91RM9200缃戝崱椹卞姩锛屽強QEMU/s3c2410铏氭嫙鐨剅tl8019缃戝崱椹卞姩锛夛紱 +- 娣诲姞C++鐗规ф敮鎸侊紱 +- finsh涓坊鍔犲姩鎬佹坊鍔犵郴缁熻皟鐢ㄥ強绯荤粺鍙橀噺鐨凙PI锛 +- 淇rt_int*_t瀹氫箟涓烘樉寮忕殑signed瀹氫箟锛 +- 淇绾跨▼瓒呮椂鍑芥暟鐨勯棶棰橈紱 +- 淇閾捐〃涓垵濮嬪寲闂锛 +- 淇Object涓皟鐢ㄩ挬瀛愬嚱鏁扮殑闂锛 //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------- -版本: RT-Thread v0.2.2 -发布时间: 2008/6/12 -RT-Thread v0.2.2单内核正式版发布,这个版本主要是增加更多的BSP移植: -- s3c44b0的移植 [Xu Xinming] -- AT91SAM7S64的移植 [Bernard Xiong,感谢icdev.com.cn提供开发板] +鐗堟湰: RT-Thread v0.2.2 +鍙戝竷鏃堕棿: 2008/6/12 +RT-Thread v0.2.2鍗曞唴鏍告寮忕増鍙戝竷锛岃繖涓増鏈富瑕佹槸澧炲姞鏇村鐨凚SP绉绘锛 +- s3c44b0鐨勭Щ妞 [Xu Xinming] +- AT91SAM7S64鐨勭Щ妞 [Bernard Xiong锛屾劅璋cdev.com.cn鎻愪緵寮鍙戞澘] -以下的移植仍然是试验性质的 -- NDS掌上游戏机的移植[vai] -- ia32的移植[Qiu Yi],在QEMU虚拟机中测试完成 +浠ヤ笅鐨勭Щ妞嶄粛鐒舵槸璇曢獙鎬ц川鐨 +- NDS鎺屼笂娓告垙鏈虹殑绉绘[vai] +- ia32鐨勭Щ妞峓Qiu Yi]锛屽湪QEMU铏氭嫙鏈轰腑娴嬭瘯瀹屾垚 -以下是各个移植的一些说明: -AT91SAM7S64: (系统资源:16k RAM,64k ROM Flash) -为配合小内存情况,RT-Thread 0.2.2支持任务最大优先级为32的情况,以保证内存占用更小(所有二进制代码小于10k) -在AT91SAM7S64移植中,串口并没打开,finsh也没启用。 -在bsp/icdevs64/build目录下附带uVision的工程文件,需要机器上安装有keil的gcc编译器 +浠ヤ笅鏄悇涓Щ妞嶇殑涓浜涜鏄庯細 +AT91SAM7S64: (绯荤粺璧勬簮锛16k RAM锛64k ROM Flash) +涓洪厤鍚堝皬鍐呭瓨鎯呭喌锛孯T-Thread 0.2.2鏀寔浠诲姟鏈澶т紭鍏堢骇涓32鐨勬儏鍐碉紝浠ヤ繚璇佸唴瀛樺崰鐢ㄦ洿灏忥紙鎵鏈変簩杩涘埗浠g爜灏忎簬10k锛 +鍦ˋT91SAM7S64绉绘涓紝涓插彛骞舵病鎵撳紑锛宖insh涔熸病鍚敤銆 +鍦╞sp/icdevs64/build鐩綍涓嬮檮甯Vision鐨勫伐绋嬫枃浠讹紝闇瑕佹満鍣ㄤ笂瀹夎鏈塳eil鐨刧cc缂栬瘧鍣 ia32: -支持i386-elf-gcc for windows的编译,linux下的还没试,应该也可以顺利编译。 -编译完成后在bsp/qemu目录下生成rtthread-qemu.elf -把这个elf文件配置到grub的配置文件中,具体的grub配置请参看grub文档 \ No newline at end of file +鏀寔i386-elf-gcc for windows鐨勭紪璇戯紝linux涓嬬殑杩樻病璇曪紝搴旇涔熷彲浠ラ『鍒╃紪璇戙 +缂栬瘧瀹屾垚鍚庡湪bsp/qemu鐩綍涓嬬敓鎴恟tthread-qemu.elf +鎶婅繖涓猠lf鏂囦欢閰嶇疆鍒癵rub鐨勯厤缃枃浠朵腑锛屽叿浣撶殑grub閰嶇疆璇峰弬鐪媑rub鏂囨。 \ No newline at end of file