Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 79 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
79
Dung lượng
0,99 MB
Nội dung
CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH Cán hướng dẫn khoa học: TS Lê Ngọc Minh Cán chấm nhận xét 1: TS Thoại Nam Các chấm nhận xét 2: TS Trần Viết Huân Luận văn thạc sĩ bảo vệ HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày 24 tháng 07 năm 2006 LỜI CẢM ƠN Trước tiên, xin chân thành cảm ơn TS Lê Ngọc Minh nhiệt tình hướng dẫn định hướng để tơi hồn thành luận văn Cảm ơn Ba, Mẹ ln động viên tinh thần khuyến khích tơi hồn thành tốt luận văn Xin chân thành cảm ơn bạn Nguyễn Thanh Hiên Nguyễn Anh Kiệt cho ý kiến quý báu đề tài Xin cám ơn bạn Hồ Văn Trọng Hà Thủy Tú, kiến thức kinh nghiệm bạn giúp nhiều Cuối cùng, xin cảm ơn Thu Hiền, em động viên, khuyến khích góp ý cho nhiều việc thực đề tài Luận Văn Thạc Sĩ TÓM TẮT Ngày nay, hệ thống nhúng có mặt khắp nơi Thật ra, gặp nhiều hệ thống nhúng sống ngày mà khơng nhận Chúng xuất nhiều hình dạng kích thuớc, từ thiết bị điều khiển từ xa máy tính xe Những thiết bị q thơng dụng hồn tồn khơng thể nhận giao tiếp với máy tính Nếu so với PC (Personal Computer), vai trị hệ điều hành hệ thống nhúng không tầm quan Những hệ điều hành cho phép đưa tính thường thấy thiết bị lớn vào vật dụng phổ biến đầu máy video (Video Cassette Recorder - VCR) với chi phí thấp Chính điều tạo nên tính chất hấp dẫn thiết bị nhúng, đa dạng kích thước vật lý lẫn sức mạnh tính tốn Hiện thị trường có nhiều hệ điều hành cho thiết bị nhúng số uClinux Tuy nhiên, nay, công cụ hỗ trợ việc phát triển ứng dụng cho uClinux hạn chế, việc phát triển ứng dụng cho uClinux thực console công cụ không chuyên biệt Điều khiến cho việc phát triển ứng dụng cho uClinux trở nên khó khăn Do đó, mục tiêu đề tài thực công cụ phát triển ứng dụng có giao diện đồ họa cho uClinux i Luận Văn Thạc Sĩ ABSTRACT Embedded systems are everywhere In fact, you touch more embedded systems in your everyday life than you probably realize They come in many shapes and sizes, from the TV remote control to the “engine computer” in your car These devices are in fact so prevalent that you not even realize that you are interacting with a computer at all Like PC, the role of operating system in embedded system is not less important The operating systems help embedded systems have their power There are many operating systems for embedded systems and uClinux is just one of them However, now, the tools supporting for developing applications for uClinux are not good A generic text editor and command line shell are the common tools used by the majority of uClinux developers So, the target of this thesis is developing a supporting tool for developing uClinux applications ii Luận Văn Thạc Sĩ MỤC LỤC GIỚI THIỆU 1.1 Tổng quan 1.2 Cấu trúc luận văn 10 MAKEFILE & NGƠN NGỮ CẤU HÌNH 12 2.1 Makefile 12 2.1.1 Nội dung Makefile 12 2.1.2 Những Rule Target Makefile 13 2.1.3 Phony Target 14 2.2 Ngơn ngữ cấu hình 15 2.2.1 Quy ước ngơn ngữ cấu hình 16 2.2.2 Những phát biểu (statements) có ngơn ngữ config 16 PHÁT TRIỂN ỨNG DỤNG CHO UCLINUX 19 3.1 Cấu trúc thư mục uClinux-dist 19 3.2 Những target top Makefile 20 3.3 Target config 21 3.4 Target dep 23 3.5 Target all 23 3.5.1 Target subdirs 24 3.5.1.1 Target linux 25 3.5.1.2 Target subdirs 26 3.5.2 Target romfs 27 iii Luận Văn Thạc Sĩ 3.5.3 Target modules 28 3.5.4 Target modules_install 29 3.5.5 Target image 30 ECLIPSE 31 4.1 Giới thiệu 31 4.2 Những khái niệm 32 4.2.1 Workbench 32 4.2.2 Resources 32 4.2.3 Editor 33 4.2.4 View 33 4.2.5 Wizard 33 4.2.6 Perspective 33 4.3 Kiến trúc Eclipse Platform 34 4.3.1 Platform Runtime 35 4.3.2 Workspace 35 4.3.3 Workbench 36 4.3.4 Team support 37 4.3.5 Help 37 4.4 Eclipse plug-in 37 4.4.1 Tổng quan Eclipse plug-in 37 4.4.1.1 Dependency 39 4.4.1.2 Extension 40 4.4.2 Extension point 40 CÁC CÔNG CỤ LIÊN QUAN 43 5.1 YETI 43 5.1.1 Giới thiệu 43 iv Luận Văn Thạc Sĩ 5.1.2 TinyOS nesC 43 5.1.3 YETI 44 5.1.3.1 Plug-in System 44 5.1.3.2 TinyOS Environment Wrapper 46 5.2 Sử dụng Eclipse IDE cho uClinux 46 5.2.1 Ưu điểm phương pháp 46 5.2.2 Khuyết điểm 47 PHƯƠNG HƯỚNG GIẢI QUYẾT VẤN ĐỀ 48 6.1 Chức cấu hình 49 6.1.1 Thể câu hỏi 49 6.1.2 Thể câu trả lời 50 6.1.3 Sự phụ thuộc câu hỏi 51 6.2 Chức tạo dependency 53 6.3 Chức tạo file image 53 6.4 Chức tạo project 54 6.4.1 Tạo project file header 54 6.4.2 Tạo file source code 54 6.5 Editor 55 6.6 Chức hỗ trợ khác 55 HIỆN THỰC 56 7.1 Kiến trúc uClinux plug-in 56 7.2 Usecase diagram 58 7.3 Class diagram 59 7.3.1 Package uClinux 59 7.3.2 Package uClinux.utilities 61 7.3.3 Package uClinux.model.configuration 62 v Luận Văn Thạc Sĩ 7.3.4 Package uClinux.action 63 7.3.5 Package uClinux.ui.dialog 63 7.3.6 Package uClinux.ui.preferences 64 7.3.7 Package uClinux.ui.perspectives 64 7.3.8 Package uClinux.ui.wizards 65 KẾT LUẬN VÀ PHƯƠNG HƯỚNG MỞ RỘNG 66 8.1 Kết luận 66 8.2 Những hạn chế đề tài 68 8.3 Phương hướng mở rộng 69 TÀI LIỆU THAM KHẢO 71 PHỤ LỤC 75 A uClinux 75 B Motorola DragonBall VZ328 75 C Toolchain 76 vi Luận Văn Thạc Sĩ DANH MỤC HÌNH Hình 1.1: Cấu hình cho uClinux Hình 3.1: Sơ đồ mơ tả quy trình build ứng dụng uClinux .19 Hình 3.2: Sơ đồ mơ tả q trình cấu hình uClinux 22 Hình 3.3: Sơ đồ hoạt động target dep .23 Hình 3.4: Trình tự thục thi target all 24 Hình 3.5: Sơ đồ hoạt động target linux 25 Hình 3.6: Sơ đồ hoạt động target subdirs 26 Hình 3.7: Sơ đồ hoạt động target romfs .27 Hình 3.8: Sơ đồ hoạt động target modules .28 Hình 3.9: Sơ đồ hoạt động target modules_install .29 Hình 3.10: Sơ đồ hoạt động target image 30 Hình 4.1: Hình ảnh minh họa khái niệm Eclipse 34 Hình 4.2: Kiến trúc Eclipse platform 35 Hình 4.3: Sự mở rộng workbench UI plug-in help workbench thông qua actionSets extension point 42 Hình 5.1: Outline 44 Hình 5.2: Đồ thị ứng dụng TinyOS hai mức độ chi tiết 45 Hình 7.1: Sơ đồ kiến trúc uClinux plug-in .56 Hình 7.2: Usecase diagram .59 Hình 7.3: Class diagram package uClinux 60 Hình 7.4: Class diagram package uClinux.utilities 61 Hình 7.5: Class diagram package uClinux.model.configuration .62 Hình 7.6: Class diagram package uClinux.action 63 Hình 7.7: Class diagram package uClinux.ui.dialog 63 Hình 7.8: Class diagram package uClinux.ui.preferences 64 Hình 7.9: Class diagram package uClinux.ui.perspectives 64 Hình 7.10: Class diagram package uClinux.ui.wizards .65 Hình 8.1: Giao diện chương trình 66 Hình 8.2: Wizard cho tác vụ “make config” 67 Hình 8.3: Wizard tạo project .68 vii Luận Văn Thạc Sĩ CHƯƠNG GIỚI THIỆU 1.1 Tổng quan Đối với hệ điều hành Windows hay Linux, việc tiến hành viết chương trình chạy hệ điều hành tương đối thuận tiện có cơng cụ phát triển có giao diện đồ họa như: Visual Studio cho Windows hay KDevelop cho Linux Những công cụ cung cấp cho chức soạn thảo, biên dịch, debug môi trường đồ họa dễ sử dụng, thân thiện Tuy nhiên, uClinux, việc tiến hành viết chương trình lại khơng dễ dàng Chúng ta nhìn lại cách thức phát triển ứng dụng Java thời kỳ ban đầu, chưa có IDE (Intergrated Development Environment) hỗ trợ Khi đó, để phát triển ứng dụng Java, ta phải: - Sử dụng chương trình soạn thảo văn để viết chương trình - Sử dụng lệnh javac để compile chương trình - Sử dụng lệnh java để thực thi chương trình Bây giờ, ta phân tích quy trình phát triển ứng dụng cho uClinux, việc phát triển ứng dụng cho uClinux phải trải qua bước sau: - Viết chương trình: Bước thực cách sử dụng chương trình soạn thảo vi, emacs, … - Thêm chương trình vừa viết vào hệ thống ứng dụng uClinux.1 - Tiến hành cấu hình cho uClinux Ở bước này, người sử dụng cung cấp thông tin cho uClinux cách trả lời câu hỏi Như mơ tả hình 1.1 - Tiến hành tạo dependency, chuẩn bị cho việc build kernel bước sau - Tiến hành build kernel, compile ứng dụng Cuối tạo file image để chuẩn bị cho việc download vào target bước sau Xin tham khảo thêm phần [1] Luận Văn Thạc Sĩ 63 7.3.4 Package uClinux.action Những class package chịu trách nhiệm xử lý action mà người sử dụng tạo ra, ConfigAction, ImageAction, … cd action ActionDelegate IWorkbenchWindowActionDelegate IRunnableWithProgress DependencyAction - window: IWorkbenchWindow action: IAction + + + init(IWorkbenchWindow) : void run(IAction) : void run(IProgressMonitor) : void ActionDelegate IWorkbenchWindowActionDelegate ConfigAction - window: IWorkbenchWindow action: IAction + + run(IAction) : void init(IWorkbenchWindow) : void ActionDelegate IWorkbenchWindowActionDelegate IRunnableWithProgress ImageAction - window: IWorkbenchWindow + + + init(IWorkbenchWindow) : void run(IAction) : void run(IProgressMonitor) : void Hình 7.6: Class diagram package uClinux.action 7.3.5 Package uClinux.ui.dialog Các class thể dialog xuất plug-in cd dialog Dialog FocusListener SelectionListener IRunnableWithProgress ConfigDialog - optionList: List controlList: List directory: String okButton: Button makefile: Makefile maxlevel: byte + # # # + + + + + ConfigDialog(Shell, List, String, Makefile) createDialogArea(Composite) : Control createButtonsForButtonBar(Composite) : void okPressed() : void focusGained(FocusEvent) : void focusLost(FocusEvent) : void widgetSelected(SelectionEvent) : void widgetDefaultSelected(SelectionEvent) : void canOK() : boolean run(IProgressMonitor) : void Hình 7.7: Class diagram package uClinux.ui.dialog Luận Văn Thạc Sĩ 64 7.3.6 Package uClinux.ui.preferences Trang Preference plug-in thể class package cd preferences PreferencePage IWorkbenchPreferencePage DirectoryPreferencePage - directoryText: Text # + # + createContents(Composite) : Control init(IWorkbench) : void performDefaults() : void performOk() : boolean Hình 7.8: Class diagram package uClinux.ui.preferences 7.3.7 Package uClinux.ui.perspectives Perspective hệ thống thể class uClinuxPerspective package uClinux.ui.perspectives cd perspectiv es IPerspectiveFactory uClinuxPerspectiv e + + + + uClinuxPerspective() createInitialLayout(IPageLayout) : void defineActions(IPageLayout) : void defineLayout(IPageLayout) : void Hình 7.9: Class diagram package uClinux.ui.perspectives Luận Văn Thạc Sĩ 7.3.8 65 Package uClinux.ui.wizards Các wizard có package quản lý class có package cd w izards Wizard INewWizard WizardPage New Proj ectWizardPage New Proj ectWizard - wizardPage: NewProjectWizardPage + + + # - init(IWorkbench, IStructuredSelection) : void addPages() : void performFinish() : boolean createProject(IProgressMonitor) : void createMakefile() : void -wizardPage + + + + Wizard INewWizard page: NewFileWizardPage selection: ISelection + + + + - NewFileWizard() addPages() : void performFinish() : boolean doFinish(String, String, IProgressMonitor) : void openContentStream() : InputStream throwCoreException(String) : void init(IWorkbench, IStructuredSelection) : void createMakefile(String, String) : void NewProjectWizardPage(String) createControl(Composite) : void dialogChanged() : void updateStatus(String) : void getProjectName() : String getLocation() : String WizardPage New FileWizardPage New FileWizard - projectNameText: Text locationText: Text -page - containerText: Text executiveCombo: Combo fileText: Text selection: ISelection + + + + + NewFileWizardPage(ISelection) createControl(Composite) : void initialize() : void handleBrowse() : void dialogChanged() : void updateStatus(String) : void getContainerName() : String getFileName() : String getExecutive() : String Wizard IRunnableWithProgress WizardPage FocusListener SelectionListener ConfigurationWizard - wizardName: String wizardPageList: List optionList: List pageNum: int fileName: String PAGE_SIZE: int = 30 selection: ISelection + + + + + ConfigurationWizard(List, String, String) ConfigurationWizard() addPages() : void performFinish() : boolean doFinish(IProgressMonitor, String) : void run(IProgressMonitor) : void ConfigurationWizardPage 1 * ~ ~ ~ optionList: List selection: ISelection controlList: List # + + + + + + + + ConfigurationWizardPage(String, List, ISelection) createControl(Composite) : void getOptionList() : List setOptionList(List) : void getControlList() : List focusGained(FocusEvent) : void focusLost(FocusEvent) : void widgetSelected(SelectionEvent) : void widgetDefaultSelected(SelectionEvent) : void Hình 7.10: Class diagram package uClinux.ui.wizards Luận Văn Thạc Sĩ 66 CHƯƠNG KẾT LUẬN VÀ PHƯƠNG HƯỚNG MỞ RỘNG 8.1 Kết luận Đề tài thực mơi trường hỗ trợ tích hợp có giao diện đồ họa hỗ trợ việc phát triển ứng dụng uClinux: - Editor hỗ trợ syntax coloring Hình 8.1: Giao diện chương trình Luận Văn Thạc Sĩ - 67 Hiện thực việc config, tạo dependency, tạo file image giao diện đồ họa Hình 8.2: Wizard cho tác vụ “make config” Luận Văn Thạc Sĩ - 68 Hiện thực việc tạo project, file source, file header wizard Hình 8.3: Wizard tạo project 8.2 Những hạn chế đề tài Hiện nay, tác vụ tạo dependency, compile tạo file image phụ thuộc vào Makefile có sẵn uClinux Trong q trình thực tác vụ này, có lỗi xảy ra, là: Lỗi syntax, lỗi compile, … với thiết kế plug-in nay, việc thông báo lỗi cho người sử dụng khơng tiện lợi Cách thức trình bày câu hỏi wizard trình cấu hình uClinux khơng liên tục, rời rạc, khơng rõ ràng, khó hiểu, gây khó khăn cho người sử dụng Luận Văn Thạc Sĩ 69 Một đặc tính hay Eclipse chế marker1 decorator2 Nhờ tính chất mà editor JDT cung cấp cho thông tin lỗi syntax warning chương trình Java mà viết, file source code có lỗi project Tuy nhiên, plug-in mà đề tài thực không cung cấp hai chức Ngoài ra, chế content assistant mà editor CDT cung cấp chưa đưa vào đề tài Điều khiến cho q trình lập trình người sử dụng khơng tiện lợi 8.3 Phương hướng mở rộng Như trình bày chương 8, thấy chức mà đề tài thực, việc phát triển ứng dụng cho uClinux cịn có hai chức quan trọng khác Đó là: - Download file image lên target board - Debug chương trình Hiện nay, hai chức chưa thực đề tài Do đó, hướng phát triển đề tài bổ sung hai chức vào plug-in, nhằm tạo công cụ hỗ trợ việc phát triển ứng dụng đầy đủ cho người sử dụng Cải tiến cách thức trình bày câu hỏi wizard trình cấu hình uClinux Cách tốt theo trình tự xuất câu hỏi file config.in Tác vụ tạo dependency tạo file image nên thực trực tiếp plug-in Chúng ta tham khảo Makefile uClinux để thực hai chức này, khơng nên dựa hồn tồn vào Xin tham khảo [15] Xin tham khảo [27] Luận Văn Thạc Sĩ 70 Hiện nay, editor CDT cung cấp cho khả syntax coloring, nhiên, việc sử dụng editor CDT khiến cho người sử dụng phải cài đặt CDT cho Eclipse muốn sử dụng plug-in mà đề tài thực Do đó, nên thực editor riêng cho plug-in, editor hỗ trợ đầy đủ chức syntax coloring content assistant Chức decorator, marker cho plug-in nên đưa vào plug-in nhằm cung cấp hỗ trợ việc lập trình cho người sử dụng nhiều Luận Văn Thạc Sĩ 71 Tài liệu tham khảo [1] Adding User Applications to the uClinux Distribution, D P Siddons http://www.uclinux.org/pub/uClinux/ports/blackfin/docs/pdf-docs/Adding-UserApps-HOWTO.pdf [2] C/C++ Development Tools (CDT) http://www.eclipse.org/cdt/ [3] Config Language Specification, Michael Elizabeth Chastain http://kernel23.sourcesdb.com/r.php?num=6012 [4] Contributing Actions to the Eclipse Workbench, Simon Arsenault (OTI) http://www.eclipse.org/articles/Article-actioncontribution/Contributing%20Actions%20to%20the%20Eclipse%20Workbench html [5] Creating a text-based editor for Eclipse, Elwin Ho (HP) http://devresource.hp.com/drc/technical_white_papers/eclipeditor/index.jsp [6] Creating JFace Wizards, Doina Klinger (IBM, UK) http://www.eclipse.org/articles/Article-JFace%20Wizards/wizardArticle.html [7] CreatingEclipse plug-ins, Shashank Varshney (HP) http://devresource.hp.com/drc/technical_articles/ePlugIn/index.jsp [8] Developing Eclipse plug-ins, David Gallardo http://www-128.ibm.com/developerworks/opensource/library/os-ecplug/ [9] Developing JFace wizards, Jeff Gunther (Intalgent Technologies) http://www-128.ibm.com/developerworks/library/os-ecjfw/ Luận Văn Thạc Sĩ 72 [10] Eclipse Platform Technical Overview, Object Technology International, Inc http://www.eclipse.org/whitepapers/eclipse-overview.pdf [11]Editors http://help.eclipse.org/help31/topic/org.eclipse.platform.doc.isv/guide/editors.htm [12] GNU Make, A Program for Directing Recompilation, Richard M Stallman and Roland McGrath http://www.cs.utah.edu/dept/old/texinfo/make/make_toc.html [13] How to load a new image into uCdimm, Uwe Beutin http://www.ucdot.org/article.pl?sid=02/10/03/2357224&mode=thread [14] How You’ve Changed, John Arthorne (OTI) http://www.eclipse.org/articles/Article-Resource-deltas/resource-deltas.html [15] Mark My Word, Dejan Glozic (IBM) , Jeff Mc Affer (OTI) http://www.eclipse.org/articles/Article-Mark%20My%20Words/mark-mywords.html [16] nesC 1.1 Language Reference Manual, David Gay, Philip Levis, David Culler, Eric Brewer http://nescc.sourceforge.net/papers/nescref.pdf#search=%22nesC%20Reference%20Manual%22 [17] nesC: A Programming Language for Deeply Networked Systems, Eric Brewer, David Culler, David Gay, Phil Levis, Rob von Behren, Matt Welsh http://nescc.sourceforge.net/ Luận Văn Thạc Sĩ 73 [18] Notes on the Eclipse Plug-in Architecture, AzadBolour (Bolour Computing) http://www.eclipse.org/articles/Article-Plug-in architecture/plugin_architecture.html [19] Official Eclipse FAQs, John Arthorne and Chris Laffra http://wiki.eclipse.org/index.php/Eclipse_FAQs [20] PHP IDE Project, http://www.eclipse.org/php/ [21] Preferences in the Eclipse Workbench UI, Tod Creasey (OTI) http://www.eclipse.org/articles/Article-Preferences/preferences.htm [22] Project Builders and Natures, John Arthorne (IBM OTI Labs) http://www.eclipse.org/articles/Article-Builders/builders.html [23] SWT Programming with Eclipse, Koray Guclu http://www.developer.com/java/other/article.php/3330 [24] The JFace of Eclispe, Peter Nehrer http://www.developer.com/java/other/article.php/3565006 [25] The nesC Language: A Holistic Approach to Networked Embedded Systems, David Gay, Philip Levis, Robert von Behren, Matt Welsh, Eric Brewer, David Culler http://csl.stanford.edu/~pal/pubs/nescpldi03.pdf#search=%22nesC%20Reference%20Manual%22 [26] TinyOS Plugin for Eclipse, http://www.dcg.ethz.ch/~rschuler/ Luận Văn Thạc Sĩ 74 [27] Understanding Decorators in Eclipse, Balaji Krish-Sampath (IBM) http://www.eclipse.org/articles/Article-Decorators/decorators.html [28] Understanding Layouts in SWT, Carolyn MacLeod (OTI) http://www.eclipse.org/articles/Article-Understanding-Layouts/UnderstandingLayouts.htm [29] Using Perspectives in Eclipse UI, Dave Springgay (OTI) http://www.eclipse.org/articles/using-perspectives/PerspectiveArticle.html [30] using_eclipse, http://docs.blackfin.uclinux.org/doku.php?id=using_eclipse [31] YETI: A TinyOS Plug-in for Eclipse, Nicolas Burri, Roland Schuler, Roger Wattenhofer http://dcg.ethz.ch/publications/realwsn2006.pdf [32] Your First Plug-In, Jim Amsden and Andrew Irvine (OTI) http://www.eclipse.org/articles/Article-Your%20First%20Plugin/YourFirstPlugin.html Luận Văn Thạc Sĩ 75 PHỤ LỤC A uClinux Gần đây, nhà phát triển phần mềm ngày quan tâm đến chức Linux hay hệ điều hành tương tự UNIX Tuy nhiên, uClinux xuất nhà phát triển cho hệ thống nhúng nhỏ, truyền thống, thường dựa nhũng vi xử lý thiếu Đơn Vị Quản Lý Bộ Nhớ (Memory Management Unit – MMU) tận dụng Linux thiết kế họ uClinux biến thể Linux, hoạt động kiến trúc vi xử lý thiếu MMU (MMUless) UClinux hình thành nhờ cơng Jeff Dionne, Kenneth Albanowski sau Michael Durant,tại công ty Rt-Control, Toronto, Canada Phiên uClinux phổ biến xử lý 68000 Motorola Ban đầu, uClinux tạo cho nhân Linux (Linux kernel) phiên 2.0.33 vào năm 1997 đưa thị trường vào tháng năm 1998 Với nhân 2.0.34, uClinux tiến bước dài Nó đưa ưu điểm mạng ưu điểm khác Linux, với hỗ trợ xuất sắc trình điều khiển thiết bị (device driver) với thay đổi mà bên nhân để xử lý hạn chế xử lý thiếu MMU Hiện nay, phiên uClinux 2.6 phát hành B Motorola DragonBall VZ328 MC68VZ328 xây dựng dựa thành công xử lý Dragonball trước tính chất vi xử lý 68000 Vì vậy, Dragonball VZ cung cấp cho nhà thiết kế hệ thống hiệu suất cao hơn, khả Luận Văn Thạc Sĩ 76 hoạt động với tốc độ cao lại tiêu thụ lượng Dragonball VZ xử lý tích hợp mà chọn cho vài thiết kế PDA phổ biến sử dụng nhiều ứng dụng khác ứng dụng như: Hệ thống hàng hải, điện thoại thơng minh, trị chơi, … Tất đặc tính kết hợp lại khiến cho vi xử lý MC68VZ328 hấp dẫn nhiều nhà thiết kế hệ thống Để cải thiện toàn suất hệ thống giảm kích thước board, chi phí sản xuất, MC68VZ328 kết hợp xử lý FLX68000 với module ngoại vi C Toolchain Một tập hợp chương trình hỗ trợ cho việc phát triển ứng dụng hệ thống nhúng Toolchain cho uClinux bao gồm: binutils, gcc uClibc - gcc: GNU Compiler Collection, bao gồm compiler cho C, C++, Fortran, thư viện cho ngôn ngữ - binutils: Tập hợp binary tool Những tool là: ld: GNU linker as: GNU assembler Ngoài tool khác như: addr2line, ar, c++filt, gprof, nm, … - uClibc: Là thư viện C cho việc phát triển hệ thống Linux nhúng (embedded Linux system) Nó nhỏ nhiều so với GNU C Library, tất ứng dụng hỗ trợ glibc hoạt động tốt với uClibc Việc chuyển ứng dụng từ việc sử dụng glibc sang uClibc đơn giản việc biên dịch lại mã nguồn uClibc hoạt động Linux chuẩn hệ thống MMU-less TĨM TẮT LÝ LỊCH TRÍCH NGANG Họ tên: Cao Quang Vũ Ngày, tháng, năm sinh: 19/08/1979 Nơi sinh: Tp Hồ Chí Minh Địa liên lạc: 44 Lê Thị Bạch Cát P13, Q11, Tp Hồ Chí Minh QUÁ TRÌNH ĐÀO TẠO 1997-2002: Học đại học Khoa CNTT, Đại Học Bách Khoa TP Hồ Chí Minh 2003-2006: Học cao học Đại Học Bách Khoa TP Hồ Chí Minh Q TRÌNH CƠNG TÁC 2002 - 2004: Làm việc Viện Cơ Học Ứng Dụng 2004 - 2006: Làm việc công ty Trách Nhiệm Hữu Hạn Kỹ Thuật Fusione Technologies Solutions Vietnam ... phát triển ứng dụng cho uClinux chưa có IDE, cơng cụ hỗ trợ hiệu cho cơng vi? ??c mình., cơng cụ tích hợp cung cấp tất chức cần thiết vi? ??c phát triển ứng dụng với uClinux đồng thời hỗ trợ giao diện. .. giao diện đồ họa cho người sử dụng Để giúp giải phần khó khăn mà người làm vi? ??c với uClinux gặp phải, đề tài thực cơng cụ có giao diện đồ họa hỗ trợ cho vi? ??c phát triển ứng dụng cho uClinux Tuy... không chuyên biệt Điều khiến cho vi? ??c phát triển ứng dụng cho uClinux trở nên khó khăn Do đó, mục tiêu đề tài thực công cụ phát triển ứng dụng có giao diện đồ họa cho uClinux i Luận Văn Thạc Sĩ ABSTRACT