Tải bản đầy đủ (.ppt) (40 trang)

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 mềm Bare Project

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.9 MB, 40 trang )

BÁO CÁO KHÓA LUẬN TỐT NGHIỆP
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ới thiệu

Nền tảng phát triển hệ thống nhúng

Tổng quan về hệ thống ARMStudio

Eclipse và kiến trúc plug-in trong Eclipse

Kiến trúc vi xử lý ARM

Xây dựng hệ thống ARMStudio cho các vi xử lý họ ARM

Giới thiệu hệ thống

Các chức năng của hệ thống

Sản phẩm ứng dụng nhúng đa dạng

Tiêu dùng: DVD, TV kỹ thuật số, thiết bị cầm tay, GPS

Di động: Điện thoại, netbook, smartphone, tablet

Vệ tinh, tên lửa, tàu con thoi…

Đặc điểm


Nhỏ, nhiều chức năng, tiêu thụ năng lượng ít

Không sử dụng vi xử lý x86

Sử dụng nhiều hệ điều hành, thư viện khác nhau

Môi trường debug chậm và khó sử dụng

IDE phát triển phần mềm nhúng chưa nhiều

IDE phát triển phần mềm nhúng lớn: Keil, IAR, Green
Hills… không miễn phí


Giới thiệu

Nền tảng phát triển hệ thống nhúng

Tổng quan về hệ thống ARMStudio

Eclipse và kiến trúc plug-in trong Eclipse

Kiến trúc vi xử lý ARM

Xây dựng hệ thống ARMStudio cho các vi xử lý họ ARM

Giới thiệu hệ thống

Các chức năng của hệ thống


Java IDE

Mã nguồn mở, kiến trúc có thể mở rộng được

Bao gồm nhiều tầng, mỗi tầng đều là các plug-in

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

Giới thiệu

Nền tảng phát triển hệ thống nhúng


Tổng quan về hệ thống ARMStudio

Eclipse và kiến trúc plug-in trong Eclipse

Kiến trúc vi xử lý ARM

Xây dựng hệ thống ARMStudio cho các vi xử lý họ ARM

Giới thiệu hệ thống

Các chức năng của hệ thống

Vi xử lý 32 bit, kiến trúc RISC

Kích thước nhỏ, tiêu thụ năng lượng ít

Hỗ trợ Debug tốt cho thiết kế hệ thống System on Chip

Gồm các vi xử lí: ARM7TDMI-S, ARM7TDMI, ARM7EJ-S

Lĩnh vực ứng dụng

Công nghiệp
: đồng hồ năng lượng, bộ ngắt mạch, UPS, tự động
hóa nhà máy.

Đầu đọc thẻ, máy ATM, máy tính tiền, máy bán hàng

Tiêu dùng

: đồ chơi điện tử, thiết bị cầm tay, GPS, MP3 Player,
máy thu phát cầm tay

Nhúng
: USB controllers, HDD controllers, Bluetooth controllers,
Networking/WiFi , máy quét y khoa

Vi xử lý 32 bit, kiến trúc ARMv5TE

ARM9 đem đến thị trường chip giá trẻ và giảm bớt sự
phức tạp, tiết kiệm năng lượng.

Gồm các vi xử lý: ARM968E-S, ARM946E-S, ARM926E-S.

Lĩnh vực ứng dụng:

Tiêu dùng
: Smartphones, PDA, Set top box, đồ chơi điện tử, máy quay
phim kĩ thuật số.

Mạng
: Wireless LAN, 802.11, Bluetooth, SCSI, 2.5G/3G, Baseband

Xe hơi :
Power train, ABS, Body systems, Navigation, Infotainment.

Nhúng
: USB controllers, Bluetooth controllers, máy quét y khoa

Lưu trữ :

HDD controllers, ổ cứng trạng thái rắn (solid state drive)

Giới thiệu

Nền tảng phát triển hệ thống nhúng

Tổng quan về hệ thống ARMStudio

Eclipse và kiến trúc plug-in trong Eclipse

Kiến trúc vi xử lý ARM

Xây dựng hệ thống ARMStudio cho các vi xử lý họ ARM

Giới thiệu hệ thống

Các chức năng của hệ thống

ARMStudio là môi trường phát triển tích hợp (IDE) hỗ trợ
phát triển các chương trình C/C++ chạy trên chip họ
ARM7, ARM9

Mã nguồn mở và hoàn toàn miễn phí cho cộng đồng

ARMStudio được xây dựng trên cơ sở kế thừa và cải tiến
các chức năng đã có ở hệ thống ARMStudio cũ, đồng thời
phát triển thêm các chức năng mới để hoàn thiện hệ
thống

Hệ thống ARMStudio gồm 3 phần chính: phần biên dịch,

phần giao diện và trình gỡ lỗi

Hệ thống giao diện cải tiến

Hệ thống gỡ lỗi

Hệ thống ARMStudio chạy trên Linux

Hỗ trợ đa ngôn ngữ

Hệ thống ARMStudio sử dụng bộ cài đặt GNUARM Toolchain

GNUARM Toolchain gồm: GNU binutils, GCC, Debugger (Insight cho
Window và Linux, GDB cho MacOS), Newlib

Toolchain là một chuỗi các tool được kết nối với nhau theo thứ tự
và output của tool này có thể là input của tool khác

Ví dụ: trình biên dịch nhận các tập tin nguồn C++ (*.cpp), biên
dịch thành các tập tin object (*.obj) và tất cả tập tin object là
input của trình liên kết để tạo ra tập tin thực thi (*.exe).

Hệ thống quản lý biên dịch của CDT được thiết kế có thể mở rộng
để người dùng có thể định nghĩa các bộ biên dịch bằng cách kết
hợp tool, định nghĩa các cấu hình, projectType…

Dựa vào các tool của bộ cài đặt GNUARM, ARMStudio xây dựng 2
bộ cấu hình Toolchain:

“Windows GNUARM” cho ARMStudio chạy trên nền Window


“Linux GNUARM” cho ARMStudio chạy trên nền Linux

×