Nghiên cứu và xây dựng bộ công cụ phát triển phần mềm nhúng e studio, phần bare project - Pdf 17

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
NGUYỄN THỊ HỒNG NHANH - NGUYỄN LONG THỊNH
NGHIÊN CỨU VÀ XÂY DỰNG BỘ CÔNG
CỤ PHÁT TRIỂN PHẦN MỀM NHÚNG
E-STUDIO, PHẦN BARE PROJECT
KHÓA LUẬN TỐT NGHIỆP CỬ NHÂN CNTT
TP.HCM, NĂM 2010
1
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
NGUYỄN THỊ HỒNG NHANH - 0612302
NGUYỄN LONG THỊNH - 0612432
NGHIÊN CỨU VÀ XÂY DỰNG BỘ CÔNG
CỤ PHÁT TRIỂN PHẦN MỀM NHÚNG
E-STUDIO, PHẦN BARE PROJECT
KHÓA LUẬN TỐT NGHIỆP CỬ NHÂN CNTT
GIÁO VIÊN HƯỚNG DẪN
ThS. NGUYỄN TẤN TRẦN MINH KHANG
CHÂU CHÍ THIỆN
KHÓA 2006 – 2010
2
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….

…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
…………………………………………………………………………………….
Khóa luận đáp ứng yêu cầu của Khóa luận cử nhân CNTT
TpHCM, ngày … tháng …… năm ……
Giáo viên phản biện
4
LỜI CÁM ƠN
  
TpHCM, ngày 02 tháng 06 năm 2010
5
Khoa Công Nghệ Thông Tin
Bộ môn Công Nghệ Phần Mềm
ĐỀ CƯƠNG CHI TIẾT
Tên Đề Tài: Nghiên cứu và xây dựng bộ công cụ phát triển phần mềm nhúng
E-Studio, phần Bare Project
Giáo viên hướng dẫn: Nguyễn Tấn Trần Minh Khang
Châu Chí Thiện
Thời gian thực hiện: 23/02/2010 đến 15/7/2010
Sinh viên thực hiện: Nguyễn Thị Hồng Nhanh – 0612302
Nguyễn Long Thịnh - 0612432
Loại đề tài: Nghiên cứu, xây dựng chương trình hoàn thiện
Nội Dung Đề Tài:

4. Kết quả đạt được:
 ARMStudio có tính năng debug và các tính năng cải tiến khác.
 Xây dựng được ARMStudio chạy trên Linux
7
 Xây dựng được template cho nhiều vi xử lý ARM7, ARM9, Cortex-
M3.
 Quốc tế hóa sản phẩm hổ trợ đa ngôn ngữ: tiếng Việt, tiếng Nhật.
Kế Hoạch Thực Hiện:
STT Công việc Thời gian thực hiện
1.
1
Viết đề cương chi tiết
22/2 → 02/03
2. Tìm hiểu các kiến thức cần để phát triển
plug-in trong Eclipse
22/02 → 05/03
3. Tìm hiểu kiến trúc và mô hình của các vi xử lý
thuộc họ ARM7, ARM9, Cortex-M3
06/03 → 15/03
4. Tìm hiểu GNUARM Toolchain (GNU
Binutils, Compiler set (GCC), Debugger,
Newlib) và các thành phần của GNUARM
Toolchain, đặc biệt là GDB
16/03 → 25/03
5. Tìm hiểu kiến trúc CDT (C/C++ Development
Tooling), CDT Debugger và CDT Project
Template Engine.
26/03 → 09/04
6. Nghiên cứu các chức năng đã được xây dựng
trong hệ thống ARMStudio, các chức năng cần

13
14
Chương 1. ECLIPSE VÀ KIẾN TRÚC PLUGIN
TRONG ECLIPSE
1.1 Tổng quan về Eclipse
1.1.1 Giới thiệu Eclipse, download và cài đặt
Eclipse là một nền tảng phát triển mã nguồn mở dựa trên Java và có
thể mở rộng được. Eclipse bao gồm một tập hợp các dịch vụ để xây dựng
các ứng dụng từ các thành phần plug-in. Eclipse được tạo thành bởi một tập
hợp các plug-in chuẩn và thường được gọi là JDT (Java Development
Tools).
Trong khi hầu hết người dùng sử dụng Eclipse như là môi trường phát
triển tích hợp Java (IDE), một số khác còn có những nhu cầu sử dụng khác
hơn nữa. Do đó, Eclipse còn bao gồm PDE (Plug-in Development
Environment) dành cho người dùng muốn mở rộng Eclipse. Vì thế, Eclipse
cho phép người xây dựng các tool tích hợp vào môi trường Eclipse. Bởi vì
mọi thứ trong Eclipse đều là plug-in nên các nhà phát triển các tool đều
cung cấp các sân chơi để mở rộng Eclispe và để cung cấp một IDE thống
nhất và chắc chắn cho người dùng.
Mặc dù Eclipse được viết bằng ngôn ngữ Java, nhưng Eclipse có cung
cấp các plug-in hỗ trợ các ngôn ngữ lập trình khác như C/C++ và COBOL.
Eclipse framework có thể được sử dụng như là nền tảng cho các loại ứng
dụng khác không liên quan đến phát triển phần mềm, ví dụ như: hệ quản trị
nội dung.
Eclipse là cộng đồng mã nguồn mở mà các project của nó tập trung
vào việc xây dựng nền tảng mã nguồn mở bao gồm các framework có thể
15
mở rộng, các tool và runtime để xây dựng, triển khai và quản lý các phần
mềm trong chu kỳ sống của nó. Eclipse là một tổ chức phi lợi nhuận được
hỗ trợ bởi các thành viên, là nơi phát triển các dự án của Eclipse, và là nơi

thông gia giao diện API, các lớp và phương thức. Ngoài ra, platform còn
cung cấp các framework và block để dễ dàng phát triển các tool mới.
Eclipse Platform không giới hạn số ứng dụng ngôn ngữ Java. Tuy nhiên,
Eclipse SDK gồm có Eclipse Platform, JDT và PDE. Trong đó JDT và PDE là
các plugin được gắn vào Platform. Eclipse Platform được xây dựng dựa trên cơ
chế phát hiện ra, tích hợp và chạy plug-in. Plug-in là đơn vị chức năng nhỏ
nhất có thể được phát triển và phân phối một cách riêng biệt. Thông thường,
một tool nhỏ được viết trong một plug-in riêng biệt, trong khi đó các tool phức
tạp có các chức năng được tách ra ở nhiều plug-in.
Hình 1-1 Kiến trúc Eclipse
17
1.1.2.1 SWT
Standard Widget Toolkit (SWT) cung cấp các API độc lập nền tảng
cho các widget và công cụ đồ họa bằng cách cho phép tích hợp chặt chẽ
với hệ điều hành bên dưới. Giao diện Eclipse Platform sử dụng SWT để
trình bày thông tin cho người dùng, cho dù người dùng đang làm việc trên
hệ điều hành Linux, Window hay hệ điều hành nào khác có giao diện đồ
họa.
Java AWT (Abstract Windowing Toolkit) cung cấp các widget đơn
giản như: list, text field và button, nhưng không có các widget cấp cao như:
tree hay rich text. Các widget của AWT sử dụng các widget sẵn có của tất
cả các hệ điều hành. Java Swing ra đời như là giải pháp để khắc phục các
vấn đề đó. Swing là một GUI Framework của riêng Java , không phụ thuộc
vào bất cứ nền tảng nào. Swing không sử dụng các thành phần sẵn có của
hệ điều hành , nó sử dụng các đối tượng được Sun xây dựng sẵn. Các ứng
dụng có giao diện bằng Swing sẽ trông không được phù hợp, tự nhiên trên
nền tảng mà nó đang chạy. Dù ở những phiên bản cuối cùng của JVM , các
ứng dụng Swing vẫn tồn tại sự khác biệt với nền tảng giao diện của các hệ
điều hành. Mặc dù người dùng có thể cài các bộ cảm quan (LookAndFeel )
những giao diện vẫn chưa được tự nhiên.

Plug-in: tập hợp các chức năng
- Đơn vị nhỏ nhất của Eclipse
- Ví dụ plug-in lớn: HTML editor
- Ví dụ plug-in nhỏ: Action để tạo file zip
Extension point: thực thể được đặt tên đại diện cho
tập hợp các chức năng.
- Extension point là 1 cơ chế cho phép 1 plug
in có thể thêm các chức năng từ 1 plug in
khác.
- Ví dụ: extension point cho giao diện người
dùng workbench
Extension: một chức năng
- Ví dụ: các chức năng của HTML editor
1.2.2 The plug-in manifest file
Chi tiết của plug-in được giải thích rõ ràng trong tập tin plug-in
manifest. Plugin manifest chính là tập tin plugin.xml, chứa thông tin mô tả
sẽ được Eclipse sử dụng để tích hợp plug-in vào framework. Mặc định,
plugin.xml mở khu vực editor của manifest khi nó được tạo ra lần đầu tiên.
ở bên dưới đáy của editor có các tab để hỗ trợ người dùng lựa chọn việc
thiết lập các thông tin khác nhau về plug-in. Ví dụ: tab Source hiển thị toàn
bộ nội dung tập tin plugin.xml ở dạng xml.
Tập tin manifest chứa những thông tin chung về plug-in bao gồm: tên
plug-in, phiên bản, tên lớp, tên file JAR. Ngoài ra, tập tin manifest còn
chứa danh sách những plug-in mà plug-in hiện tại cần dùng.
Plug-in đầu tiên là org.eclipse.core.resources là
workspace plug-in và Plug-in thứ hai là org.elipse.ui là workbench
plugin.
Một trong những extension cần tìm hiểu là extension có thuộc tính
point=org.eclipse.ui.actionSets. Một action set là một nhóm
các chức năng mà plug-in sẽ thêm vào giao diện workbench, ví dụ như là

nền tảng nào đó…
Plug-in fragment gần giống với plug-in thông thường, chỉ khác
ở một vài đặc điểm sau:
- Thông tin mô tả plug-in được lưu trong tập tin fragment.xml thay
vì plugin.xml như các plug-in thông thường.
- Trong tập tin fragment.xml, nút gốc là <fragment> và nút này có
2 thuộc tính là: plugin-id và plugin-version dùng để chỉ ra định danh
và phiên bản của plug-in cha.
- Plug-in fragment sẽ tự động kế thừa các nút <requires> của plug-
in cha và có thể thêm các nút <requires> khác nếu cần thiết.
• Plug-in feature: Trong kiến trúc Eclipse, feature là việc đóng gói
một nhóm các plug-in có liên quan lại thành một sản phẩm tích hợp.
Plug-in feature không có chứa code. Ví dụ: Java Development
Tooling (JDT) là một feature project được tạo thành bởi các
plug-in như Java editor, debugger, và console.
Tập tin đặc tả feature project là feature.xml, tập tin
này chứa tham chiếu đến các plug-in và các tài nguyên khác của
feature project, đồng thời chứa các thông tin về việc update,
copyright và license.
23
1 KIẾN TRÚC VI XỬ LÝ ARM
1.3 ARM7 (32-bit)
- Ra đời vào năm 1994, ARM7 đã phát triển hết sức thành công và giúp ARM
trở thành kiến trúc được lựa chọn của thế giới kĩ thuật số. Trong vài năm qua,
hơn 10 tỉ thiết bị có sử dụng chip ARM7 đã được ứng dụng trong nhiều lĩnh
vực của đời sống. Hiện nay, ARM7 vẫn tiếp tuc được sử dụng rộng rãi để thiết
kế các thiết bị 32 bit đơn giản.
- Đặc điểm nổi bật của ARM7:
• Kiến trúc công nghiệp chuẩn.
• Dễ dàng thiết kế và debug.

state).
• Java bytecode 8 bit được sử dụng cho trạng thái Jazelle (Jazelle
state).
 Tổng quan về tập lệnh
• Với kiến trúc 32 bit, có thể thao tác trên số nguyên 32 bit chỉ với
những lệnh đơn và đánh địa chỉ trên không gian địa chỉ lớn, có hiệu
quả hơn nhiều so với kiến trúc 16 bit. Khi xử lý dữ liệu 32 bit, kiến
trúc 16 bit phải sử dụng ít nhất 2 lệnh để thực hiện được cùng công
việc như một lệnh 32 bit.
• Kiến trúc 32 bit chỉ có lệnh 32 bit và kiến trúc 16 bit chỉ có lệnh 16
bit, do đó kiến trúc 16 bit có mật độ code dày đặc hơn.
• Thumb implement tập lệnh 16 bit trên kiến trúc 32 bit nên hiệu quả
cao hơn kiến trúc 16 bit và mật độ code dày đặc hơn kiến trúc 32 bit.
• ARM7EJ-S cho người sử dụng lựa chọn trạng thái ARM, Thumb
hoặc là trộn lẫn cả hai. Điều này cho phép người sử dụng tối ưu hóa
mật độ và hiệu quả của code tốt nhất cho từng yêu cầu của ứng
dụng.
 Tập lệnh Thumb
• Tập lệnh Thumb là tập con của những lệnh ARM 32 bit thường được
sử dụng nhất. Tập lệnh Thumb có độ dài mỗi lệnh là 16 bit và có
lệnh ARM 32 bit. Tập lệnh Thumb thao tác được với cấu hình thanh
ghi ARM chuẩn, kết hợp những điểm tốt nhất ARM và Thumb.
• Tập lệnh Thumb có tất cả những thuận lợi của vi xử lý 32 bit:
25


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status