Thông báo

Collapse
No announcement yet.

MegaLoad - Bootloader for AVR

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

  • #46
    Nhân sờ đến ông Megaload mới phát hiện ra nếu không nhận tín hiệu từ cổng COM thì chương trình trong bootloader sẽ bị treo luôn. Vì vậy, mình viết thêm đoạn timeout vào đó để sau một thời gian nếu ko có tín hiệu từ cổng COM chương trình sẽ tự động nhảy qua phần app. Chi tiết xin xem thêm file đính kèm theo đây.
    Attached Files
    AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
    Xem thêm tại Online Store ---> Click here
    Mob: 0982.083.106

    Comment


    • #47
      Cái nút Send Reset trên phần mềm MegaLoad là để gửi 1 chuỗi kí tự "RESET" xuống AVR, tác giả làm Option cho người dùng...
      Còn một điều tôi ko hiểu tại sao, khi dùng đoạn code LockBits();, thì thấy EEPROM về giá trị 1 hết, bỏ đi lại chuẩn. Không hiểu tác giả lấy Byte lockbits ở đâu khi trên phần mềm MegaLoad ko có phần lockbits..
      |

      Comment


      • #48
        Bootload for avr

        Em down bootloader.rar về,dùng AVR studio để dịch nhưng nó cứ báo lỗi này ,không sao dịch được,các bác chỉ giúp em với,à bên file header của em như thế đã đủ chưa nhỉ
        Attached Files
        toanbk3i

        Comment


        • #49
          Nguyên văn bởi toan3idtvdk Xem bài viết
          Em down bootloader.rar về,dùng AVR studio để dịch nhưng nó cứ báo lỗi này ,không sao dịch được,các bác chỉ giúp em với,à bên file header của em như thế đã đủ chưa nhỉ
          Tại vì nó có viết bằng AVR studio đâu. Nó viết bằng ICCAVR mà.
          AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
          Xem thêm tại Online Store ---> Click here
          Mob: 0982.083.106

          Comment


          • #50
            Lập trình với ICCAVR

            Bác VNarmy lói qua về cách tạo bootload bằng ICCAVR giúp em với ,em quen dùng AVRstudio bây giờ chuyển qua cái này ngồi cả tối mò mãi không ra.
            toanbk3i

            Comment


            • #51
              Nguyên văn bởi toan3idtvdk Xem bài viết
              Bác VNarmy lói qua về cách tạo bootload bằng ICCAVR giúp em với ,em quen dùng AVRstudio bây giờ chuyển qua cái này ngồi cả tối mò mãi không ra.
              Bài hướng dẫn đã post ở bài đầu tiên của thread này. Bạn cứ từ từ ngâm cứu.
              AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
              Xem thêm tại Online Store ---> Click here
              Mob: 0982.083.106

              Comment


              • #52
                Nguyên văn bởi duyphi Xem bài viết
                Anh Cường không biết có thức khuya không mà giải thích nghe mà thấy mấy cả hồn luôn! He he, không biết có cái nào là Des-BootLoader???? Hay do anh Cường tự sáng kiến ra vậy!??? Xin chỉ bảo thêm để anh em sáng thêm với.
                Có cái Blasher này cũng bảo mật tuyệt đối này. Cái này có sẵn rồi. Khỏi phải nghĩ hoặc phát kiến. Còn source code cho bootloader trong chip để mấy hôm nữa tôi tung lên nốt cho anh em nghịch. Bạn xem và dùng thử nhá. Từ nay bạn cứ bootloader thoải mái, kể cả lúc bán sản phẩm ra, cho người dùng cập nhật firmware. Đố thằng nào ăn cắp được firmware của bạn!
                http://dientuvietnam.net/forums/showthread.php?t=26053
                Last edited by bvhoang; 21-06-2009, 11:51.

                Comment


                • #53
                  HexBlasher - Bootloader cho AVR

                  Giới thiệu với các bạn phần mềm bootloader cho AVR do tôi viết: HexBlasher. Chương trình này có ưu điểm sau:
                  - nạp trực tiếp file Hex, không như Blasher chỉ nạp file BIN.
                  - tự động cập nhật dữ liệu lúc dịch bootloader file hex.
                  - tự động liệt kê cổng COM có trong máy của bạn.
                  - tự động nhớ cổng COM và tốc độ baud được chọn.
                  - chương trình exe rất nhẹ, 600kbyte, viết bằng VC6, không cần cài Dotnet như cái megaloader.
                  - không bị màn hình xanh như CVmegaloader
                  - không rình liên tục để nạp lại chíp như CVmegaloader.
                  - hỗ trợ reset chíp thông qua chân RTS của cổng COM
                  - tác giả hứa sẽ support việc cập nhật phiên bản mới thường xuyên


                  Trong file zip mình gửi lên có sẵn firmware bootloader cho ATMEGA8, ATMEGA88 và ATMEGA32 (sẽ up nốt trong các bài sau). Các bạn down dùng và cho ý kiến nhá.
                  Attached Files

                  Comment


                  • #54
                    Source Code CVmegaload (Codevision)

                    Hi everyone!
                    Mình vừa ngồi nghịch sửa source megaload cho CodeVision của ông Ralph Hilton. Phần sửa đổi về cơ bản là giảm kích thước bootloader xuống (khoảng 20%), hỗ trợ thêm chip (ATMEGA8X). Mình post lên đây cho mọi người dùng.


                    Các bạn muốn sửa đổi thì vào phần Configure the Project trên menu và chọn lại chip, sau khi chọn lại chip thì chọn bootloader - 512w.
                    Bạn có thể chọn lại tốc độ baud bằng cách mở source ra và sửa lại dòng
                    #define BAUDRATE ...

                    Phần mềm bạn có thể dùng CVmegaload hoặc Blasher.

                    Have Fun!
                    Attached Files

                    Comment


                    • #55
                      Dùng thử bản mod của bác bvhoàng nhưng software vẫn cứ báo waiting for responds.. không nhận.
                      Có cách nào check thử không? Tôi làm theo trình tự:

                      -Config cho Codevision atmega8, 1MHz, thậm chí cài luôn UBRRH và UBRRL, program bootloader 512w
                      -Dịch và nạp file.hex cho atmega8
                      -phần cứng đấu nối uart rs232 (đã test)
                      -chạy phần mềm và load một program nháy led đơn giản và máy báo waiting for responds
                      Tôi có vài thắc mắc:
                      -giả sử tôi dùng mega8 có một bộ uart thôi, dùng bộ này làm bootloader rồi khi chạy chương trình cần chạy sẽ không dùng được uart?
                      -có cần set fuse mega8 cho đúng không? tôi set bootspace 512, 1024 đủ cả
                      -có cần set fuse bootreset? có set thử mà không tác dụng
                      -có cần manual reset không? sau khi nạp bootloader? trước khi update firmware?
                      cám ơn các bác
                      Đẹp từng kilomét

                      Comment


                      • #56
                        Nguyên văn bởi Kilodeth Xem bài viết
                        Dùng thử bản mod của bác bvhoàng nhưng software vẫn cứ báo waiting for responds.. không nhận.
                        Có cách nào check thử không? Tôi làm theo trình tự:

                        -Config cho Codevision atmega8, 1MHz, thậm chí cài luôn UBRRH và UBRRL, program bootloader 512w
                        -Dịch và nạp file.hex cho atmega8
                        -phần cứng đấu nối uart rs232 (đã test)
                        -chạy phần mềm và load một program nháy led đơn giản và máy báo waiting for responds
                        Tôi có vài thắc mắc:
                        -giả sử tôi dùng mega8 có một bộ uart thôi, dùng bộ này làm bootloader rồi khi chạy chương trình cần chạy sẽ không dùng được uart?
                        -có cần set fuse mega8 cho đúng không? tôi set bootspace 512, 1024 đủ cả
                        -có cần set fuse bootreset? có set thử mà không tác dụng
                        -có cần manual reset không? sau khi nạp bootloader? trước khi update firmware?
                        cám ơn các bác
                        Hello bạn kilodeth,

                        Thực ra con Mega8 mình đã test chán chê rồi mà. Đáng lẽ nó phải chạy chứ nhỉ


                        Cái boot size chỉ cần 512 words thôi. Cái fuse bootreset đương nhiên phải chọn rồi. Có một bộ UART người ta vẫn dùng vừa để boot và vừa để làm việc mà. Nếu phần cứng của bạn có đấu nối chân RTS đến chân reset của con Mega8 thì ko cần manual reset. Còn nếu không, sau khi nhấn nút write bạn phải manual reset.

                        Bạn chú ý chọn baud cho đúng. Có thể chương trình ko bắt tay được do tốc độ chăng. Bạn thử lại phát nữa xem?

                        Comment


                        • #57
                          Bootloader khá hay, tuy nhiên có 1 điều mình thấy là nếu dùng với Mega88 (UART của nó là PD0 với PD1) thì ko dùng LCD trên PORTD đc, có ai có thể giải thích hộ mình đc ko??? Khi mình dùng LCD thì ko thiết lập UART đâu, chỉ test LCD ko thôi

                          Comment


                          • #58
                            Các bác cho em hỏi cái này chỉ dùng cho com thôi à.Laptop dùng com ảo như vậy Mỗi lần update firmware thì lại phải cắm usb to com rồi boot .vậy thì khi thiết kế phần cứng ta phải thiết kế 1 khe cắm để boot riêng sao.Mong các bác chỉ giúp_thực sự em chưa rõ lắm.


                            Add: 97 Quán Nam - Lê Chân - Hải Phòng.
                            Tel: 031 518648 Phone: 0904 283 505

                            Comment


                            • #59
                              Xin các đại ca chỉ cho mấy chiêu về AVR. E mới bắt đầu nghiên cứu và có kế hoạch khai thác nó trong modul của con quay vi cơ 9Degree của Sparkfun. Đại ca nào sành chỉ giùm e với nhé. Thanks!

                              Comment


                              • #60
                                Bootloader Update

                                Hi all,

                                Lâu lắm rồi mới quay lại luồng này. Mình vừa nâng cấp phần mềm Blasher.
                                Thay đổi về giao diện là không nhiều, ngoại trừ việc thêm chức năng tự động ngắt kết nối sau khi nạp xong. Chức năng này sẽ tiết kiệm cho bạn một thao tác nhấn nút disconnect khi cần chuyển đổi cửa sổ chương trình Blasher và một chương trình debug qua RS232 nào đó.

                                Thêm một lưu ý khi dùng tiện ích bootloader này:
                                Trong firmware gốc trước đây không có đoạn mã đặt lại bảng vector ngắt cho con ATMEGA. Do đó, ở một số dòng chip, nếu bạn sử dụng ngắt cho chương trình ứng dụng thì chương ứng dụng của bạn sẽ nhảy về bảng vector ngắt của vùng boot, và do đó sẽ sập chương trình. Giải pháp là bạn nên thêm đoạn mã sau

                                Code:
                                #define IVCE   0
                                #define IVSEL  1  
                                GICR= 1;//(1<< IVCE);
                                GICR= 0;//(0<< IVSEL)|(0<< IVCE);
                                trong hàm ExecCode() của firmware bootloader trước khi nhảy về chương trình ứng dụng; hoặc bạn cũng có thể đặt đoạn đó ở đầu chương trình ứng dụng.

                                Mời các bạn tải về dùng.
                                Attached Files

                                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