Evolution OS
軟件開(kāi)發(fā)工具包 (SDK) 令你可以生成在 MatchPort
AR Evolution 操作系統(tǒng)上遠(yuǎn)行的自訂軟件. 備有一系列 Evolutions 內(nèi)置 Application Programmers Interface (API),讓開(kāi)發(fā)人員可以透過(guò)自訂軟件輕易加強(qiáng)大部份 Evolution OS 的功能.
產(chǎn)品鏈接:http://www.lantronix.com.cn/device-networking/utilities-tools/evos-sdk-matchportar.html
SDK 主要模組
Evolution OS SDK API 提供編程人員高層次界面使用大部份操作系統(tǒng)的功能. 在 Evolution OS SDK API 參考說(shuō)明書(shū)里有全面的資料,包括所有的 functions 系統(tǒng)函數(shù), structures 系統(tǒng)架構(gòu), definitions 函數(shù)定義, 等等. 主模塊中包括:
?CLI 命令界面
Evolution OS 使用一個(gè)強(qiáng)大的 Command Line Interface (CLI) 命令界面. CLI 支持所有使用串口存取的用戶, 也支持 Telnet 和 SSH 的用戶. CLI 可用于配置,
檢測(cè)系統(tǒng)狀態(tài), 和操作其他系統(tǒng)功能. 通過(guò) SDK,編程人員可以增加自訂命令到 CLI 界面.
?XML 配置記錄 (XCR)
MatchPort AR 的 Evolution OS 操作系統(tǒng)提供了一個(gè)強(qiáng)大的配置方法,XML 配置記錄?。xtensible Markup Language (XML) Configuration Records (XCR). XML 是人類可讀的格式,但機(jī)器也能非常有效的解讀. XML 模塊能有效載入和輸出 XCR, 也提供了高度的靈活性. XCR 可以含有整個(gè)系統(tǒng)的配置資訊, 或者只是其中的幾個(gè)參數(shù).
?HTTP 界面
Evolution OS 操作系統(tǒng)內(nèi)置了一個(gè)標(biāo)準(zhǔn)的 HTTP
服務(wù)器,支持 HTTP v1.0 和 v1.1. 在 HTTP 架構(gòu)內(nèi)已包括了 CGI, Cookies, Mime 類別, 統(tǒng)計(jì), 事件記錄, RSS, 認(rèn)證, 和 SSL等等的支持. 在 MatchPort AR 的 Evolution OS 里也包含了一個(gè)強(qiáng)大的網(wǎng)頁(yè)管理軟件 Web Manager, 它提供用戶狀態(tài)資訊, 配置功能, 和使用其他系統(tǒng)功能的能力. Evolution OS SDK API 界面讓用戶輕易的擴(kuò)展 MatchPort AR 的 Web Manager 軟件功能, 只需要增加靜態(tài)或者自訂的 CGI 網(wǎng)頁(yè). 另備有一系列的 API call 函數(shù)處理和解讀 GET query 字串, URL encode 加密和 multipart POST 數(shù)據(jù).
?Secure Shell (SSH) 界面
Lantronix Secure Shell 界面完全符合 Secure Shell v2 協(xié)議 fully interoperable 版本, 在沒(méi)有加密的網(wǎng)絡(luò)上提供保安的遠(yuǎn)程登入和其他保安網(wǎng)絡(luò)服務(wù). SSH implementation API 界面和正常的 Berkeley Socket API 很相似. 我們還提供了其他如 key exchange 密碼鑰匙交換, 認(rèn)證, 和加密函數(shù)等等.
其他 SDK API 界面
以下是在 Evolution OS SDK 內(nèi)其他 API 的一些例子:
?操作系統(tǒng)界面
一般操作系統(tǒng)函數(shù), 如 Semaphores, Task 生成/暫停/取消.
?BSD Socket 編程界面
提供協(xié)議服務(wù)的標(biāo)準(zhǔn)存取包括 TCP, UDP, DNS.
?檔案系統(tǒng)界面
全面檔案存取通過(guò)與 ANSI C 相似的 API. 可通過(guò) FTP, TFTP, CLI 和 Web Manager 界面使用.
?數(shù)據(jù)架構(gòu)界面
包含 Hash Tables, Link List, 和 AVL Trees.
?動(dòng)態(tài)內(nèi)存 Heap
包含 Malloc, Free, Private Mbuf-like Buffer Pools.
?錯(cuò)誤判斷界面
提供的 API 包括統(tǒng)計(jì)函數(shù)如 Network statistics 網(wǎng)絡(luò)統(tǒng)計(jì), Memory usage 內(nèi)存使用量, File System usage 檔案系統(tǒng)使用量和 Process usage 處理器程式使用量.
?Email 電郵界面
發(fā)送電郵, 含 message bodies.
?可配置硬件 Pins 界面
MatchPort AR 可配置 pins 界面的全面管理.
?串口界面
API 界面提供發(fā)送和接收串口的數(shù)據(jù)函數(shù).
編程例子
Evolution OS SDK 包還包括一些編程例子源碼. 編程人員可以在生成自訂應(yīng)用時(shí)參考這些例子源碼.
?Hello World.c
通過(guò) SDK 的 Serial 串聯(lián) API 把 "Hello World" 打印在 "串口1" 上.
?Thread.c
使用了 serial 串連和 semaphore API. 生成新的 thread 來(lái)打印 "Hello World" 幾遍, 還利用一個(gè) semaphore 在遠(yuǎn)行完畢時(shí)通知主要的 thread. 此外, 所有的內(nèi)存都是動(dòng)態(tài)配置的 (dynamically allocated memory).
?Commandline.c
使用 command line API 命令界面來(lái)加入一些簡(jiǎn)單的命令增強(qiáng) CLI 界面的功能.
?Cgi.c
使用 web API 網(wǎng)頁(yè) API 界面生成一個(gè)簡(jiǎn)單的 CGI 網(wǎng)頁(yè). 這例子把一個(gè)字串轉(zhuǎn)化成全大寫的文字.
?Sockets.c
是一個(gè)簡(jiǎn)單的 telnet 服務(wù)器, 通過(guò) BSD sockets 把一個(gè)字串轉(zhuǎn)化成大寫的文字.
?Tunnel.c
是一個(gè)基本的 tunneling 隧道通訊程序. 利用了 threads, sockets, 串聯(lián)讀/寫, 和 xml 配置功能.
?Email.c
這例子示范了使用 XCR 來(lái)配置電郵服務(wù)器 (email server), 然后通過(guò) API 主動(dòng)發(fā)出一個(gè)電郵.
?Sshsample.c
示范建立一個(gè) SSH 連接和使用 SSH 來(lái)通訊.
?Secureweb.c
示范 SSL, CGI, 和關(guān)掉 Evolutions 操作系統(tǒng)內(nèi)的 web manager 網(wǎng)頁(yè)管理功能.
?Custommib.c
示范增加自訂的 MIB 數(shù)據(jù)到 Evolution 自動(dòng)提供的標(biāo)準(zhǔn) MIB 數(shù)據(jù)里.
?Cpio.c
示范配置, 讀取和設(shè)定一般用途的 I/O pins 硬件.
?Aestunnelclient.c
示范基本隧道通訊應(yīng)用的客戶端程序, 使用了 AES 數(shù)據(jù)加密.
?Aestunnelserver.c
示范基本隧道通訊應(yīng)用的服務(wù)器端程序, 使用了 AES 數(shù)據(jù)加密.
?Wiportdemo.c
這例子示范了和 Lantronix XPort/WiPort 示范電路板 (Demo board) 的通訊控制和數(shù)據(jù)收集.
?Readconfig.c
示范了查詢現(xiàn)有的配置資訊.
?Xmlconfig.c
示范通過(guò) XML 進(jìn)行配置.
所需的其他工具
Evolution OS SDK 軟件開(kāi)發(fā)工具包還需要 CodeSourcery G++ Light 或者 Pro Compiler tool package.
下載
更多的下載 資訊, 請(qǐng)看 Evolution OS SDK 論壇: http://forums.lantronix.com.