Ví dụ về gỡ lỗi cho CC1010: Code Breakpoints
Mục đích: Kiểm tra dạng xung Reset mà CC1010 phát tới cảm biến áp suất MS5535 có đúng theo yêu cầu hay không.
Giả sử hàm làm việc này là: void resetMS5535(). Xung reset là 2 chuỗi xung DIN và SCLK của MS5535 lệch pha nhau, mỗi chuỗi gồm 21 xung. Chƣơng trình dịch cụ thể là Keil uVision 2.0. Thiết bị kiểm tra là dao động ký số.
Trình tự các bƣớc nhƣ sau:
- Nối cáp từ cổng Parallell của PC với cổng Parallell của CC1010EM. Đây là cáp giao tiếp để nạp chƣơng trình.
- Nối cáp từ cổng RS232 của PC với cổng Serial 1 của CC1010EB. Đây là giao tiếp cho quá trình gỡ lỗi.
- Nạp chƣơng trình Bootloader vào CC1010EM.
- Kẹp đầu đo kênh 1 của dao động ký vào chân DIN của MS5535. - Kẹp đầu đo kênh 2 của dao động ký vào chân SCLK của MS5535.
- Đặt chế độ đo của dao động ký ở dạng trigger. Điều này giúp cho dao động ký dừng lấy mẫu khi lấy đƣợc 1 chùm xung.
- Đặt Code BreakPoint tại lời gọi hàm resetMS5535()
- Chạy chƣơng trình ở chế độ gỡ lỗi đến lời gọi hàm resetMS5535(), sau đó chạy qua lời gọi này một bƣớc rồi dừng lại (nhấn phím F10). Trên màn hình dao động ký sẽ xuất hiện dạng xung mà chƣơng trình vừa phát, qua đó sẽ biết dạng xung đó có đúng với dạng xung cần thiết hay không.
4.2 Kết luận
Chƣơng 4 đã giới thiệu tổng quan về phần mềm nhúng, các bƣớc xây dựng cũng nhƣ các thách thức khi phát triển một phần mềm nhúng.
Gỡ lỗi là một phần không thể thiếu khi phát triển phần mềm nói chung và phần mềm nhúng nói riêng. Nó sẽ góp phần xây dựng phần mềm nhúng đạt độ ổn định và tin cậy cao. Ở đây đã giới thiệu ba dạng gỡ lỗi, đó là: Giám sát ROM, Mô phỏng trên mạch, Gỡ lỗi On-chip, và phân tích ƣu nhƣợc điểm của từng dạng. Phần cuối cùng minh hoạ các bƣớc cụ thể khi gỡ lỗi cho chƣơng trình viết cho CC1010 dùng để đọc giá trị áp suất MS5535.