Bộ phân tích logic theo chế độ trạng thái

Một phần của tài liệu LUẬN VĂN:CÁC KỸ THUẬT GỠ LỖI TRONG VIỆC PHÁT TRIỂN HỆ THỐNG NHÚNG VỚI NGÔN NGỮ C doc (Trang 35 - 37)

quan đến bất kỳ sự kiện nào của bản mạch. Còn trong chế độ trạng thái, bộ phân tích logic là sẽ bắt các tín hiệu khi mà một sự kiện xảy ra trong hệ thống.

Khi dùng bộ phân tích logic ở chế độ trạng thái sẽ thấy các lệnh mà vi xử lý đã nạp, những dữ liệu đã đọc và ghi từ bộ nhớ và các thiết bị xuất nhập. Để thấy các lệnh mà vi xử lý đã nạp, ta nối đầu dò của bộ phân tích logic tới tất cả các tín hiệu địa chỉ và dữ liệu trong hệ thống và tín hiệu RE/ trên ROM. Nếu ta thiết lập cho bộ phân tích logic bắt tín hiệu khi tín hiệu RE/ được bật lên thì nó sẽ bắt các tín hiệu địa chỉ và dữ liệu của RE/ khi RE/được bật. Hầu hết các bộ phân tích logic có thể thu được nhiều tín hiệu đồng thời như thế. [4]

Bộ phân tích logic chế độ trạng thái thường hiển thị dạng dữ liệu văn bản lên màn hình, với mỗi dòng là trạng thái của tất cả tín hiệu khi một sự kiện xảy ra. Hầu hết các bộ phân tích logic cho phép chúng ta định dạng dữ liệu theo nhiều kiểu khác nhau. Ví dụ, ta có thể định dạng cho dữ liệu ra là kiểu bát phân như hình 3.7.

Hình 3.7. Màn hình hiển thị của bộ phân tích logic theo chế độ trạng thái [12]

Ta thấy rằng các mã bát phân này khó đọc, vì thế bộ phân tích logic có thể hiển thị các lệnh dưới dạng ngôn ngữ assembly, nó sẽ dễ hiểu hơn là dạng mã bát phân hay nhị phân. Nhưng để làm được điều này thì bộ phân tích logic cần hiểu về vi xử lý mà ta đang dùng, và yêu cầu đối với máy đích. Một vài bộ phân tích logic sẽ có ràng buộc để bắt các lệnh từ mã nguồn, cho phép ta thấy một phần của phần mềm đang thực thi.

phần mềm:

• Ta có thể tạo các ràng buộc để nếu vi xử lý nạp các lệnh từ một địa chỉ không được phép, và nếu gây ra lỗi thì ta có thể tìm được lỗi này.

• Ta có thể xây dựng các ràng buộc để nếu vi xử lý ghi các giá trị không hợp lệ vào một vị trí cụ thể trên RAM gây ra lỗi thì ta có thể bắt được lỗi. Ví dụ như hệ thống viết giá trị 5 vào giá trị trạng thái của một tập chỉ có 4 trạng thái, thì sẽ gây ra lỗi.

• Ta có thể xây dựng các ràng buộc để bộ phân tích logic bắt các sự kiện khi vi xử lý nạp lệnh đầu tiên hay khi các thường trình ngắt xảy ra, và thấy vi xử lý thực thi các thường trình ngắt.

• Nếu có một lỗi rất hiếm gặp xảy ra, ta có thể để bộ phân tích logic chạy và kiểm tra kết quả được in trên màn hình để biết dấu vết của lỗi.

• Hầu hết các bộ phân tích logic cho phép ta tạo một bộ lọc để giới hạn các kết quả thu được.

Thông thường, các ràng buộc trong bộ phân tích logic là một tập các sự kiện mà ta tin rằng ở đó có lỗi và sau đó ghi lại để kiểm tra các trạng thái của hệ thống để tìm ra lỗi.

Tuy nhiên, bộ phân tích logic cũng tồn tại một vài nhược điểm:

• Mặc dù bộ phân tích logic cho ta thấy vi xử lý đang làm gì, nhưng ta không thể dừng hệ thống bằng cách thiết lập các điểm ngắt để xem xét từng bước của quá trình thực hiện, để có thể xem kết quả trên các thanh ghi, bộ nhớ,...

• Ta chỉ biết được trạng thái của bộ nhớ khi vi xử lý đang đọc hay ghi trên nó, và trạng thái của các thanh ghi trong vi xử lý là ẩn.

• Nếu chương trình bị ngắt đột ngột thì ta sẽ không biết bất kỳ điều gì xảy ra với hệ thống, từ bộ nhớ, thanh ghi hay vi xử lý, các thông tin không được ghi lại. • Nếu vi xử lý có một bộ nhớ đệm lớn và thực thi các lệnh trong đó, và khi bị tràn

bộ nhớ đệm thì ta không thể biết được vi xử lý đang làm gì. Những gì mà bộ phân tích logic ghi lại được chỉ là các lệnh đã được nạp.

Một phần của tài liệu LUẬN VĂN:CÁC KỸ THUẬT GỠ LỖI TRONG VIỆC PHÁT TRIỂN HỆ THỐNG NHÚNG VỚI NGÔN NGỮ C doc (Trang 35 - 37)

Tải bản đầy đủ (PDF)

(65 trang)