Luận Văn Phương pháp kiểm thử chương trình C cho vi điều khiển 8051

Thảo luận trong 'Công Nghệ Thông Tin' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    170
    Điểm thành tích:
    0
    Xu:
    0Xu
    Phương pháp kiểm thử chương trình C cho vi điều khiển 8051

    (HOÀN CHỈNH, COPY CHỈNH SỬA DỄ DÀNG)

    Tóm tắt

    Các hệ thống nhúng ngày nay rất phát triển với những ứng dụng rộng rãi trong nhiều

    lĩnh vực công nghiệp và đời sống, đâu đâu ta cũng bắt gặp các ứng dụng của hệ thống

    nhúng, từ những thiết bị nhỏ như điện thoại, máy nghe nhạc đến các hệ thống phức tạp

    như ô tô, máy móc công nghiệp. Trong phát triển phần mềm nhúng, khâu kiểm thử có vai

    trò quan trọng trong việc đảm bảo chất lượng và độ tin cậy của hệ thống. Các hệ thống

    nhúng có kiến trúc phần cứng cũng như phần mềm rất đa dạng, trong đó có rất nhiều hệ

    thống sử dụng vi điều khiển họ 8051 và phần mềm viết cho hệ thống này thường được

    viết bằng ngôn ngữ C. Khóa luận này sẽ trình bày một số phương pháp kiểm thử chương

    trình C cho vi điều khiển 8051.

    Một cách rất phổ biến để kiểm thử phần mềm cho hệ thống nhúng nói chung và cho

    hệ thống 8051 nói riêng, đó là chạy phần mềm trên chương trình giả lập phần cứng,

    chương trình giả lập ở đây có thể là một vi điều khiển ảo, cũng có thể là chương trình mô

    phỏng trực quan cả một hệ thống mạch bao gồm vi điều khiển và các thiết bị khác. Một

    cách khác để kiểm thử chương trình cho 8051 đó là sử dụng công cụ Unit Test – kiểm thử

    mức đơn vị, Unit Test giúp ta kiểm thử và đảm bảo chất lượng từng đơn vị nhỏ nhất của chương trình.

    Mục lục

    Chương 1. Mở đầu 1

    1.1. Đặt vấn đề . 1

    1.2. Phạm vi nghiên cứu . 1

    1.3. Cấu trúc của khóa luận . 2

    Chương 2. Hệ thống nhúng và phần mềm nhúng . 3

    2.1. Hệ thống nhúng 3

    2.2. Phần mềm nhúng . 5

    Chương 3. Kiểm thử phần mềm và kiểm thử phần mềm nhúng 7

    3.1 Kiểm thử phần mềm . 7

    3.1.1. Kiểm thử phần mềm là gì? . 7

    3.1.2. Kiểm thử đơn vị (unit test): 7

    3.1.3. Integration Test – Kiểm thử tích hợp 8

    3.1.4. System Test - Kiểm thử mức hệ thống 8

    3.1.5. Acceptance Test - Kiểm thử chấp nhận sản phẩm . 9

    3.1.6. Regression Test - Kiểm thử hồi quy 9

    3.2. Kiểm thử phần mềm nhúng 10

    3.2.1. Tổng quan về kiểm thử phần mềm nhúng 10

    3.2.2. Kiểm thử bằng phương pháp chạy phần mềm trên môi trường giả lập

    phần cứng. 10

    3.2.3. Kiểm thử phần mềm nhúng bằng Unit Test. 11

    Chương 4. Lập trình nhúng cho vi điều khiển 8051 bằng ngôn ngữ C . 12

    4.1. Vi điều khiển 8051 12

    4.2. Lập trình C cho 8051 với trình biên dịch SDCC 13

    4.2.1. Ngôn ngữ C và lập trình nhúng . 13

    4.2.2. Lập trình C cho 8051 14

    4.2.3. Trình biên dịch SDCC 15

    4.2.4. IDE cho lập trình 8051 với SDCC . 18

    4.2.5. Ví dụ về lập trình C cho 8051 với SDCC và MIDE-51 19

    Chương 5. Kiểm thử chương trình cho 8051 bằng công cụ giả lập . 21

    5.1. Chương trình giả lập vi điều khiển “8051 series microcontroller simulator”. 21

    5.1.1. 8051 series microcontroller simulator . 21

    5.1.2. Ví dụ kiểm thử chương trình cho 8051 trên chương trình giả lập 8051

    series microcontroller simulator 23

    5.1.3. Nhận xét . 28

    5.2. Chương trình mô phỏng hệ thống mạch điện tử Proteus 29

    5.2.1. Giới thiệu Proteus . 29

    5.2.2. Ví dụ về kiểm thử chương trình nhấp nháy Led trên Proteus . 33

    5.2.3. Nhận xét . 37

    Chương 6. Kiểm thử chương trình cho 8051 bằng Unit Test, sử dụng công cụ

    Embedded Unit . 38

    6.1. Giới thiệu Embedded Unit 38

    6.2. Cải tiến để sử dụng Embedded Unit cho lập trình C cho 8051 . 39

    6.3. Ví dụ kiểm thử chương trình C cho 8051 với Embedded Unit 40

    6.4. Nhận xét 44

    Chương 7. Kết luận 45

    Phụ lục . 46

    Phụ lục A: Kiến trúc vi điều khiển 8051 . 46

    Phụ lục B: Hướng dẫn sử dụng Embedded Unit . 52

    Tài liệu tham khảo 55

    Chương 1. Mở đầu

    1.1. Đặt vấn đề

    Hệ thống nhúng rất đa dạng và phong phú, tuy nhiên có rất ít người biết được tầm

    quan trọng và sự hiện hữu của chúng trong thế giới quanh ta. Từ những hệ thống phức tạp

    như hàng không vũ trụ, phòng thủ quân sự, máy móc tự động trong công nghiệp, đến

    những phương tiện di chuyển thông thường như máy bay, xe điện, xe hơi, các trang thiết

    bị y tế trong bệnh viện, cho tới những thiết bị truyền hình và điện thoại di động chúng ta

    sử dụng hằng ngày, đâu đâu cũng có sự hiện diện của hệ thống nhúng.

    Cùng với sự đa dạng của các hệ thống nhúng, lĩnh vực lập trình phần mềm nhúng

    hiện nay rất phát triển. Trong phát triển phần mềm thì hoạt động kiểm thử có vai trò hết

    sức quan trọng, mang tính sống còn của sản phẩm, và với phần mềm nhúng cũng không

    phải là ngoại lệ. Sự phát triển của các hệ thống nhúng kéo theo những yêu cầu phát triển

    của hoạt động kiểm thử phần mềm nhúng. Có những hệ thống nhúng đòi hỏi độ tin cậy rất

    cao, việc kiểm thử cho các hệ thống này yêu cầu cẩn thận hơn so với kiểm thử phần mềm

    thông thường.

    Tuy nhiên hiện nay, hệ thống nhúng ở Việt Nam phát triển khá khiêm tốn so với thế

    giới, và lĩnh vực kiểm thử cho phần mềm nhúng lại càng khiêm tốn hơn. Có rất ít các tài

    liệu, các bài báo nói về hoạt động kiểm thử phần mềm nhúng cũng như không có nhiều

    các công cụ hỗ trợ cho việc kiểm thử này. Việc nghiên cứu và tìm hiểu các phương pháp,

    các kĩ thuật kiểm thử cho phần mềm nhúng là một vấn đề cần thiết hiện nay, nó sẽ góp

    phần thúc đẩy sự phát triển của lĩnh vực hệ thống nhúng, một lĩnh vực giàu tiềm năng

    nhưng mới chỉ bước đầu phát triển tại Việt Nam.

    1.2. Phạm vi nghiên cứu

    Trong phạm vi của khóa luận này, tôi nghiên cứu và trình bày về một loại hệ thống

    nhúng cụ thể - đó là các hệ thống sử dụng vi điều khiển 8051 và một số phương pháp

    kiểm thử chương trình cho các hệ thống này. Hệ thống sử dụng 8051 tôi trình bày ở đây

    chỉ là các hệ thống đơn giản, không sử dụng hệ điều hành nhúng, ví dụ như hệ thống đèn

    Led nối với vi điều khiển, phần mềm viết cho hệ thống này là chương trình điều khiển

    Led.Các chương trình được lập trình bằng ngôn ngữ C, sử dụng công cụ biên dịch chạy

    trên môi trường Windows XP 32 bit.

    Các phương pháp kiểm thử mà tôi giới thiệu trong khóa luận này là phương pháp

    kiểm thử chức năng sử dụng chương trình mô phỏng phần cứng và phương pháp sử dụng

    Unit Test ( kiểm thử đơn vị ), hai phương pháp này cũng đều được thực hiện bởi các công

    cụ kiểm thử chạy trên môi trường Windows XP 32 bit.

    Với phương pháp kiểm thử sử dụng Unit Test, tôi giới thiệu một Unit Test

    Framework cho chương trình C nhúng là Embedded Unit, và tôi có đề xuất một phương

    pháp để kiểm thử chương trình cho vi điều khiển 8051 sử dụng công cụ Embedded Unit

    với một trình biên không hỗ trợ cho 8051 là GCC. Đó là việc tạo một file thư viện

    “8051.h” chứa các biến của vi điều khiển, file này chỉ dùng khi test, nó giúp cho GCC

    không báo lỗi vì thiếu thư viện khi biên dịch các phép kiểm thử.

    1.3. Cấu trúc của khóa luận

    Phần còn lại của khóa luận có cấu trúc như sau:

    - Chương 2 : giới thiệu sơ lược về hệ thống nhúng và phần mềm nhúng.

    - Chương 3 : trình bày về lí thuyết kiểm thử phần mềm và kiểm thử phần mềm

    nhúng.

    - Chương 4 : giới thiệu về vi điều khiển 8051 và lập trình C cho hệ thống 8051 trên

    Windows sử dụng trình biên dịch SDCC.

    - Chương 5 : phương pháp kiểm thử phần mềm nhúng sử dụng công cụ giả lập phần

    cứng, giới thiệu công cụ giả lập vi điều khiển 8051 và phần mềm mô phỏng hệ thống

    mạch Proteus.

    - Chương 6 : phương pháp kiểm thử đơn vi ( Unit Test) cho phần mềm nhúng sử

    dụng Embedded Unit, giới thiệu về Embedded Unit và cải tiến để sử dụng nó cho chương

    trình 8051 trên Windows.

    - Chương 7 : rút ra kết luận từ các vấn đề đã nghiên cứu.
     

    Các file đính kèm:

Đang tải...