Chuyển máy ảo Java xuống hệ thống NXP Trimedia GVHD: TS. ĐINH ĐỨC ANH VŨ GVPB:  KS. PHẠM QUỐC CƯỜNG SVTH: HỒ VIỆT LÂM
Nội dung <ul><li>1. Mục tiêu của đề tài </li></ul><ul><li>2. Máy ảo Java </li></ul><ul><li>3. Truyền dữ liệu giữa lớp C và...
Mục tiêu của đề tài Hardware OS Java VM Core Java Library JSR + MIDP Java Library MIDP JSR MIDlet Máy ảo Java Thư viện Jav...
Nội dung <ul><li>1.   Mục tiêu của đề tài </li></ul><ul><li>2. Máy ảo Java </li></ul><ul><li>3. Truyền dữ liệu giữa lớp C ...
Máy ảo Java Class  Loader Class Files VM Register Java Stacks Java Heap Method Area Interpreter reference a new class load...
Nội dung <ul><li>1.   Mục tiêu của đề tài </li></ul><ul><li>2. Máy ảo Java </li></ul><ul><li>3. Truyền dữ liệu giữa lớp C ...
Truyền dữ liệu giữa lớp C và Java Java Code Jasmin Code Interpreter Java Stack c = a+b; iload_0 iload_1 iadd ipush swicth ...
Truyền dữ liệu giữa lớp C và Java method (java) native execute jasmin code False native function (C) Create execute native...
Truyền dữ liệu giữa lớp C và Java Graphics.drawLine  (int x1, int y1, int x2, int y2)  Java_javax_microedition_lcdui_Graph...
Truyền dữ liệu giữa lớp C và Java … if (thisMethod->accessFlags & ACC_NATIVE) { ip += invokerSize; VMSAVE invokeNativeFunc...
Nội dung <ul><li>1.   Mục tiêu của đề tài </li></ul><ul><li>2. Máy ảo Java </li></ul><ul><li>3. Truyền dữ liệu giữa lớp C ...
Các vấn đề quan tâm khi port CLDC xuống Trimedia <ul><li>Class Loading </li></ul><ul><li>Hỗ trợ 64-bit </li></ul><ul><li>H...
Nội dung <ul><li>1.   Mục tiêu của đề tài </li></ul><ul><li>2. Máy ảo Java </li></ul><ul><li>3. Truyền dữ liệu giữa lớp C ...
Các Module trong MIDP
Các vấn đề quan tâm khi port MIDP xuống Trimedia <ul><li>Cơ chế chạy một MIDlet cơ bản </li></ul><ul><li>Các hàm về quản l...
Nội dung <ul><li>1.   Mục tiêu của đề tài </li></ul><ul><li>2. Máy ảo Java </li></ul><ul><li>3. Truyền dữ liệu giữa lớp C ...
Các công việc đã làm được Class Loading Verification Time Core Language and virtual machine Core Java Library ROMizer Memo...
Thống kê và kết luận <ul><li>CLDC: Chưa hỗ trợ số thực </li></ul><ul><li>MIDP:  </li></ul><ul><ul><li>Chưa port networking...
Thống kê và kết luận <ul><li>Số lượng hàm native đã port: 105/214 </li></ul><ul><li>Một mô hình game Java cơ bản </li></ul...
Demo
Tham Khảo 1. Core J2ME Technology & MIDP , by John W.Muchow, ISBN 0130669113. 2. CLDC Reference Implementation,  Sun Micro...
Upcoming SlideShare
Loading in...5
×

Lvtn

478

Published on

Thesis's about Java Virtual Machine

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
478
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Lvtn"

  1. 1. Chuyển máy ảo Java xuống hệ thống NXP Trimedia GVHD: TS. ĐINH ĐỨC ANH VŨ GVPB: KS. PHẠM QUỐC CƯỜNG SVTH: HỒ VIỆT LÂM
  2. 2. Nội dung <ul><li>1. Mục tiêu của đề tài </li></ul><ul><li>2. Máy ảo Java </li></ul><ul><li>3. Truyền dữ liệu giữa lớp C và Java </li></ul><ul><li>4. Port CLDC </li></ul><ul><li>5. Port MIDP </li></ul><ul><li>6. Thống kê và kết luận </li></ul>
  3. 3. Mục tiêu của đề tài Hardware OS Java VM Core Java Library JSR + MIDP Java Library MIDP JSR MIDlet Máy ảo Java Thư viện Java: java.lang, java.util, java.io Java Specification Request Thư viện Java: Graphics, User Interface, Input.. pSOS Mobile Information Device Profile Java Java Java C C C C C Java C C C Java C Ứng dụng và game Java Hệ Thống NXP Trimedia Connected, Limited Device Configuration (CLDC) Java 2 Micro Edition (J2ME)
  4. 4. Nội dung <ul><li>1. Mục tiêu của đề tài </li></ul><ul><li>2. Máy ảo Java </li></ul><ul><li>3. Truyền dữ liệu giữa lớp C và Java </li></ul><ul><li>4. Port CLDC </li></ul><ul><li>5. Port MIDP </li></ul><ul><li>6. Thống kê và kết luận </li></ul>
  5. 5. Máy ảo Java Class Loader Class Files VM Register Java Stacks Java Heap Method Area Interpreter reference a new class loading Garbage Collector IP, LP, SP, FP, CP Jasmin code Class code Class data Constant pool Instance data iload iconst ipush iadd … Instruction Pointer Stack Pointer Local Pointer Frame Pointer Constant Pool Pointer Preverification Verification
  6. 6. Nội dung <ul><li>1. Mục tiêu của đề tài </li></ul><ul><li>2. Máy ảo Java </li></ul><ul><li>3. Truyền dữ liệu giữa lớp C và Java </li></ul><ul><li>4. Port CLDC </li></ul><ul><li>5. Port MIDP </li></ul><ul><li>6. Thống kê và kết luận </li></ul>
  7. 7. Truyền dữ liệu giữa lớp C và Java Java Code Jasmin Code Interpreter Java Stack c = a+b; iload_0 iload_1 iadd ipush swicth (ip) { case iload: … break; case iadd: … break; case ipush: … break; … } a b … c …
  8. 8. Truyền dữ liệu giữa lớp C và Java method (java) native execute jasmin code False native function (C) Create execute native function
  9. 9. Truyền dữ liệu giữa lớp C và Java Graphics.drawLine (int x1, int y1, int x2, int y2) Java_javax_microedition_lcdui_Graphics_drawLine() const NativeImplementationType javax_microedition_lcdui_Graphics_natives[] = { … { &quot;drawLine&quot;, NULL, Java_javax_microedition_lcdui_Graphics_drawLine }, … } const ClassNativeImplementationType nativeImplementations[] = { … { &quot;javax/microedition/lcdui&quot;, &quot;Graphics&quot;, javax_microedition_lcdui_Graphics_natives }, … }
  10. 10. Truyền dữ liệu giữa lớp C và Java … if (thisMethod->accessFlags & ACC_NATIVE) { ip += invokerSize; VMSAVE invokeNativeFunction(thisMethod); VMRESTORE TRACE_METHOD_EXIT(thisMethod); goto reschedulePoint; } … … CurrentNativeMethod = thisMethod; native(); …
  11. 11. Nội dung <ul><li>1. Mục tiêu của đề tài </li></ul><ul><li>2. Máy ảo Java </li></ul><ul><li>3. Truyền dữ liệu giữa lớp C và Java </li></ul><ul><li>4. Port CLDC </li></ul><ul><li>5. Port MIDP </li></ul><ul><li>6. Thống kê và kết luận </li></ul>
  12. 12. Các vấn đề quan tâm khi port CLDC xuống Trimedia <ul><li>Class Loading </li></ul><ul><li>Hỗ trợ 64-bit </li></ul><ul><li>Hỗ trợ số thực </li></ul><ul><li>Đồng bộ thời gian </li></ul><ul><li>Bộ nhớ </li></ul><ul><li>JavaCodeCompact </li></ul>
  13. 13. Nội dung <ul><li>1. Mục tiêu của đề tài </li></ul><ul><li>2. Máy ảo Java </li></ul><ul><li>3. Truyền dữ liệu giữa lớp C và Java </li></ul><ul><li>4. Port CLDC </li></ul><ul><li>5. Port MIDP </li></ul><ul><li>6. Thống kê và kết luận </li></ul>
  14. 14. Các Module trong MIDP
  15. 15. Các vấn đề quan tâm khi port MIDP xuống Trimedia <ul><li>Cơ chế chạy một MIDlet cơ bản </li></ul><ul><li>Các hàm về quản lý bộ nhớ </li></ul><ul><li>Trình quản lý các MIDlet </li></ul><ul><li>Giao diện người dùng và đồ họa </li></ul><ul><li>Ảnh PNG </li></ul><ul><li>Font </li></ul><ul><li>Bàn phím </li></ul><ul><li>Âm thanh </li></ul>
  16. 16. Nội dung <ul><li>1. Mục tiêu của đề tài </li></ul><ul><li>2. Máy ảo Java </li></ul><ul><li>3. Truyền dữ liệu giữa lớp C và Java </li></ul><ul><li>4. Port CLDC </li></ul><ul><li>5. Port MIDP </li></ul><ul><li>6. Thống kê và kết luận </li></ul>
  17. 17. Các công việc đã làm được Class Loading Verification Time Core Language and virtual machine Core Java Library ROMizer Memory allocation 64-bit long Float support Thread Gabage Collector Basic Midlet Life-Cycle Graphics/User-Interface key Storage Sound MIDlet Management Không chạy được các class số thực Chưa hỗ trợ GameCanvas Chưa hỗ trợ ảnh tranparent Số lượng font đã port 1/3 Chưa hỗ trợ sự kiện Keyreleased Chưa hỗ trợ định dạng MIDI CLDC MIDP
  18. 18. Thống kê và kết luận <ul><li>CLDC: Chưa hỗ trợ số thực </li></ul><ul><li>MIDP: </li></ul><ul><ul><li>Chưa port networking </li></ul></ul><ul><ul><li>Chưa port security </li></ul></ul><ul><ul><li>Chưa port GameCanvas </li></ul></ul><ul><ul><li>Chưa hỗ trợ MIDI player </li></ul></ul>
  19. 19. Thống kê và kết luận <ul><li>Số lượng hàm native đã port: 105/214 </li></ul><ul><li>Một mô hình game Java cơ bản </li></ul><ul><li>Một số MIDlet demo tương ứng để test các thành phần đã port </li></ul>
  20. 20. Demo
  21. 21. Tham Khảo 1. Core J2ME Technology & MIDP , by John W.Muchow, ISBN 0130669113. 2. CLDC Reference Implementation, Sun Microsystems. 3. MIDP Reference Implementation, Sun Microsystems. 4. pSOS System Concepts , Integrated Systems, part number 0005433001.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×