Nghiên cứu ứng dụng hệ điều hành nhúng uClinux trên vi điều khiển S3C44B0X - pdf 16

Download miễn phí Khóa luận Nghiên cứu ứng dụng hệ điều hành nhúng uClinux trên vi điều khiển S3C44B0X



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



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

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
và những lỗi đã được sửa .
ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
Lương Thế Oanh 9
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 không có đơn vị quản lý bộ
nhớ như Dragonball , ColdFire , ARM … thư viện vẫn hỗ trợ kiến trúc Linux chuẩn .
uClinux cũng cung cấp hoàn toàn thư viện Linux chuẩn libC API .
Để phát triển uClinux , nhà phát triển có thể lựa chọn giữa hai thư viện libc là
uC-libc và uClibc . Thư viện uClibc giống như thư viện glibc phát triển cho Linux ,
các hàm của glibc cũng được áp dụng cho uClibc . Ngoài ra gói mã nguồn của uClinux
còn có một sô thư viện khác như : libatm hỗ trợ truyền dữ liệu không đồng bộ , libjpeg
hỗ trợ cho định dạng ảnh nén JPEG , libm hộ trợ các thư viện toán học , libnet hỗ trợ
các API để thao tác mạng .
1.2.4. Driver của các ngoại vi
Driver là các trình quản lý , điều khiển các ngoại vi , cung cấp các hàm cho
phép người dùng để có thể điều khiển tới các thành phần ngoại vi . Các driver được
chia làm ba lớp :
- Character driver : Lớp này được sử dụng rộng rãi từ các ứng dụng đơn
giản đến các ứng dụng phức . Ví dụ ứng dụng đơn giản như driver điều khiển
LED , ứng dụng phức tạp như driver Firewire , driver USB . Character driver
đọc và ghi dữ liệu trực tiếp tới thiết bị mà không có bộ nhớ đệm .
- Block driver : Lớp này giao tiếp tới hệ thống file và được sử dụng để
kết nối các phân vùng đĩa , các thiết bị vào file hệ thống . Khác với character
driver , block driver thường đọc ghi dữ liệu với thiết bị thông qua bộ đệm .
- Network driver : Loại này có nhiều cấu trúc khác nhau , hỗ trợ truyền
thông , sử dụng các Port và các Socket để định tuyến các gói dữ liệu .
Thông thường chương trình ứng dụng không được truy cập , đọc hay ghi trực
tiếp tới các thiết bị ngoại vi . Khi cần giao tiếp với các ngoại vi , chương trình ứng
dụng sẽ sử dụng các driver để giao . Các driver có thể là một module hay là được liên
kết tĩnh vào nhân . Driver được đăng ký với 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 :
ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
Lương Thế Oanh 10
- Bảng Fops .
- Chỉ số Major .
- Device Class ( Block hay 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 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 theo một định dạng chuẩn như sau uClinux-dist-
YYYYMMDD.tar.gz trong đó YYYY là năm , MM là tháng , DD là ngày .
Trong khóa luận này em sử dụng mã nguồn hệ điều hành uClinux với phiên bản
nhân Linux là linux-2.4 . Sau khi giải nén file mã nguồn , các thư mục có trong thư
mục chính uClinux-dist gồm các thư mục :
- bin : các tiện ích để tạo ra file flash.bin .
- Documention : tài liệu chi tiết của uClinux .
- tools : các công cụ để biên dịch .
- user : ứng dụng của người dùng và mã nguồn các ứng dụng đó .
- freeswan : các chương trình bảo mật , mã hóa .
- lib : Chứa các thư viện cho ứng dụng .
- 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 ảnh .
ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
Lương Thế Oanh 11
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 , etc , home , lib , mnt , proc , tmp , usr , var ...
Hình 3 : các thư mục trong thư mục romfs .
ĐH Công Nghệ - ĐHQG Hà Nội Khóa luận tốt nghiệp
Lương Thế Oanh 12
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 , viết
driver cho ngoại vi và xây dựng các ứng dụng chính xác và nhanh hơn .
2.1. Vi điều khiển S3C44B0X
Giống như các dòng vi điều khiển khác như 8051 , AVR , PIC , PSoC , v.v ,
S3C44B0X được xây dựng từ một CPU và được bổ sung thêm các ngoại vi như bổ
sung bộ nhớ , cấc cổng vào ra , các bộ định thời … Nên việc tìm hiểu vi điều khiển
S3C44B0X cũng giống như tìm hiểu các dòng vi điều khiển khác . Việc tìm hiểu sẽ đi
vào chi tiết các khối cấu thành nên vi điều khiển .
S3C44B0X là một vi điều khiển của hãng Samsung , đây là một vi điều khiển
rất mạnh , có nhiều đặc tính ưu việt . Vi điều khiển này được dùng trong các hệ thống
nhỏ nhưng đòi hỏi tính toán phức tạp và cần tốc độ cao , các ứng dụng thường sử dụng
như các thiết bị cầm tay , thiết bị cần xử lý tín hiệu số và t
Music ♫

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