Tôi đang làm việc với một hệ thống nhúng. Ứng dụng đang chạy trên AT91SAMxxxx và cortex m3 lpc17xxx. Tôi đang tìm kiếm vào phân bổ bộ nhớ động vì nó sẽ thay đổi đáng kể bộ mặt của ứng dụng (và cho tôi nhiều quyền lực hơn).malloc trong các hệ thống nhúng
Tôi nghĩ tuyến đường thực sự duy nhất của tôi là đặt ra một khu vực bộ nhớ cho một đống và thiết kế một malloc phù hợp nhất (pun) mục đích của tôi.
Khi xem các thuật toán khác nhau để cấp phát bộ nhớ, bạn không thể vấp ngã khi quảng cáo của Doug Lea. Tôi lấy nó này đã được sử dụng trong các hệ thống nhúng như của tôi, nơi không có hệ điều hành và các phiên bản phù hợp của hàm sbrk() đã được cung cấp để thực hiện điều này. Tôi đang cố gắng tìm ra những ví dụ điển hình về điều này để đạt được để có thể thử một bằng chứng về khái niệm trước khi tôi nhảy vào viết của riêng mình.
Có thể sử dụng dlmalloc trong hệ thống như của tôi không?
Nếu có, mọi người có thể chỉ cho tôi một tài nguyên liên quan không? (không tìm thấy nhiều người giúp tôi)
Tốt hơn là đi và viết malloc của riêng tôi được điều chỉnh theo nhu cầu của tôi?
Và xin lỗi hầu hết các nghiên cứu của tôi cho đến nay đã được thiết kế một malloc không sử dụng doug của đó là một thách thức khác nhau. Đoán tôi đang cố gắng để tìm hiểu là nhìn vào con đường này trong chiều sâu hơn một sự lãng phí thời gian.
Edit:
đạo đức của câu chuyện: nhìn vào dlmalloc trong trường hợp của tôi vô nghĩa.
Bạn có thực sự cần phân bổ bộ nhớ động trong ứng dụng nhúng của mình không? –
Các đặc điểm thực tế của phân bổ bạn cần hỗ trợ là gì? Bằng cách cụ thể hơn có lẽ bạn/chúng tôi có thể đưa ra một giải pháp lý tưởng hơn. –
Nó phụ thuộc rất nhiều vào bản chất phân bổ của bạn. Trong nhiều trường hợp, đủ để phân bổ động các khối có kích thước cố định. Điều này sẽ dễ thực hiện hơn nhiều so với phương thức phân bổ chung (mà sẽ có nhiều chi phí hơn về mặt thời gian và memroy, cần phải hợp nhất các khối miễn phí, v.v.). – Ctx