標籤:物聯網作業系統 作業系統
物聯網作業系統HelloX V1.77發布
經過近半年的努力,物聯網作業系統HelloX V1.77版本正式完成,原始碼已上傳到github(github.com/hellox-project/HelloX_STM32)。這個版本主要支援下列特性:
1. 定製化擴充,通過宏定義,能夠把核心裁剪到20K以下,以適應低配置硬體需要。同時如果把所有的功能特性都加上,則尺寸可以達到500K左右,以適應複雜功能硬體需求;
2. 支援完整的TCP/IP協議棧,移植了業界通用可靠的lwIP協議棧,並針對HelloX的架構,做了調整,同時最佳化了lwIP的一些bug(比如大流量分區下的bug);
3. 增加乙太網路管理架構(framework),以適配各種各樣的乙太網路裝置。當前已移植基於Marvel 8686的WLAN驅動和基於ENC28J60的乙太網路驅動,能夠很好的掛接到乙太網路管理架構下;
4. 還做了其它很多方面的改進,比如增加了網路診斷命令(network),最佳化了shell,增加了曆史命令等功能,簡化了操作。
其中Tywind huang最佳化了shell功能,移植了ENC28J60驅動代碼,並做了其它一些測試或最佳化工作。Erwin wang在整體架構上提出了一些最佳化建議,並貢獻了部分代碼,已整合到版本裡面。
做了如下一些測試,表現還比較令人滿意:
1. 自動擷取IP地址後,連續ping預設網關24小時,系統狀態一直正常,無記憶體流失等問題。但是在WLAN環境下,偶爾有丟包;
2. 在Tywind通過有線乙太網路做的測試中,則不存在丟包現象;
3. 在USB串口的板子上,偶爾出現串口弔死問題,但是核心正常運行(可以ping通)。可能是由於USB串口與乙太網路的硬體設計問題。在非USB串口的板子上,則不存在這個問題;
4. 做過其它一些效能方面的測試,比如通過串口(非USB串口)連續批量輸出,多個視窗同時ping等,都表現正常;
5. 在通過多個視窗,連續ping大包(超過1500位元組)的時候,會引發異常。後來確定是由於lwIP協議棧bug導致,修改後解決。
下面是一些螢幕:
pingGoogle伺服器
Erwin做的GUI demo
歡迎朋友們下載試用。
後續繼續開發方向:
1. 依託HelloX V1.77版本,做面向物聯網應用的示範硬體。比如網路攝影機,無線智能開關,物聯網家庭網關等;
2. 開發一個與之配合的後台系統,對終端進行管理;
3. 針對物聯網,做進一步的架構方面的調整。這是最本質的工作,個人始終認為,必須要有一種突破傳統作業系統的模式出現,才有可能激發出物聯網本身的活力。具體這種模式是什麼,個人認為應該是“柔性和統一”。希望在下一個版本中,能夠體現出這種特徵。
HelloX物聯網作業系統開源社區正在籌建,並取得了一些社會團體和企業的支援,歡迎有志於物聯網和系統軟體開發的人士加入。具體的細節,歡迎加入QQ群討論:38467832
物聯網作業系統HelloX V1.77(beta)版本發布