Cơ bản về bootloader & tiny bootloader

Collapse
This is a sticky topic.
X
X
 
  • Giờ
  • Show
Clear All
new posts
  • thaithienanh
    Đệ tử 7 túi
    • Jul 2006
    • 189

    #76
    Thầy Namq cho em xin file hex của PIC 18f4550 chạy thạch anh 20 MHz và baurate 57600 nhé , em cảm ơn thầy.
    _____________________________Tri nhân tri tự bất tri tâm_____________________________
    _ _ _ _ _ _ _ _ Yêu mến tất cả anh em Picvietnam.com _ _ _ _ _ _ _ _
    . . . . . . . . . . . . . . . . Để post đuợc một câu hỏi rõ ràng xin tham khảo link sau : . . . . . . . . . . . . . . .
    . . . . . . . . . . . . . . . . . http://www.picvietnam.com/forum/showthread.php?t=1263. . . . . . . . . . . . . . . .

    Comment

    • namqn
      Trưởng lão PIC bang
      • Feb 2006
      • 3020

      #77
      Nguyên văn bởi thaithienanh View Post
      Thầy Namq cho em xin file hex của PIC 18f4550 chạy thạch anh 20 MHz và baurate 57600 nhé , em cảm ơn thầy.
      Bạn có ý định dùng module USB hay không? Những từ cấu hình khác cũng nên được mô tả, nếu không tôi sẽ phỏng đoán để đặt cấu hình khi dịch bootloader.

      Thân,
      Biển học mênh mông, sức người có hạn.

      Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
      http://www.picvietnam.com/forum/showthread.php?t=1263

      Comment

      • thaithienanh
        Đệ tử 7 túi
        • Jul 2006
        • 189

        #78
        Nguyên văn bởi namqn View Post
        Bạn có ý định dùng module USB hay không? Những từ cấu hình khác cũng nên được mô tả, nếu không tôi sẽ phỏng đoán để đặt cấu hình khi dịch bootloader.

        Thân,
        Dạ cái này em nạp theo chuẩn 232 ^^ tại dùng chung kit với 16F877a , còn những cấu hình khác không có gì đặc biệt cả
        _____________________________Tri nhân tri tự bất tri tâm_____________________________
        _ _ _ _ _ _ _ _ Yêu mến tất cả anh em Picvietnam.com _ _ _ _ _ _ _ _
        . . . . . . . . . . . . . . . . Để post đuợc một câu hỏi rõ ràng xin tham khảo link sau : . . . . . . . . . . . . . . .
        . . . . . . . . . . . . . . . . . http://www.picvietnam.com/forum/showthread.php?t=1263. . . . . . . . . . . . . . . .

        Comment

        • bean984
          Đệ tử 3 túi
          • Dec 2007
          • 51

          #79
          đây là code bootloader của mình
          Code:
          	radix DEC
          	LIST      P=16F877A, F=INHX8M	; change also: Configure->SelectDevice from Mplab 
          xtal EQU 8000000		; you may also want to change: _HS_OSC _XT_OSC
          baud EQU 9600			; standard TinyBld baud rates: 115200 or 19200
          mình lấy bootloader của con 16f873A và sử lại như vậy không biết có vấn đề gì không?
          còn đây là code thử pic của mình
          Code:
          #include "16F877A.h" // PIC16F877A header file
          #device 16F877A*=16 ADC=10
          #include <defs_16F877A.h>
          #include <stdlib.h>
          #include <string.h>
          #fuses HS, NOWDT,PUT, NOPROTECT, NOLVP, NODEBUG, BROWNOUT // for debug mode
          #use delay(clock=8000000) // for 8Mhz crystal
          #use fast_io(a)
          
          void main(void)
          {
             set_tris_a(0);
             
             while(true)
             {
             porta=255; 
             delay_ms(2000);
             porta=85; 
             delay_ms(2000);
             porta=170;
             delay_ms(2000);
             }
          }
          không biết cái boot loader của mình có vấn đề? hay code pic có vấn đề? mà khi nạp bằng tiny bootloader thấy thông báo ok rồi mà chương trình không chạy?.
          nếu có thể thì cho mình xin file bootloader với cấu hình như trên(cả file .asm và .hex)
          cảm ơn mọi người!

          Comment

          • bean984
            Đệ tử 3 túi
            • Dec 2007
            • 51

            #80
            mình đã thử dùng PG2C và ICProg đọc lại con pic thì thấy phần code thử pic lại được ghi vào Eeprom? còn phần mã chương trình chỉ có bootloader?

            Comment

            • namqn
              Trưởng lão PIC bang
              • Feb 2006
              • 3020

              #81
              Nguyên văn bởi bean984 View Post
              đây là code bootloader của mình
              Code:
              	radix DEC
              	LIST      P=16F877A, F=INHX8M	; change also: Configure->SelectDevice from Mplab 
              xtal EQU 8000000		; you may also want to change: _HS_OSC _XT_OSC
              baud EQU 9600			; standard TinyBld baud rates: 115200 or 19200
              mình lấy bootloader của con 16f873A và sử lại như vậy không biết có vấn đề gì không?
              ...
              không biết cái boot loader của mình có vấn đề? hay code pic có vấn đề? mà khi nạp bằng tiny bootloader thấy thông báo ok rồi mà chương trình không chạy?.
              ...
              Bạn chỉ đưa có vài dòng đầu tiên của code cho bootloader, ngay cả cấu hình của bootloader cũng không rõ, do đó không thể nhận xét bootloader của bạn là có vấn đề hay không.

              Thân,
              Biển học mênh mông, sức người có hạn.

              Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
              http://www.picvietnam.com/forum/showthread.php?t=1263

              Comment

              • namqn
                Trưởng lão PIC bang
                • Feb 2006
                • 3020

                #82
                Nguyên văn bởi bean984 View Post
                mình đã thử dùng PG2C và ICProg đọc lại con pic thì thấy phần code thử pic lại được ghi vào Eeprom? còn phần mã chương trình chỉ có bootloader?
                Bạn cho biết đã dùng Tiny Bootloader phiên bản nào, và như post trên tôi đã nêu, code đầy đủ của bootloader, để xem liệu bootloader có chạy đúng như "thiết kế" của bạn hay không.

                Thân,
                Biển học mênh mông, sức người có hạn.

                Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
                http://www.picvietnam.com/forum/showthread.php?t=1263

                Comment

                • namqn
                  Trưởng lão PIC bang
                  • Feb 2006
                  • 3020

                  #83
                  Nguyên văn bởi thaithienanh View Post
                  Thầy Namq cho em xin file hex của PIC 18f4550 chạy thạch anh 20 MHz và baurate 57600 nhé , em cảm ơn thầy.
                  Các từ cấu hình sau đã được dùng để dịch firmware cho bootloader:
                  Code:
                  	CONFIG	PLLDIV = 5, CPUDIV = OSC1_PLL2, USBDIV = 2
                  	CONFIG	FOSC = HSPLL_HS, FCMEN = OFF, IESO = OFF
                  	CONFIG	PWRT = ON, BOR = OFF, BORV = 2, VREGEN = OFF
                  	CONFIG	WDT = OFF, WDTPS = 128
                  	CONFIG	MCLRE = ON, LPT1OSC = OFF, PBADEN = OFF, CCP2MX = OFF
                  	CONFIG	STVREN = ON, LVP = OFF, ICPRT = OFF, DEBUG = OFF, XINST = OFF
                  Tập tin .hex được đính kèm. Chú ý: tần số làm việc của CPU là 48 MHz (96 MHz của khối PLL được chia cho 2).

                  Thân,
                  Attached Files
                  Biển học mênh mông, sức người có hạn.

                  Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
                  http://www.picvietnam.com/forum/showthread.php?t=1263

                  Comment

                  • thaithienanh
                    Đệ tử 7 túi
                    • Jul 2006
                    • 189

                    #84
                    Nguyên văn bởi namqn View Post
                    Thân,
                    Em vừa test fimware thầy cho, nhưng không thành công, tiny nó không nhận ra PIC, thầy cho em hỏi có cần phải chú ý điều gì về phần cứng khi sử dụng fimware này không . Về phần cứng của em em nghĩ đáng chú ý ở điểm chân 23 (chân D- của USB) em đã sử dụng cho giao tiếp I2C, vậy có ảnh hưởng gì đến cấu hình của PIC không ?
                    _____________________________Tri nhân tri tự bất tri tâm_____________________________
                    _ _ _ _ _ _ _ _ Yêu mến tất cả anh em Picvietnam.com _ _ _ _ _ _ _ _
                    . . . . . . . . . . . . . . . . Để post đuợc một câu hỏi rõ ràng xin tham khảo link sau : . . . . . . . . . . . . . . .
                    . . . . . . . . . . . . . . . . . http://www.picvietnam.com/forum/showthread.php?t=1263. . . . . . . . . . . . . . . .

                    Comment

                    • namqn
                      Trưởng lão PIC bang
                      • Feb 2006
                      • 3020

                      #85
                      Nguyên văn bởi thaithienanh View Post
                      Em vừa test fimware thầy cho, nhưng không thành công, tiny nó không nhận ra PIC, thầy cho em hỏi có cần phải chú ý điều gì về phần cứng khi sử dụng fimware này không . Về phần cứng của em em nghĩ đáng chú ý ở điểm chân 23 (chân D- của USB) em đã sử dụng cho giao tiếp I2C, vậy có ảnh hưởng gì đến cấu hình của PIC không ?
                      Tôi đã thử Tiny Bootloader v1.9.1 với firmware đã post lên, cho thấy bootloader làm việc tốt (xem hình chụp đính kèm).

                      Về phần cứng thử nghiệm, ngoài hai chân RX và TX của module EUSART, tôi còn một tụ điện 470 nF nối vào chân Vusb (chân 18) của PIC (bạn không nên nối gì khác vào chân này).

                      Tôi cho rằng việc dùng chân 23 của PIC cho giao tiếp I2C không ảnh hưởng đến bootloader.

                      Thân,
                      Attached Files
                      Biển học mênh mông, sức người có hạn.

                      Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
                      http://www.picvietnam.com/forum/showthread.php?t=1263

                      Comment

                      • namqn
                        Trưởng lão PIC bang
                        • Feb 2006
                        • 3020

                        #86
                        Tôi vừa kiểm tra lại tập tin .hex mà tôi đã upload ở bài viết #84, một dấu hiệu đáng ngờ là tập tin có ngày tháng được cập nhật là 04/8/2006, mặc dù tôi biên dịch hôm qua. Thông tin cấu hình trong tập tin đó bị thiếu (tôi cũng không rõ vì lý do gì, vì firmware được tôi biên dịch lại hôm nay cũng sử dụng cùng tập tin nguồn, trên cùng một máy tính).

                        Vì lý do trên, tôi upload lại firmware mà tôi vừa biên dịch và thử nghiệm vào hôm nay. Bạn thử lại xem bootloader có làm việc tốt hay không.

                        Thân,
                        Attached Files
                        Biển học mênh mông, sức người có hạn.

                        Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
                        http://www.picvietnam.com/forum/showthread.php?t=1263

                        Comment

                        • thaithienanh
                          Đệ tử 7 túi
                          • Jul 2006
                          • 189

                          #87
                          Nguyên văn bởi namqn View Post
                          Tôi vừa kiểm tra lại tập tin .hex mà tôi đã upload ở bài viết #84, một dấu hiệu đáng ngờ là tập tin có ngày tháng được cập nhật là 04/8/2006, mặc dù tôi biên dịch hôm qua. Thông tin cấu hình trong tập tin đó bị thiếu (tôi cũng không rõ vì lý do gì, vì firmware được tôi biên dịch lại hôm nay cũng sử dụng cùng tập tin nguồn, trên cùng một máy tính).

                          Vì lý do trên, tôi upload lại firmware mà tôi vừa biên dịch và thử nghiệm vào hôm nay. Bạn thử lại xem bootloader có làm việc tốt hay không.

                          Thân,
                          Hi cảm ơn thầy, với fimware mới này PIC chạy tốt rồi, àh chân 18 em sử dụng cho giao tiếp I2C (có treo một điện trở), nhưng mạch vẫn chạy tốt vậy là không ảnh hưởng ^^ vui rùi, em chúc thầy luôn khỏe để dành thời gian cho công việc giảng dạy thất tốt ạh
                          _____________________________Tri nhân tri tự bất tri tâm_____________________________
                          _ _ _ _ _ _ _ _ Yêu mến tất cả anh em Picvietnam.com _ _ _ _ _ _ _ _
                          . . . . . . . . . . . . . . . . Để post đuợc một câu hỏi rõ ràng xin tham khảo link sau : . . . . . . . . . . . . . . .
                          . . . . . . . . . . . . . . . . . http://www.picvietnam.com/forum/showthread.php?t=1263. . . . . . . . . . . . . . . .

                          Comment

                          • minhsondaklak
                            Đệ tử 5 túi
                            • Jan 2008
                            • 96

                            #88
                            Hình dung về Bootloader ?

                            Đọc xong phần bootloader, mình chợt nghĩ: Nó giống như là "hệ điều hành" của chip VĐK, tuỳ chọn cho VĐK nạp chương trình mới hay là chạy chương trình cũ đã nạp trước đó.
                            Việc hình dung nôm na như nhế có thể giúp bạn dể nắm bắt và dể nhớ về Bootloader.
                            Last edited by minhsondaklak; 12-08-2008, 08:22 AM.
                            minhsondaklak@yahoo.com

                            Comment

                            • namqn
                              Trưởng lão PIC bang
                              • Feb 2006
                              • 3020

                              #89
                              Nguyên văn bởi minhsondaklak View Post
                              Đọc xong phần bootloader, mình chợt nghĩ: Nó chính là "hệ điều hành" của chip VĐK, tuỳ chọn cho VĐK nạp chương trình mới hay là chạy chương trình cũ đã nạp trước đó.
                              Việc hình dung nôm na như nhế có thể giúp bạn dể nắm bắt và dể nhớ về Bootloader.
                              Nếu hình dung theo kiểu này thì bootloader trong PIC giống như bootloader của MBR hay của partition trong ổ đĩa của máy tính, cho phép bạn khởi động một trong những hệ điều hành trên đĩa, với ổ đĩa có nhiều hệ điều hành (vì vậy nên firmware loại này của PIC cũng được gọi là bootloader). Nếu gọi là hệ điều hành thì nó phải thường xuyên chạy và điều phối các ứng dụng trên PIC, bootloader không làm việc đó đâu.

                              Thân,
                              Biển học mênh mông, sức người có hạn.

                              Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
                              http://www.picvietnam.com/forum/showthread.php?t=1263

                              Comment

                              • kebitmat_f
                                Đệ tử 1 túi
                                • May 2006
                                • 12

                                #90
                                Em mới tìm hiểu về Pic. Định sử dụng nạp chương trình cho Pic6F877A bằng tiny bootloader. Nhưng vẫn lơ tơ mơ về cái cách này. Theo em hiểu : Ngoài mạch ứng dụng của Pic thì thiết kế thêm 2 module : mạch tinybootloader và RS232. Cái thằng RS232 em đọc tài liệu về nó thì bảo đó là một cách giao tiếp PC với thiết bị ngoại vi. Như thế nếu em có mạch tinybootloader rồi muốn nối với PC thì cần làm những gì? Nối vào các chân của tiny bootloader vào đâu của PC? hay là fai làm một mạch cứng nữa?
                                hic hic. Thấy bối rối quá.
                                Mong các bác chỉ giáo tận tình. Nếu có hướng dẫn cụ thể, chi tiết (từ cứng đến mềm)từng bước nạp cho Pic bằng tiny bootloader thì tốt quá.
                                Thanks !

                                Comment

                                Working...