Thông báo

Collapse
No announcement yet.

MegaLoad - Bootloader for AVR

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

  • MegaLoad - Bootloader for AVR

    0. Bootloader là gì:
    Bootloader là 1 phần mềm nhỏ (cỡ từ 256-4096 Word đối với AVR) nạp trong vi điều khiển và được chạy lúc khởi động. Phần mềm này có thể tải vào trong vi điều khiển chương trình của người sử dụng và sau đó thực thi chương trình này. Ưu điểm chính của bootloader là tốc độ nạp nhanh, nạp qua nhiều giao tiếp (RS232, SPI, I2C, thậm chí HDD, MMC v..v..). Với AVR thì bootloader được nạp vào cuối bộ nhớ Flash chương trình và bạn cần thiết lập các fuse bit để khi reset sẽ khởi động bootloader.

    Mình thấy bên PIC sử dụng bootloader rất phổ biến, tự hỏi sao box AVR ko thấy ai nhắc đến. Seach thì thấy có vài topic nhưng cũng ko cụ thể. Lúc seach trên mạng thấy cũng có rất nhiều bootloader cho AVR, thậm chí bên 3ihut còn có 1 bootloader của VN thì phải.

    Qua quá trình tìm hiểu, mình đang sử dụng Megaload vì nó có khá nhiều ưu điểm. Mình đưa lên đây cách sử dụng phiên bản này, kiểm tra trên Website tác giả thì thấy đã có phiên bản mới hơn rồi, bạn có thể lên tải bản mới này.

    Megaload NET Ver : 4.0b3 :
    + Small Bootloader code. Only 512 words if only flash prog is need (1024 word if flash & eeprom)
    + Auto baud configuration allowing any oscillator setup.
    + Only embedded requirement is RS232 connector like a MAX232.
    + Communicates at 9600,19200,38400,57600,115200bps on Com1 to 20
    + Simple Monitor window is available to help you to debug your code
    + Checksum everywhere to secure data
    + Automatic page retry, if error in flash programming
    + Automatic byte retry, if error in eeprom programming
    + Only program if file had change
    + Set & Clear DTR,RTS
    + Reset button

    Yêu cầu:
    + Phần cứng: chip ATmega, giao tiếp RS232
    + Phần mềm Megaload: chú ý để cài đặt thì PC cần có .NET framework
    Download tại: www.microsyl.com
    + Phần mềm PonyProg (hoặc phần mềm tương đương có khả năng nạp HEX file, thiết lập các fuse)
    Download tại: www.lancos.com
    + Phần mềm ICCAVR để biên dịch Bootloader
    Download tại: www.imagecraft.com
    Các phần mềm đều có thể tải trực tiếp và sử dụng một cách hợp pháp.

    Trên trang web đã có các hướng dẫn khá chi tiết, các bạn có thể làm theo. Ở đây tôi sẽ minh hoạ bằng cách setup trên chip Atmega8515
    Các bước cài đặt (giả thiết bạn đã cài đặt hoàn chỉnh các chương trình trên):
    chunhanhoabattu :rose:

  • #2
    1. Make bootloader:
    Mở ICCAVR rồi mở project bootloader trong thư mục cài đặt Megaload (thường là C:\Program Files\MegaLoad NET\Bootloader)
    Project gồm 2 file: assembly.s và main.c
    * Sửa file assembly.s : định nghĩa chip bạn sử dụng (set 1)



    * Sửa file main.c: chọn chip bạn sử dụng (#define)



    + Thiết lập bootloader trên cổng UART nào: ví dụ như Atmega128 có 2 UART



    + Thiết lập tốc độ baudrate:
    ở đây với thạch anh 8Mhz mình để định nghĩa là 12 --> @38,4 kbps, các bạn tham khảo để thiết lập tốc độ trong datasheet.
    Bootloader này có chế độ AutoBaudRate nếu bạn ko định nghĩa, nhưng mình thử thấy nó hoạt động ko tốt lắm. Các bạn có thể thử.



    + Định nghĩa thạch anh


    + Một số định nghĩa cho EEPROM, RS485, Programming lock bit (mình ko thiết lập)


    Như vậy là đã thiết lập xong, với mình ko thiết lập nạp EEPROM như trên thì dịch bootloader chỉ chiếm 512 Word, rất nhỏ so với Flash của họ ATmega.
    chunhanhoabattu :rose:

    Comment


    • #3
      * Thiết lập thông số cho trình biên dịch ICCAVR:
      Menu: Project\Options
      Ở Tab Target bạn chọn Device là ATmega8515, Program Type là Boot Loader, Boot Size là 512 Word


      OK, vậy là xong, biên dịch thôi (Project\Make Project…)
      chunhanhoabattu :rose:

      Comment


      • #4
        2. Nạp Bootloader cho ATmega
        * Sử dụng PonyProg nạp .HEX file cho chip



        * Lập trình các fuse bit để chip hoạt động ở chế độ Bootloader: bạn cần tham khảo các datasheet cụ thể của từng chip để thiết lập đúng.
        Đối với ATmega8515 như sau:
        + Fuse BOOTRST : cấm/cho phép bootloader
        + Fuse BOOTSZ1, BOOTSZ0 : quy định kích cỡ bootloader (tham khảo chi tiết ở Table 78)
        Thiết lập như sau với ATmega8515 - boot size 512Words:

        chunhanhoabattu :rose:

        Comment


        • #5
          3. Hoàn thành, sử dụng bootloader:

          Chạy MegaLoad và nạp bằng cách reset


          AVR fan!

          Dưới đây là bản MegaLoad sử dụng trong bài
          Attached Files
          chunhanhoabattu :rose:

          Comment


          • #6
            Em làm theo bác thấy chạy rất tốt! Mỗi tội thằng cha củ chuối nó bắt đọc manual lâu quá! Với lại cõng theo cái dotnet 23M thì hơi mệt!
            PNLab
            Mạch nạp/debug ULink2, Jlink ARM USB
            Mạch nạp AVR, PIC, 8051, MSP430 USB
            Mạch phát triển STM32, ARM9, ARM11
            more...www.pnlabvn.com

            Comment


            • #7
              Ngứa mắt quá không chịu được cái About của nó nên em đã giảm thời gian đọc xuống 0s. Bác nào cần thì tải về dùng! (Copy đè lên file MegaLoad .NET gốc trong thư mục cài đặt)
              Attached Files
              PNLab
              Mạch nạp/debug ULink2, Jlink ARM USB
              Mạch nạp AVR, PIC, 8051, MSP430 USB
              Mạch phát triển STM32, ARM9, ARM11
              more...www.pnlabvn.com

              Comment


              • #8
                Hihi sphinx giải quyết vấn đề 30s à

                Để thuận tiện tui đã chuyển thành file pdf cho ai cần thì tải về. Vì ảnh đang để ở 1 free host nên có thể thỉnh thoảng nó trục trặc. Còn forum thì hình như chỉ đính kèm file nên ko trình bày ảnh xen vào bài được thì phải. Hoặc tui ko biết cách, ai biết chỉ cho nhé ! ^_^
                Attached Files
                chunhanhoabattu :rose:

                Comment


                • #9
                  He he nghịch một lúc mới biết là mình dại!

                  Mở regedit ra, tìm đến key
                  [HKEY_CURRENT_USER\Software\Microsoft\Windows]
                  Sửa giá trị của "Startup" từ "False" thành "True"
                  Đóng regedit lại,thế là coi như ta đã đăng kí! Chẳng còn cái gì hiện lên nữa!

                  Bootload này kết hợp với cáp USB2COM thì tuyệt!


                  Lười thì tải file này về rồi chạy, input vào registry!
                  Nội dung file CrackMegaLoad.reg
                  Windows Registry Editor Version 5.00

                  [HKEY_CURRENT_USER\Software\Microsoft\Windows]
                  "Startup"="True"
                  Attached Files
                  PNLab
                  Mạch nạp/debug ULink2, Jlink ARM USB
                  Mạch nạp AVR, PIC, 8051, MSP430 USB
                  Mạch phát triển STM32, ARM9, ARM11
                  more...www.pnlabvn.com

                  Comment


                  • #10
                    Bổ xung cách set các thiết lập khi bạn sử dụng AVRISP trong AVR Studio 4.1x với MegaLoad
                    Attached Files

                    Comment


                    • #11
                      Bản Megaload mới 5.0b1 tác giả đã bỏ phần bắt đăng ký và chờ trước khi chạy CT rồi.
                      Down tại microsyl.com

                      Have fun!
                      chunhanhoabattu :rose:

                      Comment


                      • #12
                        Muốn bảo mật code ứng dụng trong chip khi sử dụng Bootloader thì kiếm cái DES BootLoader. Ứng dụng được mã hóa dưới dạng DES nên khi đạo tặc chôm mắt hex code trong app thì còn cần phải giải mã ra mới sử dụng được. Nói chung Boot Loader chỉ dùng để học. Làm ứng dụng rất củ chuối nếu cần bảo mật code, else làm rất sướng khi bảo hành nạp lại hay nâng cấp firmware.

                        Comment


                        • #13
                          xin hoi vi sao dang nhap rat kho khan

                          Chao cac ban, minh cung muon tham gia dien dan, nhat la muc vi dieu khien. Minh da dang ky thanh vien, nhung khong hieu sao minh dang nhap vao dien dan rat kho, sau loi chao dang nhap thanh cong, lai quay ve trang de nghi dang nhap. Quay toi quay lui den trang nay thi minh lai duoc quyen trao doi.
                          Cac ban quan ly dien dan co the giup minh duoc khong ?
                          Cam on cac ban nhieu.
                          Co cong mai sat co ngay nen kim !

                          Comment


                          • #14
                            Hỏi về Bootloader

                            Các bác ạ, em mới vào nghề AVR được một thời gian ngắn. Quả thực còn nhiều vấn đề cần học hỏi quá. Xin các bác giải thích cho em cái Bootloader là cái gì, công dụng nó ra sao và dùng nó khi nào. Mong các bác chỉ cho em hiểu.

                            Cảm ơn các bác nhiều.
                            Em vẫn đang học và thấy cần phải học.
                            Tiền thì ai cũng cần, học để làm ra tiền thì ít ai làm được.

                            Comment


                            • #15
                              Muốn bảo mật code ứng dụng trong chip khi sử dụng Bootloader thì kiếm cái DES BootLoader. Ứng dụng được mã hóa dưới dạng DES nên khi đạo tặc chôm mắt hex code trong app thì còn cần phải giải mã ra mới sử dụng được
                              bootloader nào có mã hóa DES hả bác? Bác cho em cái link với.
                              Tức là code mã hóa, xong lúc chạy thì tự nó giải mã ra hả bác?

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X