Thông báo

Collapse
No announcement yet.

[Help] Tính toán lượng RAM cần dùng

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

  • [Help] Tính toán lượng RAM cần dùng

    Em đang có 1 bài toán cần sử dụng khá nhiều biến , nhưng ko biết là có nên dùng RAM ngoài hay không .Đang phân vân về việc sử dụng RAM cho vi điều khiển , ko hiểu những dữ liệu kiểu gì sẽ đc đẩy ra RAM ? Bác nào rành thì cho em ý kiến đc ko ạ ?
    P/s em xài atmega64. Các ơn bác nhatson.elec đã nhắc
    Last edited by dnk0904; 29-08-2009, 10:14.

  • #2
    ko biết bác tính dùng con MCU dì nhi?

    b.r

    Comment


    • #3
      Những biến thay đổi thường xuyên sẽ được đẩy ra ram hoặc eeprom. Mình cũng ko xài AVR nên cũng chả rõ khai báo nó kiểu gì. Còn với 8051 (mình dùng KeilC) thì hoàn toàn có thể định vị vị trí cho từng biến khai báo. Còn nếu không định vị cho nó thì trình dịch sẽ tự quyết định xem cho cái biến đó vào vị trí nào. Nói chung là máy thì không thông minh hơn người được . Mình bắt máy làm hộ chẳng qua là do mình lười thôi.

      Comment


      • #4
        Nguyên văn bởi L.A.Z.Y Xem bài viết
        Mình bắt máy làm hộ chẳng qua là do mình lười thôi.
        Không phải do mình lười mà là do mình không làm được mình mới bắt nó làm

        Comment


        • #5
          hic... bạn nói vậy cũng pó tay.. bài toán của bạn là j, cần xử lí những j, chứ nói như bạn.. hic... trời mới biết cần bao nhiêu ram. con m64 có 4Kb ram đấy

          Comment


          • #6
            lắp ram ngoài thì với các thiết bị ngày xưa do chưa tích hợp được , giá thành tích hợp cao, nay thì con này ko dủ ram thì dùng con khác cho đủ. trừ những hệ thống nhứng lớn như arm7, arm9 thì ram ngoại là bắt buộc.

            Comment


            • #7
              Bài toán em đang làm dở , nếu đã code xong thì ko nói chuyện làm gì . Ý em là hỏi các bác xem con avr nó đẩy những gì ra RAM . Theo em nghĩ thì trên RAM nó chỉ lưu các biến mình khai báo và tính toán trên các biến đó , vì em code bằng C nên càng khó tính toán hơn . Với lưu lượng con AT16 như bác nói là 4KB chứ ko phải là 4Kb . Nếu sử dụng biến kiểu int hay char ( 8bit= 1 byte) thì có thể khai báo khá nhiều, cụ thể là nếu em làm đến mảng , xâu , chuỗi vvv...vv có lẽ khá thỏa mái phải ko ạ
              Em hỏi câu nữa : nếu lượng RAM quá nhỏ so yêu cầu thì sao ạ , chắc ko đến mức VĐK ko chạy nổi

              Comment


              • #8
                ko còn biến >>> MCU vẫn chạy nhưng bị sai kết wa, nên tính toán lại các biến đề xem biến nào là biến tạm, biến nào sẽ giữ nguyên như vậy việc sử dụng ram sẽ hiệu quả hơn.

                b.r

                Comment


                • #9
                  Nguyên văn bởi dnk0904 Xem bài viết
                  Bài toán em đang làm dở , nếu đã code xong thì ko nói chuyện làm gì . Ý em là hỏi các bác xem con avr nó đẩy những gì ra RAM . Theo em nghĩ thì trên RAM nó chỉ lưu các biến mình khai báo và tính toán trên các biến đó , vì em code bằng C nên càng khó tính toán hơn . Với lưu lượng con AT16 như bác nói là 4KB chứ ko phải là 4Kb . Nếu sử dụng biến kiểu int hay char ( 8bit= 1 byte) thì có thể khai báo khá nhiều, cụ thể là nếu em làm đến mảng , xâu , chuỗi vvv...vv có lẽ khá thỏa mái phải ko ạ
                  Em hỏi câu nữa : nếu lượng RAM quá nhỏ so yêu cầu thì sao ạ , chắc ko đến mức VĐK ko chạy nổi
                  ah.. nghĩa là bạn viết ctr, bị lỗi nhưng ko biết có phải bị chỗ này hay ko chứ j. bạn viết C mà bằng CodeVision hay là Studio hay là thằng nào, mà hầu hết khi dịch nó đều báo số data đã sử dụng. và nó sẽ báo có lỗi nếu bạn sử dụng vượt Ram.

                  Comment


                  • #10
                    Nguyên văn bởi dt_love Xem bài viết
                    ah.. nghĩa là bạn viết ctr, bị lỗi nhưng ko biết có phải bị chỗ này hay ko chứ j. bạn viết C mà bằng CodeVision hay là Studio hay là thằng nào, mà hầu hết khi dịch nó đều báo số data đã sử dụng. và nó sẽ báo có lỗi nếu bạn sử dụng vượt Ram.
                    Cũng không hẳn vậy , em cần làm phần cứng trước khi code cho nó vì cần điều kiện thực tế nhiều ( kiểu robot dò đường vậy) vậy nên cần tính toán có nên dùng RAM ngoài hay ko . Nếu mà đã làm xong phần cứng mà bị lỗi thì hơi bị dở , mà RAM với chốt đâu có rẻ gì cho cam , nếu mà rẻ thì cứ cắm vô mà xài thôi

                    Comment


                    • #11
                      Nguyên văn bởi nhatson.elec Xem bài viết
                      ko còn biến >>> MCU vẫn chạy nhưng bị sai kết wa, nên tính toán lại các biến đề xem biến nào là biến tạm, biến nào sẽ giữ nguyên như vậy việc sử dụng ram sẽ hiệu quả hơn.

                      b.r
                      ANh nói rõ xem biến nào là biến tạm , biến nào là biến dữ nguyên , anh nói vậy mơ hồ quá

                      Comment


                      • #12
                        Nguyên văn bởi dnk0904 Xem bài viết
                        ANh nói rõ xem biến nào là biến tạm , biến nào là biến dữ nguyên , anh nói vậy mơ hồ quá
                        Biến tạm là biến thay đổi thường xuyên trong chương trình. Tất nhiên có thể vừa đọc vừa ghi. trong trường hợp đó nhất định phải lưu vào RAM hoặc EEPROM hay đại loại cái gì đó tương đương. Biến giữ nguyên chính là hằng số ấy. Giống như bạn tạo một cái bảng tra thì những biến trong cái mảng đó chỉ cần đọc chứ không cần ghi trong quá trình chạy chương trình. Do đó có thể để nó trong bộ nhớ code (ROM)

                        Comment


                        • #13
                          nếu bạn viết cho ứng dụng bình thường thì ko sử dụng nhiều Ram đâu, chỉ cho những tr hợp cần ram để lưu data dưới dạng mảng, như là xử lí FFT, quét led matrix.. thì mới cần nhiều ram.
                          mà 4KB là nhiều nếu bạn sử dụng hợp lí.

                          biến tạm: là biến mà sau khi sử dụng xong, nó sẽ trả lại ô nhớ đó để sử dụng tiếp. như là các biến khai báo trong các ctrinh con.
                          biến giữ nguyên: là các biến khi được khai báo là nó sẽ chiếm dụng bộ nhớ và sẽ ko trả lại bộ nhớ đó cho ctrinh. như là các biến toàn cục, biến tĩnh trong ctrinh con (được khai báo ở dạng static)..

                          Comment


                          • #14
                            Không biết bác xài compiler nào, nếu là codevision thì cứ viết code thoải mái sau khi dịch sẽ hiển thị phần thông tin về code bác chiếm bao nhiêu byte RAM, bao nhiêu flash..
                            Attached Files
                            Đã bỏ nghề về quê chăn gà...

                            Comment


                            • #15
                              Nguyên văn bởi Katecka Xem bài viết
                              Không biết bác xài compiler nào, nếu là codevision thì cứ viết code thoải mái sau khi dịch sẽ hiển thị phần thông tin về code bác chiếm bao nhiêu byte RAM, bao nhiêu flash..
                              hình như 2 dòng đó chưa thể hiện đầy đủ thông tin về lượng ram sử dụng trong ctrinh đâu bạn ah

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X