Tôi đang làm một số phát triển trong C với một chip STM32F107 và, tại một số điểm, thiết bị bắt đầu đặt lại khi tôi gọi một chức năng cụ thể. Tôi không có một trình gỡ lỗi và gỡ lỗi của tôi chỉ là văn bản thuần trên một cổng nối tiếp.Làm cách nào để gỡ lỗi các lần đặt lại không mong muốn trong thiết bị STM32?
Tôi đã sử dụng một số bộ vi điều khiển khác mà tôi có thể truy cập vào sổ đăng ký để xem nguyên nhân của việc đặt lại, nhưng dường như tôi không thể tìm thấy thiết bị này tương đương. Tôi nhận thức được các ngoại lệ phần cứng của Cortex-M3, nhưng tôi không biết liệu một trong số chúng có được kích hoạt hay không vì tôi dường như không gửi văn bản qua đầu khi tôi ở trong các trình xử lý đó (có thể vì TX của tôi chức năng sử dụng gián đoạn?).
Vì vậy, tôi quyết định hỏi những người có nhiều kinh nghiệm hơn tôi trong thiết bị này: những gì thường được thực hiện để gỡ lỗi các tình huống như thế này?
EDIT
Một trong những nhà phát triển kích hoạt cơ quan giám sát WWDG và nó đã Reseting phần cứng trước khi tôi có thể nhận được thông tin của tôi từ các trình xử lý lỗi. Đó là một lỗi cứng do gọi một hàm bằng một con trỏ trỏ đến địa điểm sai. Tuy nhiên, tôi sẽ giữ câu hỏi này với hy vọng rằng ai đó sẽ cung cấp thêm chi tiết (hoặc tài liệu về nó) để trỏ ngược lại mã C từ sổ đăng ký được lưu trong, cho phép nói, Lỗi cứng (ý tưởng @dwelch).