tôi có một chương trình 3.x ChibiOS trên một vi điều khiển STM32F4 nơi tôi sử dụng các cơ quan giám sát IWDG để reset MCU về lỗi như thế này:Vô hiệu hóa STM32 IWDG trong gỡ lỗi
int main() {
iwdgInit();
iwdgStart(&IWDGD, &wd_cfg);
while(true) {
// ... do stuff
}
}
Nếu bây giờ tôi đính kèm debugger của tôi và , tại bất kỳ thời điểm nào, dừng chương trình (thủ công hoặc qua điểm ngắt), vi điều khiển sẽ đặt lại sau khi hết thời gian chờ do cấu hình cơ quan giám sát xác định (và do đó gây ra sự cố trong quá trình gỡ lỗi của tôi)
Làm cách nào để tắt hành vi này làm thế nào tôi có thể vô hiệu hóa IWDG trong khi lõi được dừng lại do trình gỡ lỗi?
Tôi đã thử vô hiệu hóa hoàn toàn, tuy nhiên, tôi cần phải để nó chạy để bắt đặt lại IWDG không mong muốn.
Các IWDG bị tắt theo mặc định, vì vậy bạn chỉ có thể để nó tàn tật cho đến khi bạn bắt đầu thử nghiệm các mã cuối cùng. Nếu bạn muốn làm các hướng dẫn cho STM, bạn sẽ tốt hơn nhiều ở wiki STM32. Stack tràn là một Q & A, không phải là một trang web hướng dẫn. – Olaf
@Olaf a) Hãy yên tâm rằng các hướng dẫn của tôi trông hoàn toàn khác với điều này. Đây là một câu hỏi cụ thể với một câu trả lời cụ thể, nói cách khác là một Giải Đáp. Bạn có ý nghĩa gì về STM32 wiki? b) Giả định của bạn là sai. Mặc dù trong giai đoạn phát triển ban đầu, điều này có thể hoạt động Tôi có khá nhiều giai đoạn mà tôi cần * IWDG để đặt lại nếu bộ hẹn giờ WDG hết, ví dụ: để thu thập dữ liệu về hành vi (hành vi sai) trong hoạt động mạng có tải trọng cao (liệu cơ quan giám sát có được đặt lại không?). Chờ đợi cho đến khi sản xuất với điều này sẽ là ngu ngốc. Ngoài ra câu trả lời cho điều này là khá quan trọng đối với thử nghiệm sản xuất. –
@Olaf Vì vậy, không có câu hỏi STM32 nào được hỏi * ở tất cả * vì tất cả đều nằm trong tài liệu? Tôi không thực sự nghĩ rằng lập luận này hoạt động. Nếu bạn nghĩ rằng đây là một câu hỏi không đủ nghiên cứu, downvote và/hoặc bỏ phiếu để đóng. Tôi cho rằng bạn đã làm điều đó. Trong khi bạn đang làm điều đó, tôi sẽ viết nhiều giải pháp hơn cho các vấn đề thực tế, xin lỗi ... –