Thông báo

Collapse
No announcement yet.

Các bạn dùng công cụ Debug nào cho PIC (debugger)?

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Các bạn dùng công cụ Debug nào cho PIC (debugger)?

    Từ trước tới giờ mình toàn dùng mạch nạp (programmer) và cũng chỉ cần nạp chương trình vào PIC. Hôm trước nói chuyện với thằng bạn nó nhắc đến Bootloader và Debugger thì mới lại quan tâm đến điều này.

    Debugger là công cụ không nhất định phải có nhưng nó giúp nhiều trong việc tìm lỗi (trong quá trình lập trình). Thêm code và nạp lại chương trình không có gì khó, nhưng rõ ràng không thuận tiện bằng việc có thể dừng chương trình và kiểm tra các biến (cũng như byte bất kỳ trong bộ nhớ).

    Bạn nào đã dùng thì chia sẻ nhé!

    Hiện tại mình đang dùng trình dịch CCS C và mạch nạp Pickit2.

    p/s: bạn nào có hứng thú với việc phát triển công cụ Bootloader và Debugger (mềm) thì cũng comment nhé

  • #2
    brain !!!
    Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

    Comment


    • #3
      hình như mplab có debug mà anh, CCS cũng có debug cơ mà anh em toàn dùng ***** nên ko dùng đc tính năng đấy.

      Comment


      • #4
        Nguyên văn bởi queduong Xem bài viết
        brain !!!
        Bác Dương làm giống em rồi. Dùng Pickit2 nạp lại chương trình rất tiện, nhưng có thể sau một hồi sửa code tìm lỗi thì... quên luôn đường về

        Nguyên văn bởi hoasua_2005 Xem bài viết
        hình như mplab có debug mà anh, CCS cũng có debug cơ mà anh em toàn dùng ***** nên ko dùng đc tính năng đấy.
        Bộ công cụ (IDE) nào cũng hỗ trợ debug, nhưng nó cần phần cứng hỗ trợ nữa (kiểu như mạch nạp ý, nhưng là debugger)

        Comment


        • #5
          Nguyên văn bởi KnowMore Xem bài viết
          Bác Dương làm giống em rồi. Dùng Pickit2 nạp lại chương trình rất tiện, nhưng có thể sau một hồi sửa code tìm lỗi thì... quên luôn đường về


          Bộ công cụ (IDE) nào cũng hỗ trợ debug, nhưng nó cần phần cứng hỗ trợ nữa (kiểu như mạch nạp ý, nhưng là debugger)
          Bạn làm theo trình tự hoặc nhớ có phương pháp thì quên làm sao được đường về . Hơn nữa các IDE đều có list liệt kê, ẩn hàm ... nên việc tìm ở chỗ nào cũng rất nhanh . ( cái nào đã chuẩn rồi thì ta đóng chúng lại ) ... còn lại cái cần hiệu chỉnh , sửa đổi . Code vài nghìn dòng lệnh nhưng nhìn sáng sủa như tờ A4 thôi .
          Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

          Comment


          • #6
            Nguyên văn bởi KnowMore Xem bài viết
            Bác Dương làm giống em rồi. Dùng Pickit2 nạp lại chương trình rất tiện, nhưng có thể sau một hồi sửa code tìm lỗi thì... quên luôn đường về


            Bộ công cụ (IDE) nào cũng hỗ trợ debug, nhưng nó cần phần cứng hỗ trợ nữa (kiểu như mạch nạp ý, nhưng là debugger)
            ủa, pickit hỗ trỡ debug với mplab mà. bác xem qua link này xem: MPLAB Integrated Development Environment

            trích dẫn: PICkit 2 and PICkit 3 Debug Express economy debug/programmers
            ps: mạch nạp 89xx em xin của bác ngày xưa vẫn chạy. xịn thế

            Comment


            • #7
              Nguyên văn bởi queduong Xem bài viết
              Bạn làm theo trình tự hoặc nhớ có phương pháp thì quên làm sao được đường về . Hơn nữa các IDE đều có list liệt kê, ẩn hàm ... nên việc tìm ở chỗ nào cũng rất nhanh . ( cái nào đã chuẩn rồi thì ta đóng chúng lại ) ... còn lại cái cần hiệu chỉnh , sửa đổi . Code vài nghìn dòng lệnh nhưng nhìn sáng sủa như tờ A4 thôi .
              Có lần em sửa tần số thạch anh xong rồi mãi mới phát hiện ra

              Nguyên văn bởi hoasua_2005 Xem bài viết
              ủa, pickit hỗ trỡ debug với mplab mà. bác xem qua link này xem: MPLAB Integrated Development Environment
              Anh toàn chơi chip mới thôi (như 16F1503, 16F723) mà Pickit2 không được Microchip hỗ trợ nữa.
              Cũng ghét Pickit ở chỗ phải cài MPLAB (PIC C cũng không hỗ trợ debug bằng Pickit)

              Comment


              • #8
                CCS đang có chương trình gì đó để phát miễn phí ICD-U64, nhưng dạo này mình thấy PIC C biên dịch "thế nào" ấy nên cũng ít hứng thú.
                Ví dụ lệnh so sánh A>B chỉ cần lấy bit dấu của A-B mà nó làm lằng nhằng thế nào ấy


                Tớ đang có suy nghĩ thế này, các bạn xem thấy thế nào nhé:

                - Việc debug thường được thực hiện khi có lỗi và chúng ta tự khoanh vùng một phạm vi nào đó, tức là không cần khả năng truy xuất toàn bộ RAM và ROM
                - Chúng ta không sẵn sàng tốn tiền cho mạch Debugger (ICD-U64 của CCS là 79$)
                - Chúng ta sẵn sàng thêm code và nạp lại chương trình cho việc debug (tìm lỗi)
                - Chúng ta có thể tạo ra cái gì đó giúp làm việc dễ hơn mà ít tốn kém

                và tớ đề nghị mọi người thử nghĩ đến một vài giải pháp hỗ trợ debug, ví dụ:
                - 1 dãy LED và 4094 - hiển thị đơn giản với 2 chân chip, LED nào báo gì do ta lập trình
                - nhiều LED và 1 mcu - tương tự trên, nhưng mạch đơn giản hơn nhiều và cũng chỉ cần 1 chân chip
                - 1 matrix và mcu - hỗ trợ được nhiều hơn, có thể sẵn sàng với USART, SPI, I2C - hiển thị được vài byte và cơ số bit
                - 1 matrix + mcu + LCD + Keypad - có thể chỉ định dữ liệu ta muốn lấy
                - matrix + mcu + LCD + Keypad + PC connect - chả biết để làm gì
                - mcu + PC connect - cần thêm 1 Tiny-App, cái này có vẻ làm được nhiều việc hơn và ít tốn kém hơn. Bác nào làm USB với 18F14K50 rồi cho ý kiến cái!
                Last edited by KnowMore; 08-09-2013, 04:03. Lý do: Thêm vài suy nghĩ linh tinh

                Comment


                • #9
                  Debug chỉ thật sự cần khi làm 1 project lớn mà có thể không kiểm soát hết được chương trình ( do chưa quen trình dịch, đặc tính mcu...) còn với project trong tầm tay thì chẳng cần lắm. Chỉ cần UART hoặc USB hoặc chèn vài vòng lặp để dừng chương trình vậy là ổn

                  Comment


                  • #10
                    Pickit 2 vẫn nạp được chip mới, ví dụ dòng PIC12F1822 hoặc 1501 hoặc PIC32 ... nhưng phải lấy mã nguồn cái phần mềm nạp pk2cmd mới nhất về rồi tự biên dịch. Trên cả Windows lẫn Linux đều làm tương tự nhau.
                    Phần mềm tự do hoặc không dùng máy tính nữa !.

                    Comment


                    • #11
                      Nếu chip hoặc sài mạch nạp clone ko support debug thì em toàn chơi 1 header 3pin ( GND, RX, TX ) ra và debug bằng USB2COM, đơn giản thuận tiện.
                      Web:
                      ->Nhận thiết kế, hoàn thiện dự án, sản phẩm điện tử<-
                      -->Giải pháp GSM/GPRS/GPS - Công nghệ RFID<--

                      Comment


                      • #12
                        Hôm trước đặt mạch in, ghép mấy tấm và thừa ra một khoảng 46mmx32mm, mình thấy vô duyên quá nên tiện tay vẽ một mạch (như dưới).
                        Mạch của mình có LCD-1602, 4-LED, 2-Button, tạm đủ cho hiển thị và chọn mode. Debug connect hỗ trợ Asynchronous-Serial (USART Duplex/Half-Duplex), Synchronous Serial (USART), I2C, SPI. Chế độ Asynchronous-Serial có thể dùng 1 chân của chip cần debug (UART mềm, chạy Half-Duplex), đương nhiên hỗ trợ cả 1-Wire.

                        Nếu các bạn không "chật chội" mạch in như mình thì nên thêm 4-LED vào các đường D4..D7 của LCD, và 2-Button vào chân VLCD và BIAS sẽ thuận tiện hơn cho bổ xung tính năng sau này (tổng cộng 1-LCD, 8-LED, 4-Button).

                        Click image for larger version

Name:	v-10.gif
Views:	1
Size:	56.1 KB
ID:	1384990


                        Tại sao mình phải làm hỗ trợ nhiều giao tiếp như thế? tại sao phức tạp thế? Mình nghĩ rằng tại vì không phải lúc nào cũng có thời gian để truyền RS232, và không phải lúc nào cũng sẵn trên 1 chân mcu để dùng đồng bộ (DT và CK).
                        Cái mình cần phấn đấu đến là chạy Debug ảnh hưởng ít nhất đến chương trình bình thường (không debug), và yêu cầu càng ít ở phần cứng mạch cần debug càng tốt.
                        Hầu hết các mạch của mình đều có LED đấu với chân mcu (active LED) để vừa chỉ báo nguồn, vừa báo mcu vẫn "sống". Chuẩn tiếp theo của mình là chân <LED> này sẽ đồng thời là chân <Debug>


                        p/s: bạn nào muốn làm theo cách này "một cách nghiêm túc" thì nên layout với LCD-8-bit-mode, từ đó có 8-LED (nối với D0..D7) và keypad 16 phím (có thể dùng 1 chân ADC). Nó không chỉ là Simple-Debugger của bạn mà sau này nó có thể là một chuẩn Config-Tool của riêng bạn
                        Attached Files
                        Last edited by KnowMore; 13-09-2013, 22:08. Lý do: upload ảnh lằng nhằng quá :3

                        Comment


                        • #13
                          Đây có thể là một chuẩn phần cứng Passive Debugger mới
                          nhưng khi nào bắt đầu làm và khi nào hoàn thành thì chưa biết

                          Click image for larger version

Name:	Passive Debugger 14K50.BMP
Views:	1
Size:	32.2 KB
ID:	1385385

                          ---
                          sorry for tinh thần bốc mộ
                          Attached Files

                          Comment

                          Về tác giả

                          Collapse

                          KnowMore Tìm hiểu thêm về KnowMore

                          Bài viết mới nhất

                          Collapse

                          Đang tải...
                          X