bài giảng lập trình hệ thống nhúng

82 413 0
bài giảng lập trình hệ thống nhúng

Đ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

BÀI GIẢNGBÀI GIẢNG LậpLập trìnhtrình hệhệ thốngthống nhúngnhúng ((Programming Embedded SystemProgramming Embedded System)) MÔN HỌC: MÔN HỌC: LậpLập trìnhtrình hệhệ thốngthống nhúngnhúng GVGV: : TrầnTrần VănVăn HùngHùng MechatronicsMechatronics DeptDept httphttp://www.ntu.edu.vn/://www.ntu.edu.vn/ Ch01: Tổng quanCh01: Tổng quan  Hệ thống nhúngHệ thống nhúng  Một số ngôn ngữ lập trìnhMột số ngôn ngữ lập trình  Ngôn ngữ CNgôn ngữ C  Ngôn ngữ CNgôn ngữ C  Lưu đồLưu đồ Hệ thống nhúng Hệ thống nhúng ((embedded systemembedded system))  Một hệ thống có khả năng tự trị được nhúng vào Một hệ thống có khả năng tự trị được nhúng vào trong một môi trường hay một hệ thống mẹ.trong một môi trường hay một hệ thống mẹ.  Hệ thống nhúng có vai trò đảm nhận một phần Hệ thống nhúng có vai trò đảm nhận một phần công việc cụ thể của hệ thống mẹ.công việc cụ thể của hệ thống mẹ. công việc cụ thể của hệ thống mẹ.công việc cụ thể của hệ thống mẹ.  Hệ thống nhúng có thể là một hệ thống phần cứng Hệ thống nhúng có thể là một hệ thống phần cứng và cũng có thể là một hệ thống phần mềmvà cũng có thể là một hệ thống phần mềm Hệ thống nhúng Hệ thống nhúng ((embedded systemembedded system))  Đặc điểmĐặc điểm  Các hệ thống nhúng được thiết kế để thực hiện một số Các hệ thống nhúng được thiết kế để thực hiện một số nhiệm vụ chuyên dụng.nhiệm vụ chuyên dụng.  Một hệ thống nhúng thường không phải là một khối Một hệ thống nhúng thường không phải là một khối riêng biệt mà là một hệ thống các thiết bị.riêng biệt mà là một hệ thống các thiết bị. riêng biệt mà là một hệ thống các thiết bị.riêng biệt mà là một hệ thống các thiết bị.  Phần mềm được viết cho các hệ thống nhúng được gọi Phần mềm được viết cho các hệ thống nhúng được gọi là firmware và được lưu trữ trong các chip bộ nhớ chỉ là firmware và được lưu trữ trong các chip bộ nhớ chỉ đọc (readđọc (read only memory) hoặc bộ nhớ flash chứ không only memory) hoặc bộ nhớ flash chứ không phải là trong một ổ đĩa.phải là trong một ổ đĩa. Hệ thống nhúng Hệ thống nhúng ((embedded systemembedded system))  Giao diệnGiao diện  Kiến trúc CPUKiến trúc CPU  Thiết bị ngoại viThiết bị ngoại vi  …… Ngôn ngữ lập trìnhNgôn ngữ lập trình  Ngôn ngữ lập trình phải thỏa mãn được hai Ngôn ngữ lập trình phải thỏa mãn được hai điều kiện cơ bản là:điều kiện cơ bản là:  Nó phải dễ hiểu và dễ sử dụng đối với người lập Nó phải dễ hiểu và dễ sử dụng đối với người lập trình, để con người có thể dùng nó giải quyết các trình, để con người có thể dùng nó giải quyết các bài toán khác. bài toán khác. bài toán khác. bài toán khác.  Nó phải miêu tả một cách đầy đủ và rõ ràng các Nó phải miêu tả một cách đầy đủ và rõ ràng các tiến trình (tiến trình (processprocess), để có thể chạy được trên các ), để có thể chạy được trên các máy tính khác. máy tính khác. Ngôn ngữ lập trình Ngôn ngữ lập trình ((tiếptiếp))  Ngôn ngữ máy Ngôn ngữ máy Machine languagesMachine languages  Ngôn ngữ duy nhất của máy tính Ngôn ngữ duy nhất của máy tính –– CPUCPU  Hợp ngữ Hợp ngữ Assembly languagesAssembly languages  Sử dụng các từ khóa tiếng Anh cho các lệnh hay Sử dụng các từ khóa tiếng Anh cho các lệnh hay nhóm lệnh của mã máy.nhóm lệnh của mã máy. nhóm lệnh của mã máy.nhóm lệnh của mã máy.  Ngôn ngữ cấp cao Ngôn ngữ cấp cao HighHigh level languageslevel languages  Pascal, C, C++, VB, VC, Java,…Pascal, C, C++, VB, VC, Java,… Ngôn ngữ CNgôn ngữ C  Tại sao lại chọn CTại sao lại chọn C  Từ khóa ít (khoảng 32 từ khóa).Từ khóa ít (khoảng 32 từ khóa).  Thông dụng (hầu hết code đều viết bằng C)Thông dụng (hầu hết code đều viết bằng C)  Tính ổn định (không thay đổi nhiều lắm theo thời Tính ổn định (không thay đổi nhiều lắm theo thời  Tính ổn định (không thay đổi nhiều lắm theo thời Tính ổn định (không thay đổi nhiều lắm theo thời gian)gian)  Tốc độ thực thi nhanhTốc độ thực thi nhanh  Là nền tảng nhiều ngôn ngữ khác ( Java, C++, Là nền tảng nhiều ngôn ngữ khác ( Java, C++, awk, Perl).awk, Perl). Ngôn ngữ C Ngôn ngữ C ((tiếptiếp))  Từ khóaTừ khóa autoauto breakbreak casecase charchar continuecontinue defaultdefault dodo doubledouble elseelse externextern floatfloat forfor gotogoto ifif intint longlong registerregister returnreturn shortshort sizeofsizeof staticstatic structstruct switchswitch typedeftypedef shortshort sizeofsizeof staticstatic structstruct switchswitch typedeftypedef unionunion unsigneunsigne dd voidvoid volatilevolatile whilewhile _cs_cs _ds_ds _es_es _ss_ss _AH_AH _AL_AL _AX_AX _BH_BH _BL_BL _BX_BX _CH_CH _CL_CL _CX_CX _DH_DH _DL_DL _DX_DX _BP_BP _DI_DI _SI_SI _SP_SP Flow chartFlow chart Start • Start /Begin bắt đầu giải thuật. Chỉ có 1 và chỉ 1 điểm START. • Input / Output dữ liệu xuất/nhập • Dòng xử lý • Đặc tả thao tác xử lý hay tính toán dữ liệu • Điều khiển rẽ nhánh Điều kiện Yes No • Phát biểu rẽ nhánh khác Giá trị xét phân nhánh Trường hợp 1 Trường hợp i Khác Stop • Stop/End kết thúc của giải thuật. Có thể có một hoặc nhiều điểm STOP. [...]...Flow chart (tiếp) Giải phương trình ax + b = 0 Start Nhập a, b a=0 ? No X=-b/a Stop Yes b=0 ? Yes No Không có nghiệm Vô số nghiệm Một chương trình bằng C Khai báo thư viện #include Chú thích /* My first C program which prints Hello World */ Chương trình chính int main() { printf ("Hello World!\n"); return 0; } Giá trị trả về của một... = x + y; x -= y; x = x - y; x *= y; x = x * y; … Việc sử dụng đôi khi gây khó hiểu, nhưng có nhiều chương trình dịch tạo ra mã tối ưu hơn nếu ta sử dụng nó Phép tăng/giảm i = i + 1; i = i - 1; … a = ++i; a = i++; i++ hoặc ++i i hoặc i i i = i + 1; a = i; a = i; i = i + 1; Toán tử Toán tử quan hệ Là các phép so sánh Toán tử sizeof() Tính số byte mà biến (kiểu dữ liệu) đó chiếm sizeof (int) = 2 (int)... phép % Kiểu Boolean Trong C không định nghĩa rõ, nó tồn tại dưới dạng số nguyên Giá trị 0 được hiểu là FALSE, giá trị khác 0 được hiểu là TRUE Các phép toán And (&&); OR (||); NOT (!) Các phép toán quan hệ != , == , >= , , < Kiểu Boolean 1 2 3 4 5 6 7 0xF0 && 0x1F = ? 0b1000.1110 || 0b0100.0100 = ? !0b1000.1110 = ? 0b1010.1010 != 0b0100.0100 = ? 0b1011.0010 == 0b0100.0100 = ? 0b1100.0100 >= 0b0100.0100... + y)/(a+x) ); f = 3* ( n – (2*m) ); Sự hiệu chỉnh khi tính toán Trong C cho phép sự trộn lẫn các toán hạng thuộc các kiểu dữ liệu khác nhau Việc chuyển đổi dữ liệu tự động có thể mất dữ liệu trong quá trình chuyển đổi Ưu tiên chuyển đổi về kiểu dữ liệu số nguyên chuẩn Chuyển đổi các ký tự về số nguyên dựa vào bảng mã ASCII . BÀI GIẢNGBÀI GIẢNG LậpLập trìnhtrình h hệ thốngthống nhúngnhúng ((Programming Embedded SystemProgramming Embedded System)) MÔN HỌC: MÔN HỌC: LậpLập trìnhtrình h hệ thốngthống nhúngnhúng GVGV:. thống nhúng có thể là một hệ thống phần cứng Hệ thống nhúng có thể là một hệ thống phần cứng và cũng có thể là một hệ thống phần mềmvà cũng có thể là một hệ thống phần mềm Hệ thống nhúng Hệ thống. Tổng quan  Hệ thống nhúngHệ thống nhúng  Một số ngôn ngữ lập trìnhMột số ngôn ngữ lập trình  Ngôn ngữ CNgôn ngữ C  Ngôn ngữ CNgôn ngữ C  Lưu đồLưu đồ Hệ thống nhúng Hệ thống nhúng ((embedded

Ngày đăng: 10/02/2015, 09:55

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan