PDA

View Full Version : debugger


tallht
25-07-2008, 01:02 AM
mình hỏi 1 câu nha: cái mạch ICD2 dùng để debug. nhưng chữ debug nghĩa là gì vậy? mình chẳng biết nữa.nói rõ rõ giùm mình một chút. cám ơn!( hì hì câu hỏi này chắc quá củ chuối!)

namqn
25-07-2008, 01:13 AM
mình hỏi 1 câu nha: cái mạch ICD2 dùng để debug. nhưng chữ debug nghĩa là gì vậy? mình chẳng biết nữa.nói rõ rõ giùm mình một chút. cám ơn!( hì hì câu hỏi này chắc quá củ chuối!)
ICD 2 là In-Circuit Debugger, tức là bộ gỡ rối trong mạch. Debug là gỡ rối, xuất phát từ thời xa xưa, khi người ta dùng các relay trong các máy tính điện tử đầu tiên. Các máy tính thời đó thường xuyên bị lỗi do các relay bị trục trặc, phần lớn nguyên nhân là do các con bọ (bug) bị chết kẹt giữa các tiếp điểm của relay (cái này thấy sách báo hay nói như vậy, sự thực ra sao thì không rõ), do đó khắc phục lỗi thường là việc tìm bọ (debug) trong các relay.

ICD 2 cho phép gỡ rối chương trình của một mạch ứng dụng, bằng việc cho chip chạy chương trình theo ý của người dùng, từng lệnh một (stepping) hay đến một điểm dừng (break point) đã định. Trong quá trình debug, người dùng có thể khảo sát giá trị của các thanh ghi, biến bên trong chip, cũng như thao tác các giá trị của các thanh ghi, hay biến, nhằm đặt chip đến các trạng thái mong muốn.

Thân,

picpen
25-07-2008, 02:47 PM
A..ha !!.. Cám ơn bác Nam và tallht nha .trước đây em làm việc với họ 8051 viết bằng ASM ,khi chạy thử chương trình thì có thể quan sát sự hoạt động của các thanh nghi , biến , ô nhớ ,cổng ra vào ,ram room nói chung là tất tần tật đều có thể quan sát và điều chỉnh được.

Nhưng khi em dùng pic lập trình bằng CCS ,khi soạn thảo ct xong thì em chỉ biết nhấn F9 để dịch mà ko biết cách nào để quan sát và kiểm tra chương trình, nhiều khi dịch xong cho chạy mô phỏng nó lại ko chạy theo ý tưởng lập trình.... nhiều đêm em đã phải thức trắng để lần mò gỡ dối chương trình nghĩ lại vẫn toát mồ hôi ......

Hôm nay đọc được bài của các bác, em mới biết đến mạch ICD 2 dùng để gỡ rối chương trình. Nhưng em chưa 1 lần được chiêm ngưỡng nó ,cũng chưa có sơ đồ mạch,chưa biết cách sử dụng .....nói chung là chưa biết gì hết à
Các bác có tài liệu về mạch ICD 2 ( tiếng anh + việt đều được ),cho em xin nhé(cả các links nhé)
Ở HN chỗ nào bán mạch ICD 2 các bác chỉ em luôn.

********* THANKS ******** I LOVE PICVIETNAM *********

tmtm
25-07-2008, 05:14 PM
A..ha !!.. Cám ơn bác Nam và tallht nha .trước đây em làm việc với họ 8051 viết bằng ASM ,khi chạy thử chương trình thì có thể quan sát sự hoạt động của các thanh nghi , biến , ô nhớ ,cổng ra vào ,ram room nói chung là tất tần tật đều có thể quan sát và điều chỉnh được.

Nhưng khi em dùng pic lập trình bằng CCS ,khi soạn thảo ct xong thì em chỉ biết nhấn F9 để dịch mà ko biết cách nào để quan sát và kiểm tra chương trình, nhiều khi dịch xong cho chạy mô phỏng nó lại ko chạy theo ý tưởng lập trình.... nhiều đêm em đã phải thức trắng để lần mò gỡ dối chương trình nghĩ lại vẫn toát mồ hôi ......

Hôm nay đọc được bài của các bác, em mới biết đến mạch ICD 2 dùng để gỡ rối chương trình. Nhưng em chưa 1 lần được chiêm ngưỡng nó ,cũng chưa có sơ đồ mạch,chưa biết cách sử dụng .....nói chung là chưa biết gì hết à
Các bác có tài liệu về mạch ICD 2 ( tiếng anh + việt đều được ),cho em xin nhé(cả các links nhé)
Ở HN chỗ nào bán mạch ICD 2 các bác chỉ em luôn.

********* THANKS ******** I LOVE PICVIETNAM *********
Bạn có thể xem luồng này http://www.picvietnam.com/forum/showthread.php?t=481
Bạn vào google gõ: 'mạch nạp ICD2', hoặc 'bán mạch nạp ICD2' thì xem cả ngày chẳng hết.

bkhanoi
25-07-2008, 05:30 PM
BKhanoi thấy anh Nam giải thích từ debug không hợp lý lắm. Nếu do con bọ kẹt giữa các tiếp điểm của relay thì chỉ cần dùng loại relay có vỏ che là xong chứ đâu có gì to tát đến nỗi phải dùng từ debug!

ICD 2 là In-Circuit Debugger, tức là bộ gỡ rối trong mạch. Debug là gỡ rối, xuất phát từ thời xa xưa, khi người ta dùng các relay trong các máy tính điện tử đầu tiên. Các máy tính thời đó thường xuyên bị lỗi do các relay bị trục trặc, phần lớn nguyên nhân là do các con bọ (bug) bị chết kẹt giữa các tiếp điểm của relay (cái này thấy sách báo hay nói như vậy, sự thực ra sao thì không rõ), do đó khắc phục lỗi thường là việc tìm bọ (debug) trong các relay.

namqn
25-07-2008, 06:35 PM
BKhanoi thấy anh Nam giải thích từ debug không hợp lý lắm. Nếu do con bọ kẹt giữa các tiếp điểm của relay thì chỉ cần dùng loại relay có vỏ che là xong chứ đâu có gì to tát đến nỗi phải dùng từ debug!
Tôi là kẻ sinh sau đẻ muộn, chỉ đọc sách báo mà biết chứ có tận mắt chứng kiến lần đầu tiên họ debug ra sao đâu. Bạn tham khảo các link dưới đây để tìm hiểu thêm:

http://en.wikipedia.org/wiki/ENIAC (Máy tính điện tử đầu tiên)
http://www.maxmon.com/1945ad.htm (lần đầu tiên từ "bug" được dùng cho máy tính)
http://wiki.answers.com/Q/What_is_the_origin_of_the_word_debug_in_the_contex t_of_computers (xuất xứ của từ debug)

Và đây là link của một bài báo đăng trên tạp chí IEEE vào năm 1998, đề cập đến computer bug:
http://ieeexplore.ieee.org/iel4/85/15706/00728224.pdf?tp=&isnumber=15706&arnumber=728224

Tôi upload bài báo lên savefile, trong trường hợp các bạn không truy cập vào thư viện điện tử của IEEE được:
http://www.savefile.com/files/1688177

Các relay được dùng trong các máy tính đầu tiên khá to, và không nhất thiết có vỏ che như đa số các relay bây giờ.

Thân,