1. Trang chủ
  2. » Luận Văn - Báo Cáo

phát triển hệ thống thu nhận hình ảnh sử dụng bộ vxl java-kit aj-200mek

59 365 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phát Triển Hệ Thống Thu Nhận Hình Ảnh Sử Dụng Bộ VXL Java-Kit aJ-200MEK
Tác giả Phạm Văn Hải
Người hướng dẫn TS. Nguyễn Ngọc Minh
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Công nghệ Thông Tin
Thể loại đồ án tốt nghiệp đại học
Năm xuất bản 2009
Thành phố Hà Nội
Định dạng
Số trang 59
Dung lượng 1,13 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nội dung của đồ án này bao gồm những phần sau: Phần I: Java Phần II: Giới thiệu về bộ VXL Java Phần III: Quy trình xây dựng một ứng dụng trên Kit aJ-200MEK Các tài liệu tham khảo, sử dụ

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA KỸ THUẬT ĐIỆN – ĐIỆN TỬ 1

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

Đề tài: Phát triển hệ thống thu nhận hình ảnh

sử dụng bộ VXL java-Kit aJ-200MEK

Giảng viên hướng dẫn : TS NGUYỄN NGỌC MINH

Sinh viên thực hiện: PHẠM VĂN HẢI

Lớp : D07KTDT1 Khoá : 2007-2012

Hệ : Chính quy

Hà Nội, tháng 11 /2009

Trang 2

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA KỸ THUẬT ĐIỆN – ĐIỆN TỬ 1

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC

Đề tài: Phát triển hệ thống thu nhận hình ảnh

sử dụng bộ VXL java – Kit aJ-200MEK

Giảng viên hướng dẫn : TS NGUYỄN NGỌC MINH

Sinh viên thực hiện: PHẠM VĂN HẢI

Lớp : D07KTD1 Khoá : 2007-2012

Hệ : Chính quy

Hà Nội, tháng … /2009

GVHD: TS Nguyễn Ngọc Minh SVTH: Phạm Văn Hải, lớp D07-KTDT1

Trang 3

MỞ ĐẦU

Với sự phát triển mạnh mẽ của nền công nghiệp điện tử, có rất nhiều các thiết bị điện tử đã ra đời thay làm thay đổi nhiều mặt trong cuộc sống Con người có nhiều cách tiếp cận, các tiêu chuẩn khác thay thế với các cách thức truyền thống Các thiết bị số cá nhân di động là một dòng thiết bị thể hiện rõ nhất điều đó, nó gần như đã tạo lên một văn hóa trong cuộc sống con người

Với mục đích áp dụng các kiến thức thiết kế điện tử đã biết, và bước đầu làm quen với phương thức thiêt kế hệ thống nhúng sử dụng bộ VKL Java-32bit để xây dựng một ứng dụng thực tế - một ứng dụng nhỏ về quay video sử dụng bộ Kit aJ-200MEK Dữ liệu hình ảnh sẽ được thu nhận qua một sessor sau đó đưa qua bộ xử lí chính, lưu trữ vào trong bộ nhớ chính, và hiển thị lên màn hình LCD

Nội dung của đồ án này bao gồm những phần sau:

Phần I: Java

Phần II: Giới thiệu về bộ VXL Java

Phần III: Quy trình xây dựng một ứng dụng trên Kit aJ-200MEK

Các tài liệu tham khảo, sử dụng trong đồ án này đều được ghi lại tại mục Tài liệu

tham khảo Đồ án đã có những kết quả nhất định song do hạn chế về mặt thời gian và kiến thức nên trong đồ án này ko thể tránh được những thiếu sót, rất mong được sự đánh già và bổ sung của các thầy cô và các bạn

Em xin chân thành cảm ơn!

Sinh viên thực hiện

Phạm Văn Hải

Trang 4

Phần I : Java

1. Ngôn ngữ lập trình Java

1.1 Giới thiệu chung

Java là một nền tảng phát triển các ứng dụng phần mềm có vị trí rất lớn trong những năm cuối thế kỉ 20, đầu thế kỉ 21 Đánh dấu sự

trưởng thành của mô hình lập trình hướng đối tượng, nó được coi là

một nền tảng mang tính cách mạng trong ngành phần mềm Mô hình

máy ảo Virtual Machine đã cho phép các ứng dụng viết bằng Java có

thể chạy trên nhiều hệ điều hành khác nhau

Lần đầu tiên xuất hiện vào năm 1992, như là một ngôn ngữ dùng trong nội bộ tập đoàn Sun Microsystems để xây dựng ứng dụng

điều khiển các bộ xử lý bên trong máy điện thoại cầm tay, lò vi sóng,

các thiết bị điện tử dân dụng khác Không chỉ là một ngôn ngữ, Java

còn là một nền tảng phát triển và triển khai ứng dụng trong đó máy ảo

Java, bộ thông dịch có vai trò trung tâm

Sun, công ty đã phát minh ra ngôn ngữ Java, chính thức ban hành

bộ công cụ phát triển bản Java Development Kit 1.0 vào

năm 1996 hoàn toàn miễn phí để các nhà phát triển có thể tải về, học

Java, xây dựng các ứng dụng Java và triển khai chúng trên các hệ điều

hành có hỗ trợ Java Ban đầu, Java chủ yếu dùng để phát triển

các applet - các ứng dụng nhúng vào trình duyệt web, góp phần làm

GVHD: TS Nguyễn Ngọc Minh SVTH: Phạm Văn Hải, lớp D07-KTDT1

Trang 5

sinh động các trang web tĩnh vốn hết sức tẻ nhạt hồi dó Tuy nhiên,

cùng với sự phát triển của công nghệ thông tin và nhu cầu của xã hội,

Java applet đã dần mất đi vị trí của nó và thay vào đó, các công ty,

cộng đồng ủng hộ Java đã phát triển nó theo một hướng khác Ngoài ra,

Java còn được dùng để phát triển các applications – các ứng dụng độc

lập Các bước phát triển một ứng dụng Java:

Hình 1.1.1.1: Các bước phát triển một ứng dụng Java

Hiện nay, công nghệ Java được chia làm ba bộ phận:

J2SE (Java 2 Standard Edittion)

Gồm các đặc tả, công cụ, API - giao diện lập trình ứng dụng của

Java giúp phát triển các ứng dụng trên desktop và các máy tính kiểu

trạm làm việc

J2EE (Java 2 Enterprise Edition)

Gồm các đặc tả, công cụ, API mở rộng J2SE để phát triển các ứng

dụng qui mô xí nghiệp, chủ yếu để chạy trên máy chủ (server) Bộ phận

hay được nhắc đến nhất của công nghệ này là công nghệ Servlet/JSP:

sử dụng Java để xây dựng các ứng dụng trên nền tảng web server

J2ME (Java 2 Micro Edition)

Trang 6

Gồm các đặc tả, công cụ, API mở rộng để phát triển các ứng dụng

Java chạy trên điện thoại di động, thẻ thông minh, thiết bị điện tử cầm

tay, robo và những ứng dụng điện tử khác

Lúc đầu, các Java IDE tập trung vào phát triển J2SE Tuy nhiên, khi J2EE đạt được sự chấp thuận rộng rãi, các nhà cung cấp tiến hành

hỗ trợ phát triển các ứng dụng sử dụng J2EE vào các IDE của họ

J2ME là bộ phận được phát triển sau cùng Tuy nhiên, nhiều chuyên

gia đã dự đoán về sự phát triển lớn mạnh của thị trường phát triển các

ứng dụng J2ME, các nhà cung cấp đã đưa ra các phiên bản mở rộng

cho các sản phẩm IDE của họ để hỗ trợ thêm J2ME Ngoài ra, cácnhà

cung cấp chuyên nghiệp cũng đã phát triển các IDE J2ME đơn

Java đã trải qua 3 bước phát triển quan trọng: Java 1.0 gắn liền với bản JDK đầu tiên, Java 2 gắn với JDK 1.2 và Java 5 gắn với

- Các đặc tả chi tiết kĩ thuật (specifications)

- Ngôn ngữ lập trình (programming language)

1.2 Một số điểm nổi bật của Java so với các ngôn ngữ lập trình

khác

Các ngôn ngữ lập trình được ra đời từ rất lâu, và tính cho đến nay

đã có tới hàng chục loại khác nhau Tuy nhiên số này được phân chia ra

làm 2 loại, các ngôn ngữ lập trình bậc thấp và các ngôn ngữ lập tnình

bậc cao Những ngôn ngữ lập trình bậc thấp, (điển hình nh assembler)

hỗ trợ rất ít cho ngời sử dụng, các câu lệnh thường khó hiểu vì nó đòi

hỏi bạn phải trực tiếp điều khiển việc giao tiếp với máy và các ngôn

ngữ bậc cao (có hỗ trợ cho ngời lập trình thông qua chơng trình dịch và

một số môđun có sẵn - chẳng hạn như Turbo Pascal, C, Java ) Tất

GVHD: TS Nguyễn Ngọc Minh SVTH: Phạm Văn Hải, lớp D07-KTDT1

Trang 7

nhiên nếu phải chọn lựa giữa ngôn ngữ lập trình bậc thấp và ngôn ngữ

lập trình bậc cao, hầu hết các lập trình viên sẽ chọn giải pháp thứ hai vì

họ sẽ tiết kiệm đợc nhiều thời gian, công sức và đạt hiệu quả cao hơn

(ví dụ như phải viết một chương trình để truyền file giữa 2 máy qua

mạng điện thoại, với ngôn ngữ assembler bạn cần phải có một khối

lưỡng công việc cực kì lớn, với khoảng vài trăm dòng lệnh trong khi

đó, nếu bạn thông thạo Java, bạn sẽ thấy điều này chẳng có gì khó khăn

cả - đơn giản là viết vài chục dòng lệnh mà thôi)

Khác với phần lớn ngôn ngữ lập trình thông thường, thay

vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi

chạy, Java được thiết kế để biên dịch mã nguồn thành bytecode,

bytecode sau đó sẽ được môi trường thực thi (runtime environment)

chạy Bằng cách này, Java thường chạy chậm hơn những ngôn ngữ lập

trình thông dịch khác như C++, Python, Perl, PHP, C# và cú pháp

trong Java được vay mượn nhiều từ C & C++ Tuy nhiên, Java có cú

pháp hướng đối tượng đơn giản hơn và có tính năng xử lý cấp cao hơn

Do đó việc viết một chương trình bằng Java dễ hơn, đơn giản hơn, đỡ

tốn công sửa lỗi hơn Dùng bộ thư viện chuẩn KFC, nhiều đoạn code

Java chỉ mất vài dòng trong khi C phải mất cả trang giấy Lập trình C

rất hay xảy ra lỗi và khó sửa

Chương trình phần mềm viết bằng Java có thể chạy trên mọi nền

tảng (platform) khác nhau thông qua một môi trường thực thi với điều

kiện có môi trường thực thi thích hợp hỗ trợ nền tảng đó Khả năng này

thường được gọi là "viết một lần, chạy mọi nơi" (write once, run

anywhere) là một lợi thế cực lớn Môi trường thực thi của Sun

Microsystems hiện hỗ trợ Sun Solaris, Linux, Mac

OS, FreeBSD & Windows

Ban đầu Sun Microsystems đã nghĩ ra Java Vỉtual Machine(JVM) – máy ảo Java để hỗ trợ các ứng dụng Java biên dịch

bytecode, và cho tới nay đã sản xuất được 4.5 tỉ JVM Không đúng khi

nói rằng trình biên dịch Java không biên dịch ra mã máy - machine

code Thực chất file code Java sau khi đưa vào trình biên dịch sẽ được

biên dịch ra thành bytecode dành cho cái máy ảo Java Trên các

platform thực, Java Runtime Environment (JRE) sẽ cho phép JVM biện

dịch lại toàn bộ bytecode thành code gốc của platform đó Để cho các

Trang 8

chương trình Java chạy trên nhiều platform khác nhau, Sun chỉ việc

port cái emulator, tức JRE, sang các platform đó Nhờ vậy mà một

chương trình Java đồ sộ viết cho máy tính, đem sang điện thoại di động

vẫn chạy được bình thường

Cụ thể một số đặc điểm nổi bật của ngôn ngự lập trình Java so với các ngôn ngữ lập trình khác:

Đơn giản (simple)

Hướng đối tượng (Object - oriented)

Độc lập với cấu trúc (architecture neutral).

Trang 9

Có thể thông dịch(interpreted)

1.3 Cấu hình thiết bị

Hiện nay Sun Microsystem đã đưa ra 2 dạng cấu hình thiết bị

1 CLDC : Cấu hình thiết bị kết nối giới hạn, CLDC được thiết

kế để nhắm vào thị trường các thiết bị cấp thấp (low-end), các thiết bị

này thông thường là máy điện thọai di động và PDA với khoảng 512

KB bộ nhớ.Vì tài nguyên bộ nhớ hạn chế nên CLDC được gắn với Java

không dây (Java Wireless ), dạng như cho phép người sử dụng mua và

tải về các ứng dụng Java, ví dụ như là Midlet

2 CDC : Cấu hình thiết bị kết nối, CDC được đưa ra nhắm đến các thiết bị có tính năng mạnh hơn dòng thiết bị thuộc CLDC nhưng

vẫn yếu hơn các hệ thống máy để bàn sử dụng J2SE Những thiết bị

này có nhiều bộ nhớ hơn (thông thường là trên 2Mb) và có bộ xử lý

mạnh hơn Các sản phẩm này có thể kể đến như các máy PDA cấp cao,

điện thoại web, các thiết bị gia dụng trong gia đình …

Cả 2 dạng cấu hình kể trên đều chứa máy ảo Java (Java Virtual Machine - JVM) và tập hợp các lớp (class) Java cơ bản để cung cấp

một môi trường cho các ứng dụng J2ME Tuy nhiên cần chú ý rằng đối

với các thiết bị cấp thấp, do hạn chế về tài nguyên như bộ nhớ và bộ xử

lý nên không thể yêu cầu máy ảo hổ trợ tất cả các tính năng như với

máy ảo của J2SE, ví dụ, các thiết bị thuộc CLDC không có phần cứng

yêu cầu các phép tính toán dấu phẩy động, nên máy ảo thuộc CLDC

không được yêu cầu hỗ trợ kiểu float và double

Bảng so sánh các thông số kỹ thuật của CDC và CLDC

Trang 10

GVHD: TS Nguyễn Ngọc Minh SVTH: Phạm Văn Hải, lớp D07-KTDT1

Trang 11

Phần II : Giới thiệu về bộ VXL Java

(JVM), và các hệ thống Java thời gian thực cơ bản Bytecode JVM sẽ

thực hiện việc loại bỏ các thông dịch và các lớp phần mềm JIT đặc

trưng, và thực hiện tối ưu hóa cho các yêu cầu về bộ nhớ và thời gian

Dựa trên nền tảng về chip Java cơ bản, dòng chip aJ-200 luôn thực hiện

các tác vụ, đồng bộ hóa các đối tượng, lập trình và xử lí ngắt một cách

Trang 12

Bộ xử lí Java này của aJile là dòng thế hệ thứ 3 sử dụng năng lượng thấp, thực hiện trực tiếp các xử lí trên nền tảng JME Java, “Java

processor” Nó được ứng dụng để thiết kế các dòng thiết bị nhúng đa

phương tiện, và các ứng dụng internet di động Bộ xử lí này bao gồm

một lõi JEMCore-II nâng cao với byte, half word, word opteration, một

gói dữ liệu DSP, 32KB bộ nhớ I&D, bus AHB, giao diện APB, và giao

diện JTAG Sơ đồ các khối của bộ xử lí Java được mô tả như hình vẽ

mở rộng cho multimedia và các ứng dụng nhúng trong mạng

JEMCore-II cải thiện hiệu quả thực hiện các lệnh Java việc loải bỏ lớp

trình diễn Java và nhân RTOS Kết quả dẫn đến thời gian chuyển đổi

ngữ cảnh thread-to-thread được giảm đáng kể(<1µs) Vì tập lệnh

bytecode được thực hiện như các lệnh cơ bản nên JEMCore của Java

hoạt động giồng như bộ xử lí RISC thực hiện vệc biên dịch trong C

Thêm vào đó, các hoạt động Java cơ bản (wait, yield, thông báo, giảm

GVHD: TS Nguyễn Ngọc Minh SVTH: Phạm Văn Hải, lớp D07-KTDT1

Trang 13

sát việc enter/exit) được thực hiện như các lệnh bytecode mở rộng, loại

bỏ các yêu cầu cho một RTOS truyền thống Dựa trên sự phong phú

của nền tảng Java multimedia , JEMCore-II đã được cải tiến với một

microcode chuyên dụng-dựa trên dữ liệu DSP-để làm tăng thêm các

thuật toán khác nhau cho các ứng dụng audio, điều khiển nhúng, điều

khiển động cơ phụ, ghi lại giọng nói và chữ viết tay

Hình dưới minh họa đơn giản các khối của lõi JEMCore-II cải tiến:

Hình 2.1.1.4: Sơ đồ khối lõi JMECore - II

1.3. Các đặc tính của hệ thống aJ-200

Trang 14

o Thực hiện thread-to-thread ít hơn 1us

• Hai máy ảo Java độc lập trong phần cứng

• Cho phép ghi 32KB (writeable control store–WCS

32 KB Unified instruction & Data Cache

Giao diện BUS ngoài (External Bus interface – EBI)

• FLASH (NOR & NAND), ROM, SRAM

Four 16550 Compatible UART’s

General Purpose I/O Ports

Điều khiển truy cập trực tiếp bộ nhớ-DMA (Direct Memory Access)

Cổng đồng bộ nối tiếp (SSP-Synchronous Serial Port)

Giao tiếp I 2 S/AC97/SPI

Giao tiếp I 2 C

Hỗ trợ thẻ nhớ SD/ SDIO/ MMC

CF Memory Card Interface version 1.4

GVHD: TS Nguyễn Ngọc Minh SVTH: Phạm Văn Hải, lớp D07-KTDT1

Trang 15

Chip đơn điều khiển USB OTG phiên bản 2.0

Chip đơn điều khiển 10/100 T-Base Ethernet

Mã hóa/giải mã máy

Màn hình LCD

• Giao diện TFT LCD 24-bit

• Độ phân giải lên tới 1280x1280

• Chế độ đầu vào (RGB, bảng màu, YcbCr422/420)

• 256 entries 16-bit RGB color palette RAM

• 2 cửa sổ PiP

• Picture out of Picture (PoP)

• Định dạng đầu ra (bảng màu RGB, ITU-R BT, 656)

• Video Scalar (up & down)

• Cổng video ra (ITU-R BT 656)

Ba cổng lấy ảnh

• Độ phân giải 1920x1080

• Định dạng đầu vào(ITU-R BT 656/.1120, YCrCb 4:2:2)

• Định dạng đầu ra(RGB 888/565, YCbCr 4:4:4, 4:2:2, 4:2:0)

Hỗ trợ các định dạng media

• Định dạng MPEG-4 đơn giản chuẩn L0 ~ L3

• Sub QCIF, QCIF, CIF, VGA, 4CIF, & D1

• Chuẩn hình ảnh JPEG (ISO/IEC 10918-1) cơ bản

• Short video header (H.263 baseline)

• Các phương pháp lượng tử hóa H.263/MPEG/JPEG

Giao diện JTAG chuẩn IEEE 1149.1

Clock and PLL’s

Trang 16

Fully static operation up to 180 MHz

Hình 2.1.1.5: Sơ đồ khối dòng Kit sử dụng Kit aJ-200

GVHD: TS Nguyễn Ngọc Minh SVTH: Phạm Văn Hải, lớp D07-KTDT1

Trang 17

Vỉtual Bytecode, dựa trên các nền tảng về JAVA cơ bản, network, đồ

họa, định dạng video MPEG4, và các khối chức năng I/O Kit

aJ-200MEK được thiết kế với một màn hình cảm ứng kích thước

800x480, một thiết bị CMOS, một video định dạng MPEG4, âm thanh

stereo, và cấu hình kiểu I/O đặc thù cho các thiết bị đa phương tiện di

Trang 18

aJ-200MEK giúp người sử dụng phát triển các thế hệ sản phẩm đa phương

tiện dựa vào các ứng dụng đa phương tiện di động qua mạng Internet

như IP camera, webs, các máy chủ camera, các thiết bị cầm tay và các

ứng dụng nhỏ khác

Sơ đồ các khối của Kit aJ-200MEK được mô tả như hình dưới:

GVHD: TS Nguyễn Ngọc Minh SVTH: Phạm Văn Hải, lớp D07-KTDT1

Trang 19

Hình 2.1.1.7: Sơ đồ các khối trên Kit aJ-200MEK

2.2. Các đặc tính của bộ Kit aJ-200MEK

Bộ xử lý:

Trang 20

• aJile network media direct execution SOC “aJ-200” for

the JME platform

Trang 21

• MPEG-4 các chuẩn đơn giản L0~L3

• Sub QCIF, QCIF, CIF, VGA, 4CIF, and D1 @ 30 fps

• Left and right audio input

• Left and right audio output

• Speaker (8Ω) header

• Microphone

Đồng hồ thời gian thực hỗ trợ một pin cổng GPIO 8-bit, bộ nối

UMTS/HSDPA:

• 50-pin slimstack receptacle

• Cinterion HC-25/28 module (option)

Bộ nối module Zigbee:

• 20-pin header

Xbee/Xbee-Pro module (option)

Trang 22

• Nguồn ngoài 100-240V 5V/3A DC.

• Pin @ 3.7V 1800 mAhcó thể nạp lại được

JTAG:

• Giao diện debug

• Nguồn cấp 5V qua cổng USB

• Debug qua kênh nối tiếp

nhiều ứng dụng thực hiện một cách đồng thời và độc lập theo một lịch

trình nhất định một cách nhanh chóng Điều này cho phép các ứng

dụng cứng real-time chạy độc lập và an toàn với các ứng dụng mạng

GVHD: TS Nguyễn Ngọc Minh SVTH: Phạm Văn Hải, lớp D07-KTDT1

Trang 23

Hình 2.1.1.8: Hê thống aJile RTOS

Các thành phần chính của một hệ điều hành thời gian thực aJile:

JME API’s

o CLDC 1.1

o CDC 1.1/Foundation Profile (FP)

o MIDP2.0

Stack mạng, file hệ thống, và định khung an toàn:

o chạy trên các thư viện TCP/IPJME và bổ sung aJile's Java của

Trang 24

o Định khung an toàn

o Bộ nạp khởi động cho việc cập nhật các ứng dụng

Các driver cho các phần mềm Java:

o Hợp nhất tất cả các I/O

o Điều khiển nối tiếp qua cổng ÚB cho bọ nhớ, bàn phím, và chuột

o Thé nhớ SD, WLAN card

aJile Real-time OS Kernel

Bên trong bộ xử lý aJile chứa một lõi thời gian thực nhỏ đã được

lập trình Nó thực hiện các chức năng quen thuộc của hệ điều hành

như: lập chương trình, chuyển chương trình, xử lý ngắt, xứ lý các lỗi và

đồng bộ hóa các đối tượng) Ngôn ngữ Java cơ bản được dùng trong

các bộ xử lý của aJile, và nó sử dụng các tập lệnh bytecode mở rộng để

thực hiện thêm các hoạt động trong Applications ( trạng thái ngủ, chờ,

các thông báo, yield, quản lí nhập, quản lí xuất, và ngắt) để hỗ trợ việc

điều hành hệ thống một cách nhanh chóng và không bị gián đoạn Các

chip thời gian thực quản lí các hoạt động dựa trên mức độ ưu tiên của

các chúng với thời gian chuyển đổi vô cùng nhanh- ít hơn 1 µs

Ngoài ra, kỹ thuật Multiple JVM (MJM) của aJile còn cho phép

các ứng dụng chạy một cách đồng thời và độc lập theo một lịch trình

nhất định Mỗi JVM tận dụng các đặc trưng riêng của mình và bộ nhớ

để cho phép các ứng dụng chạy một cách đồng thời, độc lập với các

ứng dụng trên mạng và không bị tạm dừng khi có các “cảnh báo rác”-

garbage collection (G.C) và các ngắt khác MJM có chể độ bảo mật

“sandbox” Java đến cấp độ tiếp theo, cung cấp một cơ chế để dễ dàng

cách ly các ứng dụng và phân chia tài nguyên hệ thống aJile RTOS

cho phép các ứng dụng cứng real-time có thể chạy một cách độc lập và

an toàn song song với các ứng dụng mạng

2.4 Môi trường phát triển

GVHD: TS Nguyễn Ngọc Minh SVTH: Phạm Văn Hải, lớp D07-KTDT1

Trang 25

Môi trương phát triển như Eclipse hay Netbeans cho phép sử dụng các “off-the-shelf “IDE để tạo ra các file chuẩn Java.Nó thực hiện

các công việc chính sau:

Tối ưu hóa Linker/Xây dựng các ứng dụng Applications builder

o Các sơ đồ và tập tin Gerber (là một chuẩn vẽ mạch PCB) có thể

được download tại website của aJile :www.ajile.com

Hai môi trường phát triển này đều có những ưu điểm riêng của mình và chúng đều có thể đươc sử dụng miễn phí Tuy nhiên Eclipse

có phần nổi trội hơn vì:

* Khác với NetBean, luôn phát hành dưới dạng Beta, có nghĩa là có

thể trở thành bản thương mại bất kỳ lúc nào khi SUN quyết định đưa ra

bản chính thức, Eclipse là phiên bản hoàn chỉnh mã nguồn mở

* Các plug-in phục vụ cho việc phát triển Java application rất tốt, hỗ

trợ nhiều tính năng cao cấp IDE hỗ trợ nhiều cách nhìn vào code, sáng

* Làm quen với Eclipse đồng nghĩa với cơ hội làm quen với cách

làm việc của một trong những môi trường phát triển Web mạnnh nhất

hiện nay là Websphere (vì bản chất WebShpere cũng là một plug-in

của Eclipse) Những kinh nghiệm có được trên Eclipse hoàn toàn có thể

* Tìm hiểu Eclipse có thể tạo ra các plug-in phục vụ riêng cho công

việc cá nhân và cho cộng đồng phát triển mã nguồn mở

Một số thủ thuật trong Eclipse

Hiển thị tiếng Việt:

Trang 26

- Window – Preferences - General- Workspace - Text File Encoding - Other -> UTF-8.

Tự động sổ code:

- Tổ hợp phím kinh điển Ctrl + Space (thao tác rất tiện lợi khi gõ code)

Comment:

- Ctrl + "/": tự động thêm cụm "//" vào đầu dòng (không tiện lắm)

- Ctrl + Shift + "/": tự động thêm "/* */" vào cụm được bôi đen

- Ctrl + Shift + "\": tự động bỏ "/* */" vào cụm được bôi đen

- Ctrl + B : Build All, Ctrl + F11: Run

Trang 27

Phần III : Quy trình xây dựng một ứng dụng trên Kit aJ-200MEK

Để xây dựng một ứng dụng trên Kit –aJ-200MEK, trước tiên cần phải cài đặt các công cụ phần mềm sau:

1 Eclipse SDK ( có thể tạo file *.class trong của sổ cmd trong

Windows) và J2SDK version 1.4 hoặc mới hơn (file

j2sdk-1_4_2-windows-i586.exe).

2 Hai trình biên dịch của aJile: ajile_cdc (file

ajile_cdc_6.2.05_install.exe) hoặc ajile_cldc (file

ajile_cldc_6.2.05_install.exe)

3 Cài đặt USB JTAG Drivers (download tại địa chỉ

http://www.ftdichip.com/Drivers/D2XX.htm )

Các bước xây dựng một ứng dụng trên Kit aJile-200MEK

Bước 1: Viết code và biên dịch file *.Java thành bytecode lưu

trong file *.class.

Bước 2: Sử dụng các tool của aJile – JemBuilder biên dịch

bytecode thành mã máy - file *.sod.

Bước 3: Sử dụng Charade for EVB(m) nạp file *.sod vào Kit để

chạy ứng dụng

Lưu ý: Trong đồ án này, Eclipse sử dụng version 3.6.2 và workspace tại

D:\DoAn\code, các tool của aJile được cài đặt tại C:\ajile, J2SDK tại

C:\j2sdk.

1. Viết code và biên dịch

1.1 Add thư viện drivers của aJile vào Eclipse

- Mở Eclipse, trên thanh Menu chính của nó chọn:

Project - Properties - Java Build Path - Add Library… - User Library -

Next - User Libraries… - New.

- Tại đây, cửa sổ New Libraries sẽ hiện ra, đặt tên cho cấu hình

thiết bị:

Trang 28

ajile CDC11(ajile CLDC11) ( lưu ý tick chọn System Library(add to the boot class path) ).

- Sau bước này, ta sẽ thấy thư viện vừa được tạo xuất hiện trong

cửa sổ Defined user libraries: Click chọn thư viện vừa tạo – ajile

CDC11 (ajile CLDC11) - Add JARs… Chọn đường dẫn đến

C:\ajile\Runtime_cdc11 (C:\ajile\Runtime_cldc11)

- Sau đó add các file:

foundation.jar, btclasses.zip, runtime_cdc11.jar (với ajile CLDC11 thì chỉ cần add 2 file: runtime_cldc11, class.jar) - Open.

- Tiếp tục - chọn Add Jars… Chọn đường dẫn tới:

C:\ajile\Runetime_cdc11\lib\drivers

(C:\ajile\Runetime_cldc11\lib\drivers)

- Tại đây chọn tất cả các file *.jar Sau đó - chọn Open.

Lúc này, cửa sổ Preferences sẽ trông giống như hình dưới đây:

GVHD: TS Nguyễn Ngọc Minh SVTH: Phạm Văn Hải, lớp D07-KTDT1

Trang 29

Hình 3.1: Add thư viện cho Project

- Chọn Ok để thoát Preferences Trở lại với cửa sổ Properties,

chọn Java Compiler sau đó thiết lập các thông số như hình vẽ:

Ngày đăng: 18/06/2014, 07:54

HÌNH ẢNH LIÊN QUAN

Hình 2.1.1.2: Dòng chip aJ-200 - phát triển hệ thống thu nhận hình ảnh sử dụng bộ vxl java-kit aj-200mek
Hình 2.1.1.2 Dòng chip aJ-200 (Trang 11)
Hình 2.1.1.3: Các khối chức năng trong bộ xử lí Java trong chup aJ-200 - phát triển hệ thống thu nhận hình ảnh sử dụng bộ vxl java-kit aj-200mek
Hình 2.1.1.3 Các khối chức năng trong bộ xử lí Java trong chup aJ-200 (Trang 12)
Hình dưới minh họa đơn giản các khối của lõi JEMCore-II cải  tiến: - phát triển hệ thống thu nhận hình ảnh sử dụng bộ vxl java-kit aj-200mek
Hình d ưới minh họa đơn giản các khối của lõi JEMCore-II cải tiến: (Trang 13)
Hình 2.1.1.5: Sơ đồ khối dòng Kit sử dụng Kit aJ-200 - phát triển hệ thống thu nhận hình ảnh sử dụng bộ vxl java-kit aj-200mek
Hình 2.1.1.5 Sơ đồ khối dòng Kit sử dụng Kit aJ-200 (Trang 16)
Hình 2.1.1.6: Bộ Kit aJ-200MRK - phát triển hệ thống thu nhận hình ảnh sử dụng bộ vxl java-kit aj-200mek
Hình 2.1.1.6 Bộ Kit aJ-200MRK (Trang 17)
Hình 2.1.1.7: Sơ đồ các khối trên Kit aJ-200MEK - phát triển hệ thống thu nhận hình ảnh sử dụng bộ vxl java-kit aj-200mek
Hình 2.1.1.7 Sơ đồ các khối trên Kit aJ-200MEK (Trang 19)
Hình 2.1.1.8: Hê thống aJile RTOS - phát triển hệ thống thu nhận hình ảnh sử dụng bộ vxl java-kit aj-200mek
Hình 2.1.1.8 Hê thống aJile RTOS (Trang 23)
Hình 3.1: Add thư viện cho Project - phát triển hệ thống thu nhận hình ảnh sử dụng bộ vxl java-kit aj-200mek
Hình 3.1 Add thư viện cho Project (Trang 29)
Hình 3.2: Lựa chọn version SDK phù hợp - phát triển hệ thống thu nhận hình ảnh sử dụng bộ vxl java-kit aj-200mek
Hình 3.2 Lựa chọn version SDK phù hợp (Trang 30)
Hình 3.3: Giao diện viết code trên Eclipse - phát triển hệ thống thu nhận hình ảnh sử dụng bộ vxl java-kit aj-200mek
Hình 3.3 Giao diện viết code trên Eclipse (Trang 41)
Hình 3.4: Thiết lập Embedded Runtime với CDC - phát triển hệ thống thu nhận hình ảnh sử dụng bộ vxl java-kit aj-200mek
Hình 3.4 Thiết lập Embedded Runtime với CDC (Trang 42)
Hình 3.5: Thiết lập Embedded Runtime với CLDC - phát triển hệ thống thu nhận hình ảnh sử dụng bộ vxl java-kit aj-200mek
Hình 3.5 Thiết lập Embedded Runtime với CLDC (Trang 43)
Hình 3.10: Thông số về GPIO A, LCD, &amp; TVout - phát triển hệ thống thu nhận hình ảnh sử dụng bộ vxl java-kit aj-200mek
Hình 3.10 Thông số về GPIO A, LCD, &amp; TVout (Trang 47)
Hình 3.12: Giao diện Charade trong quá trình chạy ứng dụng trên Kit aJ-200MEK - phát triển hệ thống thu nhận hình ảnh sử dụng bộ vxl java-kit aj-200mek
Hình 3.12 Giao diện Charade trong quá trình chạy ứng dụng trên Kit aJ-200MEK (Trang 49)
Hình 3.12: Hình ảnh ứng dụng khi chạy trên Kit aJ-200MEK - phát triển hệ thống thu nhận hình ảnh sử dụng bộ vxl java-kit aj-200mek
Hình 3.12 Hình ảnh ứng dụng khi chạy trên Kit aJ-200MEK (Trang 50)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w