Thông báo

Collapse
No announcement yet.

bootloader

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

  • bootloader

    cho mình hỏi tí về cái boot của con avr
    khi mình có một sẵn chương trình trong boot khi ta nap code trong aplication thì có ảnh hưởng gì tới chương trình trong boot ko. khi ta muốn xóa chương trình boot thì phải làm sao. mong mọi người giúp đỡ. tui nghiên cứu cũng nhiều rồi. nhưng có mỗi việc này không thấy ai đề cập đến nên chưa dám viết thử ( vì tôi đang dùng con mega128 dán mà lỡ có bề gì thì...)

  • #2
    khi bạn nạp code trong aplication tu ct boot của avr thì tùy vào mã code trong ct boot, còn nếu bạn nạp code từ ct khác thì phải erase chip->đoạn code trong vùng boot cũng bị xóa.

    Comment


    • #3
      cảm ơn bạn rất nhiều. do chương trình boot của mình không thực hiện nhiệm vụ lập trình cho flash mà nó chỉ ghi một đoạn mã dữ liệu vào trong flash. vì mình thấy với con 128 thì flash có quá nhiều không xài hết thì phí quá. mình muốn dùng một phần của nó làm bộ nhớ dữ liệu.ví dụ như việc làm quan báo chẳng hạng.
      Mình muốn thay đổi phần main bằng bộ nạp của codevision ( do mới thử nghiệm nên chương trình phải thay đổi nhiều lần)
      nếu như bạn nói thì khi ta dùng codevision để nạp thì nó sẽ xóa luôn cả boot phải không.

      Comment


      • #4
        Tất nhiên code mới sẽ đè lên code cũ rồi vì chỉ có trình dịch mới biết code của bạn là boot hay application chứ thằng programmer có biết đâu. Nếu muốn dùng bộ nhớ chương trình làm bộ nhớ dữ liệu thì bạn cứ khai báo mảng bình thường thôi(chỉ cần thêm từ khóa flash vào đầu khai báo). rồi dùng boot mà nạp.

        Comment


        • #5
          Bạn nên phân biệt giữa boot loader và app. Boot loader thường chỉ được nạp 1 lần đầu tiên và nó đc nạp qua bộ nạp thông thường. Còn app sẽ thay đổi nhiều lần và được nạp bằng chương trình bootloader đặc biệt như Megaload chẳng hạn. Cổng nạp vào cho nó có thể là cổng nối tiếp, SPI...
          Còn làm quang báo thì tôi thấy thông thường font cứng sẽ được chứa trong flash. Kỹ thuật load ra như thế nào thì cần tìm hiểu thê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


          • #6
            chương trình boot của mình không sử dụng nhằm nạp app mà chỉ dùng để thay đổi dữ liệu đã nằm trong flash. ví dụ như nó dùng để giao tiếp với người dùng để người dùng có thể thay đổi bộ font chữ mới.

            Comment


            • #7
              Khi ta khai báo một hằng số (const) thì hằng này cũng được lưu vào flash. Vậy nếu bác muốn tận dụng flash để chưa data thì hãy khai báo thật nhiều hằng

              Comment


              • #8
                ý tôi không phải là tạo ra data trong app mà là app sẽ truy cập vào vùng data đó. boot làm nhiệm vụ giao tiếp với một chương trình trên máy tính để thay đổi giá trị trong mãng data đó. khi đó người sử dụng sẽ dùng một chương trình trên máy tính (không phải programer) để thay đổi data theo ý của họ. ở đây mình ví dụ một trường hợp tiêu biểu là người sử dụng sẽ thay đổi nội dung của bảng quan báo mà họ đang sử dụng chẳng hạn, khi đó họ không cần phải thay đổi code mà chỉ sử dụng phần mềm chạy từ boot để thay đổi data đó mà thôi.

                Comment


                • #9
                  Việc đó không khó đâu. Bạn cứ nghiên cứu kĩ một chương trình bootloader sẽ thấy nó cực dễ là khác. AVR có tính năng self programming 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


                  • #10
                    tôi cũng nghĩ vậy. chương trình mẫu tôi đã đọc qua và cũng tạm hiểu rồi. cái tôi quan tâm là sau khi mình set các fuse bit khi nạp boot bằng codevision thì khi mình dùng codevision để nạp app thì nó có xóa đi các fusebit đó không. nếu xóa thì vector nhảy tới boot sẽ xóa theo luôn còn gì.

                    Comment


                    • #11
                      Codevision ko nạp app bạn à. Nó chỉ nạp boot thôi. App thì phải nạp băng megaload (chẳng hạn)
                      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


                      • #12
                        codevision có thể nạp boot và app tùy theo bạn chọn trong mục project->congfure-> c compiler->program type. Bạn xem lại đi.

                        Comment


                        • #13
                          Nguyên văn bởi t3h Xem bài viết
                          tôi cũng nghĩ vậy. chương trình mẫu tôi đã đọc qua và cũng tạm hiểu rồi. cái tôi quan tâm là sau khi mình set các fuse bit khi nạp boot bằng codevision thì khi mình dùng codevision để nạp app thì nó có xóa đi các fusebit đó không. nếu xóa thì vector nhảy tới boot sẽ xóa theo luôn còn gì.
                          bạn nên dich từ file hex sang .bin của cả hai file boot và app, sau đó ghép 2 file .bin lại bằng 1 ct nào đó thành 1 file .bin (địa chỉ file app bắt đầu từ 0, địa chỉ file boot tùy thuộc vào các fuse bootsz), set các puse phù hợp sau đó nạp vào AVR.

                          Comment


                          • #14
                            bạn thong_camau nói có lý đó. cảm ơn bạn nhiều. mình con băng khoăn ở chổ. khi mình chuyển tất cả các ngắt xuống vùng boot thì khi mình viết cho app thì các ngắt được đặt tên như thế nào để có thể hiểu là các ngắt nằm trong boot. tối nay mình đang viết cho nó đây. bước đầu tiến triển rất tốt. việc lập và xóa boot đã ổn rồi. chuyển đổi giữa boot và app cũng rất ok. chỉ còn thiếu là làm sau cho thật linh hoạt thôi (ở chổ dùng ngắt đó)

                            Comment


                            • #15
                              bạn thong chắc tìm hiểu kĩ về vụ này lắm rồi phải không. chỉ giáo với. mình đang ngồi viết cho nó đây. chắc đêm nay là ok. việc thực hiện boot không khó như mình nghĩ lúc đầu.

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X