1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Đề lập trình nhúng cuối kì 2011

6 365 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 66 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đề lập trình nhúng cuối kì 2011

Trang 1

ĐỀ KIỂM TRA HỌC KỲ MÔN LẬP TRÌNH NHÚNG

HK 1 – 2011/2012

Thời gian: 65 phút

(SV được sử dụng tài liệu, làm bài ngay trên đề)

(Đề thi có 6 trang)

Câu 1: (3 đ)

Cho sơ đồ sau:

R 2 R

D 4

LE D

R 1 R

D 1

LE D

V C C

R 2 R

D 3

LE D

V C C

S W 1

U 1

A T8 9C 51

9

18

19

29 30 31

1 2 3 4 5 6 7 8

21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17

39 38 37 36 35 34 33 32

R S T

XTA L2

XTA L1

P S E N

A LE /P R O G

E A /V P P

P 1.0

P 1.1

P 1.2

P 1.3

P 1.4

P 1.5

P 1.6

P 1.7

P 2.0/A 8

P 2.1/A 9

P 2.2/A 10

P 2.3/A 11

P 2.4/A 12

P 2.5/A 13

P 2.6/A 14

P 2.7/A 15

P 3.0/R XD

P 3.1/TXD

P 3.2/IN T0

P 3.3/IN T1

P 3.4/T0

P 3.5/T1

P 3.6/W R

P 3.7/R D

P 0.0/A D 0

P 0.1/A D 1

P 0.2/A D 2

P 0.3/A D 3

P 0.4/A D 4

P 0.5/A D 5

P 0.6/A D 6

P 0.7/A D 7

D 2

LE D

R 2 R

R 2 R

a) Vẽ máy trạng thái thực hiện công việc sau:

Khi reset, LED D1 sáng, các LED còn lại tắt

Các LED lần lượt sáng theo thứ tự D1-D2-D3-D4-D1 … mỗi khi nhấn SW (không chống rung)

Trang 2

Trang 3

b) Viết chương trình C cho 8051 dựa trên máy trạng thái vừa thiết lập.

Trang 4

Câu 2: (3đ) Trong chương trình cho ARM cortex M3, gọi hàm process như sau: #include <stdio.h> extern int process(int a, int b, int c); int main() { int a, b, c, d; a = 1; b = 2; c = 3; d = process (a, b, c); return (0); } Hãy thực thi hàm process bằng assembly để tính phép tính: a + b – c AREA asm_func, CODE, READONLY THUMB EXPORT process

Trang 5

Câu 3: (1đ) a) Nêu sự khác nhau cơ bản giữa pre-emptive kernel và non-preemptive kernel

Câu 4: (1 đ)Trả lời các câu hỏi về FreeRTOS bằng cách chọn 1 câu trả lời đúng nhất a) Số lượng queue nhỏ nhất được dùng trong chương trình:

Trang 6

0 1

b) Số lượng queue lớn nhất nhất được dùng trong chương trình

0 1 lớn hơn 1 nhưng bị giới hạn không giới hạn

c) Số lượng tác vụ nhỏ nhất được dùng trong chương trình (kể cả idle):

0 1 2

d) Số lượng tác vụ lớn nhất nhất được dùng trong chương trình (kể cả idle)

1 lớn hơn 1 nhưng bị giới hạn không giới hạn

Câu 5: (2đ) Giả sử có 3 tác vụ T1 với mức ưu tiên thấp, T2 và T3 có cùng mức ưu

tiên cao hơn Trả lời các câu hỏi sau bằng cách chọn câu trả lời đúng (có thể có nhiều hơn 1)

a) Không có tác vụ nào bị block Tác vụ nào sẽ được thực thi

T0 T1 T2

b) Tác vụ idle có đuợc chạy không?

Có Không

c) Task T2 truy cập một queue rỗng (empty queue) Tác vụ nào sẽ đuợc thực thi T0 T1 T2

d) Những trường hợp nào có thể xảy ra với task T2? Khoanh tròn tất cả các trường hợp có thể có

Bị block mãi mãi

Unblock sau 1 thời gian tối đa

Block cho đến khi 1 tác vụ khác ghi vào queue

Block cho đến khi task T2 ghi vào queue

BM Điện Tử Cán bộ ra đề

Ngày đăng: 11/05/2014, 16:02

TỪ KHÓA LIÊN QUAN

w