Tôi đang làm việc để gỡ lỗi bằng gdb. tôi muốn biết làm thế nào gdb hoạt động nội bộ để thiết lập một brekpoint trên một bộ xử lý nhúng thông qua JTAG.Trình gỡ lỗi như gdb hoạt động như thế nào để đặt điểm ngắt thông qua JTAG?
Trả lời
Điều này khác nhau đối với mọi bộ xử lý, bạn phải tra cứu chi tiết trình gỡ lỗi jtag cho bộ xử lý cụ thể. không chỉ xử lý gia đình nhất thiết mà là bộ vi xử lý cụ thể. Datasheets/hướng dẫn người dùng, nếu có, thường có sẵn từ nhà cung cấp chip hoặc nhà cung cấp lõi tùy thuộc vào sản phẩm.
những gì tôi muốn biết là sau khi kết nối hội đồng quản trị của tôi với Pc bằng cáp jtag, nếu tôi nhập ví dụ "bp 25" với GDB, điều gì sẽ xảy ra sau đó cho lệnh đó để được thực thi với bộ xử lý nhúng của tôi (Microblaze) JTAG? – jenje
bạn phải tìm kiếm bộ xử lý đó và các lệnh jtag, nó có thể là một vài đến vài nghìn lệnh khác nhau xảy ra để thực hiện điều đó. Nếu bạn không muốn tra cứu biểu dữ liệu thì hãy tìm trong gdb soruces, gdb là mã nguồn mở, các câu trả lời cho các câu hỏi của bạn đều có trong các tài liệu và phần mềm mở. Xây dựng lại gdb, thêm một số printfs, tìm hiểu mã quan tâm. –
Nó hoặc là chương trình đăng ký điểm ngắt phần cứng hoặc đặt điểm ngắt phần mềm bằng cách thay thế lệnh tại điểm ngắt bằng lệnh sẽ gây ra ngoại lệ.
Một vài lần tôi đã sử dụng GDB kết hợp với một đơn vị JTAG, GDB đã liên lạc qua JTAG bằng cách sử dụng chương trình gdbserver
xử lý các chi tiết của JTAG. Ví dụ, sử dụng một đơn vị OpenOCD JTAG: http://openocd.sourceforge.net/doc/html/GDB-and-OpenOCD.html
này về cơ bản có nghĩa là GDB không biết nhiều về bất cứ điều gì về đơn vị JTAG - nó dựa trên giao diện gdbserver
và máy chủ mà sau đó làm bất cứ điều gì nó cần phải đằng sau hậu trường để làm những gì GDB yêu cầu.
- 1. Trình gỡ lỗi lịch sử hoạt động như thế nào?
- 2. gdb hoạt động như thế nào?
- 3. Firebug hoạt động như thế nào?
- 4. thiết lập điểm ngắt thoát gdb không hoạt động?
- 5. Bạn sử dụng gdb như thế nào?
- 6. Đặt điểm ngắt trong GDB
- 7. gdb: điểm ngắt cài đặt lỗi nội bộ
- 8. gdb bước không hoạt động như mong đợi
- 9. Điểm ngắt trình gỡ rối được triển khai hiệu quả như thế nào?
- 10. Gỡ lỗi từ xa Java, nó hoạt động như thế nào về mặt kỹ thuật?
- 11. Cách đặt điểm ngắt trên hàm python trong gdb
- 12. Đặt điểm ngắt và gỡ lỗi JavaScript đã đánh giá
- 13. Trình bundler hoạt động như thế nào?
- 14. Gỡ lỗi thông qua libstdC++
- 15. Đặt điểm ngắt trên mỗi dòng trong GDB
- 16. Điểm ngắt gdb trên pthread_create
- 17. DataReader hoạt động như thế nào?
- 18. Gỡ lỗi với Eclipse CDT và GDB
- 19. Làm thế nào để hạn chế gdb gỡ lỗi thành một chuỗi tại một thời điểm
- 20. Điểm chi nhánh của bwmorph hoạt động như thế nào?
- 21. các lớp đặc điểm hoạt động như thế nào?
- 22. Làm cách nào để sử dụng trình gỡ lỗi gdb MinGW để gỡ lỗi chương trình C++ trong Windows?
- 23. Proxifier hoạt động như thế nào?
- 24. Biểu tượng gỡ lỗi trông như thế nào?
- 25. Bạn gỡ lỗi XamlParseException như thế nào?
- 26. Làm thế nào để bạn gỡ lỗi các vấn đề SugarCRM/tìm hiểu SugarCRM hoạt động như thế nào?
- 27. Tại sao trình gỡ lỗi C# của tôi bỏ qua các điểm ngắt?
- 28. Chương trình/trình biên dịch/thông dịch viên thực sự hoạt động như thế nào?
- 29. IntelliJ Idea (gỡ lỗi) điểm ngắt có điều kiện phụ thuộc vào các điểm ngắt khác
- 30. Lưu và in XPSDocument thông qua Trình ngắt (dường như) gây ra sự rasterization nội dung
bản sao có thể có của [Luồng công việc chung của JTAG trong hệ thống phát triển được nhúng?] (Http://stackoverflow.com/questions/3775445/general-jtag-working-flow-in-an-embedded-development-system) – Gilles