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

báo cáo tốt nghiệp hệ điều hành nhúng uclinux

56 405 0

Đ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

Định dạng
Số trang 56
Dung lượng 2,42 MB

Nội dung

TRƯỜNG ………………… KHOA……………………… [\[\ BÁO CÁO TỐT NGHIỆP Đề tài: Hệ điều hành nhúng uClinux Mục lục Mở đầu 1 Phần A : Lý thuyết chung 2 Chương 1 . Hệ điều hành nhúng uClinux 2 1.1. Nhân hệ điều hành Linux 2 1.1.1. Lịch sử nhân hệ điều hành Linux 2 1.1.2. Tổ chức của nhân hệ điều hành Linux 3 1.1.3. Tổ chức thư mục 5 1.2. Hệ điều hành nhúng uClinux 7 1.2.1. Quá trình phát triển hệ điều hành nhúng uClinux 7 1.2.2. Kiến trúc hệ điều hành uClinux 8 1.2.3. Các thư viện sử dụng để phát triển hệ điều hành uClinux 9 1.2.4. Driver của các ngoại vi 9 1.2.5. Mã nguồn hệ điều hành uClinux 10 Chương 2 . Vi điều khiển S3C44B0X và kit phát triển 12 2.1. Vi điều khiển S3C44B0X 12 2.1.1. Các đặc điểm của vi điều S3C44B0X 12 2.1.2. Sơ đồ chân 16 2.1.3. Sơ đồ khối 17 2.1.4. Chức năng một số khối chính 18 2.2. Kit phát triển HT44B0 33 Phần B : Thực nghiệm 36 Chương 3 . Biên dịch mã nguồn uClinux và xây dựng ứng dụng 36 3.1. Biên dịch mã nguồn hệ điều hành uClinux 36 3.1.1. Môi trường và các công cụ cần để biên dịch 36 3.1.2. Lưu đồ quá trình biên dịch và các bước tiến hành 36 3.2. Nhúng hệ điều hành vào vi điều khiển 42 3.2.1. Thiết lập giao tiếp giữa kit và máy tính 42 3.2.1. Đưa file ảnh hệ điều hành vào vi điều khiển 44 3.3. Xây dựng ứng dụng 49 Kết luận 53 Các tài liệu tham khảo 54 ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp Lương Thế Oanh 1 Mở đầu Trong những thập niên gần đây hệ thống nhúng được nghiên cứu mạnh mẽ và đã có rất nhiều ứng dụng trong thực tế . Các sản phẩm ứng dụng hệ thống nhúng rất đa dạng từ hệ thống dẫn đường trong tên lửa , các robot thông mình đến các sản phẩm tiêu dùng như máy giặt , máy in , các thiết bị giải trí như điện thoại , máy nghe nhạc Hệ thống nhúng phát triển dựa trên sự phát triển phần cứng và phần mềm . Phần cứng phải mạnh , đầy đủ tính năng cho hệ thống còn phần mềm phải được phát triển khai thác được tài nguyên phần cứng đồng thời phải đáp ứng được các đặc tính của hệ thống nhúng là tính thời gian thực , điều khiển chính xác , ổn định . Ứng dụng hệ điều hành mã nguồn mở uClinux cho các hệ thống nhúng dùng vi điều khiển có nhân vi xử lý 32 bit đã giúp cho quá trình phát triển phần mềm cho hệ thống nhanh hơn chi phí thấp hơn và khai thác được sức mạnh của tài nguyên phần cứng . ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp Lương Thế Oanh 2 Phần A : Lý thuyết chung Chương 1 . Hệ điều hành nhúng uClinux 1.1. Nhân hệ điều hành Linux 1.1.1. Lịch sử nhân hệ điều hành Linux Linux là một nhân hệ điều hành được phát triển bởi Linus Torvalds vào năm 1991 trên cơ sở cải tiến phiên bản UNIX có tên Minix do giáo sư Andrew S.Tanenbaum xây dựng và phổ biến . Sau đó Linus Torvalds đã công bố mã nguồn của mình cho mọi người và mong muốn mọi người có thể đóng góp ý kiến , phát hiện lỗi và phát triển nó ngày càng tốt hơn . Và cũng từ thời điểm đó , theo tư tưởng GNU rất nhiều chuyên gia trên toàn thế giới đã tham gia vào quá trình phát triển Linux và vì vậy Linux ngày càng phát triển , mạnh mẽ , ổn định , có độ tin cậy cao và đáp ứng được nhu cầu của người dùng . Một số mốc lịch sử quan trọng trong quá trình phát triển nhân hệ điều hành Linux : Sau ba năm nhân Linux ra đời , đến ngày 14-3-1994, hệ điều hành Linux phiên bản 1.0 được phổ biến . Thành công lớn nhất của Linux 1.0 là nó đã hỗ trợ giao thức mạng TCP/IP chuẩn UNIX , sánh với giao thức socket BSD- tương thích cho lập trình mạng . Trình điều khiển thiết bị đã được bổ sung để chạy IP trên một mạng Ethernet hoặc trên tuyến đơn hoặc qua modem. Hệ thống file trong Linux 1.0 đã vượt xa hệ thống file của Minix thông thường , ngoài ra đã hỗ trợ điều khiển SCSI truy nhập đĩa tốc độ cao. Điều khiển bộ nhớ ảo đã được mở rộng để hỗ trợ điều khiển trang cho các file swap và ánh xạ bộ nhớ của file đặc quyền . Vào tháng 3-1995 , nhân 1.2 được phổ biến. Điều đáng kể của Linux 1.2 so với Linux 1.0 ở chỗ nó hỗ trợ một phạm vi rộng và phong phú phần cứng , bao gồm cả kiến trúc tuyến phần cứng PCI mới . Nhân Linux 1.2 là nhân kết thúc dòng nhân Linux chỉ hỗ trợ PC . Cách đánh chỉ số các dòng nhân (hệ điều hành) Linux : Hệ thống chỉ số được chia thành một số mức, chẳng hạn hai mức như 2.4 hoặc ba mức như 2.2.5. Trong cách đánh chỉ số như vậy , quy ước rằng với các chỉ số từ mức thứ hai trở đi , nếu là số chẵn ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp Lương Thế Oanh 3 thì dòng nhân đó đã khá ổn định và tương đối hoàn thiện , còn nếu là số lẻ thì dòng nhân đó vẫn đang được phát triển tiếp . Tháng 6-1996 , nhân Linux 2.0 được phổ biến . Có hai đặc trưng nổi bật của Linux 2.0 là hỗ trợ kiến trúc phức hợp , bao gồm cả cổng Alpha 64-bit đầy đủ , và hỗ trợ kiến trúc đa bộ xử lý . Phân phối nhân Linux 2.0 cũng thi hành được trên bộ xử lý Motorola 68000 và kiến trúc SPARC của SUN . Tới năm 2000 , nhân Linux 2.4 được phổ biến . Một trong đặc điểm được quan tâm của nhân này là nó hỗ trợ mã ký tự Unicode 32 bít , rất thuận lợi cho việc xây dựng các giải pháp toàn diện và triệt để đối với vấn đề ngôn ngữ tự nhiên trên phạm vi toàn thế giới . Nhân Linux là phần mềm tự do được phân phối theo Giấy phép sở hữu công cộng phần mềm GNU GPL ( General Public License ) . Vật lấy phước của nhân Linux là chú chim cánh cụt - Tux . Hình 1: Linus Torvalds và vật lấy phước chú chim cánh cụt 1.1.2. Tổ chức của nhân hệ điều hành Linux Nhân được ví như trái tim của hệ điều hành . Về bản chất nhân cũng là một chương trình phần mềm máy tính nhưng ở cấp độ hệ thống có vai trò điều khiển các thành phần của hệ thống máy tính , quản lý tài nguyên của hệ thống , cung cấp một số dịch vụ và phần mềm cơ bản cho máy tính , cung cấp môi trường thực thi có các ứng ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp Lương Thế Oanh 4 dụng khác nhau chạy trên hệ thống . Nhân chính là cầu nối giữa phần cứng vật lý của máy tính với và chương trình ứng dụng . Các dịch vụ của nhân được chạy trong chế độ đặc quyền của bộ xử lý . Trái lại , các chương trình ứng dụng được chạy trong chế độ người dùng hoàn toàn cách ly với hệ điều hành . Khi ứng dụng chạy trong chế độ người dùng gọi tới một dịch vụ hệ thống thông qua một giao diện , bộ xử lý chặn lại lời gọi và thi hành dịch vụ mức nhân hệ điều hành . Thông thường việc thi thực thi ở mức nhân đơn giản và nhanh hơn bởi vì nó không bị chuyển giữa chế độ đặc quyền và không đặc quyền . Nhân của Linux gồm năm tiểu hệ thống : - Bộ phân thời gian cho tiến trình ( Process Schedule – SCHED ) : Hoạt động của máy tính , tại một thời điểm chỉ có một lệnh được thực thi . Tuy nhiên các hệ điều hành đa nhiệm như Windows , Linux … đều cho phép nhiều chương trình chạy cùng một lúc . Các hệ điều hành đa nhiệm có thể làm được như vậy bằng cách chuyển quyền thực thi qua lại giữa các chương trình thật nhanh làm cho người dùng có cảm giác các chương trình chạy cùng lúc với nhau . Vi dụ người dùng có thể vừa soạn thảo văn bản vừa có thể nghe . Trong hệ điều hành đa nhiệm thì bộ phân thời gian tiến trình đảm nhiệm nhiệm vụ này . SCHED được chia thành bốn khối :  Khối luật định thời (scheduling policy): chịu trách nhiệm phân bố xem tiến trình ( process ) nào được quyền truy xuất CPU. Hệ thống hoạt động có thông suốt hay không nhờ vào bộ luật này, tránh trường hợp một tiến trình lợi dụng sơ hở của điều luật mà chiếm thời gian hệ thống quá nhiều làm các tiến trình khác bị đóng băng (freeze) .  Khối phụ thuộc kiến trúc ( architeture-specific ): khối này gồm các mã assembly phụ thuộc vào mỗi loại CPU dùng để tạm ngưng hoạt động của tiến trình .  Khối độc lập kiến trúc (architeture-independent): Khối gọi các hàm từ khối phụ thuộc kiến trúc và khối luật để chuyển giửa các tiến trình đồng thời nó còn gọi các hàm ở MM để thiết lập bộ nhớ ảo cho các tiến trình được hồi phục lại . Khối phụ thuộc kiến trúc sẽ khác nhau ở mỗi loại CPU (ỉ386, apha, v.v) nhưng khối độc lập kiến trúc thì không đổi . ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp Lương Thế Oanh 5  Khối hàm gọi hệ thống ( system call ) . Gồm các hàm mà người dùng có thể dùng để tương tác với SCHED. Khi lập trình Linux và Unix sẽ quen với các hàm gọi hệ thống này. - Bộ quản lý bộ nhớ ( Memory Manager - MM) : Bộ nhớ qui ước của các máy tính chỉ có 640KB . Do BIOS chỉ quản lý được tới FFFF , vùng nhớ cao từ A0000 trở lên dùng để ánh xạ BIOS , video card memory và các thiết bị ngoại vi khác , vùng nhớ còn lại tử 9FFFF trở xuống tương đương với 640KB. Trong chế độ bảo vệ ( protect mode ) của CPU 32 bit đưa ra khái niệm bộ nhở ảo ( Virtual Memory ) . Lúc này mỗi tiến trình được cấp tới 4GB bộ nhớ ảo . Nhưng nhân hệ điều hành sẽ tạo ra một bảng mô tả từng trang của bộ nhớ ảo với bộ nhớ vật lý . Bộ nhớ vật lý bây giờ bao gồm cả bộ nhớ RAM và vùng nhớ hoán vị trên đĩa cứng . - Hệ thống file ảo : Hệ thống này không chỉ cung cấp truy suất đến hệ thống file trên đĩa cứng mà còn tất cả các ngoại vi . Trong Linux tất cả các tập tin , thư mục và các thiết bị đều được coi như là file . Ví dụ như máy in , cổng nối tiếp , các ổ đĩa … đều được truy cập như là file . Linux cũng cung cấp các thuộc tính truy cập cho file và thư mục , các thuộc tính có thể được thiết lập như cho phép đọc , cho phép ghi , cho phép thực thi . Linux thiết lập chế độ bảo vệ đối với các file hệ thống và hạn chế quyền truy cập đối với các thiết bị . - Giao diện mạng ( Network Interface - NET) : Trong nhân Linux dựng sẵn giao thức TCP/UDP , IP và Ethernet . - Bộ truyền thong nội bộ (Inter-process communication IPC) : Một tiến trình trong Linux giao tiếp với các tiến trình khác và với nhân hệ điều hành thông qua một cơ chế được gọi là bộ truyền thông nội bộ - IPC . Nó cho phép các tiến trình gửi hoặc nhận các thông điệp từ một tiến trình khác , sử dụng chung vùng nhớ chia sẻ và đồng bộ với các tiến trình khác . 1.1.3. Tổ chức thư mục Các file trong hệ thống Linux được đặt theo một trật tự trong các thư mục . Có một thư mục chính trong đó chứa các thư mục con và các file . ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp Lương Thế Oanh 6 Thư mục ./bin : Chứa các file thực thi dạng nhị phân và các chương trình khởi dộng của hệ thống được . Thư mục ./boot : Thư mục này chứa file ảnh ( image file ) của nhân dùng cho quá trình khởi động . Thư mục ./dev : Thư mục này chứa các file thiết bị . Thư mục ./etc : Thư mục này chứa các file cấu hình toàn cục của hệ thống . Thư mục ./home : Thư mục này chứa các thư mục con đại diện cho mỗi người dùng khi đăng nhập . Đây là nơi làm việc thường xuyên của người dùng . Khi người quản trị tạo tài khoản cho một người dùng thì sẽ cấp cho người dùng một thư mục cùng tên với tài khoản người dùng nằm trong thư mục /home . Người dùng cho mọi quyền thao tác trên thư mục của mình và không ảnh hưởng đến người dùng khác . Thư mục ./lib : Thư mục này chứa các file thư viện .so hoặc .a . Các thư viện C và lien kết động cần cho chương trình chạy và cho toàn hệ thống . Thư mục ./lost+found : Khi chạy chương trình fsck , nếu tìm thấy một chuỗi dữ liệu nào thất lạc trên đĩa cứng và không lien quan đến các tập tin , Linux sẽ gom chúng lại và đặt trong thư mục này để nếu cần người dùng có thể đọc và giữ lại dữ liệu bị mất . Thư mục ./mnt : Thư mục này chứa các kết gán ( mount ) tạm thời đến các ổ đĩa hoặc thiết bị khác . Thư mục ./sbin : Thư mục này chứa các file thực thi của hệ thống dành cho người quản trị hệ thống . Thư mục ./tmp : thư mục này dùng để chứa các file tạm mà chương trình tạo ra lúc chạy . Các file này sẽ được hệ thống dọn dẹp khi các chương trình kết thúc . Thư mục ./usr : Thư mục này chứa nhiều thư mục con như /usr/bin , /usr/local … và đây cũng là một trong những thư mục con quan trọng của hệ thống , bên trong thư mục con này (/usr/local) cũng chứa đầy đủ các thư mục con tương tự ngoài thư mục gốc như sbin, lib, bin… Nếu nâng cấp hệ thống thì các chương trình người dùng cài đặt trong thư mục /usr/local vần giữ nguyên và không sợ các chương trình bị mất mát. Thư mục ./var : Thư mục này chứa các file biến thiên bất thường như các file dữ liệu đột nhiên tăng kích thước trong một thời gian ngắn sau đó lại giảm kích thước xuống còn rất nhỏ. Điển hình là các file dùng làm hàng đợi chứa dữ liệu cần đưa ra máy in hoặc các hàng đợi chứa thư điện tử . ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp Lương Thế Oanh 7 1.2. Hệ điều hành nhúng uClinux Hệ điều hành uClinux là một phiên bản hệ điều hành sử dụng nhân Linux được thiết kế cho các hệ thống nhúng sử dụng bộ vi điều khiển không có đơn vị quản lý bộ nhớ . Là một phiên bản hệ điều hành sử dụng nhân Linux nên uClinux có kiến trúc , cách thức hoạt động giống như hệ điều hành Linux chạy trên các PC , phương pháp phát triển ứng dụng cũng giống như phát triển trên môi trường hệ điều hành Linux . Do là một hệ điều hành mã nguồn mở nên các nhà phát triển có thể cấu hình hệ điều hành theo ý mình để tạo ra một hệ điều hành phù hợp với hệ thống cần phát triển . 1.2.1. Quá trình phát triển hệ điều hành nhúng uClinux Dự án hệ điều hành uClinux được bắt đầu phát triển từ năm 1997 , mục đích tạo ra hệ điều hành này là phát triển một phiên bản nhân hệ điều hành Linux 2.0 để nhúng vào các vi điều khiển . Nó được Jeff Dionne , Kenneth Albanowski và nhóm các nhà phát triển khác đặt vấn đề là khả năng nhúng Linux vào mạng vi điều khiển không có đơn vị quản lý bộ nhớ , khả năng truyền thông giữa mạng đó với các hệ thống truyền thông . Phiên bản phát hành đầu tiên của hệ điều hành này được phát hành cùng với vi xử lý Motorola 68000 , vi xử lý này dựa trên trên vi xử lý MC68328 DragonBall Intergrated Microprocessor nó được triển khai trong bộ điều khiển SCADA năm 1997/98 . Phiên bản này đã được cộng đồng nguồn mở phát triển và một phiên bản khác đã được sử dụng cho Palm Pilot vào tháng 2 năm 1998 . Trong hệ điều hành uClinux có một số thay đổi so với hệ điều hành Linux , thư viện uC-libc được thiết kế để thay cho thư viện libc và glibc trong hệ điều hành Linux . Một cải tiến khác đã được thực hiện bởi SnapGear là thêm một định dạng mới Binary Flat – bFLT . Hệ điều hành uClinux là một hệ điều hành đa nhiệm , các chương trình có thể chạy ở nhiều mức khác nhau của hệ thống . Hệ điều hành cho phép chạy nhiều chương trình cùng một lúc , cho phép chạy các ứng dụng đa luồng . Với việc nhúng hệ điều hành uClinux vào các vi điều khiển đã giúp cho các nhà phát triển tạo ra các ứng dụng dễ dàng vì phương pháp lập trình giống như trên môi trường hệ điều hành Linux . Hệ điều hành uClinux là một hệ điều hành thời gian thực , nhà phát triển có thể chạy các ứng dụng đa luồng trên môi trường hệ điều hành . Điều này là rất khó khi phát triển một ứng dụng đa luồng chạy trực tiếp trên vi điều khiển không có hệ điều hành . Nhiệm vụ chính khi phát triển hệ điều hành uClinux là cấu hình nhân hệ điều hành cho phù hợp với hệ thống cần phát triển , biên dịch nhân , phát triển các driver ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp Lương Thế Oanh 8 cho các ngoại vi và sau đó phát triển các ứng dụng cho hệ thống nhúng chạy trên môi trường hệ điều hành . 1.2.2. Kiến trúc hệ điều hành uClinux uClinux là một hệ điều hành dùng phổ biến cho các hệ thống nhúng Linux . Hệ điều hành này được dùng cho các vi điều khiển không có đơn vị quản lý bộ nhớ . Ngày nay nhân hệ điều hành này hỗ trợ cho rất nhiều loại nền tảng CPU khác nhau như ColdFire , Axis ETRAX , ARM , Atari 68k và rất nhiều loại khác nữa . Giống như Linux , uClinux cũng có hỗ trợ mạng giao thức TCP/IP và các giao thức giao tiếp mạng khác . Nó cũng hỗ trợ các hệ thống file khác nhau và thêm vào một số dạng file đặc biệt được thiết kế cho các hệ thống nhúng . Để có thể chạy trên các vi điều khiển không có đơn vị quản lý bộ nhớ thì trong nhân của hệ điều hành có một số thay đổi . Toàn bộ mã nguồn và các chức năng điều khiển của nhân hệ điều hành của bộ quản lý bộ nhớ được loại bỏ ra khỏi mã nguồn của nhân hệ điều hành . Một số chức năng khác cũng được điều chỉnh để phù hợp với yêu cầu của các vi điều khiển không có đơn vị quản lý bộ nhớ . Sự thuận lợi chính của nhân uClinux mang lại so với nhân Linux chạy trên PC là kích thước của nhân . Khi biên dịch nhân , nhà phát triển phải thiết lập các lựa chọn biên dịch như hỗ trợ loại vi xử lý , hệ thống file và hỗ trợ các thiết bị của nhân làm sao để kich thước của nhân giảm xuống còn khoảng 400 KB . Tuy nhiên vào lúc khởi động , thì nhân của hệ điều hành sẽ yều cầu khoảng không gian bộ nhớ khoảng một megabyte . Trong thực tế kích thước bộ nhớ cần khoảng 2MB vì còn cần cho các ứng dụng . Với hệ điều hành uClinux , kích thước ảnh nhân hệ điều hành được điều chỉnh khoảng từ 500 tới 900 KB . Tương tự như mã nguồn hệ điều hành Linux , mã nguồn của hệ điều hành uClinux cũng có thể tải miễn phí . Mã nguồn hệ điều hành này cũng thuộc bản quyền GNU GPL , và giống như các tất cả các ứng dụng khác gói mã nguồn của nhân cũng bao gồm đầy đủ mã nguồn và các thư viện kèm theo . Mã nguồn hệ điều hành uClinux và các công cụ cần thiết có tìm tại website www.uclinux.org . Từ website này các nhà phát triển có thể tải gói phân phối củ hệ điều hành bao gồm mã nguồn nhân hệ điều hành uClinux , các thư viện , một số ứng dụng đã được phát triển , những thông báo lỗi những lỗi đã được sửa . [...]... nhân hệ điều hành trong khi module khởi tạo tiến trình Driver sẽ đăng ký các thành phần : Lương Thế Oanh 9 ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp - Bảng Fops - Chỉ số Major - Device Class ( Block hoặc Char ) - Name – tên driver 1.2.5 Mã nguồn hệ điều hành uClinux Mã nguồn của uClinux có thể tải về từ địa chỉ www .uclinux. org , ở địa chỉ này cũng cấp các phiển bản khác nhau của hệ điều hành. .. ROM , và file ảnh Lương Thế Oanh 10 ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp Hình 2 : các thưc mục con và các file của thư mục uClinux- dist Trong thư mục ROM chứa các thư mục con , cấu trúc thư mục con này chính là cấu trúc thư mục của hệ điều hành uClinux khi chạy trên hệ thống nhúng Và cấu trúc cũng giống như cấu trúc thư mục cơ bản của hệ điều hành Linux chuẩn Các thư mục đó là : bin , dev... Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp 1.2.3 Các thư viện sử dụng để phát triển hệ điều hành uClinux uClinux sử dụng một phần của thư viện C chuẩn , đó là thư viện cơ sở để phục vụ cho việc phát triển nhân uClinux Thư viện này dựa trên thư viện C Linux – 8086 nhưng đã đã được thu nhỏ thành một thư viện súc tích phù hợp với vi điều khiển Thư viện uClibc đã được tạo ra hỗ trợ cho các vi điều khiển... Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp Chương 2 Vi điều khiển S3C44B0X và kit phát triển Hệ thống nhúng được xây dựng trên cơ sở liên kết giữa phần mềm và phần cứng Sự phát triển phần mềm phải dựa trên phần cứng , phần mềm sự điều khiển toàn bộ hoạt động của phần cứng nên việc tìm hiểu rõ phần cứng cũng rất quan trọng đặc biệt nắm rõ phần cứng sẽ giúp cho quá trình cấu hình hệ điều hành uClinux. .. nhau của hệ điều hành uClinux Toàn bộ mã nguồn uClinux được chứa trong một file nén Khi được giả nén , gói mã nguồn được tạo ra thành cấu trúc hình cây gồm các thư mục và tất cả các thư mục này đều được chứa trong thư mục chính là uClinux- dist Đó là mã nguồn của hệ điều hành uClinux và cần biên dịch tạo ra một file ảnh để đưa vào hệ thống cần phát triển File nén chứa mã nguồn uClinux được đặt tên... linux-2.4.x : mã nguồn nhân uClinux - uClibc : thư viện C - config : Cấu hình hệ thống file uClinux vv… - romfs : Cấu trúc hệ thống file của ROM , bao gồm ứng dụng , các file thiết bị Thư mục này được tạo ra khi biên dịch - vendor : Chứa tên các thư mục của các loại vi xử lý mà hệ điều hành hỗ trợ - images : Sau khi biên dịch , thư mục này chủa nhân dạng nhị phân của hệ điều hành , file ROM , và file... Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp Hình 18 :Sơ đồ khối các bộ định thời Lương Thế Oanh 32 ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp 2.2 Kit phát triển HT44B0 Hình 19: kit phát triển HT44B0 Lương Thế Oanh 33 ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp Hình 20: Sơ đồ khối Kit phát triển Sơ đồ nguyên lý của kit HT44B0 có trong tài liệu kèm theo Một số đặc điểm của HT44B0 : - Dùng vi điều. .. - Supervisor (svc) : Đây là chế độ bảo vệ dùng cho hệ điều hành - Abort mode (abt) : Được nhập vào sau khi dữ liệu hoặc lệnh được bỏ qua tiền nạp System ( sys ) : Chế độ đặc quyền người dùng dùng cho hệ điều hành Undefined ( und ) : Được nhập vào khi một lệnh không xác định được thực thi Lương Thế Oanh 21 ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp Các chế độ này có thể được thiết lập bằng phần... rối chương trình trên chip thông qua chuẩn JTAG Lương Thế Oanh 18 ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp Hình 6 : Sơ đồ khối của lõi vi xử lý ARM7TDMI Lương Thế Oanh 19 ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp Hình 7 : Các khối logic của ARM7TDMI Lương Thế Oanh 20 ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp Hình 8: Sơ đồ các tín hiệu vào ra của ARM7TDMI a Các chế độ hoạt động... Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp Hình 15 : Mạch tạo dao động bằng thạch anh và bằng nguồn dao động bên ngoài 3.1.4.4 Bộ điều khiển truy cập bộ nhớ trực tiếp – DMA Vi điều khiển S3C44B0X có bốn kênh điều khiển DMA Hai kênh DMA được gọi là ZDMA được gắn vào SSB ( Samsung System Bus ) vào hai kênh DMA được gọi là BDMA là cầu nối giữa hài SSB và SPB ( Samsung Peripheral Bus ) Hai điều kênh điều . BÁO CÁO TỐT NGHIỆP Đề tài: Hệ điều hành nhúng uClinux Mục lục Mở đầu 1 Phần A : Lý thuyết chung 2 Chương 1 . Hệ điều hành nhúng uClinux 2 1.1. Nhân hệ điều hành Linux. sử nhân hệ điều hành Linux 2 1.1.2. Tổ chức của nhân hệ điều hành Linux 3 1.1.3. Tổ chức thư mục 5 1.2. Hệ điều hành nhúng uClinux 7 1.2.1. Quá trình phát triển hệ điều hành nhúng uClinux. Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp Lương Thế Oanh 7 1.2. Hệ điều hành nhúng uClinux Hệ điều hành uClinux là một phiên bản hệ điều hành sử dụng nhân Linux được thiết kế cho các hệ thống

Ngày đăng: 27/06/2014, 15:04

HÌNH ẢNH LIÊN QUAN

Hình 2 : các thưc mục con và các file của thư mục uClinux-dist . - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 2 các thưc mục con và các file của thư mục uClinux-dist (Trang 13)
Hình 3 : các thư mục trong thư mục romfs . - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 3 các thư mục trong thư mục romfs (Trang 13)
Hình 4 : Sơ đồ chân của vi điều khiển S3C44B0X - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 4 Sơ đồ chân của vi điều khiển S3C44B0X (Trang 18)
Hình 5: Sơ đồ khối vi điều khiển S3C44B0X - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 5 Sơ đồ khối vi điều khiển S3C44B0X (Trang 19)
Hỡnh 6 : Sơ đồ khối của lừi vi xử lý ARM7TDMI. - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
nh 6 : Sơ đồ khối của lừi vi xử lý ARM7TDMI (Trang 21)
Hình 7 : Các khối logic của ARM7TDMI. - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 7 Các khối logic của ARM7TDMI (Trang 22)
Hình  8: Sơ đồ các tín hiệu vào ra của ARM7TDMI . - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
nh 8: Sơ đồ các tín hiệu vào ra của ARM7TDMI (Trang 23)
Bảng các thanh ghi dùng được sử dụng tương ứng với mỗi chế độ hoạt động : - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Bảng c ác thanh ghi dùng được sử dụng tương ứng với mỗi chế độ hoạt động : (Trang 25)
Hình 9  : Sơ đồ ánh xạ các thanh ghi của Thumb-sate và ARM-state . - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 9 : Sơ đồ ánh xạ các thanh ghi của Thumb-sate và ARM-state (Trang 26)
Hình 10 : định dạng các bit của thanh ghi trạng thái . - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 10 định dạng các bit của thanh ghi trạng thái (Trang 27)
Hình 13 : Sơ đồ khối bộ tạo xung nhịp - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 13 Sơ đồ khối bộ tạo xung nhịp (Trang 31)
Hình 16 : Sơ đồ khối bộ điều khiển ZDMA. - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 16 Sơ đồ khối bộ điều khiển ZDMA (Trang 32)
Hình 17: Sơ đồ khối bộ điều khiển BDMA. - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 17 Sơ đồ khối bộ điều khiển BDMA (Trang 33)
Hình 18 :Sơ đồ khối các bộ định thời . - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 18 Sơ đồ khối các bộ định thời (Trang 34)
Hình 19: kit phát triển HT44B0 - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 19 kit phát triển HT44B0 (Trang 35)
Hình 20: Sơ đồ khối Kit phát triển - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 20 Sơ đồ khối Kit phát triển (Trang 36)
Hình 21: Lưu đồ quá trình biên dịch mã nguồn uClinux - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 21 Lưu đồ quá trình biên dịch mã nguồn uClinux (Trang 39)
Hình 23: màn hình cấu hình bằng lệnh make menuconfig . - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 23 màn hình cấu hình bằng lệnh make menuconfig (Trang 41)
Hình 25 : Các mục chính trêm menu cấu hình . - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 25 Các mục chính trêm menu cấu hình (Trang 42)
Hình 27 : Thiết lập cổng COM. - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 27 Thiết lập cổng COM (Trang 44)
Hình 28 :Tín hiệu nhận được từ kit HT44B0  truyền về máy tính . - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 28 Tín hiệu nhận được từ kit HT44B0 truyền về máy tính (Trang 45)
Hình 29 : Chạy lệnh ap và chờ thực hiện lệnh ping từ máy tính . - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 29 Chạy lệnh ap và chờ thực hiện lệnh ping từ máy tính (Trang 45)
Hình 30: Kết quả ping thành công từ máy tính tới kit HT44B0. - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 30 Kết quả ping thành công từ máy tính tới kit HT44B0 (Trang 46)
Hình 31: Quá trình gửi và nhận file từ máy tính và kit . - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 31 Quá trình gửi và nhận file từ máy tính và kit (Trang 47)
Hình 32: Chạy lênh prog để ghi file vào một địa chỉ của bộ nhớ flash . - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 32 Chạy lênh prog để ghi file vào một địa chỉ của bộ nhớ flash (Trang 47)
Hình 33: Quá trình ghi file vào flash thành công . - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 33 Quá trình ghi file vào flash thành công (Trang 47)
Hình 36: Màn hình sau khi khởi động xong hệ điều hành uClinux . - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 36 Màn hình sau khi khởi động xong hệ điều hành uClinux (Trang 50)
Hình 36 : Chạy thử một số lệnh cơ bản . - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 36 Chạy thử một số lệnh cơ bản (Trang 50)
Hình 37 : Các lựa chọn cấu hình biên dịch chương trình hello - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 37 Các lựa chọn cấu hình biên dịch chương trình hello (Trang 53)
Hình 38: kết quả chạy chương trình hello - báo cáo tốt nghiệp  hệ điều hành nhúng uclinux
Hình 38 kết quả chạy chương trình hello (Trang 54)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w