Mỗi công việc có trạng thái độc đáo của riêng của nó được cấp phát bởi hạt nhân với nhiệm vụ khi
nhiệm vụ được tạo ra. Giá trị usStackDepth cho hạt nhân lớn như thế nào để thực hiện các
ngăn xếp.
Giá trị chỉ định số từ ngăn xếp có thể giữ, không phải số lượng
byte. Ví dụ, nếu ngăn xếp là 32 bit rộng và usStackDepth được truyền trong như
100, sau đó 400 byte dung lượng ngăn xếp sẽ được phân bổ (100 * 4 byte). Ngăn xếp
chiều sâu nhân với chiều rộng chồng không vượt quá giá trị tối đa có thể
được chứa trong một biến của kiểu size_t.
kích thước của stack được sử dụng bởi nhiệm vụ nhàn rỗi được xác định bởi các ứng dụng được xác định
liên tục configMINIMAL_STACK_SIZE. Giá trị được gán cho hằng số này trong
ứng dụng giới thiệu FreeRTOS cho kiến trúc vi điều khiển được sử dụng là
tối thiểu khuyến khích cho bất cứ công việc. Nếu công việc của bạn sử dụng rất nhiều không gian ngăn xếp
sau đó bạn sẽ cần phải chỉ định một giá trị lớn hơn.
Có là không có cách nào dễ dàng để xác định không gian ngăn xếp theo yêu cầu của một nhiệm vụ. Nó là
nhất có thể để tính toán, nhưng hầu hết người dùng sẽ chỉ đơn giản là chỉ định những gì họ nghĩ là một
hợp lý, sau đó sử dụng các tính năng được cung cấp bởi FreeRTOS để đảm bảo cả hai
không gian phân bổ là thực sự đầy đủ, và rằng RAM không phải là
lãng phí không cần thiết. Chương 6 chứa thông tin về làm thế nào để truy vấn các
ngăn xếp không gian được sử dụng bởi một nhiệm vụ.
đang được dịch, vui lòng đợi..
