久久久久久久麻豆,中日韩av在线,麻豆av在线免费,中文字幕二区三区,欧美日韩视频一区二区,亚洲欧美日韩在线一区,国产无毒不卡

Java技術(shù)在嵌入式系統(tǒng)中的應(yīng)用


摘要:J2ME是Java 2平臺(tái)的一個(gè)版本,使用在各種各樣的消費(fèi)電子產(chǎn)品和嵌入式設(shè)備上。Java Card技術(shù)規(guī)范得Java應(yīng)用能運(yùn)行在智能卡和更小的嵌入式設(shè)備上。本文介紹J2ME和Java Card的硬件平臺(tái)和軟件體系結(jié)構(gòu),以及如何進(jìn)行J2ME和Java Card應(yīng)用程序開發(fā)。Java在移動(dòng)通信領(lǐng)域的應(yīng)用已經(jīng)引起廣泛的關(guān)注,本文對(duì)此進(jìn)行了詳細(xì)的描述。  
關(guān)鍵詞:Java 嵌入式系統(tǒng) Java卡 J2ME 移動(dòng)通信
1 Java概述
    Java是在1991年由Sun公司James Gosling Patrick Naughton、Chis Warth、Ed Frank以及Mike Sherindan等組成的"STAR7"小組所構(gòu)想出來的。于1995年5月正式推出。Java計(jì)算平臺(tái)包括JVM(Java虛擬機(jī))和Java API(Java應(yīng)用編程接口)。JVM是一種抽象化的計(jì)算機(jī),運(yùn)行在操作系統(tǒng)之上,可以在它上面執(zhí)行Java的字節(jié)線,使Java應(yīng)用程序在現(xiàn)有的各種平臺(tái)上都可以順利執(zhí)行。Java API和Java的函數(shù)類庫(kù),分為基本核心類庫(kù)和各種外加功能的擴(kuò)展類庫(kù)。
    1998年12月8日,Sun公司的最新一個(gè)版本的JDK(Java Software Development Kit)正式發(fā)布,Sun的升級(jí)版本,而且還是完善的Java平臺(tái)。
    Java 2定義組成Java企業(yè)平臺(tái)的核心技術(shù)包括15個(gè)核心API。這15個(gè)核心API構(gòu)成了整個(gè)Java 2技術(shù)的靈魂,包括Applet、AWT、Beans、IO、Lang、Math、Net、Rmi、Security、SQL、Text、Util、Accessibility、Swing和CORBA。與以往的JDK比較,Java 2平臺(tái)具有很多優(yōu)勢(shì),如更靈活的安全模式、更好的性能、與其他企業(yè)級(jí)系統(tǒng)的互用性、應(yīng)用開發(fā)更容易、全球化的提高以及更好的跨平臺(tái)性等。
    Java 2可以根據(jù)對(duì)軟、硬件需求的不同分為4個(gè)版本。J2EE(Java 2 Platform,Enterprise Edition)用于企業(yè)服務(wù)器端應(yīng)用程序開發(fā);J2SE(Java 2 Platform,Standard Edition)用于個(gè)人計(jì)算機(jī)上的應(yīng)用程序開發(fā);J2ME(Java 2 Platform,Micro Edition)用于信息家電等資源有限的設(shè)備上的應(yīng)用程序開發(fā);Java Card Platform用于智能卡上的應(yīng)用程序開 發(fā)。
    Java 程序語(yǔ)言在其產(chǎn)生之初,本身就是為嵌入式設(shè)備——機(jī)頂盒設(shè)備設(shè)計(jì)的?,F(xiàn)在Java又憑借J2MEE和Java Card Platform回到嵌入式系統(tǒng)開發(fā)領(lǐng)域。
2 Java卡
(1)Java卡簡(jiǎn)介
    Java卡是Java平臺(tái)中最小的子集,也是一種特殊的智能卡。智能卡是一種嵌入計(jì)算機(jī)芯片的卡片,廣泛應(yīng)用于通信、交通、金融、證券和保險(xiǎn)等領(lǐng)域。智能卡分為兩大類:一類是存儲(chǔ)器卡,另一類是微處理器卡。存儲(chǔ)器卡僅僅被用于存儲(chǔ)器數(shù)據(jù)。微處理器卡有數(shù)據(jù)處理的功能:它有自己的CPU、I/O端口、存儲(chǔ)器和操作系統(tǒng),可以被看作是一臺(tái)微型電腦;可以安裝并運(yùn)行小的應(yīng)用程序,通過串行通信接口與外部通信。ISO(國(guó)際標(biāo)準(zhǔn)組織)制定了智能卡的國(guó)際標(biāo)準(zhǔn)ISO 7816。
    影響智能卡推廣的主要因素是其不夠開放,不同的卡片制造商生產(chǎn)的卡片的應(yīng)用程序開發(fā)沒有統(tǒng)一的標(biāo)準(zhǔn)。為了解決這個(gè)問題,工業(yè)界提出了能運(yùn)行Java程序的智能卡——Java卡,并且制定了Java卡的技術(shù)規(guī)范,包括Java Card VM(Java卡虛擬機(jī))和API的詳細(xì)信息。Java Card VM位于智能卡的操作系統(tǒng)之一,用通用的編程語(yǔ)言和系統(tǒng)接口屏蔽了不同智能卡硬件和操作系統(tǒng)的區(qū)別。Java卡的框架定義了供應(yīng)用程序開發(fā)者使用的API。Java卡的應(yīng)用程序稱為Applet,每個(gè)Applet由唯一的AID(應(yīng)用程序標(biāo)識(shí)符)來識(shí)別。
(2)Java卡對(duì)硬件的最低要求
    512 B RAM:主要用于存儲(chǔ)應(yīng)用程序運(yùn)行時(shí)的棧以及I/O緩沖區(qū)。
    24 KB ROM:主要用于存儲(chǔ)程序代碼和系統(tǒng)的運(yùn)行時(shí)系統(tǒng)。
    8 KB EEPROM:主要用于存儲(chǔ)Java卡的Applet和堆。
    8位處理器:8位處理器是Java卡的最低要求。
(3)Java卡軟件體系結(jié)構(gòu)
    最底層的Card OS(操作系統(tǒng))和Native Functions(基本函數(shù))相不于個(gè)人計(jì)算機(jī)的操作系統(tǒng),負(fù)責(zé)低層的處理工作。
    Java Card VM位于Card OS和Native Functions之上,隱蔽了底層智能卡的不同技術(shù),實(shí)現(xiàn)了卡接口的統(tǒng)一和編程語(yǔ)言的統(tǒng)一。
    Java Card Framework(Java卡框架)為開發(fā)人員定義了一整套API,主要負(fù)責(zé)運(yùn)行Java卡Applet以及為Applet運(yùn)行提供所需要的環(huán)境。
    Card OS、Java Card VM和Java Card Framework共同組成了JCRE(Java卡運(yùn)行時(shí)環(huán)境)。Industry Specific Extensions是服務(wù)方所提供的類,使企業(yè)與公司能夠提供屬于自己的服務(wù)程序。例如,如果這張卡是GSM網(wǎng)絡(luò)的SIM(用戶識(shí)別模塊)卡,那么這一層就是SIM卡所需的接口類。
(4)Java Card API
    Java Card的2.1版包括四個(gè)包:Javacard.lang package、Javacard.frame work package、Javacard.security package和Javacardx.cryp to package。
    Javacard.lang package提供Java程序語(yǔ)言中重要的類,例如所有Java類的根類Object類。
    Javacard.frame work package是Java Card API的核心包,提供了實(shí)現(xiàn)Java Card Applet基本類和工具。其中ISO7816抽象接口提供了ISO7816所使用的常數(shù)值。PIN(個(gè)人識(shí)別號(hào)碼)抽象接口使其子類能夠驗(yàn)證PIN是否合法。Shareable抽象接口使得不同的Applet能夠互相通信。AID類使得JCRE能夠通過一個(gè)AID表來識(shí)別Applet。APDU類通過管理一個(gè)緩沖區(qū)來接收與傳送終端的指令以及回傳Applet運(yùn)行結(jié)果與狀態(tài)。Applet類是所有Java Card Applet的根類,管理Java Card Applet的生命周期。JCSystem類管理Applet與Java Card的系統(tǒng)資源,如AID與事務(wù)。OwnerPIN類管理卡片持有者的PIN,并提供相關(guān)驗(yàn)證與更新等方法。Util類提供了開發(fā)中的常用工具。
    Javacard.security package負(fù)責(zé)提供安全機(jī)制,包括Key抽象接口、KeyBuilde類和MessageDisest類。
    
    Javacardx.cryp to package包含了關(guān)于加密與安全的抽象接口和類。
(5)Java卡應(yīng)用的開發(fā)
    Java卡的生命周期從操作系統(tǒng)、JVM、API庫(kù)和可選的Applet被寫入Java卡的ROM開始。在正式使用之前,Java卡要經(jīng)過初始化(在卡上寫入制造商和發(fā)行商名稱等通用信息)和個(gè)人化(在卡上寫入密鑰等個(gè)人信息)。然后用戶就可以購(gòu)買并使用Java卡了,當(dāng)然還要與讀卡器相配合。Applet的生命周期從被安裝并注冊(cè)到Java卡系統(tǒng)開始,在被從系統(tǒng)注冊(cè)表中刪除時(shí)結(jié)束,在被選擇時(shí)激活。
    Java卡的應(yīng)用程序可以用一般的Java編譯器來編譯。但是由于智能卡只有有限的存儲(chǔ)器資源和計(jì)算功能,Java卡上的應(yīng)用開發(fā)與普通的Java程序開發(fā)有很大的不同,很多Java語(yǔ)言的特性在Java卡應(yīng)用的開發(fā)中都不能使用。Java卡的應(yīng)用開發(fā)(在Windows系統(tǒng)下)過程如下:
    ①安裝JDK和Java Card 2.1.1 Development Kit;
    ②設(shè)置有關(guān)環(huán)境變量;
    ③編輯Java源代碼,可以使用任何Java代碼編輯工具;
    ④編譯Java源代碼,用Java編譯器編譯Java源代碼,生成class文件;
    ⑤生成Cap文件,在Java卡上不能直接運(yùn)行class文件,必須用Java卡轉(zhuǎn)換器(converter)、把class文件轉(zhuǎn)換為Cap文件;
    ⑥安裝Applet,用PC機(jī)和與之相連的讀卡器把Cap文件安裝到Java卡上。
(6)Java卡在移動(dòng)通信領(lǐng)域的應(yīng)用
    SIM(用戶識(shí)別模塊)作為一張內(nèi)含大規(guī)模集成電路的智能卡,目前主要用于GSM手機(jī)。最初SIM卡主要用來存儲(chǔ)一些個(gè)人身份認(rèn)證和識(shí)別信息,例如IMSI、鑒權(quán)密鑰等。SIM卡不能向手機(jī)發(fā)出命令。1998年ETSI(歐洲電信標(biāo)準(zhǔn)化委員會(huì))制定了STK卡(SIM應(yīng)用工具箱技術(shù))的技術(shù)規(guī)范,大大增強(qiáng)了SIM卡的能力。STK卡上可以安裝運(yùn)行應(yīng)用程序,可以向手機(jī)發(fā)出命令,例如在手機(jī)上建立新的菜單。SIM卡還可以收發(fā)短消息甚至發(fā)起呼叫。這樣就可以在SIM卡上運(yùn)行客戶端的軟件,通過短消息與服務(wù)器交互,同時(shí)通過菜單為用戶提供友好的界面。
    盡管STK對(duì)SIM卡的使用方法進(jìn)行了標(biāo)準(zhǔn)化,但是各個(gè)制造商仍舊使用自己的開發(fā)工具為自選的芯片掩膜,因此引入開放

COPYRIGHT(C) 2011 廈門永宏亞得機(jī)電科技有限公司版權(quán)所有(閩ICP備05025945號(hào)) ALL RIGHTS RESERVED?

電話: 0592-5190891 傳真: 0592-5190720 E-Mail: E-mail:yade8895@163.com
地址: 廈門市海滄區(qū)興港六里17號(hào)2607室 郵編:361009 聯(lián)系人:翟先生