SlideShare a Scribd company logo
1 of 21
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 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
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)
Nội dung ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
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
Nội dung ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
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 …
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
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[] = { … { "drawLine", NULL, Java_javax_microedition_lcdui_Graphics_drawLine }, … } const ClassNativeImplementationType nativeImplementations[] = { … { "javax/microedition/lcdui", "Graphics", javax_microedition_lcdui_Graphics_natives }, … }
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(); …
Nội dung ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Các vấn đề quan tâm khi port CLDC xuống Trimedia ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Nội dung ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Các Module trong MIDP
Các vấn đề quan tâm khi port MIDP xuống Trimedia ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Nội dung ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
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
Thống kê và kết luận ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Thống kê và kết luận ,[object Object],[object Object],[object Object]
Demo
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.

More Related Content

Similar to Lvtn

LUẬN VĂN THIẾT KẾ HỆ THỐNG NHÚNG VỚI VI ĐIỀU KHIỂN LÕI MỀM VÀ HỆ ĐIỀU HÀNH TR...
LUẬN VĂN THIẾT KẾ HỆ THỐNG NHÚNG VỚI VI ĐIỀU KHIỂN LÕI MỀM VÀ HỆ ĐIỀU HÀNH TR...LUẬN VĂN THIẾT KẾ HỆ THỐNG NHÚNG VỚI VI ĐIỀU KHIỂN LÕI MỀM VÀ HỆ ĐIỀU HÀNH TR...
LUẬN VĂN THIẾT KẾ HỆ THỐNG NHÚNG VỚI VI ĐIỀU KHIỂN LÕI MỀM VÀ HỆ ĐIỀU HÀNH TR...KhoTi1
 
Trần Anh Khoa - Kautilya và Powershell trong kỹ thuật tấn công tiếp cận
Trần Anh Khoa - Kautilya và Powershelltrong kỹ thuật tấn công tiếp cậnTrần Anh Khoa - Kautilya và Powershelltrong kỹ thuật tấn công tiếp cận
Trần Anh Khoa - Kautilya và Powershell trong kỹ thuật tấn công tiếp cậnSecurity Bootcamp
 
Bảo mật dữ liệu
Bảo mật dữ liệuBảo mật dữ liệu
Bảo mật dữ liệuSon Nguyen
 
Lập trình web với các công nghệ phổ biến
Lập trình web với các công nghệ phổ biếnLập trình web với các công nghệ phổ biến
Lập trình web với các công nghệ phổ biếnSon Nguyen
 
Song song hóa thao tác xử lý ảnh sử dụng OpenCL
Song song hóa thao tác xử lý ảnh sử dụng OpenCLSong song hóa thao tác xử lý ảnh sử dụng OpenCL
Song song hóa thao tác xử lý ảnh sử dụng OpenCLLê Văn Tú
 
Giáo trình java Đại Học Sư Phạm Kỹ Thuật Hưng Yên
Giáo trình java Đại Học Sư Phạm Kỹ Thuật Hưng YênGiáo trình java Đại Học Sư Phạm Kỹ Thuật Hưng Yên
Giáo trình java Đại Học Sư Phạm Kỹ Thuật Hưng YênTrần Thiên Đại
 
Giới thiệu CGAS Xcell-C RTU (sản phẩm của CGAS)
Giới thiệu CGAS Xcell-C RTU (sản phẩm của CGAS)Giới thiệu CGAS Xcell-C RTU (sản phẩm của CGAS)
Giới thiệu CGAS Xcell-C RTU (sản phẩm của CGAS)HaiPham949574
 
Luc Nguyen - Hiem họa an toan tu cac modem internet cua cac ISP tại Viet Nam
Luc Nguyen -  Hiem họa an toan tu cac modem internet cua  cac ISP tại Viet NamLuc Nguyen -  Hiem họa an toan tu cac modem internet cua  cac ISP tại Viet Nam
Luc Nguyen - Hiem họa an toan tu cac modem internet cua cac ISP tại Viet NamSecurity Bootcamp
 
OOP in Java - Ver1.1
OOP in Java -  Ver1.1OOP in Java -  Ver1.1
OOP in Java - Ver1.1vdlinh08
 
Ebook lập trình Java hướng đối tượng (Tiếng việt)
Ebook lập trình Java hướng đối tượng (Tiếng việt)Ebook lập trình Java hướng đối tượng (Tiếng việt)
Ebook lập trình Java hướng đối tượng (Tiếng việt)Duy Lê Văn
 
ChatMessenger
ChatMessengerChatMessenger
ChatMessengerDiên Vĩ
 
Lap trinhthietbididongvoij2me
Lap trinhthietbididongvoij2meLap trinhthietbididongvoij2me
Lap trinhthietbididongvoij2mehaiokman
 
Lap trinh thiet bi di dong voi j2me
Lap trinh thiet bi di dong voi j2meLap trinh thiet bi di dong voi j2me
Lap trinh thiet bi di dong voi j2mecậu buồn Vì Ai
 
1 laptrinhthietbididongvoij2me
1 laptrinhthietbididongvoij2me1 laptrinhthietbididongvoij2me
1 laptrinhthietbididongvoij2meGiang Nguyễn
 

Similar to Lvtn (20)

LUẬN VĂN THIẾT KẾ HỆ THỐNG NHÚNG VỚI VI ĐIỀU KHIỂN LÕI MỀM VÀ HỆ ĐIỀU HÀNH TR...
LUẬN VĂN THIẾT KẾ HỆ THỐNG NHÚNG VỚI VI ĐIỀU KHIỂN LÕI MỀM VÀ HỆ ĐIỀU HÀNH TR...LUẬN VĂN THIẾT KẾ HỆ THỐNG NHÚNG VỚI VI ĐIỀU KHIỂN LÕI MỀM VÀ HỆ ĐIỀU HÀNH TR...
LUẬN VĂN THIẾT KẾ HỆ THỐNG NHÚNG VỚI VI ĐIỀU KHIỂN LÕI MỀM VÀ HỆ ĐIỀU HÀNH TR...
 
Vhdl
VhdlVhdl
Vhdl
 
Trần Anh Khoa - Kautilya và Powershell trong kỹ thuật tấn công tiếp cận
Trần Anh Khoa - Kautilya và Powershelltrong kỹ thuật tấn công tiếp cậnTrần Anh Khoa - Kautilya và Powershelltrong kỹ thuật tấn công tiếp cận
Trần Anh Khoa - Kautilya và Powershell trong kỹ thuật tấn công tiếp cận
 
Chuong2 nmth
Chuong2 nmthChuong2 nmth
Chuong2 nmth
 
Bảo mật dữ liệu
Bảo mật dữ liệuBảo mật dữ liệu
Bảo mật dữ liệu
 
Gt java080102005
Gt java080102005Gt java080102005
Gt java080102005
 
Lập trình web với các công nghệ phổ biến
Lập trình web với các công nghệ phổ biếnLập trình web với các công nghệ phổ biến
Lập trình web với các công nghệ phổ biến
 
Song song hóa thao tác xử lý ảnh sử dụng OpenCL
Song song hóa thao tác xử lý ảnh sử dụng OpenCLSong song hóa thao tác xử lý ảnh sử dụng OpenCL
Song song hóa thao tác xử lý ảnh sử dụng OpenCL
 
Giáo trình java Đại Học Sư Phạm Kỹ Thuật Hưng Yên
Giáo trình java Đại Học Sư Phạm Kỹ Thuật Hưng YênGiáo trình java Đại Học Sư Phạm Kỹ Thuật Hưng Yên
Giáo trình java Đại Học Sư Phạm Kỹ Thuật Hưng Yên
 
Giới thiệu CGAS Xcell-C RTU (sản phẩm của CGAS)
Giới thiệu CGAS Xcell-C RTU (sản phẩm của CGAS)Giới thiệu CGAS Xcell-C RTU (sản phẩm của CGAS)
Giới thiệu CGAS Xcell-C RTU (sản phẩm của CGAS)
 
Luc Nguyen - Hiem họa an toan tu cac modem internet cua cac ISP tại Viet Nam
Luc Nguyen -  Hiem họa an toan tu cac modem internet cua  cac ISP tại Viet NamLuc Nguyen -  Hiem họa an toan tu cac modem internet cua  cac ISP tại Viet Nam
Luc Nguyen - Hiem họa an toan tu cac modem internet cua cac ISP tại Viet Nam
 
OOP in Java - Ver1.1
OOP in Java -  Ver1.1OOP in Java -  Ver1.1
OOP in Java - Ver1.1
 
Ebook lập trình Java hướng đối tượng (Tiếng việt)
Ebook lập trình Java hướng đối tượng (Tiếng việt)Ebook lập trình Java hướng đối tượng (Tiếng việt)
Ebook lập trình Java hướng đối tượng (Tiếng việt)
 
ChatMessenger
ChatMessengerChatMessenger
ChatMessenger
 
Cac bai tap .net
Cac bai tap .netCac bai tap .net
Cac bai tap .net
 
Lap trinhthietbididongvoij2me
Lap trinhthietbididongvoij2meLap trinhthietbididongvoij2me
Lap trinhthietbididongvoij2me
 
Lap trinh thiet bi di dong voi j2me
Lap trinh thiet bi di dong voi j2meLap trinh thiet bi di dong voi j2me
Lap trinh thiet bi di dong voi j2me
 
1 laptrinhthietbididongvoij2me
1 laptrinhthietbididongvoij2me1 laptrinhthietbididongvoij2me
1 laptrinhthietbididongvoij2me
 
Phan 1 sv
Phan 1   svPhan 1   sv
Phan 1 sv
 
Dsd05 02a-xml-rpca
Dsd05 02a-xml-rpcaDsd05 02a-xml-rpca
Dsd05 02a-xml-rpca
 

Lvtn

  • 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.
  • 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.
  • 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.
  • 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. 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. 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[] = { … { "drawLine", NULL, Java_javax_microedition_lcdui_Graphics_drawLine }, … } const ClassNativeImplementationType nativeImplementations[] = { … { "javax/microedition/lcdui", "Graphics", javax_microedition_lcdui_Graphics_natives }, … }
  • 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.
  • 12.
  • 13.
  • 15.
  • 16.
  • 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.
  • 19.
  • 20. Demo
  • 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.