{"id":23600,"date":"2026-05-07T03:02:30","date_gmt":"2026-05-07T03:02:30","guid":{"rendered":"https:\/\/umang.pk\/2026\/05\/07\/%d8%a2%d8%a6%db%8c-%d9%b9%db%8c-%d8%b3%db%8c-%d8%a7%db%8c%d9%85-%d8%a8%d9%85%d9%82%d8%a7%d8%a8%d9%84%db%81-%da%88%db%8c-%d9%b9%db%8c-%d8%b3%db%8c-%d8%a7%db%8c%d9%85-%d8%a8%d9%85%d9%82%d8%a7%d8%a8\/"},"modified":"2026-05-07T03:02:30","modified_gmt":"2026-05-07T03:02:30","slug":"%d8%a2%d8%a6%db%8c-%d9%b9%db%8c-%d8%b3%db%8c-%d8%a7%db%8c%d9%85-%d8%a8%d9%85%d9%82%d8%a7%d8%a8%d9%84%db%81-%da%88%db%8c-%d9%b9%db%8c-%d8%b3%db%8c-%d8%a7%db%8c%d9%85-%d8%a8%d9%85%d9%82%d8%a7%d8%a8","status":"publish","type":"post","link":"https:\/\/umang.pk\/en_us\/2026\/05\/07\/%d8%a2%d8%a6%db%8c-%d9%b9%db%8c-%d8%b3%db%8c-%d8%a7%db%8c%d9%85-%d8%a8%d9%85%d9%82%d8%a7%d8%a8%d9%84%db%81-%da%88%db%8c-%d9%b9%db%8c-%d8%b3%db%8c-%d8%a7%db%8c%d9%85-%d8%a8%d9%85%d9%82%d8%a7%d8%a8\/","title":{"rendered":"\u0622\u0626\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645 \u0628\u0645\u0642\u0627\u0628\u0644\u06c1 \u0688\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645 \u0628\u0645\u0642\u0627\u0628\u0644\u06c1 \u0688\u06cc \u0688\u06cc \u0622\u0631: \u0627\u06cc\u0645\u0628\u06cc\u0688\u0688 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06cc \u0627\u0642\u0633\u0627\u0645 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u06cc \u06af\u0626\u06cc [Full Handbook]"},"content":{"rendered":"\n<div id=\"\">\n<p>\u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0627\u06cc\u0645\u0628\u06cc\u0688\u0688 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0632 \u06a9\u0648 \u0627\u0628\u062a\u062f\u0627\u0626\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0627\u0633 \u0645\u0633\u0626\u0644\u06d2 \u06a9\u0627 \u0633\u0627\u0645\u0646\u0627 \u06a9\u0631\u0646\u0627 \u067e\u0691\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u06c1\u06cc \u067e\u0631\u0648\u0633\u06cc\u0633\u0631 \u067e\u0631 \u0627\u06cc\u06a9 \u06c1\u06cc \u06a9\u0648\u0688 \u0627\u06cc\u06a9 \u0645\u0646\u0638\u0631 \u0646\u0627\u0645\u06d2 \u0645\u06cc\u06ba \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u0686\u0644 \u0633\u06a9\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u062f\u0648\u0633\u0631\u06d2 \u0645\u06cc\u06ba \u0646\u0627\u0642\u0627\u0628\u0644 \u06cc\u0642\u06cc\u0646 \u062d\u062f \u062a\u06a9 \u0633\u0633\u062a\u06d4 \u0645\u062c\u0631\u0645 \u062a\u0642\u0631\u06cc\u0628\u0627\u064b \u06c1\u0645\u06cc\u0634\u06c1 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 <em>\u06a9\u06c1\u0627\u06ba<\/em> \u06a9\u0648\u0688 \u0627\u0648\u0631 \u0688\u06cc\u0679\u0627 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0645\u06cc\u06ba \u0645\u062d\u0641\u0648\u0638 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0688\u06cc\u0633\u06a9 \u0679\u0627\u067e \u0627\u0648\u0631 \u0633\u0631\u0648\u0631 \u067e\u0631\u0648\u0633\u06cc\u0633\u0631 \u0645\u0644\u0679\u06cc \u0644\u06cc\u0648\u0644 \u06a9\u06cc\u0686\u0632 \u06a9\u06d2 \u067e\u06cc\u0686\u06be\u06d2 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06cc \u062a\u0627\u062e\u06cc\u0631 \u06a9\u0648 \u0686\u06be\u067e\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0628\u06c1\u062a \u0633\u06d2 \u0627\u06cc\u0645\u0628\u06cc\u0688\u0688 \u067e\u0631\u0648\u0633\u06cc\u0633\u0631\u0632\u060c \u062e\u0627\u0635 \u0637\u0648\u0631 \u067e\u0631 ARM Cortex-M \u0627\u0648\u0631 Cortex-R \u067e\u0631 \u0645\u0628\u0646\u06cc \u0686\u067e\u0633\u060c \u0627\u06cc\u06a9 \u0645\u062e\u062a\u0644\u0641 \u0637\u0631\u06cc\u0642\u06c1 \u0627\u062e\u062a\u06cc\u0627\u0631 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0622\u067e \u0645\u062a\u0639\u062f\u062f \u0645\u06cc\u0645\u0648\u0631\u06cc \u0648\u0627\u0644\u06d2 \u0639\u0644\u0627\u0642\u0648\u06ba \u06a9\u0648 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u06a9\u0646\u0679\u0631\u0648\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u06c1\u0631 \u0627\u06cc\u06a9 \u0628\u06c1\u062a \u0645\u062e\u062a\u0644\u0641 \u06a9\u0627\u0631\u06a9\u0631\u062f\u06af\u06cc \u06a9\u06cc \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be\u06d4<\/p>\n<p>\u06cc\u06c1 \u06c1\u06cc\u0646\u0688 \u0628\u06a9 \u0627\u0633 \u0628\u0627\u062a \u06a9\u0627 \u0627\u062d\u0627\u0637\u06c1 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u06a9\u06c1 ITCM\u060c DTCM\u060c \u0627\u0648\u0631 DDR \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06cc\u0627 \u06c1\u06cc\u06ba\u060c \u06a9\u06cc\u0627 \u0641\u0631\u0642 \u06c1\u06cc\u06ba\u060c \u06a9\u0648\u0688 \u0627\u0648\u0631 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u0635\u062d\u06cc\u062d \u0639\u0644\u0627\u0642\u0648\u06ba \u0645\u06cc\u06ba \u06a9\u06cc\u0633\u06d2 \u0631\u06a9\u06be\u0627 \u062c\u0627\u0626\u06d2\u060c \u0627\u0648\u0631 \u0648\u0642\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0633\u0627\u062a\u06be \u0641\u0631\u0645 \u0648\u06cc\u0626\u0631 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc \u067e\u0631\u0648\u0641\u0627\u0626\u0644 \u0627\u0648\u0631 \u0646\u06af\u0631\u0627\u0646\u06cc \u06a9\u06cc\u0633\u06d2 \u06a9\u06cc \u062c\u0627\u0626\u06d2\u06d4<\/p>\n<h2 id=\"heading-table-of-contents\">\u0627\u0646\u0688\u06cc\u06a9\u0633<\/h2>\n<h2 id=\"heading-prerequisites\">\u0634\u0631\u0637\u06cc\u06ba<\/h2>\n<p>\u0627\u0633 \u06af\u0627\u0626\u06cc\u0688 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0641\u0627\u0626\u062f\u06c1 \u0627\u0679\u06be\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0622\u067e \u06a9\u0648 C \u067e\u0631\u0648\u06af\u0631\u0627\u0645\u0646\u06af \u06a9\u06cc \u0628\u0646\u06cc\u0627\u062f\u06cc \u0633\u0645\u062c\u06be \u06c1\u0648\u0646\u06cc \u0686\u0627\u06c1\u06cc\u06d2\u060c \u0628\u0634\u0645\u0648\u0644 \u067e\u0648\u0627\u0626\u0646\u0679\u0631\u0632\u060c \u0688\u06be\u0627\u0646\u0686\u06d2\u060c \u0627\u0648\u0631 \u062c\u0627\u0645\u062f \u0627\u0648\u0631 \u0645\u0642\u0627\u0645\u06cc \u0645\u062a\u063a\u06cc\u0631 \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0641\u0631\u0642\u06d4<\/p>\n<p>\u0627\u06cc\u0645\u0628\u06cc\u0688\u0688 \u0688\u0648\u06cc\u0644\u067e\u0645\u0646\u0679 \u062a\u0635\u0648\u0631\u0627\u062a \u0633\u06d2 \u06a9\u0686\u06be \u0648\u0627\u0642\u0641\u06cc\u062a \u062d\u0627\u0635\u0644 \u06a9\u0631\u0646\u0627 \u0645\u062f\u062f\u06af\u0627\u0631 \u062b\u0627\u0628\u062a \u06c1\u0648\u06af\u0627\u060c \u062c\u06cc\u0633\u06d2 \u06a9\u06c1 \u0679\u0627\u0631\u06af\u0679 \u0628\u0648\u0631\u0688 \u0645\u06cc\u06ba \u0641\u0631\u0645 \u0648\u06cc\u0626\u0631 \u06a9\u0648 \u0645\u0631\u062a\u0628 \u06a9\u0631\u0646\u0627\u060c \u0644\u0646\u06a9 \u06a9\u0631\u0646\u0627 \u0627\u0648\u0631 \u0686\u0645\u06a9\u0627\u0646\u0627\u06d4<\/p>\n<p>\u0622\u062e\u0631 \u0645\u06cc\u06ba\u060c \u0627\u06cc\u06a9 \u0639\u0627\u0645 \u0641\u06c1\u0645 \u06a9\u06c1 \u06a9\u0633 \u0637\u0631\u062d \u0627\u06cc\u06a9 CPU \u06c1\u062f\u0627\u06cc\u0627\u062a \u06a9\u0648 \u062d\u0627\u0635\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633 \u067e\u0631 \u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u0627\u0631\u06a9\u0631\u062f\u06af\u06cc \u06a9\u06d2 \u0645\u0628\u0627\u062d\u062b \u06a9\u0648 \u0633\u0645\u062c\u06be\u0646\u06d2 \u0645\u06cc\u06ba \u0622\u0633\u0627\u0646 \u0628\u0646\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u067e \u06a9\u0648 \u0627\u0646 \u0645\u06cc\u06ba \u0633\u06d2 \u06a9\u0633\u06cc \u0645\u06cc\u06ba \u0645\u0627\u06c1\u0631 \u06c1\u0648\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0645\u0636\u0645\u0648\u0646 \u06c1\u0631 \u062a\u0635\u0648\u0631 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u06cc\u0633\u0627 \u06a9\u06c1 \u06cc\u06c1 \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-why-embedded-memory-architecture-matters\">\u0627\u06cc\u0645\u0628\u06cc\u0688\u0688 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0622\u0631\u06a9\u06cc\u0679\u06cc\u06a9\u0686\u0631 \u06a9\u06cc\u0648\u06ba \u0627\u06c1\u0645\u06cc\u062a \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4<\/h2>\n<p>\u062c\u062f\u06cc\u062f \u0627\u06cc\u0645\u0628\u06cc\u0688\u0688 \u067e\u0631\u0648\u0633\u06cc\u0633\u0631\u0632 \u06a9\u0648 400 \u0645\u06cc\u06af\u0627 \u06c1\u0631\u0679\u0632 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u067e\u0631 \u06a9\u0644\u0627\u06a9 \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u0622\u067e \u06c1\u0631 \u0686\u0646\u062f \u0646\u06cc\u0646\u0648 \u0633\u06cc\u06a9\u0646\u0688 \u0645\u06cc\u06ba \u06a9\u0645\u0627\u0646\u0688 \u0686\u0644\u0627 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u062a\u0627\u06c1\u0645\u060c \u0627\u06af\u0631 \u0622\u067e \u06a9\u0648 \u0627\u0633 \u06c1\u062f\u0627\u06cc\u062a \u06a9\u0648 \u0628\u0627\u0632\u06cc\u0627\u0641\u062a \u06a9\u0631\u0646\u06d2 \u06cc\u0627 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0633\u06d2 \u0645\u062a\u063a\u06cc\u0631 \u06a9\u0648 \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 \u062a\u0648\u060c \u0645\u06cc\u0645\u0648\u0631\u06cc \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4 \u067e\u0631\u0648\u0633\u06cc\u0633\u0631 \u0628\u0627\u0644\u0622\u062e\u0631 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0633\u0628 \u0633\u0633\u0679\u0645 \u06a9\u06d2 \u0627\u0646\u062a\u0638\u0627\u0631 \u0645\u06cc\u06ba \u0644\u0679\u06a9\u0627 \u0631\u06c1\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0648\u06c1 \u0645\u0637\u0644\u0648\u0628\u06c1 \u0688\u06cc\u0679\u0627 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u06d2\u06d4 \u06cc\u06c1 \u0627\u0633\u0679\u0627\u0644 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u0628\u0691\u06be \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0688\u06cc\u0633\u06a9 \u0679\u0627\u067e \u06a9\u0645\u067e\u06cc\u0648\u0679\u0631\u0632 \u0645\u06cc\u06ba\u060c \u06c1\u0627\u0631\u0688\u0648\u06cc\u0626\u0631 \u06a9\u06cc\u0686\u0632 (L1, L2, L3) CPU \u0627\u0648\u0631 \u0645\u06cc\u0646 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0648\u0627\u0642\u0639 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0627\u06a9\u06c1 \u062d\u0627\u0644 \u06c1\u06cc \u0645\u06cc\u06ba \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0634\u062f\u06c1 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0642\u0631\u06cc\u0628 \u0645\u06cc\u06ba \u0631\u06a9\u06be\u0627 \u062c\u0627 \u0633\u06a9\u06d2\u06d4 \u06a9\u06cc\u0634 \u06c1\u0627\u0631\u0688\u0648\u06cc\u0626\u0631 \u0641\u06cc\u0635\u0644\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06a9\u06cc\u0627 \u0631\u06a9\u06be\u0646\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u06a9\u06cc\u0627 \u06c1\u0679\u0627\u0646\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06cc\u06c1 \u0634\u0641\u0627\u0641 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u067e\u0631\u0648\u06af\u0631\u0627\u0645\u0631\u0632 \u06a9\u0648 \u0634\u0627\u0630 \u0648 \u0646\u0627\u062f\u0631 \u06c1\u06cc \u0627\u0633 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0633\u0648\u0686\u0646\u0627 \u067e\u0691\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06a9\u0627\u0631\u06a9\u0631\u062f\u06af\u06cc \u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 \u062f\u0633\u062a\u06cc \u0645\u062f\u0627\u062e\u0644\u062a \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u06a9\u0627\u0641\u06cc \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0628\u06c1\u062a \u0633\u06d2 \u0627\u06cc\u0645\u0628\u06cc\u0688\u0688 \u067e\u0631\u0648\u0633\u06cc\u0633\u0631\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0635\u0648\u0631\u062a\u062d\u0627\u0644 \u0645\u062e\u062a\u0644\u0641 \u06c1\u06d2\u06d4 \u06c1\u0627\u0631\u0688 \u0648\u06cc\u0626\u0631 \u06a9\u06cc\u0634\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 <strong>\u062a\u06cc\u0646 \u0645\u062e\u062a\u0644\u0641 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06d2 \u0639\u0644\u0627\u0642\u06d2<\/strong>\u06c1\u0631 \u0627\u06cc\u06a9 \u0645\u062e\u062a\u0644\u0641 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 CPU \u0633\u06d2 \u062c\u0691\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<table>\n<thead>\n<tr>\n<th>\u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06cc \u0642\u0633\u0645<\/th>\n<th>\u06a9\u06cc\u0627 \u0630\u062e\u06cc\u0631\u06c1 \u06a9\u0631\u0646\u0627 \u06c1\u06d2<\/th>\n<th>\u0631\u0633\u0627\u0626\u06cc \u06a9\u06cc \u0631\u0641\u062a\u0627\u0631<\/th>\n<th>\u0639\u0627\u0645 \u0633\u0627\u0626\u0632<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>\u0622\u0626\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645<\/strong><\/td>\n<td>\u06c1\u062f\u0627\u06cc\u0627\u062a (\u0642\u0627\u0628\u0644 \u0639\u0645\u0644 \u06a9\u0648\u0688)<\/td>\n<td>\u0633\u0646\u06af\u0644 \u0633\u0627\u0626\u06cc\u06a9\u0644 (\u062a\u0639\u06cc\u0646\u0627\u062a\u06cc)<\/td>\n<td>512KB~2MB<\/td>\n<\/tr>\n<tr>\n<td><strong>\u0688\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645<\/strong><\/td>\n<td>\u0688\u06cc\u0679\u0627 (\u0645\u062a\u063a\u06cc\u0631\u060c \u0627\u0633\u0679\u06cc\u06a9\u060c \u0628\u0641\u0631)<\/td>\n<td>\u0633\u0646\u06af\u0644 \u0633\u0627\u0626\u06cc\u06a9\u0644 (\u062a\u0639\u06cc\u0646\u0627\u062a\u06cc)<\/td>\n<td>512KB~1.5MB<\/td>\n<\/tr>\n<tr>\n<td><strong>\u0688\u06cc \u0688\u06cc \u0622\u0631<\/strong><\/td>\n<td>\u0628\u0627\u0642\u06cc \u0633\u0628 \u06a9\u0686\u06be<\/td>\n<td>\u0645\u0644\u0679\u06cc \u0633\u0627\u0626\u06cc\u06a9\u0644 (\u0645\u062a\u063a\u06cc\u0631)<\/td>\n<td>4MB \u0633\u06d2 \u06a9\u0626\u06cc GB \u062a\u06a9<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u0627\u0648\u067e\u0631 \u0648\u0627\u0644\u0627 \u062c\u062f\u0648\u0644 \u0627\u06cc\u06a9 \u0639\u0627\u0645 ARM Cortex-M \u06cc\u0627 Cortex-R \u067e\u0631 \u0645\u0628\u0646\u06cc \u0627\u06cc\u0645\u0628\u06cc\u0688\u0688 \u0633\u0633\u0679\u0645 \u0645\u06cc\u06ba \u067e\u0627\u0626\u06cc \u062c\u0627\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06cc \u062a\u06cc\u0646 \u0627\u0642\u0633\u0627\u0645 \u06a9\u0648 \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2\u06d4 ITCM \u0627\u0648\u0631 DTCM \u062a\u06cc\u0632 \u0644\u06cc\u06a9\u0646 \u0686\u06be\u0648\u0679\u06d2 \u06c1\u06cc\u06ba\u06d4 DDR \u0633\u0633\u062a \u0644\u06cc\u06a9\u0646 \u0628\u0691\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>TCM \u06a9\u06d2 &quot;\u0688\u06cc\u0679\u0631\u0645\u0646\u0633\u0679\u06a9&#8221; \u0644\u06cc\u0628\u0644 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0631\u0633\u0627\u0626\u06cc \u06a9\u06d2 \u0627\u0648\u0642\u0627\u062a \u06c1\u0645\u06cc\u0634\u06c1 \u0627\u06cc\u06a9 \u062c\u06cc\u0633\u06d2 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0633 \u0633\u06d2 \u0642\u0637\u0639 \u0646\u0638\u0631 \u06a9\u06c1 \u0627\u0633 \u0645\u06cc\u0645\u0648\u0631\u06cc \u062a\u06a9 \u067e\u06c1\u0644\u06d2 \u06a9\u06cc\u0627 \u06c1\u0648\u0627 \u06cc\u0627 \u0686\u067e \u067e\u0631 \u06a9\u06cc\u0627 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 DDR \u06a9\u06d2 &quot;\u0645\u062a\u063a\u06cc\u0631&#8221; \u0644\u06cc\u0628\u0644 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0631\u0633\u0627\u0626\u06cc \u06a9\u06d2 \u0627\u0648\u0642\u0627\u062a DDR \u0686\u067e \u0627\u0648\u0631 \u0627\u0633 \u06a9\u06d2 \u06a9\u0646\u0679\u0631\u0648\u0644\u0631 \u06a9\u06cc \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u062d\u0627\u0644\u062a \u06a9\u06d2 \u0644\u062d\u0627\u0638 \u0633\u06d2 \u062a\u0628\u062f\u06cc\u0644 \u06c1\u0648 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0688\u0648\u06cc\u0644\u067e\u0631\u0632 \u06a9\u0646\u0679\u0631\u0648\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0641\u0631\u0645 \u0648\u06cc\u0626\u0631 \u06a9\u0627 \u06c1\u0631 \u062d\u0635\u06c1 \u06a9\u0633 \u0639\u0644\u0627\u0642\u06d2 \u0645\u06cc\u06ba \u0631\u06c1\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u0645\u067e\u0627\u0626\u0644\u0631\u0632 \u0627\u0648\u0631 \u0644\u0646\u06a9\u0631\u0632 \u06cc\u06c1 \u0641\u06cc\u0635\u0644\u06d2 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0622\u067e \u0644\u0646\u06a9\u0631 \u0627\u0633\u06a9\u0631\u067e\u0679 \u0645\u06cc\u06ba \u0633\u0648\u0631\u0633 \u06a9\u0648\u0688 \u0627\u0648\u0631 \u067e\u0644\u06cc\u0633\u0645\u0646\u0679 \u0631\u0648\u0644\u0632 \u0645\u06cc\u06ba \u0633\u06cc\u06a9\u0634\u0646 \u067e\u0631\u0627\u067e\u0631\u0679\u06cc\u0632 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0627\u0633 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0635\u062d\u06cc\u062d \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u06a9\u0631\u0646\u0627 \u0627\u06a9\u062b\u0631 \u0641\u0631\u0645 \u0648\u06cc\u0626\u0631 \u06a9\u0648 \u0631\u06cc\u0626\u0644 \u0679\u0627\u0626\u0645 \u0688\u06cc\u0688 \u0644\u0627\u0626\u0646 \u06a9\u0648 \u067e\u0648\u0631\u0627 \u06a9\u0631\u0646\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u063a\u0627\u0626\u0628 \u06a9\u0631\u0646\u06d2 \u0645\u06cc\u06ba \u0641\u0631\u0642 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-what-is-itcm-instruction-tightly-coupled-memory\">\u0627\u0646\u0633\u0679\u0631\u06a9\u0634\u0646 \u0679\u0627\u0626\u0679\u0644\u06cc \u06a9\u067e\u0644\u0688 \u0645\u06cc\u0645\u0648\u0631\u06cc (ITCM) \u06a9\u06cc\u0627 \u06c1\u06d2\u061f<\/h2>\n<p>ITCM \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2: <strong>\u06c1\u062f\u0627\u06cc\u0627\u062a \u0645\u0636\u0628\u0648\u0637\u06cc \u0633\u06d2 \u062c\u0648\u0691\u06d2 \u0645\u06cc\u0645\u0648\u0631\u06cc<\/strong>.<\/p>\n<p>&quot;\u06c1\u062f\u0627\u06cc\u062a&#8221; \u0648\u0627\u0644\u06d2 \u062d\u0635\u06d2 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u06cc\u06c1 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0642\u0627\u0628\u0644 \u0639\u0645\u0644 \u0645\u0634\u06cc\u0646 \u06a9\u0648\u0688 \u06a9\u0648 \u0630\u062e\u06cc\u0631\u06c1 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2\u060c \u0645\u0631\u062a\u0628 \u06a9\u0631\u062f\u06c1 \u06c1\u062f\u0627\u06cc\u0627\u062a \u062c\u0648 CPU \u0644\u0627\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633 \u067e\u0631 \u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>&quot;\u0645\u0636\u0628\u0648\u0637\u06cc \u0633\u06d2 \u062c\u0648\u0691\u06d2&#8221; \u0648\u0627\u0644\u06d2 \u062d\u0635\u06d2 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0645\u06cc\u0645\u0648\u0631\u06cc \u062c\u0633\u0645\u0627\u0646\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0627\u0633\u06cc \u0633\u0644\u06a9\u0627\u0646 \u0688\u0627\u0626\u06cc \u067e\u0631 \u0648\u0627\u0642\u0639 \u06c1\u06d2 \u062c\u0633 \u0645\u06cc\u06ba CPU \u06a9\u0648\u0631 \u06c1\u06d2 \u0627\u0648\u0631 \u0628\u063a\u06cc\u0631 \u06a9\u0633\u06cc \u062b\u0627\u0644\u062b\u06cc \u06cc\u0627 \u062a\u0646\u0627\u0632\u0639\u06c1 \u06a9\u06d2 \u0627\u06cc\u06a9 \u0648\u0642\u0641 \u0628\u0633 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0645\u0646\u0633\u0644\u06a9 \u06c1\u06d2\u06d4 \u0645\u0642\u0627\u0628\u0644\u06c1 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0648\u0626\u06cc \u0645\u0634\u062a\u0631\u06a9\u06c1 \u0628\u0633\u06cc\u06ba \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u06d4 \u0639\u0628\u0648\u0631 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0648\u0626\u06cc \u06a9\u06cc\u0634 \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0633\u06cc \u067e\u06cc \u06cc\u0648 \u06c1\u062f\u0627\u06cc\u0627\u062a \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0622\u0626\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645 \u0627\u0646\u06c1\u06cc\u06ba \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0646\u062c\u06cc \u0631\u0627\u0633\u062a\u06d2 \u0633\u06d2 \u06af\u0632\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0633 \u0645\u06cc\u06ba \u0686\u067e \u067e\u0631 \u06a9\u0648\u0626\u06cc \u0627\u0648\u0631 \u0686\u06cc\u0632 \u0645\u062f\u0627\u062e\u0644\u062a \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u06cc\u06d4<\/p>\n<p>\u0633\u06cc \u067e\u06cc \u06cc\u0648 \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u0622\u0626\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645 \u0633\u06d2 \u06c1\u062f\u0627\u06cc\u0627\u062a \u062d\u0627\u0635\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 <strong>\u0627\u06cc\u06a9 \u06af\u06be\u0691\u06cc \u0633\u0627\u0626\u06cc\u06a9\u0644\u060c \u06c1\u0631 \u0648\u0642\u062a<\/strong>. \u0631\u0633\u0627\u0626\u06cc \u06a9\u0627 \u06cc\u06c1 \u0648\u0642\u062a \u062a\u06cc\u0632 \u0627\u0648\u0631 \u0641\u06cc\u0635\u0644\u06c1 \u06a9\u0646 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0631\u0633\u0627\u0626\u06cc \u06a9\u06d2 \u0646\u0645\u0648\u0646\u0648\u06ba\u060c \u062d\u0627\u0644\u06cc\u06c1 \u062a\u0627\u0631\u06cc\u062e \u06cc\u0627 \u0628\u0633 \u0645\u06cc\u06ba \u06a9\u06cc\u0627 \u06c1\u0648 \u0631\u06c1\u0627 \u06c1\u06d2 \u0627\u0633 \u067e\u0631 \u0645\u0646\u062d\u0635\u0631 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u0639\u0632\u0645 \u0627\u062a\u0646\u0627 \u06c1\u06cc \u0627\u06c1\u0645 \u06c1\u06d2 \u062c\u062a\u0646\u0627 \u062e\u0627\u0645 \u0631\u0641\u062a\u0627\u0631 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u0628\u062f\u062a\u0631\u06cc\u0646 \u0635\u0648\u0631\u062a \u0645\u06cc\u06ba \u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u06a9\u06d2 \u0648\u0642\u062a \u06a9\u06d2 \u062a\u062c\u0632\u06cc\u06c1 \u06a9\u0648 \u0642\u0627\u0628\u0644 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u062d\u0641\u0627\u0638\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06c1\u0645 \u0646\u0638\u0627\u0645\u0648\u06ba \u06a9\u0648 \u0627\u0633 \u0642\u0627\u0628\u0644 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2: <em>\u062b\u0627\u0628\u062a \u06a9\u0631\u06cc\u06ba<\/em> \u0627\u06cc\u06a9 \u0641\u0646\u06a9\u0634\u0646 \u06c1\u0645\u06cc\u0634\u06c1 \u0627\u06cc\u06a9 \u0645\u062e\u0635\u0648\u0635 \u0686\u06a9\u0631 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0645\u06a9\u0645\u0644 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 ITCM \u062b\u0628\u0648\u062a \u06a9\u0648 \u0628\u06c1\u062a \u0622\u0633\u0627\u0646 \u0628\u0646\u0627 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-why-single-cycle-fetch-matters\">\u0633\u0646\u06af\u0644 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u06a9\u06cc \u0628\u0627\u0632\u06cc\u0627\u0641\u062a \u06a9\u06cc\u0648\u06ba \u0627\u06c1\u0645 \u06c1\u06d2\u06d4<\/h3>\n<p>C \u06a9\u0648\u0688 \u06a9\u06cc \u06c1\u0631 \u0644\u0627\u0626\u0646 \u06a9\u0648 \u0627\u06cc\u06a9 \u06cc\u0627 \u0632\u06cc\u0627\u062f\u06c1 \u0645\u0634\u06cc\u0646 \u06c1\u062f\u0627\u06cc\u0627\u062a \u0645\u06cc\u06ba \u0645\u0631\u062a\u0628 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u06a9\u06c1 CPU \u06c1\u062f\u0627\u06cc\u0627\u062a \u06a9\u0648 \u0688\u06cc \u06a9\u0648\u0688 \u0627\u0648\u0631 \u0627\u0633 \u067e\u0631 \u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u06a9\u0631 \u0633\u06a9\u06d2 \u06c1\u0631 \u06c1\u062f\u0627\u06cc\u062a \u06a9\u0648 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0633\u06d2 \u0644\u0627\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0686\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u0628\u0627\u0632\u06cc\u0627\u0641\u062a \u06a9\u0627 \u0645\u0631\u062d\u0644\u06c1 \u06c1\u0631 \u0627\u06cc\u06a9 \u06c1\u062f\u0627\u06cc\u062a \u06a9\u06d2 \u0644\u0626\u06d2 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u06cc\u06c1\u0627\u06ba \u062a\u06a9 \u06a9\u06c1 \u0686\u06be\u0648\u0679\u06cc \u0641\u06cc-\u06c1\u062f\u0627\u06cc\u062a \u0645\u06cc\u06ba \u062a\u0627\u062e\u06cc\u0631 \u0628\u06be\u06cc \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u0644\u0648\u067e\u0633 \u0645\u06cc\u06ba \u0645\u0644 \u0633\u06a9\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u06a9\u062b\u0631 \u0641\u0646\u06a9\u0634\u0646 \u06a9\u06c1\u0644\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06cc\u06a9 \u0644\u0648\u067e \u067e\u0631 \u063a\u0648\u0631 \u06a9\u0631\u06cc\u06ba \u062c\u0648 1,000,000 \u062a\u06a9\u0631\u0627\u0631 \u06a9\u0648 \u0627\u0646\u062c\u0627\u0645 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1\u0627\u06ba\u060c \u06c1\u0631 \u062a\u06a9\u0631\u0627\u0631 \u0645\u06cc\u06ba 10 \u06c1\u062f\u0627\u06cc\u0627\u062a \u0644\u0627\u0646\u0627 \u0634\u0627\u0645\u0644 \u06c1\u06d2\u06d4 \u06a9\u0644 10 \u0645\u0644\u06cc\u0646 \u0644\u0627\u0626\u06d2 \u06af\u0626\u06d2\u06d4<\/p>\n<pre><code class=\"language-shell\">ITCM:  10,000,000 fetches x 1 cycle  = 10,000,000 cycles\nDDR:   10,000,000 fetches x 8 cycles = 80,000,000 cycles\n\nDifference: 70,000,000 cycles\nAt 400 MHz: 70,000,000 \/ 400,000,000 = 0.175 seconds = 175 ms\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u062d\u0633\u0627\u0628 \u0633\u0627\u0626\u06cc\u06a9\u0644\u0648\u06ba \u06a9\u06cc \u06a9\u0644 \u062a\u0639\u062f\u0627\u062f \u06a9\u0627 \u0645\u0648\u0627\u0632\u0646\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0628 ITCM \u0627\u0648\u0631 DDR \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u06c1\u06cc \u0644\u0648\u067e \u0686\u0644\u062a\u0627 \u06c1\u06d2\u06d4 ITCM \u06a9\u06d2 \u0633\u0627\u062a\u06be\u060c \u06c1\u0631 \u0628\u0627\u0632\u06cc\u0627\u0641\u062a 1 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u0644\u06cc\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 10 \u0645\u0644\u06cc\u0646 \u0628\u0627\u0632\u06cc\u0627\u0641\u062a 10 \u0645\u0644\u06cc\u0646 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u0644\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>DDR \u06a9\u06d2 \u0633\u0627\u062a\u06be\u060c \u06c1\u0631 \u0628\u0627\u0632\u06cc\u0627\u0641\u062a \u0645\u06cc\u06ba 8 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u0644\u06af\u062a\u06d2 \u06c1\u06cc\u06ba (\u0627\u06cc\u06a9 \u0642\u062f\u0627\u0645\u062a \u067e\u0633\u0646\u062f \u0627\u0648\u0633\u0637)\u060c \u0644\u06c1\u0630\u0627 \u0627\u0633\u06cc 10 \u0645\u0644\u06cc\u0646 \u0628\u0627\u0632\u06cc\u0627\u0641\u062a \u0645\u06cc\u06ba 80 \u0645\u0644\u06cc\u0646 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u0644\u06af\u06cc\u06ba \u06af\u06d2\u06d4 \u0641\u0631\u0642 70 \u0645\u0644\u06cc\u0646 \u0633\u0627\u0626\u06cc\u06a9\u0644\u0648\u06ba \u06a9\u0627 \u06c1\u06d2\u060c \u062c\u0648 400MHz \u067e\u0631 175 \u0645\u0644\u06cc \u0633\u06cc\u06a9\u0646\u0688\u0632 \u06a9\u06d2 \u0645\u0633\u0627\u0648\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>1 \u06a9\u0644\u0648 \u06c1\u0631\u0679\u0632 \u067e\u0631 \u06a9\u0646\u0679\u0631\u0648\u0644 \u0644\u0648\u067e \u0686\u0644\u0627\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0631\u06cc\u0626\u0644 \u0679\u0627\u0626\u0645 \u0633\u0633\u0679\u0645 \u0645\u06cc\u06ba (\u06c1\u0631 1 \u0627\u06cc\u0645 \u0627\u06cc\u0633 \u067e\u0631 \u0627\u06cc\u06a9 \u062a\u06a9\u0631\u0627\u0631)\u060c \u067e\u0631\u0648\u0633\u06cc\u0633\u0646\u06af \u0645\u06cc\u06ba 175 \u0627\u06cc\u0645 \u0627\u06cc\u0633 \u0627\u0636\u0627\u0641\u06cc \u062a\u0627\u062e\u06cc\u0631 \u06a9\u0627 \u067e\u06be\u06cc\u0644\u0646\u0627 \u06a9\u0648\u0626\u06cc \u0645\u0639\u0645\u0648\u0644\u06cc \u062a\u06a9\u0644\u06cc\u0641 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0627\u0633 \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 \u0633\u0633\u0679\u0645 \u0688\u06cc\u0688 \u0644\u0627\u0626\u0646 \u0633\u06d2 \u0645\u062d\u0631\u0648\u0645 \u06c1\u0648 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u060c \u0633\u0646\u0633\u0631 \u06a9\u06cc \u0631\u06cc\u0688\u0646\u06af \u0646\u0627\u0642\u0635 \u06c1\u0648 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u060c \u06cc\u0627 \u063a\u0644\u0637 \u0622\u0624\u0679 \u067e\u0679 \u067e\u06cc\u062f\u0627 \u06a9\u0631 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4 \u0645\u0648\u0679\u0631 \u06a9\u0646\u0679\u0631\u0648\u0644 \u0627\u06cc\u067e\u0644\u06cc \u06a9\u06cc\u0634\u0646\u0632 \u0645\u06cc\u06ba \u0688\u06cc\u0688 \u0644\u0627\u0626\u0646 \u063a\u0627\u0626\u0628 \u06c1\u0648\u0646\u0627 \u06c1\u0627\u0631\u0688 \u0648\u06cc\u0626\u0631 \u06a9\u0648 \u062c\u0633\u0645\u0627\u0646\u06cc \u0646\u0642\u0635\u0627\u0646 \u067e\u06c1\u0646\u0686\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u0622\u0688\u06cc\u0648 \u067e\u0631\u0648\u0633\u06cc\u0633\u0646\u06af \u0645\u06cc\u06ba\u060c \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u0627\u06cc\u06a9 \u0642\u0627\u0628\u0644 \u0633\u0645\u0627\u0639\u062a \u062e\u0631\u0627\u0628\u06cc \u06c1\u06d2\u06d4 \u0633\u0633\u062a \u06c1\u062f\u0627\u06cc\u0627\u062a \u06a9\u06cc \u0628\u0627\u0632\u06cc\u0627\u0641\u062a \u06a9\u06cc \u0642\u06cc\u0645\u062a \u062e\u0644\u0627\u0635\u06c1 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-what-should-go-in-itcm\">ITCM \u0645\u06cc\u06ba \u06a9\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u0626\u06d2\u061f<\/h3>\n<p>\u0686\u0648\u0646\u06a9\u06c1 ITCMs \u0686\u06be\u0648\u0679\u06d2 \u06c1\u06cc\u06ba (\u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 512KB \u0633\u06d2 2MB)\u060c \u0627\u0646 \u0645\u06cc\u06ba \u0645\u06a9\u0645\u0644 \u0641\u0631\u0645 \u0648\u06cc\u0626\u0631 \u0646\u06c1\u06cc\u06ba \u06c1\u0648 \u0633\u06a9\u062a\u0627\u06d4 \u0622\u067e \u06a9\u0648 \u0627\u0633 \u0628\u0627\u062a \u06a9\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0631\u0646\u0627 \u06c1\u0648\u06af\u0627 \u06a9\u06c1 \u0622\u067e \u06a9\u0648 \u06a9\u06cc\u0627 \u0645\u0642\u0627\u0645 \u0645\u0644\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p><strong>\u0627\u0646\u0679\u0631\u067e\u0679 \u0633\u0631\u0648\u0633 \u0631\u0648\u0679\u06cc\u0646 (ISR)<\/strong> \u06cc\u06c1 \u0633\u0628 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631\u062c\u06cc\u062d\u06cc \u0627\u0645\u06cc\u062f\u0648\u0627\u0631 \u06c1\u06d2\u06d4 ISR \u06c1\u0627\u0631\u0688 \u0648\u06cc\u0626\u0631 \u06a9\u06d2 \u0648\u0627\u0642\u0639\u0627\u062a \u06a9\u06d2 \u062c\u0648\u0627\u0628 \u0645\u06cc\u06ba \u0686\u0644\u062a\u0627 \u06c1\u06d2\u060c \u062c\u06cc\u0633\u06d2 \u0679\u0627\u0626\u0645\u0631 \u06a9\u06cc \u0679\u06a9\u060c ADC \u06a9\u06cc \u062a\u0628\u062f\u06cc\u0644\u06cc \u0645\u06a9\u0645\u0644 \u06c1\u0648 \u0631\u06c1\u06cc \u06c1\u06d2\u060c \u06cc\u0627 \u0645\u0648\u0627\u0635\u0644\u0627\u062a\u06cc \u067e\u06cc\u0631\u06cc\u0641\u06cc\u0631\u0644 \u0633\u06d2 \u0645\u0648\u0635\u0648\u0644 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0688\u06cc\u0679\u0627\u06d4 \u0627\u0633 \u067e\u0631 \u0639\u0645\u0644\u062f\u0631\u0622\u0645\u062f \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u0627\u0648\u0631 \u062c\u0644\u062f \u0627\u0632 \u062c\u0644\u062f \u0648\u0627\u067e\u0633 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4<\/p>\n<p>\u0627\u06cc\u06a9 \u0633\u0633\u062a ISR \u06a9\u0633\u06cc \u0628\u06be\u06cc \u06a9\u0645 \u062a\u0631\u062c\u06cc\u062d\u06cc \u0645\u062f\u0627\u062e\u0644\u062a\u0648\u06ba \u0645\u06cc\u06ba \u062a\u0627\u062e\u06cc\u0631 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u06cc\u0627\u062f \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0648\u0627\u0642\u0639\u0627\u062a \u06a9\u0627 \u0633\u0628\u0628 \u0628\u0646 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u062c\u0628 \u06a9\u0648\u0626\u06cc ISR \u06a9\u0633\u06cc DDR \u0633\u06d2 \u06c1\u062f\u0627\u06cc\u0627\u062a \u062d\u0627\u0635\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u06c1\u0631 \u0628\u0627\u0632\u06cc\u0627\u0641\u062a \u0627\u06cc\u06a9 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u0644\u06cc\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 ISR \u06a9\u06d2 \u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u06a9\u0627 \u06a9\u0644 \u0648\u0642\u062a \u0627\u0633 \u0639\u0646\u0635\u0631 \u0633\u06d2 \u0628\u0691\u06be \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u0633 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0622\u062e\u0631\u06cc \u062a\u0627\u0631\u06cc\u062e \u0633\u06d2 \u062a\u062c\u0627\u0648\u0632 \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u0626\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645 \u0645\u06cc\u06ba \u0622\u0626\u06cc \u0627\u06cc\u0633 \u0622\u0631 \u06a9\u06cc \u062a\u0639\u06cc\u0646\u0627\u062a\u06cc \u0627\u0633 \u0628\u0627\u062a \u06a9\u0648 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u062a\u06cc \u06c1\u06d2 \u06a9\u06c1 \u06cc\u06c1 \u0645\u06a9\u0645\u0644 \u0637\u0648\u0631 \u067e\u0631 \u0642\u0627\u0628\u0644 \u067e\u06cc\u0634\u0646 \u06af\u0648\u0626\u06cc \u06a9\u06d2 \u0633\u0627\u062a\u06be \u067e\u0648\u0631\u06cc \u0631\u0641\u062a\u0627\u0631 \u0633\u06d2 \u0686\u0644\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p><strong>\u0631\u06cc\u0626\u0644 \u0679\u0627\u0626\u0645 \u067e\u0631\u0648\u0633\u06cc\u0633\u0646\u06af \u0641\u0646\u06a9\u0634\u0646<\/strong> \u0627\u06af\u0644\u06cc \u062a\u0631\u062c\u06cc\u062d\u06d4 \u0627\u0633 \u0645\u06cc\u06ba \u0633\u06af\u0646\u0644 \u067e\u0631\u0648\u0633\u06cc\u0633\u0646\u06af \u06a9\u06d2 \u0645\u0639\u0645\u0648\u0644\u0627\u062a\u060c \u0645\u0648\u0679\u0631 \u06a9\u0646\u0679\u0631\u0648\u0644 \u0644\u0648\u067e\u0633\u060c \u0622\u0688\u06cc\u0648 \u067e\u0631\u0648\u0633\u06cc\u0633\u0646\u06af \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646\u0632\u060c \u0627\u0648\u0631 \u062a\u0645\u0627\u0645 \u0641\u0646\u06a9\u0634\u0646\u0632 \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba \u062c\u0648 \u0627\u06cc\u06a9 \u0645\u0642\u0631\u0631\u06c1 \u0634\u0631\u062d \u067e\u0631 \u0686\u0644\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0646\u06c1\u06cc\u06ba \u0633\u062e\u062a \u0648\u0642\u062a \u06a9\u06d2 \u0628\u062c\u0679 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0645\u06a9\u0645\u0644 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0622\u0688\u06cc\u0648 \u06a9\u0648\u0688\u06cc\u06a9 \u06a9\u0627\u0644 \u0628\u06cc\u06a9 \u06a9\u0648 \u06c1\u0631 5ms \u067e\u0631 \u0627\u06cc\u06a9 \u0646\u0645\u0648\u0646\u06c1 \u0628\u0641\u0631 \u067e\u0631 \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u060c \u062a\u0648 \u06c1\u0631 \u06a9\u0645\u0627\u0646\u0688 \u06a9\u06cc \u0628\u0627\u0632\u06cc\u0627\u0641\u062a \u06a9\u0627 \u062f\u0648\u0631 \u0634\u0645\u0627\u0631 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0646 \u0641\u0646\u06a9\u0634\u0646\u0632 \u06a9\u0648 ITCM \u0645\u06cc\u06ba \u0631\u06a9\u06be\u0646\u06d2 \u0633\u06d2 \u0622\u067e \u06a9\u0648 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u0627 \u0627\u0646\u062a\u0638\u0627\u0631 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0628\u062c\u0627\u0626\u06d2 \u0627\u0635\u0644 \u062d\u0633\u0627\u0628 \u06a9\u06d2 \u0644\u06cc\u06d2 CPU \u06a9\u0627 \u0632\u06cc\u0627\u062f\u06c1 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0648\u0642\u062a \u0645\u0644\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p><strong>\u0645\u06cc\u0646 \u067e\u0631\u0648\u0633\u06cc\u0633\u0646\u06af \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u06a9\u0627 \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u0644\u0648\u067e<\/strong> \u0645\u0632\u06cc\u062f \u0628\u0631\u0622\u06ba\u060c ITCM \u06a9\u06cc \u062a\u0639\u06cc\u0646\u0627\u062a\u06cc \u0633\u06d2 \u0627\u06c1\u0645 \u0641\u0648\u0627\u0626\u062f \u062d\u0627\u0635\u0644 \u06a9\u06cc\u06d2 \u062c\u0627 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0641\u0631\u0645 \u0648\u06cc\u0626\u0631 \u0627\u067e\u0646\u0627 80% \u0648\u0642\u062a \u0686\u0646\u062f \u0641\u0646\u06a9\u0634\u0646\u0632 \u067e\u0631 \u0635\u0631\u0641 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062a\u0648 \u0648\u06c1 \u0641\u0646\u06a9\u0634\u0646\u0632 ITCM \u0645\u06cc\u06ba \u06c1\u0648\u0646\u06d2 \u0686\u0627\u06c1\u0626\u06cc\u06ba\u06d4 \u067e\u0631\u0648\u0641\u0627\u0626\u0644\u0646\u06af \u0679\u0648\u0644\u0632 \u0627\u0648\u0631 \u0644\u0646\u06a9\u0631 \u0645\u06cc\u067e \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 (\u0628\u0639\u062f \u0645\u06cc\u06ba \u0627\u0633 \u0645\u0636\u0645\u0648\u0646 \u0645\u06cc\u06ba \u0628\u062d\u062b \u06a9\u06cc \u062c\u0627\u0626\u06d2 \u06af\u06cc) \u0622\u067e \u06a9\u0648 \u0645\u0642\u0628\u0648\u0644 \u062a\u0631\u06cc\u0646 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u06a9\u06cc \u0634\u0646\u0627\u062e\u062a \u0645\u06cc\u06ba \u0645\u062f\u062f \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p><strong>\u0641\u0646\u06a9\u0634\u0646\u0632 \u062c\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0642\u0631\u0631\u06c1 \u0648\u0642\u062a \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/strong> \u0627\u06af\u0631\u0686\u06c1 \u06cc\u06c1 \u062a\u06cc\u0632 \u062a\u0631\u06cc\u0646 \u0631\u0627\u0633\u062a\u06c1 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u060c \u06cc\u06c1 ITCM \u06a9\u06d2 \u062a\u062d\u062a \u0622\u062a\u0627 \u06c1\u06d2\u06d4 ITCM \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u06a9\u06d2 \u0627\u0648\u0642\u0627\u062a \u062a\u0628\u062f\u06cc\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062c\u0633 \u0633\u06d2 \u0679\u0627\u0626\u0645\u0646\u06af \u06a9\u06d2 \u062a\u062c\u0632\u06cc\u06c1 \u06a9\u0648 \u0642\u0627\u0628\u0644 \u0642\u06cc\u0627\u0633 \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u062d\u0641\u0627\u0638\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06c1\u0645 \u0646\u0638\u0627\u0645\u0648\u06ba (\u0622\u0679\u0648 \u0645\u0648\u0679\u06cc\u0648\u060c \u0645\u06cc\u0688\u06cc\u06a9\u0644\u060c \u0627\u06cc\u0631\u0648 \u0627\u0633\u067e\u06cc\u0633) \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06c1\u0645 \u06c1\u06d2 \u062c\u06c1\u0627\u06ba \u0633\u0631\u0679\u06cc\u0641\u06cc\u06a9\u06cc\u0634\u0646 \u0628\u0627\u0688\u06cc\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u062f\u062a\u0631\u06cc\u0646 \u0635\u0648\u0631\u062a \u0645\u06cc\u06ba \u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u06a9\u06d2 \u0627\u0648\u0642\u0627\u062a \u06a9\u0627 \u0645\u0638\u0627\u06c1\u0631\u06c1 \u06a9\u0631\u0646\u0627 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-how-to-place-a-function-in-itcm\">\u0622\u0626\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645 \u0645\u06cc\u06ba \u0641\u0646\u06a9\u0634\u0646\u0632 \u06a9\u06cc\u0633\u06d2 \u0631\u06a9\u06be\u06cc\u06ba<\/h3>\n<p>\u06a9\u0645\u067e\u0627\u0626\u0644\u0631 \u06a9\u0648 \u0628\u062a\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062c\u06cc \u0633\u06cc \u0633\u06cc \u0633\u06cc\u06a9\u0634\u0646 \u06a9\u06cc \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u0641\u0646\u06a9\u0634\u0646 \u06a9\u0633\u06cc \u0645\u062e\u0635\u0648\u0635 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0633\u06cc\u06a9\u0634\u0646 \u0633\u06d2 \u062a\u0639\u0644\u0642 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4 \u0644\u0646\u06a9\u0631 \u0627\u0633\u06a9\u0631\u067e\u0679 \u067e\u06be\u0631 \u0627\u0633 \u062d\u0635\u06d2 \u06a9\u0648 ITCM \u0645\u06cc\u0645\u0648\u0631\u06cc \u0627\u06cc\u0631\u06cc\u0627 \u0645\u06cc\u06ba \u0646\u0642\u0634\u06c1 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-c\">__attribute__((section(\".itcm_text\")))\nvoid my_critical_isr(void) {\n    volatile uint32_t *sensor_reg = (volatile uint32_t *)0x40001000;\n    uint32_t reading = *sensor_reg;\n    process_sample(reading);\n}\n<\/code><\/pre>\n<p>\u0627\u0633 \u06a9\u0648\u0688 \u0645\u06cc\u06ba <code>__attribute__((section(\".itcm_text\")))<\/code> \u06c1\u062f\u0627\u06cc\u062a \u06a9\u0645\u067e\u0627\u0626\u0644\u0631 \u06a9\u0648 \u0627\u0633 \u0641\u0646\u06a9\u0634\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0631\u062a\u0628 \u06a9\u0631\u062f\u06c1 \u0645\u0634\u06cc\u0646 \u06a9\u0648\u0688 \u0628\u06be\u06cc\u062c\u0646\u06d2 \u06a9\u0648 \u06a9\u06c1\u062a\u06cc \u06c1\u06d2\u06d4 <code>.itcm_text<\/code> \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0637\u06d2 \u0634\u062f\u06c1 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 <code>.text<\/code> \u067e\u0627\u0631\u0679 \u0679\u0627\u0626\u0645 \u0646\u0648\u06a9\u0631\u06cc. \u0641\u0646\u06a9\u0634\u0646 \u062e\u0648\u062f \u0633\u06cc\u0646\u0633\u0631 \u0631\u062c\u0633\u0679\u0631 \u06a9\u0648 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06d2 \u0646\u0642\u0634\u06d2 \u0648\u0627\u0644\u06d2 \u0627\u06cc\u0688\u0631\u06cc\u0633 \u0633\u06d2 \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2\u06d4 <code>0x40001000<\/code>\u0646\u062a\u06cc\u062c\u06c1 \u06a9\u0648 \u0645\u0642\u0627\u0645\u06cc \u0645\u062a\u063a\u06cc\u0631 \u0645\u06cc\u06ba \u0627\u0633\u0679\u0648\u0631 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 <code>process_sample()<\/code> \u0645\u0632\u06cc\u062f \u067e\u0631\u0648\u0633\u06cc\u0633\u0646\u06af \u06a9\u06d2 \u0644\u06cc\u06d2\u06d4 \u06a9\u06c1 <code>volatile<\/code> \u06a9\u0644\u06cc\u062f\u06cc \u0644\u0641\u0638 \u06a9\u0645\u067e\u0627\u0626\u0644\u0631 \u06a9\u0648 \u0628\u062a\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0686\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0627\u06cc\u0688\u0631\u06cc\u0633 \u0627\u06cc\u06a9 \u06c1\u0627\u0631\u0688\u0648\u06cc\u0626\u0631 \u0631\u062c\u0633\u0679\u0631 \u06c1\u06d2 \u0627\u0648\u0631 \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0648\u0642\u062a \u062a\u0628\u062f\u06cc\u0644 \u06c1\u0648\u0633\u06a9\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u06a9\u0645\u067e\u0627\u0626\u0644\u0631 \u06a9\u0648 \u067e\u0691\u06be\u0646\u06d2 \u06a9\u0648 \u0628\u06c1\u062a\u0631 \u0646\u06c1\u06cc\u06ba \u0628\u0646\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<p>\u062e\u0648\u062f \u0633\u06d2\u060c \u0633\u06cc\u06a9\u0634\u0646 \u067e\u0631\u0627\u067e\u0631\u0679\u06cc \u0627\u0633 \u0628\u0627\u062a \u06a9\u0627 \u062a\u0639\u06cc\u0646 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u06a9\u06c1 \u0641\u0646\u06a9\u0634\u0646 \u062c\u0633\u0645\u0627\u0646\u06cc \u0645\u06cc\u0645\u0648\u0631\u06cc \u0645\u06cc\u06ba \u06a9\u06c1\u0627\u06ba \u062e\u062a\u0645 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0635\u0631\u0641 \u06a9\u0645\u067e\u0627\u0626\u0644\u0631 \u06a9\u0648 \u0645\u062e\u0635\u0648\u0635 \u0633\u06cc\u06a9\u0634\u0646 \u06a9\u06d2 \u0646\u0627\u0645\u0648\u06ba \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0641\u0646\u06a9\u0634\u0646 \u06a9\u0648\u0688 \u06a9\u0648 \u0644\u06cc\u0628\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u06c1\u062f\u0627\u06cc\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062c\u0633\u0645\u0627\u0646\u06cc \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06cc \u062c\u06af\u06c1 \u06a9\u0627 \u062a\u0639\u06cc\u0646 \u0644\u0646\u06a9\u0631 \u0627\u0633\u06a9\u0631\u067e\u0679 \u06a9\u0627 \u06a9\u0627\u0645 \u06c1\u06d2\u06d4 <code>.itcm_text<\/code> ITCM \u0627\u06cc\u0688\u0631\u06cc\u0633 \u0631\u06cc\u0646\u062c \u06a9\u06d2 \u0633\u0627\u062a\u06be\u06d4 \u0644\u0646\u06a9\u0631 \u0627\u0633\u06a9\u0631\u067e\u0679\u0633 \u06a9\u0648 \u0628\u0639\u062f \u06a9\u06d2 \u062d\u0635\u0648\u06ba \u0645\u06cc\u06ba \u0645\u0632\u06cc\u062f \u062a\u0641\u0635\u06cc\u0644 \u0633\u06d2 \u0627\u062d\u0627\u0637\u06c1 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4<\/p>\n<h3 id=\"heading-how-much-itcm-is-typical\">ITCM \u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 \u06a9\u062a\u0646\u0627 \u06c1\u06d2\u061f<\/h3>\n<p>\u067e\u06cc\u0645\u0627\u0646\u06d2 \u067e\u0631 \u0627\u06cc\u0645\u0628\u06cc\u0688\u0688 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0635\u0644\u06cc \u0645\u06cc\u0645\u0648\u0631\u06cc \u067e\u0631\u0648\u0641\u0627\u0626\u0644:<\/p>\n<pre><code class=\"language-shell\">Memory region         Used Size  Region Size  %age Used\n            ITCM:      570936 B         2 MB     27.22%\n            DTCM:      727240 B    1572608 B     46.24%\n             DDR:      622915 B         4 MB     14.85%\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0622\u0624\u0679 \u067e\u0679 \u0644\u0646\u06a9\u0631 \u0645\u06cc\u067e \u0641\u0627\u0626\u0644 \u06a9\u06d2 \u0633\u0645\u0631\u06cc \u0633\u06cc\u06a9\u0634\u0646 \u0633\u06d2 \u0622\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06d2 \u062a\u06cc\u0646 \u0639\u0644\u0627\u0642\u0648\u06ba \u06a9\u0648 \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0645\u0631\u062a\u0628 \u06a9\u0631\u062f\u06c1 \u0641\u0631\u0645 \u0648\u06cc\u0626\u0631 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06c1 \u06c1\u0631 \u0639\u0644\u0627\u0642\u06c1 \u06a9\u062a\u0646\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>ITCM \u06a9\u06d2 \u067e\u0627\u0633 2 MB \u062e\u0627\u0644\u06cc \u062c\u06af\u06c1 \u06c1\u06d2 \u0627\u0648\u0631 \u0641\u0631\u0645 \u0648\u06cc\u0626\u0631 \u062a\u0642\u0631\u06cc\u0628\u0627\u064b 557 KB (27.22%) \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u06d2\u06d4 DTCM \u06a9\u06d2 \u067e\u0627\u0633 \u062a\u0642\u0631\u06cc\u0628\u0627\u064b 1.5 MB \u062f\u0633\u062a\u06cc\u0627\u0628 \u062c\u06af\u06c1 \u06c1\u06d2 \u0627\u0648\u0631 \u0648\u06c1 727 KB (46.24%) \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u06d2\u06d4 DDR 4 MB \u062f\u0633\u062a\u06cc\u0627\u0628 \u06c1\u06d2 \u0627\u0648\u0631 \u062a\u0642\u0631\u06cc\u0628\u0627\u064b 609 KB (14.85%) \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 2 MB \u062f\u0633\u062a\u06cc\u0627\u0628 ITCM \u0645\u06cc\u06ba \u0633\u06d2 \u062a\u0642\u0631\u06cc\u0628\u0627\u064b 557 KB (\u062a\u0642\u0631\u06cc\u0628\u0627\u064b 27%) \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u062a\u0631\u0642\u06cc \u06a9\u06d2 \u0644\u0626\u06d2 \u0627\u0686\u06be\u06cc \u062c\u06af\u06c1 \u0686\u06be\u0648\u0691 \u062f\u06cc\u062a\u0627 \u06c1\u06d2.<\/p>\n<p>\u0639\u0645\u0644\u06cc \u0637\u0648\u0631 \u067e\u0631\u060c \u06c1\u0645 \u0645\u0633\u062a\u0642\u0628\u0644 \u0645\u06cc\u06ba \u0641\u06cc\u0686\u0631 \u0627\u0648\u0631 \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u0627\u067e \u0688\u06cc\u0679\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062c\u06af\u06c1 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 ITCM \u06a9\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0648 80-85% \u0633\u06d2 \u06a9\u0645 \u0631\u06a9\u06be\u0646\u06d2 \u06a9\u06cc \u06a9\u0648\u0634\u0634 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u062c\u06cc\u0633\u0627 \u06a9\u06c1 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 90% \u0633\u06d2 \u0628\u0691\u06be \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0622\u067e \u06a9\u0648 \u0641\u0639\u0627\u0644 \u0637\u0648\u0631 \u067e\u0631 \u06a9\u0645 \u0627\u06c1\u0645 \u06a9\u0648\u0688 \u06a9\u0648 DDR \u0645\u06cc\u06ba \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0622\u067e \u062a\u0639\u0645\u06cc\u0631\u0627\u062a\u06cc \u0646\u0627\u06a9\u0627\u0645\u06cc\u0648\u06ba \u06a9\u0648 \u0631\u0648\u06a9\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u0634\u0627\u0645\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-what-is-dtcm-data-tightly-coupled-memory\">\u0688\u06cc\u0679\u0627 \u0679\u0627\u0626\u0679\u0644\u06cc \u06a9\u067e\u0644\u0688 \u0645\u06cc\u0645\u0648\u0631\u06cc (DTCM) \u06a9\u06cc\u0627 \u06c1\u06d2\u061f<\/h2>\n<p>DTCM \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2: <strong>\u0645\u0636\u0628\u0648\u0637\u06cc \u0633\u06d2 \u062c\u0648\u0691\u06d2 \u0688\u06cc\u0679\u0627 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0645\u06cc\u0645\u0648\u0631\u06cc<\/strong>. \u06cc\u06c1 \u0627\u0646\u06c1\u06cc \u0627\u0635\u0648\u0644\u0648\u06ba \u067e\u0631 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u06cc\u0633\u06d2 ITCM (\u062c\u0633\u0645\u0627\u0646\u06cc \u0637\u0648\u0631 \u067e\u0631 CPU \u06a9\u0648\u0631 \u06a9\u06d2 \u0642\u0631\u06cc\u0628\u060c \u0627\u06cc\u06a9 \u0648\u0642\u0641 \u0628\u0633 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0645\u0646\u0633\u0644\u06a9\u060c \u0633\u0646\u06af\u0644 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc)\u060c \u0644\u06cc\u06a9\u0646 <strong>\u0688\u06cc\u0679\u0627<\/strong> \u06c1\u062f\u0627\u06cc\u0627\u062a \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2\u06d4<\/p>\n<p>\u0627\u06af\u0631 ITCM \u0648\u06c1 \u062c\u06af\u06c1 \u06c1\u06d2 \u062c\u06c1\u0627\u06ba \u06a9\u0648\u0688 \u06c1\u06d2\u060c \u062a\u0648 DTCM \u0648\u06c1 \u062c\u06af\u06c1 \u06c1\u06d2 \u062c\u06c1\u0627\u06ba \u06a9\u0648\u0688 \u06c1\u06d2\u06d4 <em>\u0641\u06cc\u06a9\u0679\u0631\u06cc<\/em>. \u0627\u06cc\u06a9 \u062a\u06cc\u0632 \u0633\u06a9\u0631\u06cc\u0686 \u0627\u0633\u067e\u06cc\u0633 \u062c\u0633 \u0633\u06d2 CPU \u06a9\u0627\u0631\u06a9\u0631\u062f\u06af\u06cc \u06a9\u06d2 \u0627\u06c1\u0645 \u0627\u0641\u0639\u0627\u0644 \u06a9\u0648 \u0627\u0646\u062c\u0627\u0645 \u062f\u06cc\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u067e\u0691\u06be\u062a\u0627 \u0627\u0648\u0631 \u0644\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4 \u062a\u0645\u0627\u0645 \u0648\u06cc\u0631\u06cc \u0627\u06cc\u0628\u0644 \u0631\u06cc\u0688\u0632\u060c \u062a\u0645\u0627\u0645 \u0633\u0631\u0646\u06cc \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc\u060c \u0627\u0648\u0631 \u06c1\u0627\u0679 \u06a9\u0648\u0688 \u067e\u0627\u062a\u06be \u0645\u06cc\u06ba \u062a\u0645\u0627\u0645 \u0627\u0633\u0679\u06cc\u06a9 \u067e\u0634 \u0627\u0648\u0631 \u067e\u0627\u067e \u0688\u06cc\u0679\u0627 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0633\u06d2 \u06af\u0632\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u0633 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u062c\u062a\u0646\u06cc \u062c\u0644\u062f\u06cc \u0645\u0645\u06a9\u0646 \u06c1\u0648 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0628\u0646\u0627\u0646\u0627 \u062a\u0627\u062e\u06cc\u0631 \u06a9\u06cc \u0633\u0628 \u0633\u06d2 \u0628\u0691\u06cc \u0648\u062c\u0648\u06c1\u0627\u062a \u0645\u06cc\u06ba \u0633\u06d2 \u0627\u06cc\u06a9 \u06a9\u0648 \u062e\u062a\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-what-kind-of-data-belongs-in-dtcm\">\u06a9\u0633 \u0642\u0633\u0645 \u06a9\u06d2 \u0688\u06cc\u0679\u0627 \u06a9\u0627 \u062a\u0639\u0644\u0642 DTCM \u0633\u06d2 \u06c1\u06d2\u061f<\/h3>\n<p><strong>\u0627\u0633\u0679\u06cc\u06a9 \u0641\u0631\u06cc\u0645<\/strong> \u0688\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645 \u0645\u06cc\u06ba \u0633\u0628 \u0633\u06d2 \u0627\u06c1\u0645 \u0628\u0627\u062a\u060c \u06c1\u0631 \u0641\u0646\u06a9\u0634\u0646 \u06a9\u0627\u0644 \u0627\u06cc\u06a9 \u0627\u0633\u0679\u06cc\u06a9 \u0641\u0631\u06cc\u0645 \u06a9\u0648 \u0622\u06af\u06d2 \u0628\u0691\u06be\u0627\u062a\u06cc \u06c1\u06d2 \u062c\u0633 \u0645\u06cc\u06ba \u0645\u0642\u0627\u0645\u06cc \u0645\u062a\u063a\u06cc\u0631\u0627\u062a\u060c \u0648\u0627\u067e\u0633\u06cc \u06a9\u0627 \u067e\u062a\u06c1\u060c \u0627\u0648\u0631 \u0645\u062d\u0641\u0648\u0638 \u0634\u062f\u06c1 \u0631\u062c\u0633\u0679\u0631 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06c1\u0631 \u0641\u0646\u06a9\u0634\u0646 \u0631\u06cc\u0679\u0631\u0646 \u0627\u0633 \u0641\u0631\u06cc\u0645 \u06a9\u0648 \u067e\u0627\u067e \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0645\u06cc\u06ba<\/p>\n<p>\u062c\u0628 \u0627\u0633\u0679\u06cc\u06a9 \u0688\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645 \u0645\u06cc\u06ba \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0641\u0646\u06a9\u0634\u0646 \u06a9\u0627\u0644 \u0627\u0648\u0631 \u0631\u06cc\u0679\u0631\u0646 \u06a9\u0627 \u0645\u06cc\u0645\u0648\u0631\u06cc \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u06a9\u0627 \u062d\u0635\u06c1 \u0627\u06cc\u06a9 \u06c1\u06cc \u0686\u06a9\u0631 \u0645\u06cc\u06ba \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u062c\u0628 \u0627\u0633\u0679\u06cc\u06a9 DDR \u0645\u06cc\u06ba \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062a\u0648\u060c \u06c1\u0631 \u0641\u0646\u06a9\u0634\u0646 \u06a9\u0627\u0644 \u0627\u0648\u0631 \u0631\u06cc\u0679\u0631\u0646 \u0645\u06cc\u06ba \u0645\u06cc\u0645\u0648\u0631\u06cc \u0644\u06cc\u0679\u0646\u0633\u06cc \u06a9\u06d2 \u06a9\u0626\u06cc \u0686\u06a9\u0631 \u0622\u062a\u06d2 \u06c1\u06cc\u06ba \u0635\u0631\u0641 \u0627\u0633\u0679\u06cc\u06a9 \u0622\u067e\u0631\u06cc\u0634\u0646\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u06a9\u06c1 \u0641\u0646\u06a9\u0634\u0646 \u0645\u0641\u06cc\u062f \u06a9\u0627\u0645 \u06a9\u0631\u0646\u0627 \u0634\u0631\u0648\u0639 \u06a9\u0631 \u0633\u06a9\u06d2\u06d4<\/p>\n<p>\u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 Cortex-M \u0627\u0648\u0631 Cortex-R \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646\u0632 \u0645\u06cc\u06ba\u060c \u0633\u0679\u0627\u0631\u0679 \u0627\u067e \u06a9\u0648\u0688 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0637\u06d2 \u0634\u062f\u06c1 \u0637\u0648\u0631 \u067e\u0631 DTCM \u06a9\u06cc \u0637\u0631\u0641 \u0627\u0634\u0627\u0631\u06c1 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u0679\u06cc\u06a9 \u067e\u0648\u0627\u0626\u0646\u0679\u0631 \u06a9\u0648 \u0634\u0631\u0648\u0639 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0627\u06a9\u06c1 \u0622\u067e \u0628\u063a\u06cc\u0631 \u06a9\u0633\u06cc \u0627\u0636\u0627\u0641\u06cc \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u06a9\u06d2 \u06cc\u06c1 \u0641\u0627\u0626\u062f\u06c1 \u062d\u0627\u0635\u0644 \u06a9\u0631 \u0633\u06a9\u06cc\u06ba\u06d4<\/p>\n<p><strong>\u0639\u0627\u0644\u0645\u06cc \u0645\u062a\u063a\u06cc\u0631\u0627\u062a \u062a\u06a9 \u0627\u06a9\u062b\u0631 \u0631\u0633\u0627\u0626\u06cc<\/strong> \u0627\u06cc\u06a9 \u0627\u0648\u0631 \u0645\u0636\u0628\u0648\u0637 \u0627\u0645\u06cc\u062f\u0648\u0627\u0631\u06d4 \u0633\u0679\u06cc\u0679 \u0645\u0634\u06cc\u0646 \u0648\u06cc\u0631\u06cc \u0627\u06cc\u0628\u0644\u0632\u060c \u06a9\u0646\u0679\u0631\u0648\u0644 \u0641\u0644\u06cc\u06af\u060c \u0633\u06cc\u0646\u0633\u0631 \u0631\u06cc\u0688\u0646\u06af\u0632 \u062c\u0648 \u0627\u067e \u0688\u06cc\u0679 \u06c1\u0648\u062a\u06cc \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u06c1\u0631 \u0644\u0648\u067e \u062a\u06a9\u0631\u0627\u0631 \u067e\u0631 \u067e\u0691\u06be\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u060c \u06a9\u0627\u0624\u0646\u0679\u0631 \u062c\u0648 ISR \u0645\u06cc\u06ba \u0628\u0691\u06be\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0645\u06cc\u0646 \u0644\u0648\u067e \u0645\u06cc\u06ba \u067e\u0691\u06be\u062a\u06d2 \u06c1\u06cc\u06ba: \u0633\u0628\u06be\u06cc \u0633\u0646\u06af\u0644 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u0631\u0633\u0627\u0626\u06cc \u0633\u06d2 \u0641\u0627\u0626\u062f\u06c1 \u0627\u0679\u06be\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0627\u06cc\u06a9 \u0645\u062a\u063a\u06cc\u0631 \u06a9\u0648 \u0641\u06cc \u0633\u06cc\u06a9\u0646\u0688 \u06c1\u0632\u0627\u0631\u0648\u06ba \u0628\u0627\u0631 \u067e\u0691\u06be\u0627 \u06cc\u0627 \u0644\u06a9\u06be\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 DTCM \u0627\u0648\u0631 DDR \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0645\u062c\u0645\u0648\u0639\u06cc \u062a\u0627\u062e\u06cc\u0631 \u06a9\u0627 \u0641\u0631\u0642 \u0628\u0691\u06be \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p><strong>\u06c1\u0627\u0679 \u067e\u0627\u0633\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0686\u06be\u0648\u0679\u06cc \u062a\u0644\u0627\u0634 \u06a9\u06cc \u0645\u06cc\u0632<\/strong> \u0627\u06af\u0631 \u06cc\u06c1 \u0641\u0679 \u06c1\u0648\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0627\u0641\u06cc \u0686\u06be\u0648\u0679\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0627\u0633 \u06a9\u0627 \u062a\u0639\u0644\u0642 DTCM \u0645\u06cc\u06ba \u06c1\u06d2\u06d4 \u0639\u0627\u0645 \u0645\u062b\u0627\u0644\u0648\u06ba \u0645\u06cc\u06ba \u0645\u0648\u0679\u0631 \u06a9\u0646\u0679\u0631\u0648\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0633\u0627\u0626\u0646\/\u06a9\u0648\u0632\u0627\u0626\u0646 \u0679\u06cc\u0628\u0644\u0632\u060c \u0622\u0688\u06cc\u0648 \u067e\u0631\u0648\u0633\u06cc\u0633\u0646\u06af \u06a9\u06d2 \u0644\u06cc\u06d2 \u0641\u0644\u0679\u0631 \u06af\u062a\u0627\u0646\u06a9\u060c \u0627\u0648\u0631 \u06a9\u0645\u06cc\u0648\u0646\u06cc\u06a9\u06cc\u0634\u0646 \u067e\u0631\u0648\u0679\u0648\u06a9\u0648\u0644\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 CRC \u0679\u06cc\u0628\u0644\u0632 \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1 \u0645\u06cc\u0632\u06cc\u06ba \u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 \u0633\u06cc\u0646\u06a9\u0691\u0648\u06ba \u0628\u0627\u0626\u0679\u0633 \u0633\u06d2 \u0644\u06d2 \u06a9\u0631 \u0686\u0646\u062f \u06a9\u0644\u0648 \u0628\u0627\u0626\u0679\u0633 \u062a\u06a9 \u06c1\u0648\u062a\u06cc \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u067e\u0631\u0648\u0633\u06cc\u0633\u0646\u06af \u0644\u0648\u067e \u06a9\u06d2 \u06c1\u0631 \u062a\u06a9\u0631\u0627\u0631 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u0646 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4 \u06a9\u0644\u06cc\u062f\u06cc \u0644\u0641\u0638 &quot;\u0686\u06be\u0648\u0679\u0627&#8221; \u06c1\u06d2\u06d4 512 \u0628\u0627\u0626\u0679 \u0633\u0627\u0626\u0646 \u0679\u06cc\u0628\u0644 DTCM \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0648\u0632\u0648\u06ba \u06c1\u06d2\u06d4 64KB \u06a9\u06cc\u0644\u06cc\u0628\u0631\u06cc\u0634\u0646 \u0679\u06cc\u0628\u0644 \u0627\u0633 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 DDR \u0645\u06cc\u06ba \u0646\u06c1\u06cc\u06ba \u062c\u0627\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2\u06d4<\/p>\n<p><strong>\u0688\u06cc \u0627\u06cc\u0645 \u0627\u06d2 \u0628\u0641\u0631<\/strong> \u06a9\u0628\u06be\u06cc \u06a9\u0628\u06be\u06cc \u0622\u067e DTCM \u0645\u06cc\u06ba \u062c\u0627 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0644\u06cc\u06a9\u0646 \u06cc\u06c1 \u0686\u067e \u06a9\u06d2 \u0628\u0633 \u06a9\u06d2 \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631 \u067e\u0631 \u0645\u0646\u062d\u0635\u0631 \u06c1\u06d2\u06d4 \u06a9\u0686\u06be \u0686\u067e\u0633 \u0645\u06cc\u06ba\u060c DMA \u06a9\u0646\u0679\u0631\u0648\u0644\u0631 \u06a9\u06d2 \u067e\u0627\u0633 \u0628\u0633 \u0645\u06cc\u0679\u0631\u06a9\u0633 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 DTCM \u062a\u06a9 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0631\u0627\u0633\u062a\u06c1 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u062f\u06cc\u06af\u0631 \u0645\u0639\u0627\u0645\u0644\u0627\u062a \u0645\u06cc\u06ba\u060c DMA \u06a9\u0646\u0679\u0631\u0648\u0644\u0631 \u0635\u0631\u0641 DDR \u0627\u0648\u0631 \u062f\u06cc\u06af\u0631 SRAM \u0639\u0644\u0627\u0642\u0648\u06ba \u062a\u06a9 \u067e\u06c1\u0646\u0686 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0622\u067e \u0688\u06cc \u0627\u06cc\u0645 \u0627\u06d2 \u0628\u0641\u0631 \u06a9\u0648 \u0688\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645 \u0645\u06cc\u06ba \u0627\u06cc\u0633\u06cc \u0686\u067e \u067e\u0631 \u0631\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0633 \u062a\u06a9 \u0688\u06cc \u0627\u06cc\u0645 \u0627\u06d2 \u06a9\u0646\u0679\u0631\u0648\u0644\u0631 \u0646\u06c1\u06cc\u06ba \u067e\u06c1\u0646\u0686 \u0633\u06a9\u062a\u0627\u060c \u062a\u0648 \u0679\u0631\u0627\u0646\u0633\u0641\u0631 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u0627 \u06cc\u0627 \u0645\u06a9\u0645\u0644 \u0637\u0648\u0631 \u067e\u0631 \u063a\u0644\u0637 \u0627\u06cc\u0688\u0631\u06cc\u0633 \u067e\u0631 \u0644\u06a9\u06be\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4<\/p>\n<p>\u0688\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645 \u0645\u06cc\u06ba \u0688\u06cc \u0627\u06cc\u0645 \u0627\u06d2 \u0628\u0641\u0631 \u0688\u0627\u0644\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0631\u06cc\u0641\u0631\u0646\u0633 \u0645\u06cc\u0646\u0648\u0626\u0644 \u0645\u06cc\u06ba \u0686\u067e \u06a9\u06d2 \u0628\u0633 \u0645\u06cc\u0679\u0631\u06a9\u0633 \u0688\u0627\u06cc\u0627\u06af\u0631\u0627\u0645 \u06a9\u0648 \u06c1\u0645\u06cc\u0634\u06c1 \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-how-to-place-data-in-dtcm\">\u0688\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645 \u0645\u06cc\u06ba \u0688\u06cc\u0679\u0627 \u06a9\u06cc\u0633\u06d2 \u0631\u06a9\u06be\u0627 \u062c\u0627\u0626\u06d2\u06d4<\/h3>\n<p>\u0688\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645 \u0645\u06cc\u06ba \u0688\u06cc\u0679\u0627 \u0631\u06a9\u06be\u0646\u06d2 \u0645\u06cc\u06ba \u0622\u0626\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645 \u06a9\u06cc \u0637\u0631\u062d \u0633\u06cc\u06a9\u0634\u0646 \u06a9\u06cc \u062e\u0635\u0648\u0635\u06cc\u062a \u06a9\u0627 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0633\u06cc\u06a9\u0634\u0646 \u06a9\u06d2 \u0646\u0627\u0645\u0648\u06ba \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0644\u0646\u06a9\u0631 \u0627\u0633\u06a9\u0631\u067e\u0679 \u0688\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645 \u0627\u06cc\u0688\u0631\u06cc\u0633 \u0631\u06cc\u0646\u062c \u0645\u06cc\u06ba \u0646\u0642\u0634\u06c1 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-c\">__attribute__((section(\".dtcm_data\")))\nstatic int16_t audio_buffer[256];\n\n__attribute__((section(\".dtcm_data\")))\nstatic volatile uint32_t sensor_state = 0;\n<\/code><\/pre>\n<p>\u0627\u0633 \u06a9\u0648\u0688 \u0645\u06cc\u06ba <code>audio_buffer<\/code> \u0688\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645 \u0645\u06cc\u06ba 256 \u062f\u0633\u062a\u062e\u0637 \u0634\u062f\u06c1 16 \u0628\u0679 \u0627\u0646\u0679\u06cc\u062c\u0631\u0632 (\u06a9\u0644 512 \u0628\u0627\u0626\u0679\u0633) \u06a9\u06cc \u0627\u06cc\u06a9 \u0635\u0641\u06d4 \u06cc\u06c1 \u0622\u0688\u06cc\u0648 \u0646\u0645\u0648\u0646\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u0641\u0631 \u06c1\u0648 \u0633\u06a9\u062a\u0627 \u06c1\u06d2 \u062c\u0648 DMA \u0679\u0631\u0627\u0646\u0633\u0641\u0631\u0632 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0628\u06be\u0631\u06d2 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 ISR \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u067e\u0631\u0648\u0633\u06cc\u0633 \u06a9\u06cc\u06d2 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06a9\u06c1 <code>static<\/code> \u06a9\u0644\u06cc\u062f\u06cc \u0644\u0641\u0638 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0628\u0641\u0631 \u06a9\u06d2 \u067e\u0627\u0633 \u0641\u0627\u0626\u0644 \u06a9\u06cc \u06af\u0646\u062c\u0627\u0626\u0634 \u06c1\u06d2 \u0627\u0648\u0631 \u0648\u06c1 \u067e\u0631\u0648\u06af\u0631\u0627\u0645 \u06a9\u06cc \u0632\u0646\u062f\u06af\u06cc \u062a\u06a9 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06c1\u062a\u0627 \u06c1\u06d2 (\u0627\u0633\u06d2 \u0627\u0633\u0679\u06cc\u06a9 \u067e\u0631 \u0645\u062e\u062a\u0635 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2)\u06d4<\/p>\n<p>\u06a9\u06c1 <code>sensor_state<\/code> \u0645\u062a\u063a\u06cc\u0631 \u0627\u06cc\u06a9 32 \u0628\u0679 \u063a\u06cc\u0631 \u062f\u0633\u062a\u062e\u0637 \u0634\u062f\u06c1 \u0639\u062f\u062f \u06c1\u06d2\u060c \u062c\u0633 \u06a9\u06cc \u0646\u0645\u0627\u0626\u0646\u062f\u06af\u06cc \u0627\u0633 \u0637\u0631\u062d \u06a9\u06cc \u06af\u0626\u06cc \u06c1\u06d2: <code>volatile<\/code>\u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0645\u0631\u062a\u0628 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06a9\u0648 \u06c1\u0631 \u0628\u0627\u0631 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0633\u06d2 \u067e\u0691\u06be\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u060c \u0628\u062c\u0627\u0626\u06d2 \u0627\u0633 \u06a9\u06d2 \u06a9\u06c1 \u0627\u0633\u06d2 \u0631\u062c\u0633\u0679\u0631 \u0645\u06cc\u06ba \u06a9\u06cc\u0634 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 ISR \u067e\u0631 \u0644\u06a9\u06be\u06d2 \u06af\u0626\u06d2 \u0627\u0648\u0631 \u0645\u06cc\u0646 \u0644\u0648\u067e \u0633\u06d2 \u067e\u0691\u06be\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0645\u062a\u063a\u06cc\u0631\u0627\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06c1\u0645 \u06c1\u06d2\u06d4 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0645\u0631\u062a\u0628 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06a9\u0648 \u06cc\u06c1 \u062c\u0627\u0646\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 \u06a9\u06c1 \u0642\u062f\u0631 \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0648\u0642\u062a \u0628\u062f\u0644 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u0633\u06d2 \u0688\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645 \u0645\u06cc\u06ba \u0631\u06a9\u06be\u0646\u06d2 \u0633\u06d2 \u0622\u0626\u06cc \u0627\u06cc\u0633 \u0622\u0631 \u0631\u0627\u0626\u0679 \u0627\u0648\u0631 \u0645\u06cc\u0646 \u0644\u0648\u067e \u062f\u0648\u0646\u0648\u06ba \u0627\u06cc\u06a9 \u06c1\u06cc \u0686\u06a9\u0631 \u0645\u06cc\u06ba \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-dtcm-fills-up-faster-than-itcm\">DTCM ITCM \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u0628\u06be\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/h3>\n<p>\u0645\u06cc\u0645\u0648\u0631\u06cc \u067e\u0631\u0648\u0641\u0627\u0626\u0644 \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u062f\u06cc\u06a9\u06be \u06a9\u0631\u060c \u0627\u06cc\u0633\u0627 \u0644\u06af\u062a\u0627 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-shell\">            DTCM:      727240 B    1572608 B     46.24%\n<\/code><\/pre>\n<p>\u0644\u0646\u06a9\u0631 \u0645\u06cc\u067e \u0641\u0627\u0626\u0644 \u06a9\u06d2 \u062e\u0644\u0627\u0635\u06d2 \u06a9\u06cc \u06cc\u06c1 \u0627\u06cc\u06a9 \u0644\u0627\u0626\u0646 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u06a9\u06c1 DTCM \u06a9\u06d2 \u067e\u0627\u0633 1,572,608 \u0628\u0627\u0626\u0679\u0633 (\u062a\u0642\u0631\u06cc\u0628\u0627\u064b 1.5 MB) \u062f\u0633\u062a\u06cc\u0627\u0628 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0641\u0631\u0645 \u0648\u06cc\u0626\u0631 727,240 \u0628\u0627\u0626\u0679\u0633 (\u062a\u0642\u0631\u06cc\u0628\u0627\u064b 710 KB) \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u06d2\u060c \u062c\u0648 \u0627\u0633 \u06a9\u06cc \u06a9\u0644 \u0635\u0644\u0627\u062d\u06cc\u062a \u06a9\u0627 46.24 \u0641\u06cc\u0635\u062f \u06c1\u06d2\u06d4<\/p>\n<p>DTCM ITCM \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u0628\u06be\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0628\u06c1\u062a \u0633\u06d2 \u0645\u0633\u0627\u0628\u0642\u062a\u06cc \u0622\u0626\u0679\u0645\u0632 \u06c1\u06cc\u06ba\u060c \u0628\u0634\u0645\u0648\u0644 \u0627\u0633\u0679\u06cc\u06a9\u060c \u06c1\u06cc\u067e (\u0627\u06af\u0631 \u06a9\u0648\u0626\u06cc \u06c1\u06d2)\u060c \u0639\u0627\u0644\u0645\u06cc \u0645\u062a\u063a\u06cc\u0631\u0627\u062a\u060c \u0627\u0648\u0631 \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u06a9\u06d2 \u0688\u06cc\u0679\u0627 \u0633\u06cc\u06a9\u0634\u0646 \u062c\u0646 \u0633\u06d2 \u0622\u067e \u0644\u0646\u06a9 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06c1\u0631 \u0633\u06cc \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u0641\u0646\u06a9\u0634\u0646\u060c \u06c1\u0631 RTOS \u0688\u06cc\u0679\u0627 \u0688\u06be\u0627\u0646\u0686\u06c1\u060c \u0627\u0648\u0631 \u06c1\u0631 \u0645\u0688\u0644 \u0648\u06cc\u0626\u0631 \u062c\u0632\u0648 \u062c\u0648 \u062c\u0627\u0645\u062f \u0688\u06cc\u0679\u0627 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0633 \u06a9\u06cc \u0627\u067e\u0646\u06cc \u0688\u06cc\u0679\u0627 \u06a9\u06cc \u062c\u06af\u06c1 \u062d\u0627\u0635\u0644 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0645\u0633\u0644\u0633\u0644 \u067e\u06cc\u0645\u0627\u0646\u06d2 \u067e\u0631 \u0645\u0634\u0642 \u067e\u06cc\u062f\u0627 \u06a9\u0631\u062a\u0627 \u06c1\u06d2.<\/p>\n<p>\u0688\u06cc\u0679\u0627 \u06a9\u06d2 \u06c1\u0631 \u0688\u06be\u0627\u0646\u0686\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0622\u067e \u06a9\u0648 \u062f\u0631\u062c \u0630\u06cc\u0644 \u0633\u0648\u0627\u0644\u0627\u062a \u067e\u0648\u0686\u06be\u0646\u06d2 \u0686\u0627\u06c1\u0626\u06cc\u06ba: \u06a9\u06cc\u0627 \u06cc\u06c1 \u0648\u0627\u0642\u0639\u06cc \u0627\u06cc\u06a9 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 \u06cc\u0627 \u06cc\u06c1 DDR \u0645\u06cc\u06ba \u06a9\u0627\u0645 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u061f<\/p>\n<h3 id=\"heading-a-concrete-example-of-the-performance-impact\">\u06a9\u0627\u0631\u06a9\u0631\u062f\u06af\u06cc \u06a9\u06d2 \u0627\u062b\u0631\u0627\u062a \u06a9\u06cc \u0645\u062e\u0635\u0648\u0635 \u0645\u062b\u0627\u0644\u06cc\u06ba\u06d4<\/h3>\n<p>\u0641\u0631\u0636 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u0622\u067e \u06a9\u0627 \u067e\u0631\u0648\u0633\u06cc\u0633\u0631 400 \u0645\u06cc\u06af\u0627\u06c1\u0631\u0679\u0632 \u067e\u0631 \u0686\u0644\u062a\u0627 \u06c1\u06d2\u06d4 DTCM \u0627\u06cc\u06a9 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 DDR 8 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0645\u06cc\u0631\u06d2 \u067e\u0627\u0633 \u0627\u06cc\u06a9 \u062a\u0644\u0627\u0634 \u06a9\u06cc \u0645\u06cc\u0632 \u06c1\u06d2 \u062c\u0633 \u062a\u06a9 \u0641\u06cc \u0633\u06cc\u06a9\u0646\u0688 100,000 \u0628\u0627\u0631 \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-shell\">DTCM: 100,000 accesses x 1 cycle  = 100,000 cycles\/sec\nDDR:  100,000 accesses x 8 cycles = 800,000 cycles\/sec\n\nDifference: 700,000 cycles\/sec\nAt 400 MHz: 700,000 \/ 400,000,000 = 0.00175 seconds = 1.75 ms\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u062d\u0633\u0627\u0628 \u06a9\u062a\u0627\u0628 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06cc \u062f\u0648\u0646\u0648\u06ba \u0627\u0642\u0633\u0627\u0645 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0641\u06cc \u0633\u06cc\u06a9\u0646\u0688 100,000 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0631\u0633\u0627\u0626\u06cc \u0633\u0627\u0626\u06cc\u06a9\u0644 \u06a9\u06cc \u0644\u0627\u06af\u062a \u06a9\u0648 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 DTCM \u0645\u06cc\u06ba\u060c \u06c1\u0631 \u0627\u06cc\u06a9 \u0631\u0633\u0627\u0626\u06cc 1 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u06c1\u06d2\u060c \u06a9\u0644 100,000 \u0633\u0627\u0626\u06cc\u06a9\u0644\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2\u06d4 DDR \u0645\u06cc\u06ba\u060c \u06c1\u0631 \u0627\u06cc\u06a9 \u0631\u0633\u0627\u0626\u06cc 8 \u0633\u0627\u0626\u06cc\u06a9\u0644\u0648\u06ba \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u06d2\u060c \u06a9\u0644 800,000 \u0633\u0627\u0626\u06cc\u06a9\u0644\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2\u06d4 400 \u0645\u06cc\u06af\u0627\u06c1\u0631\u0679\u0632 \u06af\u06be\u0691\u06cc \u06a9\u06cc \u0631\u0641\u062a\u0627\u0631 \u067e\u0631\u060c 700,000 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u0641\u06cc \u0633\u06cc\u06a9\u0646\u0688 \u06a9\u0627 \u0641\u0631\u0642 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06d2 \u0627\u0646\u062a\u0638\u0627\u0631 \u0645\u06cc\u06ba 1.75 \u0645\u0644\u06cc \u0633\u06cc\u06a9\u0646\u0688 \u0627\u0636\u0627\u0641\u06cc CPU \u0648\u0642\u062a \u06a9\u0627 \u062a\u0631\u062c\u0645\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0622\u067e \u0631\u06cc\u0626\u0644 \u0679\u0627\u0626\u0645 \u06a9\u0646\u0679\u0631\u0648\u0644 \u0644\u0648\u067e 1 \u06a9\u0644\u0648 \u06c1\u0631\u0679\u0632 (1 \u0627\u06cc\u0645 \u0627\u06cc\u0633 \u067e\u06cc\u0631\u06cc\u0688) \u067e\u0631 \u0686\u0644\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 1.75 \u0627\u06cc\u0645 \u0627\u06cc\u0633 \u0641\u06cc \u0633\u06cc\u06a9\u0646\u0688 \u06a9\u06cc \u0627\u0636\u0627\u0641\u06cc \u0645\u06cc\u0645\u0648\u0631\u06cc \u0644\u06cc\u0679\u06cc\u0646\u0633\u06cc \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u06a9\u0686\u06be \u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u062a\u06a9\u0631\u0627\u0631 \u0627\u0646 \u06a9\u06d2 1 \u0627\u06cc\u0645 \u0627\u06cc\u0633 \u0628\u062c\u0679 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0686\u0644\u06cc\u06ba \u06af\u06cc\u06d4 \u0686\u0627\u06c1\u06d2 \u0627\u0633 \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 \u0622\u067e \u0627\u0635\u0644 \u0688\u06cc\u0688 \u0644\u0627\u0626\u0646 \u0633\u06d2 \u0645\u062d\u0631\u0648\u0645 \u06c1\u0648\u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0633 \u06a9\u0627 \u0627\u0646\u062d\u0635\u0627\u0631 \u0627\u0633 \u0628\u0627\u062a \u067e\u0631 \u06c1\u0648\u06af\u0627 \u06a9\u06c1 \u06a9\u0633 \u0637\u0631\u062d \u0631\u0633\u0627\u0626\u06cc \u06a9\u0648 \u062a\u06a9\u0631\u0627\u0631 \u0645\u06cc\u06ba \u062a\u0642\u0633\u06cc\u0645 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0622\u067e \u06a9\u0627 \u0648\u0642\u062a \u06a9\u0627 \u0628\u062c\u0679 \u06a9\u062a\u0646\u0627 \u0622\u0631\u0627\u0645 \u062f\u06c1 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u06cc\u06c1 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0627\u06cc\u0645\u0628\u06cc\u0688\u0688 \u0633\u0633\u0679\u0645\u0632 \u0645\u06cc\u06ba \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06cc \u062c\u06af\u06c1 \u06a9\u06d2 \u0641\u06cc\u0635\u0644\u06d2 \u06a9\u06d2 \u062d\u0642\u06cc\u0642\u06cc \u062f\u0646\u06cc\u0627 \u06a9\u06d2 \u0646\u062a\u0627\u0626\u062c \u06a9\u06cc\u0648\u06ba \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-what-is-ddr-double-data-rate-memory\">\u0688\u0628\u0644 \u0688\u06cc\u0679\u0627 \u0631\u06cc\u0679 (DDR) \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06cc\u0627 \u06c1\u06d2\u061f<\/h2>\n<p>\u0688\u06cc \u0688\u06cc \u0622\u0631 \u0628\u06cc\u0631\u0648\u0646\u06cc \u0645\u06cc\u0645\u0648\u0631\u06cc \u06c1\u06d2\u06d4 \u06cc\u06c1 \u067e\u0631\u0648\u0633\u06cc\u0633\u0631 \u0688\u0627\u0626\u06cc \u06a9\u06d2 \u0628\u0627\u06c1\u0631 \u0633\u0631\u06a9\u0679 \u0628\u0648\u0631\u0688 \u067e\u0631 \u0648\u0627\u0642\u0639 \u06c1\u06d2 \u0627\u0648\u0631 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u0646\u0679\u0631\u0648\u0644\u0631 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u062c\u0691\u0627 \u06c1\u0648\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631\u0686\u06c1 \u0648\u06c1 TCMs \u0633\u06d2 \u0628\u06c1\u062a \u0628\u0691\u06d2 \u06c1\u06cc\u06ba (\u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 4 MB \u0633\u06d2 \u06a9\u0626\u06cc GB \u062a\u06a9)\u060c \u0631\u0633\u0627\u0626\u06cc \u06a9\u06cc \u0631\u0641\u062a\u0627\u0631 \u0646\u0645\u0627\u06cc\u0627\u06ba \u0637\u0648\u0631 \u067e\u0631 \u0633\u0633\u062a \u06c1\u06d2\u06d4<\/p>\n<p>&quot;\u0688\u0628\u0644 \u0688\u06cc\u0679\u0627 \u0631\u06cc\u0679&#8221; \u0646\u0627\u0645 \u0633\u06d2 \u0645\u0631\u0627\u062f \u0688\u06cc \u0688\u06cc \u0622\u0631 \u0686\u067e \u0627\u0648\u0631 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u0646\u0679\u0631\u0648\u0644\u0631 \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0688\u06cc\u0679\u0627 \u06a9\u06cc \u0645\u0646\u062a\u0642\u0644\u06cc \u06a9\u0627 \u0637\u0631\u06cc\u0642\u06c1 \u06c1\u06d2\u06d4 \u06af\u06be\u0691\u06cc \u06a9\u06d2 \u0633\u06af\u0646\u0644 \u06a9\u06d2 \u0628\u0691\u06be\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u0648\u0631 \u06af\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u062f\u0648\u0646\u0648\u06ba \u06a9\u0646\u0627\u0631\u0648\u06ba \u067e\u0631 \u0688\u06cc\u0679\u0627 \u0645\u0646\u062a\u0642\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0648 \u06a9\u06c1 \u0627\u06cc\u06a9 \u0688\u06cc\u0679\u0627 \u0631\u06cc\u0679 \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06d2 \u0645\u0642\u0627\u0628\u0644\u06d2 \u0645\u06cc\u06ba \u0645\u0646\u062a\u0642\u0644\u06cc \u06a9\u06cc \u0634\u0631\u062d \u06a9\u0648 \u0645\u0624\u062b\u0631 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u062f\u0648\u06af\u0646\u0627 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u062a\u0627\u06c1\u0645\u060c \u06cc\u06c1 DDR \u0686\u067e \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0642\u0637\u0627\u0631\u0648\u06ba \u0627\u0648\u0631 \u06a9\u0627\u0644\u0645\u0648\u06ba \u06a9\u0648 \u0686\u0627\u0644\u0648 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u062a\u0627\u062e\u06cc\u0631 \u06a9\u0648 \u062e\u062a\u0645 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u0627\u060c \u062c\u0648 \u0633\u0633\u062a \u0631\u0648\u06cc \u06a9\u0627 \u0633\u0628\u0628 \u0628\u0646\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-how-ddr-access-works\">DDR \u0631\u0633\u0627\u0626\u06cc \u06a9\u06cc\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/h3>\n<p>\u062c\u0628 CPU DDR \u0633\u06d2 \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u0646\u0679\u0631\u0648\u0644\u0631 \u0627\u0648\u0631 DDR \u0686\u067e \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0627\u06cc\u06a9 \u06a9\u062b\u06cc\u0631 \u0645\u0631\u062d\u0644\u06c1 \u0639\u0645\u0644 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0633\u0628 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c CPU \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u0646\u0679\u0631\u0648\u0644\u0631 \u06a9\u0648 \u0627\u06cc\u0688\u0631\u06cc\u0633 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0628\u06be\u06cc\u062c\u062a\u0627 \u06c1\u06d2\u06d4 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u0646\u0679\u0631\u0648\u0644\u0631 \u067e\u0631\u0648\u0633\u06cc\u0633\u0631 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0627\u06cc\u06a9 \u06c1\u0627\u0631\u0688\u0648\u06cc\u0626\u0631 \u0628\u0644\u0627\u06a9 \u06c1\u06d2 \u062c\u0648 CPU \u067e\u062a\u0648\u06ba \u06a9\u0648 \u0645\u062e\u0635\u0648\u0635 \u0642\u0637\u0627\u0631 \u0627\u0648\u0631 \u06a9\u0627\u0644\u0645 \u067e\u062a\u0648\u06ba \u0645\u06cc\u06ba \u062a\u0631\u062c\u0645\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0633\u06d2 DDR \u0686\u067e \u0633\u0645\u062c\u06be\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u062f\u0648\u0633\u0631\u0627\u060c \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u0646\u0679\u0631\u0648\u0644\u0631 DDR \u0686\u067e \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u062f\u0631\u0633\u062a \u0642\u0637\u0627\u0631\u0648\u06ba \u06a9\u0648 \u0686\u0627\u0644\u0648 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633 \u0645\u0631\u062d\u0644\u06d2 \u06a9\u0648 Row Address Strobe (RAS) \u0645\u0631\u062d\u0644\u06c1 \u06a9\u06c1\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 DDR \u0686\u067e\u0633 \u0686\u06be\u0648\u0679\u06d2 \u06a9\u06cc\u067e\u0633\u06cc\u0679\u0631\u0632 \u06a9\u06d2 \u0627\u06cc\u06a9 \u06af\u0631\u0688 \u0633\u06d2 \u0628\u0646\u06cc \u06c1\u0648\u062a\u06cc \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 &quot;\u0627\u06cc\u06a9 \u0642\u0637\u0627\u0631 \u06a9\u0648 \u0686\u0627\u0644\u0648 \u06a9\u0631\u0646\u06d2&#8221; \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0627\u0633 \u0642\u0637\u0627\u0631 \u0645\u06cc\u06ba \u0645\u0648\u062c\u0648\u062f \u062a\u0645\u0627\u0645 capacitors \u06a9\u0648 DDR \u0686\u067e \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0645\u0648\u062c\u0648\u062f \u0642\u0637\u0627\u0631 \u06a9\u06d2 \u0628\u0641\u0631 \u0645\u06cc\u06ba \u067e\u0691\u06be\u0646\u0627 \u06c1\u06d2\u06d4 \u0627\u0633 \u0645\u06cc\u06ba \u06a9\u0626\u06cc \u06af\u06be\u0691\u06cc\u0648\u06ba \u06a9\u06d2 \u0686\u06a9\u0631 \u0644\u06af\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u062a\u06cc\u0633\u0631\u0627\u060c \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u0646\u0679\u0631\u0648\u0644\u0631 \u0641\u0639\u0627\u0644 \u0642\u0637\u0627\u0631 \u0645\u06cc\u06ba \u0635\u062d\u06cc\u062d \u06a9\u0627\u0644\u0645 \u06a9\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633\u06d2 \u06a9\u0627\u0644\u0645 \u0627\u06cc\u0688\u0631\u06cc\u0633 \u0627\u0633\u0679\u0631\u0648\u0628 (CAS) \u0645\u0631\u062d\u0644\u06c1 \u06a9\u06c1\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 DDR \u0686\u067e \u0642\u0637\u0627\u0631 \u0628\u0641\u0631 \u0633\u06d2 \u0635\u062d\u06cc\u062d \u0628\u0679 \u06a9\u0648 \u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0627\u0644\u0645 \u06a9\u0627 \u067e\u062a\u06c1 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u0633 \u0645\u06cc\u06ba \u06a9\u0626\u06cc \u06af\u06be\u0691\u06cc\u0648\u06ba \u06a9\u06d2 \u0686\u06a9\u0631 \u0628\u06be\u06cc \u0644\u06af\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0686\u0648\u062a\u06be\u0627\u060c \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u0648\u0627\u067e\u0633 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u0646\u0679\u0631\u0648\u0644\u0631 \u0627\u0648\u0631 \u0648\u06c1\u0627\u06ba \u0633\u06d2 CPU \u0645\u06cc\u06ba \u0645\u0646\u062a\u0642\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0688\u06cc\u0679\u0627 \u06a9\u06cc \u0645\u0646\u062a\u0642\u0644\u06cc \u06af\u06be\u0691\u06cc \u06a9\u06d2 \u062f\u0648 \u06a9\u0646\u0627\u0631\u0648\u06ba \u067e\u0631 \u06c1\u0648\u062a\u06cc \u06c1\u06d2 (&quot;\u0688\u0628\u0644 \u0688\u06cc\u0679\u0627 \u0631\u06cc\u0679&#8221; \u062d\u0635\u06c1)\u060c \u062c\u0648 \u062a\u06be\u0631\u0648 \u067e\u0679 \u0645\u06cc\u06ba \u0645\u062f\u062f \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0644\u06cc\u06a9\u0646 RAS \u0627\u0648\u0631 CAS \u0645\u0631\u0627\u062d\u0644 \u06a9\u06cc \u0627\u0628\u062a\u062f\u0627\u0626\u06cc \u062a\u0627\u062e\u06cc\u0631 \u06a9\u0648 \u06a9\u0645 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u06d2 \u0622\u0646\u06d2 \u067e\u0631 \u0627\u0646\u062a\u0638\u0627\u0631 \u06a9\u0627 \u06a9\u0644 \u0648\u0642\u062a \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06cc \u062d\u0627\u0644\u062a \u067e\u0631 \u0645\u0646\u062d\u0635\u0631 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u067e\u0686\u06be\u0644\u06cc \u0631\u0633\u0627\u0626\u06cc \u0633\u06d2 \u062f\u0631\u0633\u062a \u0642\u0637\u0627\u0631 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u0641\u0639\u0627\u0644 \u06c1\u0648 \u0686\u06a9\u06cc \u06c1\u06d2 (&quot;\u0631\u0648 \u06c1\u0679&#8221;) \u062a\u0648 RAS \u0642\u062f\u0645 \u06a9\u0648 \u0686\u06be\u0648\u0691\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0631\u0633\u0627\u0626\u06cc \u062a\u06cc\u0632 \u062a\u0631 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u06cc\u06d4 \u0627\u06af\u0631 \u062f\u0648\u0633\u0631\u06cc \u0642\u0637\u0627\u0631\u06cc\u06ba \u0641\u0639\u0627\u0644 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0646\u0626\u06cc \u0642\u0637\u0627\u0631 \u06a9\u06be\u0648\u0644\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u0646\u06c1\u06cc\u06ba \u0628\u0646\u062f (\u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0686\u0627\u0631\u062c \u0634\u062f\u06c1) \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2 (&quot;\u063a\u0627\u0626\u0628 \u0642\u0637\u0627\u0631\u06cc\u06ba&#8221;)\u060c \u062a\u0648 \u0627\u0646 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u0645\u06cc\u06ba \u0632\u06cc\u0627\u062f\u06c1 \u0648\u0642\u062a \u0644\u06af\u06d2 \u06af\u0627\u06d4 \u0627\u0633 \u0648\u0642\u062a\u060c DDR \u0686\u067e \u0627\u06cc\u06a9 \u0631\u06cc\u0641\u0631\u06cc\u0634 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u0627\u0646\u062c\u0627\u0645 \u062f\u06d2 \u06af\u06cc\u060c \u0631\u0633\u0627\u0626\u06cc \u0645\u06cc\u06ba \u0645\u0632\u06cc\u062f \u062a\u0627\u062e\u06cc\u0631 \u06a9\u0631\u06d2 \u06af\u06cc\u06d4<\/p>\n<p>\u0639\u0645\u0644\u06cc \u0637\u0648\u0631 \u067e\u0631\u060c \u0631\u0633\u0627\u0626\u06cc \u06a9\u06d2 \u0646\u0645\u0648\u0646\u0648\u06ba \u0627\u0648\u0631 \u0648\u0642\u062a \u06a9\u06d2 \u0644\u062d\u0627\u0638 \u0633\u06d2 \u0688\u06cc \u0688\u06cc \u0622\u0631 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u0645\u06cc\u06ba \u062a\u0627\u062e\u06cc\u0631 \u062a\u0642\u0631\u06cc\u0628\u0627\u064b 5 \u0633\u06d2 20+ CPU \u06a9\u0644\u0627\u06a9 \u0633\u0627\u0626\u06cc\u06a9\u0644\u0648\u06ba \u062a\u06a9 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-why-ddr-is-necessary\">\u0688\u06cc \u0688\u06cc \u0622\u0631 \u06a9\u06cc\u0648\u06ba\u061f<\/h3>\n<p>\u0627\u0633 \u06a9\u06cc \u0648\u062c\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0641\u0631\u0645 \u0648\u06cc\u0626\u0631 \u0627\u06a9\u062b\u0631 \u0627\u06a9\u06cc\u0644\u06d2 TCM \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0648\u0632\u0648\u06ba \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u062d\u0642\u06cc\u0642\u06cc \u0627\u06cc\u0645\u0628\u06cc\u0688\u0688 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0645\u06cc\u06ba \u067e\u0631\u0648\u0679\u0648\u06a9\u0648\u0644 \u0627\u0633\u0679\u06cc\u06a9\u060c \u06a9\u0646\u06a9\u0634\u0646 \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc\u0632\u060c \u0641\u0627\u0626\u0644 \u0633\u0633\u0679\u0645 \u0688\u0631\u0627\u0626\u06cc\u0648\u0631\u0632\u060c \u0688\u06cc\u0628\u06af \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u0648\u063a\u06cc\u0631\u06c1 \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba\u06d4 TCMs \u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 2-3.5MB \u06a9\u0644 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba (ITCM + DTCM \u0645\u0634\u062a\u0631\u06a9\u06c1) \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u0645\u06a9\u0645\u0644 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u0648\u0627\u0644\u06cc \u0641\u0631\u0645 \u0648\u06cc\u0626\u0631 \u0627\u0645\u06cc\u062c \u0622\u0633\u0627\u0646\u06cc \u0633\u06d2 \u0627\u0633 \u0633\u06d2 \u062a\u062c\u0627\u0648\u0632 \u06a9\u0631 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0648\u0627\u0626\u0631\u0644\u06cc\u0633 \u06a9\u0646\u06cc\u06a9\u0679\u06cc\u0648\u06cc\u0679\u06cc \u0627\u0633\u0679\u06cc\u06a9 \u06a9\u0648 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u0648\u0631 \u0628\u0639\u062f \u0645\u06cc\u06ba \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06cc \u062d\u0642\u06cc\u0642\u06cc \u062f\u0646\u06cc\u0627 \u06a9\u06cc \u0645\u062b\u0627\u0644:<\/p>\n<pre><code class=\"language-shell\">Without connectivity stack:\n    ITCM:      506,996 B     (24.18%)\n    DTCM:      628,408 B     (39.96%)\n    DDR:       558,779 B     (13.32%)\n\nWith connectivity stack:\n    ITCM:      570,936 B     (27.22%)\n    DTCM:      727,240 B     (46.24%)\n    DDR:       622,915 B     (14.85%)\n\nDelta:\n    ITCM: +63,940 B   (~62 KB of additional code)\n    DTCM: +98,832 B   (~96 KB of additional data)\n    DDR:  +64,136 B   (~62 KB of additional data\/code)\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0645\u0648\u0627\u0632\u0646\u06c1 \u0648\u0627\u0626\u0631\u0644\u06cc\u0633 \u06a9\u0646\u06cc\u06a9\u0679\u06cc\u0648\u06cc\u0679\u06cc \u0627\u0633\u0679\u06cc\u06a9 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u0648\u0631 \u0627\u0633 \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u0627\u0633\u06cc \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u06d2 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0648 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>&quot;\u06a9\u0648\u0626\u06cc \u0646\u06c1\u06cc\u06ba&#8221; \u0642\u0637\u0627\u0631\u06cc\u06ba \u0628\u06cc\u0633 \u0644\u0627\u0626\u0646 \u06a9\u06cc \u0646\u0634\u0627\u0646\u062f\u06c1\u06cc \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 &quot;\u06a9\u06d2 \u0633\u0627\u062a\u06be&#8221; \u0642\u0637\u0627\u0631 \u06a9\u0646\u06a9\u0634\u0646 \u06a9\u06cc \u062e\u0635\u0648\u0635\u06cc\u062a \u06a9\u0648 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0648 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 &quot;\u0688\u06cc\u0644\u0679\u0627&#8221; \u0642\u0637\u0627\u0631 \u0627\u062e\u062a\u0644\u0627\u0641\u0627\u062a \u06a9\u0648 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u0648\u0627\u062d\u062f \u062e\u0635\u0648\u0635\u06cc\u062a \u06a9\u0648 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06d2 \u062a\u06cc\u0646\u0648\u06ba \u0639\u0644\u0627\u0642\u0648\u06ba \u0645\u06cc\u06ba \u0627\u0636\u0627\u0641\u06cc ~220KB \u062e\u0631\u0686 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633\u0679\u06cc\u06a9 \u06a9\u06d2 \u0648\u0642\u062a \u06a9\u06d2 \u0627\u06c1\u0645 \u062d\u0635\u06d2 (\u0627\u0646\u0679\u0631\u067e\u0679 \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632\u060c \u0628\u0641\u0631 \u0645\u06cc\u0646\u062c\u0645\u0646\u0679) ITCM \u0627\u0648\u0631 DTCM \u0645\u06cc\u06ba \u0686\u0644\u06d2 \u06af\u0626\u06d2\u06d4 \u0628\u0627\u0642\u06cc (\u067e\u06cc\u06a9\u0679 \u067e\u0627\u0631\u0633\u0631\u060c \u06a9\u0646\u06a9\u0634\u0646 \u0645\u06cc\u0646\u062c\u0645\u0646\u0679\u060c \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0644\u0627\u062c\u06a9) DDR \u0645\u06cc\u06ba \u0686\u0644\u0627 \u06af\u06cc\u0627 \u062c\u06c1\u0627\u06ba \u0633\u0646\u06af\u0644 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u06a9\u06cc \u06a9\u0627\u0631\u06a9\u0631\u062f\u06af\u06cc \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u062a\u06be\u06cc\u06d4<\/p>\n<h3 id=\"heading-what-belongs-in-ddr\">DDR \u0645\u06cc\u06ba \u06a9\u06cc\u0627 \u0634\u0627\u0645\u0644 \u06c1\u06d2\u061f<\/h3>\n<p><strong>\u0627\u0628\u062a\u062f\u0627\u0626\u06cc \u0627\u0648\u0631 \u062a\u0631\u062a\u06cc\u0628 \u06a9\u0648\u0688<\/strong> \u06cc\u06c1 \u0633\u0628 \u0633\u06d2 \u0622\u0633\u0627\u0646 \u0632\u0645\u0631\u06c1 \u06c1\u06d2\u06d4 \u0628\u0648\u0679 \u067e\u0631 \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u0686\u0644\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0641\u0646\u06a9\u0634\u0646\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u06cc\u0632 \u0639\u0645\u0644 \u062f\u0631\u0622\u0645\u062f \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u060c \u062c\u06cc\u0633\u06d2 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u0648 \u067e\u0627\u0631\u0633 \u06a9\u0631\u0646\u0627\u060c \u067e\u06cc\u0631\u06cc \u0641\u06cc\u0631\u0644\u0632 \u06a9\u0648 \u0634\u0631\u0648\u0639 \u06a9\u0631\u0646\u0627\u060c \u06cc\u0627 \u0688\u06cc\u0679\u0627 \u0633\u0679\u0631\u06a9\u0686\u0631 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u0646\u0627\u06d4 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u0686\u0644\u062a\u0627 \u06c1\u06d2\u060c DDR \u062a\u0627\u062e\u06cc\u0631 \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 \u06a9\u0686\u06be \u0627\u0648\u0631 \u0645\u0644\u06cc \u0633\u06cc\u06a9\u0646\u0688 \u0644\u06cc\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u062f\u0648\u0628\u0627\u0631\u06c1 \u06a9\u0628\u06be\u06cc \u0646\u06c1\u06cc\u06ba \u0686\u0644\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u0648\u0626\u06cc \u0646\u0648\u0679\u0633 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u0627\u06d4 \u0627\u0633\u06d2 DDR \u0645\u06cc\u06ba \u0631\u06a9\u06be\u06cc\u06ba \u0627\u0648\u0631 TCM \u062c\u06af\u06c1 \u06a9\u0648 \u06a9\u0648\u0688 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u06cc\u06ba \u062c\u0648 \u0641\u06cc \u0633\u06cc\u06a9\u0646\u0688 \u0645\u06cc\u06ba \u062f\u0633 \u0644\u0627\u06a9\u06be \u0628\u0627\u0631 \u0686\u0644\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p><strong>\u0628\u0691\u0627 \u0628\u0641\u0631<\/strong> \u06cc\u06c1 TCM \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0648\u0632\u0648\u06ba \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u06c1\u0645\u06cc\u06ba DDR \u06a9\u06d2 \u0644\u06cc\u06d2 \u062c\u0627\u0646\u0627 \u067e\u0691\u06d2 \u06af\u0627\u06d4 16 \u0628\u0679\u0633 \u0641\u06cc \u067e\u06a9\u0633\u0644 \u06a9\u06d2 \u0633\u0627\u062a\u06be 320&#215;240 \u0688\u0633\u067e\u0644\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0645\u06cc\u062c \u0641\u0631\u06cc\u0645 \u0628\u0641\u0631 150KB \u06c1\u06d2\u06d4 \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u067e\u06cc\u06a9\u0679 \u067e\u0648\u0644 32KB \u0633\u06d2 \u0628\u0691\u0627 \u06c1\u0648 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u0641\u0627\u0626\u0644 \u0633\u0633\u0679\u0645 \u06a9\u06cc\u0634 64KB \u06c1\u0648 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0628\u0641\u0631\u0632 \u0688\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645 \u06a9\u06cc \u06a9\u0644 \u0635\u0644\u0627\u062d\u06cc\u062a \u06a9\u0627 \u0627\u06cc\u06a9 \u0627\u06c1\u0645 \u062d\u0635\u06c1 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0633\u0679\u06cc\u06a9 \u0627\u0648\u0631 \u0645\u062a\u063a\u06cc\u0631\u0627\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0648\u0626\u06cc \u062c\u06af\u06c1 \u0646\u06c1\u06cc\u06ba \u0686\u06be\u0648\u0691\u062a\u06d2 \u062c\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062f\u0631\u062d\u0642\u06cc\u0642\u062a \u0633\u0646\u06af\u0644 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p><strong>\u06a9\u0628\u06be\u06cc \u06a9\u0628\u06be\u0627\u0631 \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u06a9\u0631\u062f\u06c1 \u0688\u06cc\u0679\u0627<\/strong> \u0627\u0633 \u06a9\u0627 \u062a\u0639\u0644\u0642 \u0628\u06be\u06cc \u0688\u06cc \u0688\u06cc \u0622\u0631 \u0633\u06d2 \u06c1\u06d2\u06d4 \u06a9\u06cc\u0644\u06cc\u0628\u0631\u06cc\u0634\u0646 \u0679\u06cc\u0628\u0644\u0632 \u062c\u0648 \u0628\u0648\u0679 \u067e\u0631 \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u0644\u0648\u0688 \u06c1\u0648\u062a\u06cc \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0622\u067e\u0631\u06cc\u0634\u0646 \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u06a9\u0628\u06be\u06cc \u06a9\u0628\u06be\u0627\u0631 \u067e\u0691\u06be\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u060c \u0688\u06cc\u0628\u06af \u0645\u06cc\u0633\u062c\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0633\u0679\u0631\u0646\u06af \u0679\u06cc\u0628\u0644\u0632 \u062c\u0648 \u0635\u0631\u0641 \u0688\u06cc\u0648\u0644\u067e\u0645\u0646\u0679 \u06cc\u0627 \u062e\u0631\u0627\u0628\u06cc \u06a9\u06d2 \u062d\u0627\u0644\u0627\u062a \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u067e\u0631\u0646\u0679 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u062e\u0631\u0627\u0628\u06cc \u06a9\u06cc \u062a\u0641\u0635\u06cc\u0644 \u06a9\u06cc \u0645\u06cc\u0632\u06cc\u06ba DDR \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0679\u06be\u06cc\u06a9 \u06c1\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0631\u0633\u0627\u0626\u06cc \u06a9\u06cc \u062a\u0639\u062f\u0627\u062f \u06a9\u0645 \u06c1\u06d2 \u062a\u0648\u060c \u0641\u06cc \u0631\u0633\u0627\u0626\u06cc \u0627\u0636\u0627\u0641\u06cc \u062a\u0627\u062e\u06cc\u0631 \u0645\u062a\u0639\u0644\u0642\u06c1 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p><strong>\u06a9\u0648\u0688 \u062c\u06c1\u0627\u06ba \u0648\u0642\u062a \u0627\u06c1\u0645 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/strong> \u0627\u0633 \u0633\u06d2 DDR \u0632\u0645\u0631\u06c1 \u062e\u062a\u0645 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u067e\u0631\u0648\u0679\u0648\u06a9\u0648\u0644 \u0627\u0633\u0679\u06cc\u06a9 (\u0628\u0644\u0648\u0679\u0648\u062a\u06be\u060c \u0648\u0627\u0626\u06cc \u0641\u0627\u0626\u06cc\u060c \u0679\u06cc \u0633\u06cc \u067e\u06cc\/\u0622\u0626\u06cc \u067e\u06cc)\u060c \u0641\u0627\u0626\u0644 \u0633\u0633\u0679\u0645 \u0688\u0631\u0627\u0626\u06cc\u0648\u0631\u0632\u060c \u0627\u0648 \u0679\u06cc \u0627\u06d2 \u0627\u067e \u0688\u06cc\u0679 \u06c1\u06cc\u0646\u0688\u0644\u0631\u0632\u060c \u0627\u0648\u0631 \u0634\u06cc\u0644\/\u0688\u06cc\u0628\u06af \u06a9\u0645\u0627\u0646\u0688 \u0627\u0646\u0679\u0631\u067e\u0631\u06cc\u0679\u0631\u0632 \u0633\u0628\u06be\u06cc \u0627\u06c1\u0645 \u06a9\u0627\u0645 \u0627\u0646\u062c\u0627\u0645 \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0644\u06cc\u06a9\u0646 \u0627\u0646 \u0645\u06cc\u06ba \u0633\u06d2 \u06a9\u0633\u06cc \u06a9\u0648 \u0628\u06be\u06cc \u0641\u06cc \u06a9\u0645\u0627\u0646\u0688 \u0627\u06cc\u06a9 \u06af\u06be\u0691\u06cc \u06a9\u06d2 \u0686\u06a9\u0631 \u0645\u06cc\u06ba \u0686\u0644\u0627\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0646\u0638\u0627\u0645 \u06a9\u06d2 \u0631\u0648\u06cc\u06d2 \u06a9\u0648 \u0645\u062a\u0627\u062b\u0631 \u06a9\u06cc\u06d2 \u0628\u063a\u06cc\u0631 \u0688\u06cc \u0688\u06cc \u0622\u0631 \u06a9\u06cc \u0632\u06cc\u0627\u062f\u06c1 \u062a\u0627\u062e\u06cc\u0631 \u06a9\u0627 \u0645\u0642\u0627\u0628\u0644\u06c1 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-how-to-place-code-and-data-in-ddr\">\u0688\u06cc \u0688\u06cc \u0622\u0631 \u0645\u06cc\u06ba \u06a9\u0648\u0688 \u0627\u0648\u0631 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u062a\u0639\u06cc\u0646\u0627\u062a \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<pre><code class=\"language-c\">__attribute__((section(\".ddr_text\")))\nvoid parse_config_file(const char *path) {\n    \/\/ Runs from DDR, slower instruction fetch,\n    \/\/ but config parsing happens once at boot,\n    \/\/ so the latency does not affect runtime performance.\n}\n\n__attribute__((section(\".ddr_bss\")))\nstatic uint8_t network_packet_pool[32768];\n\n__attribute__((section(\".ddr_bss\")))\nstatic uint8_t framebuffer[320 * 240 * 2];  \/\/ 150 KB, far too large for TCM\n<\/code><\/pre>\n<p>\u0627\u0633 \u06a9\u0648\u0688 \u0645\u06cc\u06ba <code>parse_config_file<\/code> \u0645\u06cc\u06ba \u0631\u06a9\u06be\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 <code>.ddr_text<\/code> \u06cc\u06c1 \u0648\u06c1 \u0633\u06cc\u06a9\u0634\u0646 \u06c1\u06d2 \u062c\u0633\u06d2 \u0644\u0646\u06a9\u0631 \u0627\u0633\u06a9\u0631\u067e\u0679 DDR \u0633\u06d2 \u0646\u0642\u0634\u06c1 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633 \u0641\u0646\u06a9\u0634\u0646 \u0645\u06cc\u06ba \u062a\u0645\u0627\u0645 \u06c1\u062f\u0627\u06cc\u0627\u062a \u0645\u0644\u0679\u06cc \u0633\u0627\u0626\u06cc\u06a9\u0644 \u0644\u06cc\u0679\u0646\u0633\u06cc \u06a9\u06d2 \u0633\u0627\u062a\u06be DDR \u0633\u06d2 \u06a9\u06be\u06cc\u0646\u0686\u06cc \u06af\u0626\u06cc \u06c1\u06cc\u06ba\u060c \u0644\u06cc\u06a9\u0646 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u067e\u0627\u0631\u0633\u0646\u06af \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u0628\u0648\u0679 \u067e\u0631 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0627\u0636\u0627\u0641\u06cc \u0648\u0642\u062a \u0646\u06c1 \u06c1\u0648\u0646\u06d2 \u06a9\u06d2 \u0628\u0631\u0627\u0628\u0631 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>network_packet_pool<\/code> \u0645\u06cc\u06ba \u0627\u06cc\u06a9 32KB \u0628\u0641\u0631 \u0631\u06a9\u06be\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 <code>.ddr_bss<\/code>. \u06a9\u06c1 <code>.bss<\/code> \u0644\u0627\u062d\u0642\u06c1 \u0627\u06cc\u06a9 \u06a9\u0646\u0648\u0646\u0634\u0646 \u06c1\u06d2 \u062c\u0648 \u0627\u0633 \u0628\u0627\u062a \u06a9\u06cc \u0646\u0634\u0627\u0646\u062f\u06c1\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06cc\u06c1 \u0635\u0641\u0631 \u0633\u06d2 \u0634\u0631\u0648\u0639 \u06a9\u0631\u062f\u06c1 \u0688\u06cc\u0679\u0627 \u06c1\u06d2 (\u0644\u0646\u06a9 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u0627 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0641\u0631\u0645 \u0648\u06cc\u0626\u0631 \u0627\u0645\u06cc\u062c \u0645\u06cc\u06ba \u0635\u0641\u0631 \u06a9\u06d2 32KB \u06a9\u0648 \u0630\u062e\u06cc\u0631\u06c1 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2\u060c \u0633\u0679\u0627\u0631\u0679 \u0627\u067e \u06a9\u06d2 \u0648\u0642\u062a \u0645\u06cc\u0645\u0648\u0631\u06cc \u0635\u0641\u0631 \u06c1\u06d2)\u06d4 \u06cc\u06c1 \u0628\u0641\u0631 \u0627\u06cc\u0633\u06d2 \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u067e\u06cc\u06a9\u0679\u0648\u06ba \u06a9\u0648 \u0630\u062e\u06cc\u0631\u06c1 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0688\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645 \u0627\u0633\u067e\u06cc\u0633 \u06a9\u0627 \u062c\u0648\u0627\u0632 \u067e\u06cc\u0634 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0627\u0641\u06cc \u0648\u0642\u062a \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06a9\u06c1 <code>framebuffer<\/code> \u0627\u06cc\u06a9 150KB \u0628\u0641\u0631 (320 \u067e\u06a9\u0633\u0644 \u0686\u0648\u0691\u0627\u060c 240 \u067e\u06a9\u0633\u0644 \u0627\u0648\u0646\u0686\u0627\u060c 2 \u0628\u0627\u0626\u0679\u0633 \u0641\u06cc \u067e\u06a9\u0633\u0644) \u0628\u06be\u06cc \u0631\u06a9\u06be\u0627 \u06af\u06cc\u0627 \u06c1\u06d2: <code>.ddr_bss<\/code>. 150KB \u067e\u0631\u060c \u06cc\u06c1 \u0648\u0627\u062d\u062f \u0628\u0641\u0631 DTCM \u06a9\u06cc \u06a9\u0644 \u0635\u0644\u0627\u062d\u06cc\u062a \u06a9\u0627 \u062a\u0642\u0631\u06cc\u0628\u0627\u064b 10% \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0628\u06c1\u062a \u0645\u06c1\u0646\u06af\u0627 \u06c1\u06d2 \u062c\u0628 \u062a\u06a9 \u06a9\u06c1 \u0688\u0633\u067e\u0644\u06d2 \u0627\u067e \u0688\u06cc\u0679\u0633 \u0645\u0634\u06a9\u0644 \u0631\u06cc\u0626\u0644 \u0679\u0627\u0626\u0645 \u0622\u067e\u0631\u06cc\u0634\u0646\u0632 \u0646\u06c1 \u06c1\u0648\u06ba\u06d4<\/p>\n<h2 id=\"heading-how-they-compare-a-side-by-side-overview\">\u0645\u0648\u0627\u0632\u0646\u06c1 \u06a9\u06cc\u0633\u06d2 \u06a9\u0631\u06cc\u06ba: \u067e\u06c1\u0644\u0648 \u0628\u06c1 \u067e\u06c1\u0644\u0648 \u062c\u0627\u0626\u0632\u06c1<\/h2>\n<table>\n<thead>\n<tr>\n<th>\u062c\u0627\u0626\u06cc\u062f\u0627\u062f<\/th>\n<th>\u0622\u0626\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645<\/th>\n<th>\u0688\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645<\/th>\n<th>\u0688\u06cc \u0688\u06cc \u0622\u0631<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>\u0645\u0642\u0635\u062f<\/strong><\/td>\n<td>\u06a9\u0645\u0627\u0646\u0688 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u06cc\u06ba\u06d4<\/td>\n<td>\u0688\u06cc\u0679\u0627 \u0627\u0633\u0679\u0648\u0631\u06cc\u062c<\/td>\n<td>\u06cc\u0648\u0646\u06cc\u0648\u0631\u0633\u0644 \u0627\u0633\u0679\u0648\u0631\u06cc\u062c<\/td>\n<\/tr>\n<tr>\n<td><strong>\u0645\u0642\u0627\u0645<\/strong><\/td>\n<td>\u0622\u0646 \u0688\u0627\u0626\u06cc \u067e\u0631\u0627\u0626\u06cc\u0648\u06cc\u0679 \u0628\u0633<\/td>\n<td>\u0622\u0646 \u0688\u0627\u0626\u06cc \u067e\u0631\u0627\u0626\u06cc\u0648\u06cc\u0679 \u0628\u0633<\/td>\n<td>\u0622\u0641 \u0686\u067e\u060c \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u0646\u0679\u0631\u0648\u0644\u0631 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2<\/td>\n<\/tr>\n<tr>\n<td><strong>\u062a\u0627\u062e\u06cc\u0631 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc<\/strong><\/td>\n<td>1 \u0633\u0627\u0626\u06cc\u06a9\u0644 (\u062a\u0639\u06cc\u0646\u0627\u062a\u06cc)<\/td>\n<td>1 \u0633\u0627\u0626\u06cc\u06a9\u0644 (\u062a\u0639\u06cc\u0646\u0627\u062a\u06cc)<\/td>\n<td>5 \u0633\u06d2 20+ \u0633\u0627\u0626\u06cc\u06a9\u0644 (\u0645\u062a\u063a\u06cc\u0631)<\/td>\n<\/tr>\n<tr>\n<td><strong>\u0639\u0627\u0645 \u0633\u0627\u0626\u0632<\/strong><\/td>\n<td>512KB~2MB<\/td>\n<td>512KB~1.5MB<\/td>\n<td>4MB \u0633\u06d2 \u06a9\u0626\u06cc GB \u062a\u06a9<\/td>\n<\/tr>\n<tr>\n<td><strong>\u0679\u06cc\u06a9\u0646\u0627\u0644\u0648\u062c\u06cc<\/strong><\/td>\n<td>SRAM<\/td>\n<td>SRAM<\/td>\n<td>DRAM (\u0631\u06cc\u0641\u0631\u06cc\u0634 \u062f\u0631\u06a9\u0627\u0631 \u06c1\u06d2)<\/td>\n<\/tr>\n<tr>\n<td><strong>\u0637\u0627\u0642\u062a<\/strong><\/td>\n<td>\u06a9\u0645 (\u062a\u0627\u0632\u06c1 \u06a9\u0627\u0631\u06cc \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba)<\/td>\n<td>\u06a9\u0645 (\u062a\u0627\u0632\u06c1 \u06a9\u0627\u0631\u06cc \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba)<\/td>\n<td>\u06c1\u0627\u0626\u06cc (\u0645\u0633\u0644\u0633\u0644 \u0631\u06cc\u0641\u0631\u06cc\u0634)<\/td>\n<\/tr>\n<tr>\n<td><strong>\u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u06c1\u062a\u0631\u06cc\u0646 \u0645\u0648\u0632\u0648\u06ba \u06c1\u06d2\u06d4<\/strong><\/td>\n<td>\u0622\u0626\u06cc \u0627\u06cc\u0633 \u0622\u0631\u060c \u0631\u06cc\u0626\u0644 \u0679\u0627\u0626\u0645 \u0644\u0648\u067e\u060c \u0688\u06cc \u0627\u06cc\u0633 \u067e\u06cc<\/td>\n<td>\u0627\u0633\u0679\u06cc\u06a9\u060c \u06af\u0631\u0645 \u0645\u062a\u063a\u06cc\u0631\u0627\u062a\u060c \u062a\u0644\u0627\u0634 \u06a9\u06cc \u0645\u06cc\u0632\u06cc\u06ba<\/td>\n<td>\u0628\u0691\u06d2 \u0628\u0641\u0631\u0632\u060c \u0627\u0628\u062a\u062f\u0627\u0626\u06cc \u06a9\u0648\u0688\u060c \u067e\u0631\u0648\u0679\u0648\u06a9\u0648\u0644 \u0627\u0633\u0679\u06cc\u06a9<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u06cc\u06c1 \u062c\u062f\u0648\u0644 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06cc \u062a\u06cc\u0646 \u0627\u0642\u0633\u0627\u0645 \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0627\u06c1\u0645 \u0641\u0631\u0642 \u06a9\u0627 \u062e\u0644\u0627\u0635\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0633\u0628 \u0633\u06d2 \u0627\u06c1\u0645 \u06a9\u0627\u0644\u0645 &quot;\u0627\u06cc\u06a9\u0633\u06cc\u0633 \u0644\u06cc\u0679\u0646\u0633\u06cc&#8221; \u0627\u0648\u0631 &quot;Typical Size&#8221; \u06c1\u06cc\u06ba\u06d4 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0628\u0646\u06cc\u0627\u062f\u06cc \u062a\u0648\u0627\u0632\u0646 \u06a9\u06cc \u0646\u0645\u0627\u0626\u0646\u062f\u06af\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 TCM \u062a\u06cc\u0632 \u0644\u06cc\u06a9\u0646 \u0686\u06be\u0648\u0679\u0627 \u06c1\u06d2\u060c DDR \u0633\u0633\u062a \u0644\u06cc\u06a9\u0646 \u0628\u0691\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>&quot;\u0679\u06cc\u06a9\u0646\u0627\u0644\u0648\u062c\u06cc&#8221; \u06a9\u0627\u0644\u0645 \u0627\u0633 \u06a9\u06cc \u0648\u062c\u06c1 \u0628\u062a\u0627\u062a\u0627 \u06c1\u06d2\u06d4 TCM \u062c\u0627\u0645\u062f RAM (SRAM) \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0648 \u06c1\u0631 \u0627\u06cc\u06a9 \u0628\u0679 \u06a9\u0648 \u0641\u0644\u067e \u0641\u0644\u0627\u067e \u0633\u0631\u06a9\u0679\u0633 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0630\u062e\u06cc\u0631\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0628\u062c\u0644\u06cc \u06a9\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u0627\u067e\u0646\u06cc \u062d\u0627\u0644\u062a \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 DDR \u0645\u062a\u062d\u0631\u06a9 RAM (DRAM) \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0648 \u06c1\u0631 \u0627\u06cc\u06a9 \u0628\u0679 \u06a9\u0648 \u0627\u06cc\u06a9 \u0686\u06be\u0648\u0679\u06d2 \u06a9\u06cc\u067e\u0633\u06cc\u0679\u0631 \u0645\u06cc\u06ba \u0686\u0627\u0631\u062c \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0686\u0648\u0646\u06a9\u06c1 \u06a9\u06cc\u067e\u0633\u06cc\u0679\u0631\u0632 \u06a9\u0627 \u0686\u0627\u0631\u062c \u0644\u06cc\u06a9 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 DRAM \u06a9\u0648 \u0648\u0642\u062a\u0627 \u0641\u0648\u0642\u062a\u0627 \u0631\u06cc\u0641\u0631\u06cc\u0634 \u06a9\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u060c \u062c\u0633 \u0633\u06d2 \u0628\u062c\u0644\u06cc \u06a9\u06cc \u06a9\u06be\u067e\u062a \u0645\u06cc\u06ba \u0627\u0636\u0627\u0641\u06c1 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0628\u0639\u0636 \u0627\u0648\u0642\u0627\u062a \u0631\u06cc\u0641\u0631\u06cc\u0634 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0648\u06ba \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0645\u0648\u0627\u0641\u0642 \u06c1\u0648\u0646\u06d2 \u067e\u0631 \u0631\u0633\u0627\u0626\u06cc \u0645\u06cc\u06ba \u062a\u0627\u062e\u06cc\u0631 \u06a9\u0627 \u0633\u0628\u0628 \u0628\u0646\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-the-memory-map\">\u0645\u06cc\u0645\u0648\u0631\u06cc \u0646\u0642\u0634\u06c1<\/h3>\n<pre><code class=\"language-markdown\">Address Space:\n  +------------------------------+  0x00000000\n  |                              |\n  |         ITCM (2 MB)          |  Single-cycle Inst Fetch\n  |    ISRs, real-time loops,    |\n  |    DSP, critical code        |\n  |                              |\n  +------------------------------+  0x00200000\n  |       (reserved\/gap)         |\n  +------------------------------+  0x20000000\n  |                              |\n  |       DTCM (~1.5 MB)         |  Single-cycle Data Access\n  |    Stack, hot variables,     |\n  |    lookup tables, DMA bufs   |\n  |                              |\n  +------------------------------+  0x20180000\n  |       (reserved\/gap)         |\n  +------------------------------+  0x80000000\n  |                              |\n  |         DDR (4 MB)           |  Multi-cycle Access\n  |    Large buffers, init code, |\n  |    protocol stacks, config   |\n  |                              |\n  +------------------------------+  0x80400000\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u062e\u0627\u06a9\u06c1 \u0627\u06cc\u06a9 CPU \u06a9\u06d2 \u0627\u06cc\u0688\u0631\u06cc\u0633 \u0627\u0633\u067e\u06cc\u0633 \u06a9\u0648 \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0627\u0648\u067e\u0631 \u0633\u06d2 \u06a9\u0645 \u067e\u062a\u0648\u06ba \u0633\u06d2 \u0644\u06d2 \u06a9\u0631 \u0646\u06cc\u0686\u06d2 \u062a\u06a9 \u0627\u0639\u0644\u06cc\u0670 \u067e\u062a\u0648\u06ba \u062a\u06a9 \u06c1\u06d2\u06d4 ITCM \u067e\u062a\u06c1 0x00000000 \u0633\u06d2 \u0634\u0631\u0648\u0639 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0633\u0628 \u0633\u06d2 \u06a9\u0645 2 MB \u067e\u0631 \u0642\u0628\u0636\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0645\u062d\u0641\u0648\u0638\/\u063a\u06cc\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0634\u062f\u06c1 \u0627\u06cc\u0688\u0631\u06cc\u0633 \u0627\u0633\u067e\u06cc\u0633 \u0645\u06cc\u06ba \u0648\u0642\u0641\u06d2 \u06a9\u06d2 \u0628\u0639\u062f\u060c DTCM 0x20000000 \u067e\u0631 \u0648\u0627\u0642\u0639 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633 \u06a9\u0627 \u0633\u0627\u0626\u0632 \u062a\u0642\u0631\u06cc\u0628\u0627\u064b 1.5 MB \u06c1\u06d2\u06d4 \u0645\u062d\u0641\u0648\u0638 \u062c\u06af\u06c1 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0627\u0648\u0631 \u062e\u0644\u0627 \u0622\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 DDR 4MB \u062c\u06af\u06c1 \u06a9\u06d2 \u0633\u0627\u062a\u06be 0x80000000 \u0633\u06d2 \u0634\u0631\u0648\u0639 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0639\u0644\u0627\u0642\u0648\u06ba \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u062a\u0641\u0627\u0648\u062a \u0627\u06c1\u0645 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0645\u062e\u0635\u0648\u0635 \u0627\u06cc\u0688\u0631\u06cc\u0633 \u0631\u06cc\u0646\u062c \u06c1\u06d2 \u062c\u0648 \u0641\u0632\u06cc\u06a9\u0644 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0645\u06cc\u06ba \u0645\u06cc\u067e \u0646\u06c1\u06cc\u06ba \u06a9\u06cc \u06af\u0626\u06cc \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0622\u067e \u06a9\u0627 \u06a9\u0648\u0688 \u063a\u0644\u0637\u06cc \u0633\u06d2 \u0627\u0646 \u062e\u0627\u0644\u06cc \u062c\u06af\u06c1\u0648\u06ba \u0645\u06cc\u06ba \u0633\u06d2 \u06a9\u0633\u06cc \u0627\u06cc\u06a9 \u0627\u06cc\u0688\u0631\u06cc\u0633 \u0633\u06d2 \u067e\u0691\u06be\u062a\u0627 \u06cc\u0627 \u0644\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0646\u062a\u0627\u0626\u062c \u06a9\u0627 \u0627\u0646\u062d\u0635\u0627\u0631 \u0686\u067e \u06a9\u06cc \u0628\u0633 \u06a9\u06cc \u062e\u0631\u0627\u0628\u06cc \u06a9\u06cc \u062a\u0631\u062a\u06cc\u0628 \u067e\u0631 \u06c1\u0648\u06af\u0627\u06d4 \u06cc\u06c1 \u06c1\u0627\u0631\u0688 \u0641\u0627\u0644\u0679 \u0627\u0633\u062a\u062b\u0646\u0627\u0621 \u06a9\u0648 \u0645\u062a\u062d\u0631\u06a9 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2 \u06cc\u0627 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u06a9\u0648\u0691\u06d2 \u06a9\u0627 \u0688\u06cc\u0679\u0627 \u0648\u0627\u067e\u0633 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u067e\u062a\u06c1 \u0635\u0631\u0641 \u0645\u062b\u0627\u0644 \u06a9\u06d2 \u0645\u0642\u0627\u0635\u062f \u06a9\u06d2 \u0644\u06cc\u06d2 \u06c1\u06d2\u06d4 \u06c1\u0631 \u0686\u067e \u06a9\u0627 \u0627\u067e\u0646\u0627 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0646\u0642\u0634\u06c1 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0648 \u0679\u06cc\u06a9\u0646\u06cc\u06a9\u0644 \u0631\u06cc\u0641\u0631\u0646\u0633 \u0645\u06cc\u0646\u0648\u0626\u0644 (TRM) \u0645\u06cc\u06ba \u062f\u0631\u062c \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u062f\u0631\u0633\u062a \u067e\u062a\u06c1 \u0627\u0648\u0631 \u0633\u0627\u0626\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06c1\u0645\u06cc\u0634\u06c1 \u0686\u067e \u06a9\u06d2 TRM \u0633\u06d2 \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-how-to-decide-where-to-place-code-and-data\">\u06a9\u0648\u0688 \u0627\u0648\u0631 \u0688\u06cc\u0679\u0627 \u06a9\u06c1\u0627\u06ba \u0631\u06a9\u06be\u0646\u0627 \u06c1\u06d2 \u0627\u0633 \u06a9\u0627 \u0641\u06cc\u0635\u0644\u06c1 \u06a9\u06cc\u0633\u06d2 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<pre><code class=\"language-plaintext\">Is it code or data?\n|\n+-- CODE (instructions):\n|   +-- Called from an ISR or runs in a real-time loop?\n|   |   +-- YES -> ITCM (deterministic timing is critical)\n|   +-- Called frequently in the main processing pipeline?\n|   |   +-- YES -> ITCM (if space is available)\n|   +-- Called rarely (init, config, debug)?\n|       +-- DDR (save ITCM space for critical code)\n|\n+-- DATA (variables, buffers, tables):\n    +-- Accessed in an ISR or real-time context?\n    |   +-- YES -> DTCM (single-cycle, deterministic)\n    +-- Small and frequently accessed?\n    |   +-- YES -> DTCM (if space is available)\n    +-- Large buffer (>16 KB)?\n    |   +-- Probably DDR (DTCM cannot afford the space)\n    +-- Accessed only once at boot or very rarely?\n        +-- DDR (do not use DTCM for this)\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0641\u06cc\u0635\u0644\u06c1 \u0679\u0631\u06cc \u06c1\u0631 \u0641\u0631\u0645 \u0648\u06cc\u0626\u0631 \u06a9\u0648 \u0635\u062d\u06cc\u062d \u0645\u06cc\u0645\u0648\u0631\u06cc \u0648\u0627\u0644\u06d2 \u0639\u0644\u0627\u0642\u06d2 \u0645\u06cc\u06ba \u0631\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0633\u0648\u0686\u0646\u06d2 \u06a9\u06d2 \u0639\u0645\u0644 \u06a9\u0648 \u062d\u0627\u0635\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u067e\u0648\u0686\u06be \u06a9\u0631 \u0634\u0631\u0648\u0639 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u0622\u06cc\u0627 \u0622\u067e \u06a9\u0648\u0688 (\u06c1\u062f\u0627\u06cc\u0627\u062a) \u06cc\u0627 \u0688\u06cc\u0679\u0627 (\u0645\u062a\u063a\u06cc\u0631\u0627\u062a\u060c \u0628\u0641\u0631\u0632\u060c \u0679\u06cc\u0628\u0644\u0632) \u0631\u06a9\u06be \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06a9\u0648\u0688 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0627\u06c1\u0645 \u0633\u0648\u0627\u0644\u0627\u062a \u06cc\u06c1 \u06c1\u06cc\u06ba \u06a9\u06c1 \u06cc\u06c1 \u06a9\u062a\u0646\u06cc \u0628\u0627\u0631 \u0686\u0644\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u06a9\u06cc\u0627 \u0648\u0642\u062a \u06a9\u06cc \u067e\u0627\u0628\u0646\u062f\u06cc\u0627\u06ba \u06c1\u06cc\u06ba\u06d4 ISR \u06a9\u0648\u0688 \u0627\u0648\u0631 \u0631\u06cc\u0626\u0644 \u0679\u0627\u0626\u0645 \u0644\u0648\u067e \u06a9\u0648\u0688 ITCM \u0645\u06cc\u06ba \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0628\u0627\u0642\u06cc \u0633\u0628 \u06a9\u0686\u06be DDR \u0645\u06cc\u06ba \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u062c\u0628 \u0688\u06cc\u0679\u0627 \u06a9\u06cc \u0628\u0627\u062a \u0622\u062a\u06cc \u06c1\u06d2 \u062a\u0648 \u0633\u0628 \u0633\u06d2 \u0627\u06c1\u0645 \u0633\u0648\u0627\u0644\u0627\u062a \u06cc\u06c1 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0627\u0633 \u062a\u06a9 \u06a9\u062a\u0646\u06cc \u0628\u0627\u0631 \u0627\u0648\u0631 \u06a9\u062a\u0646\u06cc \u0628\u0691\u06cc \u0631\u0633\u0627\u0626\u06cc \u06c1\u0648\u06af\u06cc\u06d4 \u0686\u06be\u0648\u0679\u0627\u060c \u06a9\u062b\u0631\u062a \u0633\u06d2 \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0688\u06cc\u0679\u0627 DTCM \u0645\u06cc\u06ba \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0628\u0691\u06d2 \u0628\u0641\u0631\u0632 \u0627\u0648\u0631 \u0634\u0627\u0630 \u0648 \u0646\u0627\u062f\u0631 \u06c1\u06cc \u0631\u0633\u0627\u0626\u06cc \u0634\u062f\u06c1 \u0688\u06cc\u0679\u0627 DDR \u0645\u06cc\u06ba \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0639\u0645\u0648\u0645\u06cc \u0627\u0635\u0648\u0644: <strong>\u0627\u067e\u0646\u0627 \u0633\u0628 \u0633\u06d2 \u0645\u0634\u06c1\u0648\u0631 \u06a9\u0648\u0688 \u0627\u0648\u0631 \u0688\u06cc\u0679\u0627 TCM \u0627\u0648\u0631 \u0628\u0627\u0642\u06cc \u0633\u0628 \u06a9\u0686\u06be DDR \u0645\u06cc\u06ba \u0688\u0627\u0644\u06cc\u06ba\u06d4<\/strong>. &quot;\u06c1\u0627\u0679&#8221; \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u0648\u06c1 \u0686\u06cc\u0632 \u062c\u0633 \u062a\u06a9 \u06a9\u062b\u0631\u062a \u0633\u06d2 \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u06cc\u0627 \u062a\u0648 \u062a\u0627\u062e\u06cc\u0631 \u0633\u06d2 \u062d\u0633\u0627\u0633 \u06c1\u0648\u062a\u06cc \u06c1\u06d2 \u06cc\u0627 \u0627\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0642\u0631\u0631\u06c1 \u0648\u0642\u062a \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u062c\u0628 \u0634\u06a9 \u06c1\u0648\u060c DDR \u062a\u0639\u06cc\u0646\u0627\u062a\u06cc \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0634\u0631\u0648\u0639 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 TCM \u0645\u06cc\u06ba \u062a\u0628\u06be\u06cc \u062c\u0627\u0626\u06cc\u06ba \u062c\u0628 \u067e\u0631\u0648\u0641\u0627\u0626\u0644\u0646\u06af \u0627\u0633 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06a9\u06cc \u0646\u0634\u0627\u0646\u062f\u06c1\u06cc \u06a9\u0631\u06d2\u06d4 \u0631\u06a9\u0627\u0648\u0679\u0648\u06ba \u06a9\u0648 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f DDR \u0633\u06d2 ITCM \u062a\u06a9 \u0641\u0639\u0627\u0644\u06cc\u062a \u06a9\u0648 \u0641\u0631\u0648\u063a \u062f\u06cc\u0646\u0627 \u0627\u0633 \u0633\u06d2 \u06a9\u06c1\u06cc\u06ba \u0632\u06cc\u0627\u062f\u06c1 \u0622\u0633\u0627\u0646 \u06c1\u06d2 \u06a9\u06c1 \u06c1\u0631 \u0686\u06cc\u0632 \u06a9\u0648 \u0634\u0631\u0648\u0639 \u0633\u06d2 ITCM \u0645\u06cc\u06ba \u0688\u0627\u0644\u0646\u06d2 \u06a9\u06cc \u06a9\u0648\u0634\u0634 \u06a9\u06cc \u062c\u0627\u0626\u06d2 \u0627\u0648\u0631 \u062c\u06af\u06c1 \u062e\u062a\u0645 \u06c1\u0648 \u062c\u0627\u0626\u06d2\u06d4<\/p>\n<h2 id=\"heading-how-the-linker-script-controls-memory-placement\">\u0644\u0646\u06a9\u0631 \u0627\u0633\u06a9\u0631\u067e\u0679 \u0645\u06cc\u0645\u0648\u0631\u06cc \u067e\u0644\u06cc\u0633\u0645\u0646\u0679 \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u06a9\u0646\u0679\u0631\u0648\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/h2>\n<p>\u06c1\u0631 \u0648\u06c1 \u0686\u06cc\u0632 \u062c\u0633 \u067e\u0631 \u06c1\u0645 \u0646\u06d2 \u0627\u0628 \u062a\u06a9 \u0628\u0627\u062a \u06a9\u06cc \u06c1\u06d2 (\u0633\u06cc\u06a9\u0634\u0646 \u067e\u0631\u0627\u067e\u0631\u0679\u06cc\u0632\u060c \u0645\u06cc\u0645\u0648\u0631\u06cc \u067e\u0644\u06cc\u0633\u0645\u0646\u0679\u060c \u0627\u06cc\u0688\u0631\u06cc\u0633 \u0627\u06cc\u0644\u0648\u06a9\u06cc\u0634\u0646) <strong>\u0644\u0646\u06a9\u0631 \u0633\u06a9\u0631\u067e\u0679<\/strong>. \u06cc\u06c1 \u0627\u06cc\u06a9 \u0641\u0627\u0626\u0644 \u06c1\u06d2 (\u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 <code>.ld<\/code> \u0627\u06cc\u06a9\u0633\u0679\u06cc\u0646\u0634\u0646) \u0644\u0646\u06a9\u0631 \u06a9\u0648 \u0628\u0627\u0644\u06a9\u0644 \u0628\u062a\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06a9\u0648\u0646 \u0633\u0627 \u0633\u06cc\u06a9\u0634\u0646 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06d2 \u06a9\u0633 \u0639\u0644\u0627\u0642\u06d2 \u0645\u06cc\u06ba \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0644\u0646\u06a9\u0631 \u0627\u0633\u06a9\u0631\u067e\u0679 \u0641\u0631\u0645 \u0648\u06cc\u0626\u0631 \u06a9\u06d2 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0644\u06d2 \u0622\u0624\u0679 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0633\u0686\u0627\u0626\u06cc \u06a9\u0627 \u0648\u0627\u062d\u062f \u0630\u0631\u06cc\u0639\u06c1 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-plaintext\">MEMORY\n{\n    ITCM    (rx)  : ORIGIN = 0x00000000, LENGTH = 2M\n    DTCM    (rw)  : ORIGIN = 0x20000000, LENGTH = 1536K\n    DDR     (rwx) : ORIGIN = 0x80000000, LENGTH = 4M\n}\n\nSECTIONS\n{\n    \/* === ITCM: Critical code === *\/\n    .itcm_text :\n    {\n        KEEP(*(.isr_vector))          \/* Interrupt vector table *\/\n        *(.itcm_text)                 \/* Functions with __attribute__((section(\".itcm_text\"))) *\/\n        *audio_processing.o(.text)    \/* All code from audio_processing.c *\/\n        *motor_control.o(.text)       \/* All code from motor_control.c *\/\n    } > ITCM\n\n    \/* === DDR: Non-critical code === *\/\n    .ddr_text :\n    {\n        *(.text)                      \/* Default catch-all for remaining code *\/\n        *(.text*)\n        *(.rodata)                    \/* Read-only data (string literals, constants) *\/\n        *(.rodata*)\n    } > DDR\n\n    \/* === DTCM: Critical data === *\/\n    .dtcm_data :\n    {\n        *(.dtcm_data)                 \/* Data with __attribute__((section(\".dtcm_data\"))) *\/\n        *audio_processing.o(.data)    \/* All initialized data from audio_processing.c *\/\n        *audio_processing.o(.bss)     \/* All zero-initialized data from audio_processing.c *\/\n    } > DTCM\n\n    \/* === DTCM: Stack === *\/\n    .stack (NOLOAD) :\n    {\n        . = ALIGN(8);\n        __stack_start = .;\n        . = . + 8K;                  \/* 8 KB stack *\/\n        __stack_end = .;\n    } > DTCM\n\n    \/* === DDR: Everything else === *\/\n    .ddr_data :\n    {\n        *(.data)                      \/* Default catch-all for remaining initialized data *\/\n        *(.bss)                       \/* Default catch-all for remaining zero-initialized data *\/\n        *(COMMON)\n    } > DDR\n}\n<\/code><\/pre>\n<p>\u0627\u0633 \u0644\u0646\u06a9\u0631 \u0627\u0633\u06a9\u0631\u067e\u0679 \u0645\u06cc\u06ba \u062f\u0648 \u0627\u06c1\u0645 \u0628\u0644\u0627\u06a9\u0633 \u06c1\u06cc\u06ba: <code>MEMORY<\/code> \u0627\u0648\u0631 <code>SECTIONS<\/code>.<\/p>\n<p>\u06a9\u06c1 <code>MEMORY<\/code> \u0627\u06cc\u06a9 \u0628\u0644\u0627\u06a9 \u0627\u06cc\u06a9 \u0686\u067e \u067e\u0631 \u062f\u0633\u062a\u06cc\u0627\u0628 \u062c\u0633\u0645\u0627\u0646\u06cc \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06d2 \u0639\u0644\u0627\u0642\u06d2 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06c1\u0631 \u0644\u0627\u0626\u0646 \u0645\u06cc\u06ba \u0639\u0644\u0627\u0642\u06d2 \u06a9\u0627 \u0646\u0627\u0645\u060c \u0645\u062a\u0639\u0644\u0642\u06c1 \u0627\u062a\u06be\u0627\u0631\u0679\u06cc (<code>rx<\/code> \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06d2 \u0639\u0645\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c <code>rw<\/code> \u067e\u0691\u06be\u0646\u06d2 \u0644\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c <code>rwx<\/code> \u067e\u0691\u06be\u0646\u06d2 \u0644\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0639\u0645\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2)\u060c \u0627\u0628\u062a\u062f\u0627\u0626\u06cc \u067e\u062a\u06c1 (<code>ORIGIN<\/code>) \u0627\u0648\u0631 \u0633\u0627\u0626\u0632 (<code>LENGTH<\/code>)\u06d4 \u0627\u0633 \u0642\u062f\u0631 \u06a9\u0648 \u0686\u067e \u06a9\u06d2 \u062c\u0633\u0645\u0627\u0646\u06cc \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06d2 \u0646\u0642\u0634\u06d2 \u0633\u06d2 \u0645\u0645\u0627\u062b\u0644 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2 \u062c\u06cc\u0633\u0627 \u06a9\u06c1 \u062d\u0648\u0627\u0644\u06c1 \u062f\u0633\u062a\u06cc \u0645\u06cc\u06ba \u0628\u06cc\u0627\u0646 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>SECTIONS<\/code> \u0627\u06cc\u06a9 \u0628\u0644\u0627\u06a9 \u0627\u0633 \u0628\u0627\u062a \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06a9\u0633 \u0637\u0631\u062d \u0644\u0646\u06a9\u0631 \u0645\u0631\u062a\u0628 \u0634\u062f\u06c1 \u06a9\u0648\u0688 \u0627\u0648\u0631 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u0627\u0633 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0648\u0627\u0644\u06d2 \u0639\u0644\u0627\u0642\u06d2 \u0645\u06cc\u06ba \u062a\u0642\u0633\u06cc\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06c1\u0631 \u0633\u06cc\u06a9\u0634\u0646 \u06a9\u06d2 \u0627\u0635\u0648\u0644 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0633\u06cc\u06a9\u0634\u0646 \u06a9\u0627 \u0646\u0627\u0645 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u062c\u06cc\u0633\u06d2 <code>.itcm_text<\/code>)\u060c \u0627\u0646 \u067e\u0679 \u067e\u06cc\u0679\u0631\u0646 \u06a9\u06cc \u0627\u06cc\u06a9 \u0641\u06c1\u0631\u0633\u062a \u062c\u0648 \u06cc\u06c1 \u0628\u062a\u0627\u062a\u06cc \u06c1\u06d2 \u06a9\u06c1 \u06a9\u0648\u0646 \u0633\u06d2 \u0622\u0628\u062c\u06cc\u06a9\u0679 \u0641\u0627\u0626\u0644 \u0633\u06cc\u06a9\u0634\u0646\u0632 \u06a9\u0648 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 <code>> REGION<\/code> \u0627\u06cc\u06a9 \u06c1\u062f\u0627\u06cc\u062a \u062c\u0648 \u0644\u0646\u06a9\u0631 \u06a9\u0648 \u0628\u062a\u0627\u062a\u06cc \u06c1\u06d2 \u06a9\u06c1 \u0622\u0624\u0679 \u067e\u0679 \u0633\u06cc\u06a9\u0634\u0646 \u06a9\u0648 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0645\u06cc\u06ba \u06a9\u06c1\u0627\u06ba \u0631\u06a9\u06be\u0646\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>.itcm_text<\/code> \u0633\u06cc\u06a9\u0634\u0646 \u0645\u062f\u0627\u062e\u0644\u062a \u0648\u06cc\u06a9\u0679\u0631 \u0679\u06cc\u0628\u0644 \u06a9\u0648 \u062c\u0645\u0639 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 (<code>KEEP(*(.isr_vector))<\/code>)\u060c \u062a\u0645\u0627\u0645 \u0627\u0641\u0639\u0627\u0644 \u06a9\u0648 \u0648\u0627\u0636\u062d \u0637\u0648\u0631 \u067e\u0631 \u0646\u0634\u0627\u0646 \u0632\u062f \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 <code>__attribute__((section(\".itcm_text\")))<\/code>\u0627\u0648\u0631 \u062a\u0645\u0627\u0645 \u06a9\u0648\u0688 \u06c1\u06d2\u06d4 <code>audio_processing.o<\/code> \u0627\u0648\u0631 <code>motor_control.o<\/code>. \u06a9\u06c1 <code>KEEP<\/code> \u06c1\u062f\u0627\u06cc\u062a \u0644\u0646\u06a9\u0631 \u06a9\u0648 \u0631\u062f\u06cc \u06a9\u06cc \u0679\u0648\u06a9\u0631\u06cc \u06a9\u06d2 \u062c\u0645\u0639 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u0631\u06a9\u0627\u0648\u0679 \u0648\u06cc\u06a9\u0679\u0631 \u0679\u06cc\u0628\u0644 \u06a9\u0648 \u0636\u0627\u0626\u0639 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u0631\u0648\u06a9\u062a\u06cc \u06c1\u06d2\u060c \u06cc\u06c1\u0627\u06ba \u062a\u06a9 \u06a9\u06c1 \u0627\u06af\u0631 \u06a9\u0648\u0626\u06cc \u06a9\u0648\u0688 \u062c\u0648 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u062d\u0648\u0627\u0644\u06c1 \u062f\u06cc\u062a\u0627 \u06c1\u0648 \u0638\u0627\u06c1\u0631 \u0646\u06c1 \u06c1\u0648\u06d4 \u06cc\u06c1 \u0633\u0628 ITCM \u067e\u0631 \u0644\u0627\u06af\u0648 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>.ddr_text<\/code> \u0633\u06cc\u06a9\u0634\u0646 \u0627\u06cc\u06a9 \u062c\u0627\u0645\u0639 \u0646\u0645\u0648\u0646\u06c1 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>*(.text)<\/code> \u0627\u0648\u0631 <code>*(.text*)<\/code> \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u0628\u0627\u0642\u06cc \u06a9\u0648\u0688 \u062c\u0645\u0639 \u06a9\u0631\u06cc\u06ba \u062c\u0633 \u06a9\u0627 \u0627\u0648\u067e\u0631 ITCM \u0633\u06cc\u06a9\u0634\u0646 \u0645\u06cc\u06ba \u062f\u0639\u0648\u06cc\u0670 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u062a\u06be\u0627\u06d4 \u0645\u0632\u06cc\u062f \u0628\u0631\u0622\u06ba\u060c \u0635\u0631\u0641 \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0688\u06cc\u0679\u0627 (<code>.rodata<\/code>)\u060c \u062c\u0633 \u0645\u06cc\u06ba \u0633\u0679\u0631\u0646\u06af \u0644\u0679\u0631\u06cc\u0644\u0632 \u0627\u0648\u0631 <code>const<\/code> \u0645\u062a\u063a\u06cc\u0631 \u06cc\u06c1 \u0633\u0628 \u0688\u06cc \u0688\u06cc \u0622\u0631 \u067e\u0631 \u0644\u0627\u06af\u0648 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>.dtcm_data<\/code> \u06cc\u06c1 \u0633\u06cc\u06a9\u0634\u0646 \u062a\u0645\u0627\u0645 \u0688\u06cc\u0679\u0627 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0633\u0627\u062a\u06be \u0648\u0627\u0636\u062d \u0637\u0648\u0631 \u067e\u0631 \u0631\u06a9\u06be\u0627 \u06af\u06cc\u0627 \u0688\u06cc\u0679\u0627 \u0628\u06be\u06cc \u062c\u0645\u0639 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>audio_processing.o<\/code>. \u06a9\u06c1 <code>.stack<\/code> \u0633\u06cc\u06a9\u0634\u0646 \u0627\u06cc\u06a9 8 \u0628\u0627\u0626\u0679 \u0645\u0646\u0633\u0644\u06a9 \u0627\u0633\u0679\u06cc\u06a9 \u06a9\u06d2 \u0644\u06cc\u06d2 8KB \u0645\u062d\u0641\u0648\u0638 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4 <code>__stack_start<\/code> \u0627\u0648\u0631 <code>__stack_end<\/code> \u0627\u06cc\u06a9 \u0639\u0644\u0627\u0645\u062a \u062c\u0648 \u0627\u0633\u0679\u0627\u0631\u0679 \u0627\u067e \u06a9\u0648\u0688 \u0627\u0648\u0631 \u0627\u0633\u0679\u06cc\u06a9 \u067e\u0631\u0648\u0641\u0627\u0626\u0644\u0646\u06af \u06a9\u0648\u0688 \u06a9\u0627 \u062d\u0648\u0627\u0644\u06c1 \u062f\u06d2 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4 \u062f\u0648\u0646\u0648\u06ba DTCM \u0645\u06cc\u06ba \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06a9\u06c1 <code>.ddr_data<\/code> \u0633\u06cc\u06a9\u0634\u0646 \u062a\u0645\u0627\u0645 \u0628\u0642\u06cc\u06c1 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u06a9\u06cc\u0686 \u0622\u0644 \u067e\u06cc\u0679\u0631\u0646 \u0645\u06cc\u06ba \u062c\u0645\u0639 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 DDR \u0645\u06cc\u06ba \u062f\u0627\u062e\u0644 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-how-section-matching-works\">\u0633\u06cc\u06a9\u0634\u0646 \u0645\u06cc\u0686\u0646\u06af \u06a9\u06cc\u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/h3>\n<p>\u0644\u0646\u06a9\u0631 \u0627\u0648\u067e\u0631 \u0633\u06d2 \u0646\u06cc\u0686\u06d2 \u062a\u06a9 \u062d\u0635\u0648\u06ba \u067e\u0631 \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0622\u067e \u06a9\u0648 \u062f\u0631\u062c \u0630\u06cc\u0644 \u0648\u0627\u0626\u0644\u0688 \u06a9\u0627\u0631\u0688 \u067e\u06cc\u0679\u0631\u0646 \u06a9\u0627 \u0633\u0627\u0645\u0646\u0627 \u06a9\u0631\u0646\u0627 \u067e\u0691\u062a\u0627 \u06c1\u06d2: <code>*(.text)<\/code>\u062a\u0645\u0627\u0645 \u0645\u06cc\u0686 <code>.text<\/code> \u0648\u06c1 \u062d\u0635\u06d2 \u062c\u0646 \u06a9\u0627 \u0627\u0633\u06a9\u0631\u067e\u0679 \u0645\u06cc\u06ba \u067e\u06c1\u0644\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0645\u062e\u0635\u0648\u0635 \u0642\u0648\u0627\u0639\u062f \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06c1 \u0627\u0628\u06be\u06cc \u062a\u06a9 \u062f\u0639\u0648\u06cc\u0670 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062a\u0648 \u0627\u0648\u067e\u0631 \u06a9\u06cc \u0645\u062b\u0627\u0644 \u0645\u06cc\u06ba <code>*audio_processing.o(.text)<\/code> ITCM \u0633\u06cc\u06a9\u0634\u0646 \u0645\u06cc\u06ba \u062a\u0645\u0627\u0645 \u06a9\u0648\u0688\u0632 \u062f\u0631\u062c \u0630\u06cc\u0644 \u06a9\u0648\u0688\u0632 \u067e\u0631 \u0632\u0648\u0631 \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba: <code>audio_processing.c<\/code> \u067e\u06c1\u0644\u06d2 \u067e\u06be\u0631 \u062c\u0628 \u0644\u0646\u06a9 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u0627 \u067e\u06c1\u0646\u0686 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 <code>*(.text)<\/code> \u0688\u06cc \u0688\u06cc \u0622\u0631 \u0633\u06cc\u06a9\u0634\u0646 \u0645\u06cc\u06ba <code>audio_processing.o<\/code>\u0627\u06cc\u0633 <code>.text<\/code> \u0633\u06cc\u06a9\u0634\u0646 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u0631\u06a9\u06be\u0627 \u062c\u0627 \u0686\u06a9\u0627 \u06c1\u06d2 \u0627\u0633 \u0644\u06cc\u06d2 \u0627\u0633\u06d2 \u0686\u06be\u0648\u0691 \u062f\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4 \u0635\u0631\u0641 \u063a\u06cc\u0631 \u062f\u0639\u0648\u06cc\u062f\u0627\u0631 <code>.text<\/code> \u062f\u06cc\u06af\u0631 \u0622\u0628\u062c\u06cc\u06a9\u0679 \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u06d2 \u062d\u0635\u06d2 DDR \u06a9\u06cc\u0686 \u0622\u0644 \u0633\u06d2 \u0645\u0644\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2: <strong>\u0644\u0646\u06a9\u0631 \u0627\u0633\u06a9\u0631\u067e\u0679 \u0645\u06cc\u06ba \u062d\u0635\u0648\u06ba \u06a9\u06cc \u062a\u0631\u062a\u06cc\u0628 \u0627\u06c1\u0645 \u06c1\u06d2\u06d4<\/strong>. \u0639\u0627\u0645 \u0622\u0641\u0627\u0642\u06cc \u0627\u0635\u0648\u0644\u0648\u06ba \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0645\u062e\u0635\u0648\u0635 \u0627\u0635\u0648\u0644 (\u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u0622\u0628\u062c\u06cc\u06a9\u0679 \u0641\u0627\u0626\u0644\u06cc\u06ba\u060c \u0646\u0627\u0645 \u0648\u0627\u0644\u06d2 \u062d\u0635\u06d2) \u0631\u06a9\u06be\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0622\u067e \u0688\u0627\u0644\u06cc\u06ba\u06d4 <code>*(.text)<\/code> \u067e\u06a9\u0691\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 <code>*audio_processing.o(.text)<\/code> \u0627\u0635\u0648\u0644 \u06a9\u06d2 \u0645\u0637\u0627\u0628\u0642\u060c \u0627\u06cc\u06a9 \u06a9\u06cc\u0686 \u0622\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06c1\u0631 \u0686\u06cc\u0632 \u06a9\u0648 \u067e\u06c1\u0644\u06d2 \u0645\u0645\u0627\u062b\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u0645\u062e\u0635\u0648\u0635 \u0627\u0635\u0648\u0644 \u06a9\u0633\u06cc \u0686\u06cc\u0632 \u0633\u06d2 \u0645\u06cc\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u06be\u0627\u062a\u0627\u06d4<\/p>\n<h2 id=\"heading-common-mistakes-to-avoid\">\u0633\u06d2 \u0628\u0686\u0646\u06d2 \u06a9\u06d2 \u0644\u0626\u06d2 \u0639\u0627\u0645 \u063a\u0644\u0637\u06cc\u0627\u06ba<\/h2>\n<h3 id=\"heading-1-stack-overflow-in-dtcm\">1. DTCM \u0645\u06cc\u06ba \u0627\u0633\u0679\u06cc\u06a9 \u0627\u0648\u0648\u0631 \u0641\u0644\u0648<\/h3>\n<p>\u0627\u0633\u0679\u06cc\u06a9 \u0688\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645 \u0645\u06cc\u06ba \u06c1\u06d2\u06d4 DTCM \u0686\u06be\u0648\u0679\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0622\u067e \u06a9\u0633\u06cc \u0641\u0646\u06a9\u0634\u0646 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0627\u06cc\u06a9 \u0628\u0691\u06cc \u0645\u0642\u0627\u0645\u06cc \u0635\u0641 \u06a9\u0627 \u0627\u0639\u0644\u0627\u0646 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u06cc\u06c1 \u0627\u0633\u0679\u06cc\u06a9 \u067e\u0631 \u0645\u062d\u0641\u0648\u0638 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4<\/p>\n<pre><code class=\"language-c\">void problematic_function(void) {\n    uint8_t huge_local_buffer[65536];  \/\/ 64 KB allocated on the stack\n    \/\/ This consumes 64 KB of DTCM immediately\n}\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u06a9\u0648\u0688 64KB \u0645\u0642\u0627\u0645\u06cc \u0635\u0641 \u06a9\u0627 \u0627\u0639\u0644\u0627\u0646 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0645\u0642\u0627\u0645\u06cc \u0645\u062a\u063a\u06cc\u0631 \u06c1\u06d2 (\u0646\u06c1\u06cc\u06ba\u06d4 <code>static<\/code>)\u060c \u062c\u0628 \u0641\u0646\u06a9\u0634\u0646 \u06a9\u0648 \u0628\u0644\u0627\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062a\u0648 \u0627\u0633\u06d2 \u0627\u0633\u0679\u06cc\u06a9 \u067e\u0631 \u0645\u062e\u062a\u0635 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0627\u0633\u0679\u06cc\u06a9 \u06a9\u0627 \u06a9\u0644 \u0633\u0627\u0626\u0632 8 KB \u06c1\u06d2\u060c \u062c\u06cc\u0633\u0627 \u06a9\u06c1 \u0627\u0648\u067e\u0631 \u0644\u0646\u06a9\u0631 \u0627\u0633\u06a9\u0631\u067e\u0679 \u06a9\u06cc \u0645\u062b\u0627\u0644 \u0645\u06cc\u06ba \u06c1\u06d2\u060c \u062a\u0648 \u06cc\u06c1 \u0648\u0627\u062d\u062f \u0627\u0639\u0644\u0627\u0645\u06cc\u06c1 \u0627\u0633\u0679\u06cc\u06a9 \u06a9\u0648 56 KB \u0633\u06d2 \u0627\u0648\u0648\u0631 \u0641\u0644\u0648 \u06a9\u0631 \u062f\u06d2 \u06af\u0627\u060c \u062c\u0648 DTCM \u06a9\u06d2 \u0627\u0633\u0679\u06cc\u06a9 \u0633\u06d2 \u0645\u0644\u062d\u0642 \u062a\u0645\u0627\u0645 \u0645\u06cc\u0645\u0648\u0631\u06cc \u067e\u0631 \u0644\u06a9\u06be\u06d2 \u06af\u0627\u06d4<\/p>\n<p>\u0688\u06cc\u0633\u06a9 \u0679\u0627\u067e OS \u0645\u06cc\u06ba\u060c \u0627\u0633\u0679\u06cc\u06a9 \u0627\u0648\u0648\u0631 \u0641\u0644\u0648 \u0633\u06cc\u06af\u0645\u0646\u0679\u06cc\u0634\u0646 \u06a9\u06cc \u062e\u0631\u0627\u0628\u06cc\u0648\u06ba \u06a9\u0627 \u0633\u0628\u0628 \u0628\u0646\u062a\u0627 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 OS \u0627\u0646 \u06a9\u0627 \u067e\u062a\u06c1 \u0644\u06af\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0648\u0631\u0686\u0648\u0626\u0644 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0627\u0648\u0631 \u06af\u0627\u0631\u0688 \u067e\u06cc\u062c\u0632 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0645\u06cc\u0645\u0648\u0631\u06cc \u067e\u0631\u0648\u0679\u06cc\u06a9\u0634\u0646 \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u0627\u06cc\u0645\u0628\u06cc\u0688\u0688 \u0633\u0633\u0679\u0645\u0632 \u0645\u06cc\u06ba\u060c \u0627\u0633\u0679\u06cc\u06a9 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0645\u0644\u062d\u0642\u06c1 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0648\u0627\u0644\u06d2 \u0639\u0644\u0627\u0642\u0648\u06ba \u0645\u06cc\u06ba \u0628\u0691\u06be \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0648\u06c1\u0627\u06ba \u0630\u062e\u06cc\u0631\u06c1 \u0634\u062f\u06c1 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u062e\u0631\u0627\u0628 \u06a9\u0631 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u0646\u062a\u06cc\u062c\u06d2 \u0645\u06cc\u06ba \u067e\u06cc\u062f\u0627 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06a9\u06cc\u0691\u06d2 \u06a9\u06cc \u062a\u0634\u062e\u06cc\u0635 \u06a9\u0631\u0646\u0627 \u0628\u06c1\u062a \u0645\u0634\u06a9\u0644 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0639\u0644\u0627\u0645\u0627\u062a (\u062e\u0631\u0627\u0628 \u0645\u062a\u063a\u06cc\u0631\u0627\u062a\u060c \u063a\u06cc\u0631 \u0645\u0639\u0645\u0648\u0644\u06cc \u0631\u0648\u06cc\u06d2\u060c \u0648\u0642\u0641\u06d2 \u0648\u0642\u0641\u06d2 \u0633\u06d2 \u06a9\u0631\u06cc\u0634) \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0627\u0635\u0644 \u0648\u062c\u06c1 \u0633\u06d2 \u063a\u06cc\u0631 \u0645\u062a\u0639\u0644\u0642 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0628\u0638\u0627\u06c1\u0631 \u0628\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u0627\u0639\u062f\u0627\u062f \u0648 \u0634\u0645\u0627\u0631 \u06a9\u06d2 \u0628\u062f\u0639\u0646\u0648\u0627\u0646\u06cc \u06a9\u06d2 \u0645\u0633\u0627\u0626\u0644 \u06a9\u0648 \u0688\u06cc\u0628\u06af \u06a9\u0631\u0646\u06d2 \u0645\u06cc\u06ba \u06a9\u0626\u06cc \u062f\u0646 \u0644\u06af \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0633 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u06a9\u06c1 \u06cc\u06c1 \u0645\u062d\u0633\u0648\u0633 \u06c1\u0648 \u06a9\u06c1 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0648\u062c\u06c1 \u0641\u0646\u06a9\u0634\u0646 \u062a\u06cc\u0646 \u06a9\u0627\u0644 \u0644\u06cc\u0648\u0644\u0632 \u0645\u06cc\u06ba \u0627\u0633\u0679\u06cc\u06a9 \u0627\u0648\u0648\u0631 \u0641\u0644\u0648 \u06c1\u06d2\u06d4<\/p>\n<p><strong>\u0679\u06be\u06cc\u06a9 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/strong>: \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 <code>static<\/code> \u0627\u06cc\u06a9 \u0628\u0691\u06d2 \u0628\u0641\u0631 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u062e\u062a\u0635 \u06cc\u0627 \u06c1\u06cc\u067e \u0627\u06cc\u0644\u0648\u06a9\u06cc\u0634\u0646 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0633\u06d2 DDR \u0645\u06cc\u06ba \u0631\u06a9\u06be\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-c\">void fixed_function(void) {\n    __attribute__((section(\".ddr_bss\")))\n    static uint8_t huge_buffer[65536];  \/\/ In DDR, not on the stack\n\n    \/\/ Stack is safe, DTCM is not wasted\n}\n<\/code><\/pre>\n<p>\u0628\u0641\u0631 \u0628\u0646\u0627 \u06a9\u0631 <code>static<\/code>\u0627\u0633\u06d2 \u0627\u0628 \u0627\u0633\u0679\u06cc\u06a9 \u067e\u0631 \u0645\u062e\u062a\u0635 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 \u0627\u0633 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2\u060c \u0644\u0646\u06a9\u0631 \u0627\u0633\u06d2 \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u0645\u062e\u062a\u0635 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>.ddr_bss<\/code> \u0633\u06cc\u06a9\u0634\u0646\u0632 \u06a9\u0648 \u0688\u06cc \u0688\u06cc \u0622\u0631 \u0645\u06cc\u06ba \u0645\u06cc\u067e \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 \u0628\u0641\u0631 \u067e\u0631\u0648\u06af\u0631\u0627\u0645 \u06a9\u06cc \u067e\u0648\u0631\u06cc \u0632\u0646\u062f\u06af\u06cc \u062a\u06a9 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06c1\u062a\u0627 \u06c1\u06d2 (\u062c\u06cc\u0633\u06d2 \u0627\u06cc\u06a9 \u0639\u0627\u0644\u0645\u06cc \u0645\u062a\u063a\u06cc\u0631)\u060c \u0644\u06cc\u06a9\u0646 \u0627\u0633 \u06a9\u0627 \u0646\u0627\u0645 \u0627\u0633 \u0641\u0646\u06a9\u0634\u0646 \u06a9\u06d2 \u062f\u0627\u0626\u0631\u06c1 \u06a9\u0627\u0631 \u0645\u06cc\u06ba \u06c1\u06d2\u06d4 \u0627\u0633\u0679\u06cc\u06a9 \u0645\u06cc\u06ba \u0635\u0631\u0641 \u0628\u0641\u0631\u0632 \u06a9\u06cc \u0637\u0631\u0641 \u0627\u0634\u0627\u0631\u06c1 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0633\u0627\u0626\u0632 \u0645\u06cc\u06ba \u0686\u0646\u062f \u0628\u0627\u0626\u0679\u0633 \u06c1\u06cc\u06ba\u060c 64KB \u0646\u06c1\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-2-overfilling-itcm\">2. \u0622\u0626\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645 \u0627\u0648\u0648\u0631 \u0686\u0627\u0631\u062c<\/h3>\n<p>\u0627\u06af\u0631 \u0622\u067e ITCM \u06a9\u06cc \u06af\u0646\u062c\u0627\u0626\u0634 \u0633\u06d2 \u062a\u062c\u0627\u0648\u0632 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0644\u0646\u06a9\u0631 &quot;\u0639\u0644\u0627\u0642\u06c1 ITCM N \u0628\u0627\u0626\u0679\u0633 \u0633\u06d2 \u0628\u06be\u0631\u0627 \u06c1\u0648\u0627&#8221; \u06a9\u06cc \u062e\u0637\u0648\u0637 \u067e\u0631 \u0627\u06cc\u06a9 \u062e\u0631\u0627\u0628\u06cc \u067e\u06cc\u062f\u0627 \u06a9\u0631\u06d2 \u06af\u0627\u06d4 \u0644\u06cc\u06a9\u0646 \u0627\u06af\u0631 \u0622\u067e <em>\u0628\u0646\u062f<\/em> \u062c\u0628 \u062d\u062f \u062a\u06a9 \u067e\u06c1\u0646\u0686 \u062c\u0627\u0626\u06d2 \u06af\u06cc\u060c \u062a\u0648 \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u0627\u067e \u0688\u06cc\u0679\u0633 \u06cc\u0627 \u0641\u06cc\u0686\u0631 \u0645\u06cc\u06ba \u0627\u0636\u0627\u0641\u06d2 \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 \u062a\u0639\u0645\u06cc\u0631 \u06a9\u06cc \u0646\u0627\u06a9\u0627\u0645\u06cc \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u06cc\u06d4 RTOS \u06cc\u0627 \u06a9\u0646\u06cc\u06a9\u0679\u06cc\u0648\u06cc\u0679\u06cc \u0627\u0633\u0679\u06cc\u06a9 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0645\u0639\u0645\u0648\u0644\u06cc \u0648\u0631\u0698\u0646 \u06a9\u0627 \u0679\u06a9\u0631\u0627\u0646\u0627 ITCM \u06a9\u0648 \u06a9\u0646\u0627\u0631\u06d2 \u067e\u0631 \u062f\u06be\u06a9\u06cc\u0644\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0627\u0641\u06cc \u06a9\u0648\u0688 \u06a9\u0627 \u0627\u0636\u0627\u0641\u06c1 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06c1\u06cc\u0688 \u0631\u0648\u0645 \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u06cc\u06ba\u06d4 \u067e\u06c1\u0644\u06d2 \u062f\u06a9\u06be\u0627\u06cc\u0627 \u06af\u06cc\u0627 27% \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0627\u0686\u06be\u0627 \u06c1\u06d2\u06d4 85% \u0633\u06d2 \u0627\u0648\u067e\u0631\u060c \u0622\u067e \u06a9\u0648 \u06a9\u0645 \u0627\u06c1\u0645 \u06a9\u0648\u0688 \u06a9\u0648 DDR \u0645\u06cc\u06ba \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0641\u0639\u0627\u0644 \u0637\u0648\u0631 \u067e\u0631 \u06a9\u0627\u0645 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 95% \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0686\u06cc\u0632 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u062a\u0631\u0642\u06cc \u06a9\u06cc \u06a9\u0648\u0626\u06cc \u06af\u0646\u062c\u0627\u0626\u0634 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u0627\u0648\u0631 \u0622\u067e \u06a9\u0648 \u0641\u0648\u0631\u06cc \u0637\u0648\u0631 \u067e\u0631 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4 \u0622\u067e \u06a9\u06cc CI \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u0645\u06cc\u06ba \u062e\u0648\u062f\u06a9\u0627\u0631 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0628\u062c\u0679 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u067e\u0691\u062a\u0627\u0644 (\u0628\u0639\u062f \u0645\u06cc\u06ba \u0627\u0633 \u0645\u0636\u0645\u0648\u0646 \u0645\u06cc\u06ba \u0628\u062d\u062b \u06a9\u06cc \u062c\u0627\u0626\u06d2 \u06af\u06cc) \u0622\u067e \u06a9\u0648 \u062d\u06cc\u0631\u062a \u0633\u06d2 \u0628\u0686\u0646\u06d2 \u0645\u06cc\u06ba \u0645\u062f\u062f \u062f\u06d2 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-3-ignoring-alignment-requirements\">3. \u0635\u0641 \u0628\u0646\u062f\u06cc \u06a9\u06cc \u0636\u0631\u0648\u0631\u06cc\u0627\u062a \u06a9\u0648 \u0646\u0638\u0631 \u0627\u0646\u062f\u0627\u0632 \u06a9\u0631\u0646\u0627<\/h3>\n<p>TCM \u06cc\u0627\u062f\u0648\u06ba \u0645\u06cc\u06ba \u0627\u06a9\u062b\u0631 \u0633\u06cc\u062f\u06be \u06a9\u06d2 \u062a\u0642\u0627\u0636\u06d2 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 Cortex-M \u067e\u0631\u0648\u0633\u06cc\u0633\u0631\u0632 \u067e\u0631 \u062c\u0648 \u0633\u062e\u062a \u0633\u06cc\u062f\u06be \u06a9\u0648 \u0646\u0627\u0641\u0630 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u063a\u06cc\u0631 \u0645\u0646\u0633\u0644\u06a9 \u0627\u06cc\u0688\u0631\u06cc\u0633 \u067e\u0631 32 \u0628\u0679 \u0648\u06cc\u0644\u06cc\u0648 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u06c1\u0627\u0631\u0688\u0641\u0627\u0644\u0679 \u0627\u0633\u062a\u062b\u0646\u0627\u0621 \u06a9\u0648 \u0628\u0691\u06be\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-c\">\/* Problematic: packed struct can create unaligned fields *\/\n__attribute__((section(\".dtcm_data\"), packed))\nstruct badly_aligned {\n    uint8_t  flag;\n    uint32_t counter;  \/\/ May be at byte offset 1, unaligned\n};\n\n\/* Correct: natural alignment, with minor padding *\/\n__attribute__((section(\".dtcm_data\")))\nstruct properly_aligned {\n    uint32_t counter;  \/\/ At offset 0, 4-byte aligned\n    uint8_t  flag;     \/\/ At offset 4\n    \/\/ 3 bytes of padding follow, a small cost for correctness\n};\n<\/code><\/pre>\n<p>\u067e\u06c1\u0644\u06d2 \u0688\u06be\u0627\u0646\u0686\u06d2 \u0645\u06cc\u06ba <code>packed<\/code> \u0627\u0646\u062a\u0633\u0627\u0628 \u06a9\u0645\u067e\u0627\u0626\u0644\u0631 \u0633\u06d2 \u06a9\u06c1\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0641\u06cc\u0644\u0688\u0632 \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u067e\u06cc\u0688\u0646\u06af \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0646\u06c1 \u06a9\u0631\u06cc\u06ba\u06d4 \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2: <code>counter<\/code> \u0628\u0627\u0626\u0679 \u0622\u0641\u0633\u06cc\u0679 1 \u0633\u06d2 \u0634\u0631\u0648\u0639 \u06c1\u0648 \u0631\u06c1\u0627 \u06c1\u06d2 (\u0641\u0648\u0631\u06cc \u0637\u0648\u0631 \u067e\u0631 1 \u0628\u0627\u0626\u0679 \u06a9\u06d2 \u0628\u0639\u062f)\u06d4 <code>flag<\/code>)\u060c \u062c\u0648 \u06a9\u06c1 4 \u06a9\u0627 \u0636\u0631\u0628 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0627\u06af\u0631 CPU TCM \u0645\u06cc\u06ba 4-\u0628\u0627\u0626\u0679 \u063a\u06cc\u0631 \u0645\u0646\u0633\u0644\u06a9 \u0627\u06cc\u0688\u0631\u06cc\u0633 \u0633\u06d2 32 \u0628\u0679 \u0648\u06cc\u0644\u06cc\u0648 \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06cc \u06a9\u0648\u0634\u0634 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u06cc\u06c1 \u0633\u062e\u062a\u06cc \u0633\u06d2 \u0645\u0646\u0633\u0644\u06a9 \u067e\u0631\u0648\u0633\u06cc\u0633\u0631\u0632 (\u0628\u0634\u0645\u0648\u0644 \u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 Cortex-M cores) \u067e\u0631 \u06c1\u0627\u0631\u0688 \u0641\u0627\u0644\u0679 \u06a9\u0648 \u0645\u062a\u062d\u0631\u06a9 \u06a9\u0631\u06d2 \u06af\u0627\u06d4<\/p>\n<p>\u062f\u0648\u0633\u0631\u06d2 \u0688\u06be\u0627\u0646\u0686\u06d2 \u0645\u06cc\u06ba\u060c \u0641\u06cc\u0644\u0688\u0632 \u06a9\u0648 \u0627\u0633 \u0637\u0631\u062d \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2: <code>counter<\/code> (4 \u0628\u0627\u0626\u0679\u0633) \u0633\u0628 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0622\u0641\u0633\u06cc\u0679 0 \u067e\u0631 \u0622\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0648 4 \u0628\u0627\u0626\u0679\u0633 \u0628\u0637\u0648\u0631 \u0688\u06cc\u0641\u0627\u0644\u0679 \u0645\u0646\u0633\u0644\u06a9 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u06c1 <code>flag<\/code> (1 \u0628\u0627\u0626\u0679) \u0622\u0641\u0633\u06cc\u0679 4 \u067e\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u0645\u067e\u0627\u0626\u0644\u0631 \u0627\u0633 \u06a9\u06d2 \u0628\u0639\u062f \u067e\u06cc\u0688\u0646\u06af \u06a9\u06d2 3 \u0628\u0627\u0626\u0679\u0633 \u062f\u0627\u062e\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>flag<\/code> \u06c1\u0645 \u06a9\u0648\u0634\u0634 \u06a9\u0631 \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0633\u0627\u062e\u062a \u06a9\u0627 \u0633\u0627\u0626\u0632 8 \u0628\u0627\u0626\u0679\u0633 (4 \u06a9\u0627 \u06a9\u062b\u06cc\u0631) \u06c1\u0648\u060c \u0644\u06cc\u06a9\u0646 \u062f\u0631\u0633\u062a \u0627\u0648\u0631 \u062a\u0646\u0627\u0632\u0639\u0627\u062a \u0633\u06d2 \u067e\u0627\u06a9 \u0622\u067e\u0631\u06cc\u0634\u0646 \u06a9\u06cc \u0627\u062f\u0627\u0626\u06cc\u06af\u06cc \u06a9\u06d2 \u0644\u06cc\u06d2 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0686\u06be\u0648\u0679\u06cc \u0642\u06cc\u0645\u062a \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-4-dma-transfers-to-tcm-on-incompatible-bus-architectures\">4. \u063a\u06cc\u0631 \u0645\u0637\u0627\u0628\u0642\u062a \u067e\u0630\u06cc\u0631 \u0628\u0633 \u0622\u0631\u06a9\u06cc\u0679\u06cc\u06a9\u0686\u0631\u0632 \u067e\u0631 TCM \u0645\u06cc\u06ba DMA \u06a9\u06cc \u0645\u0646\u062a\u0642\u0644\u06cc<\/h3>\n<p>\u06a9\u0686\u06be DMA \u06a9\u0646\u0679\u0631\u0648\u0644\u0631\u0632 TCM \u0645\u06cc\u0645\u0648\u0631\u06cc \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0622\u06cc\u0627 DMA TCM \u062a\u06a9 \u067e\u06c1\u0646\u0686 \u0633\u06a9\u062a\u0627 \u06c1\u06d2 \u0627\u0633 \u06a9\u0627 \u0627\u0646\u062d\u0635\u0627\u0631 \u0645\u06a9\u0645\u0644 \u0637\u0648\u0631 \u067e\u0631 \u0686\u067e \u06a9\u06d2 \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u0628\u0633 \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631 (\u0628\u0633 \u0645\u06cc\u0679\u0631\u06a9\u0633) \u067e\u0631 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0622\u067e \u067e\u06cc\u0631\u06cc\u0641\u06cc\u0631\u0644 \u0633\u06d2 \u0688\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645 \u0628\u0641\u0631 \u0645\u06cc\u06ba \u0688\u06cc \u0627\u06cc\u0645 \u0627\u06d2 \u0679\u0631\u0627\u0646\u0633\u0641\u0631 \u0633\u06cc\u0679 \u0627\u067e \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0644\u06cc\u06a9\u0646 \u0688\u06cc \u0627\u06cc\u0645 \u0627\u06d2 \u06a9\u0646\u0679\u0631\u0648\u0644\u0631 \u06a9\u06d2 \u067e\u0627\u0633 \u0688\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u0633 \u06a9\u0627 \u0631\u0627\u0633\u062a\u06c1 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u060c \u062a\u0648 \u0679\u0631\u0627\u0646\u0633\u0641\u0631 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u0627 \u06cc\u0627 \u063a\u0644\u0637 \u0627\u06cc\u0688\u0631\u06cc\u0633 \u067e\u0631 \u0644\u06a9\u06be\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4<\/p>\n<p>\u0646\u06c1 \u06c1\u06cc \u06a9\u0648\u0626\u06cc \u0648\u0627\u0636\u062d \u063a\u0644\u0637\u06cc \u067e\u06cc\u062f\u0627 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 DMA \u06a9\u0646\u0679\u0631\u0648\u0644\u0631 \u0633\u0648\u0686\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06cc\u06c1 \u06a9\u0627\u0645\u06cc\u0627\u0628\u06cc \u0633\u06d2 \u0645\u06a9\u0645\u0644 \u06c1\u0648 \u06af\u06cc\u0627 \u06c1\u06d2\u060c \u0622\u067e \u06a9\u0627 \u06a9\u0648\u0688 \u0646\u0626\u06d2 \u0688\u06cc\u0679\u0627 \u06a9\u06cc \u062a\u0648\u0642\u0639 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0628\u0641\u0631 \u06a9\u0648 \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0627\u0633 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0622\u067e \u06a9\u0648 \u067e\u0631\u0627\u0646\u06cc \u06cc\u0627 \u0631\u062f\u06cc \u06a9\u06cc \u0642\u06cc\u0645\u062a\u06cc\u06ba \u0645\u0644 \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0633\u0631\u0627\u06cc\u062a \u0634\u062f\u06c1 \u062a\u0631\u0642\u06cc \u0645\u06cc\u06ba \u0633\u0628 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0645\u0628\u06c1\u0645 \u06a9\u06cc\u0691\u06d2 \u0645\u06cc\u06ba \u0633\u06d2 \u0627\u06cc\u06a9 \u06c1\u06d2\u06d4 <em>\u0638\u0627\u06c1\u0631\u06cc \u0634\u06a9\u0644<\/em> \u0622\u067e \u06a9\u0627 \u06a9\u0648\u0688 \u062f\u0631\u0633\u062a \u06c1\u06d2\u06d4<\/p>\n<p><strong>\u06c1\u0645\u06cc\u0634\u06c1 \u0627\u067e\u0646\u06cc \u0686\u067e \u06a9\u0627 \u0628\u0633 \u0645\u06cc\u0679\u0631\u06a9\u0633 \u0688\u0627\u06cc\u0627\u06af\u0631\u0627\u0645 \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba\u06d4<\/strong> \u0628\u0631\u0627\u06c1 \u06a9\u0631\u0645 TCM \u0628\u0641\u0631\u0632 \u06a9\u06d2 \u0633\u0627\u062a\u06be DMA \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u062d\u0648\u0627\u0644\u06c1 \u062c\u0627\u062a\u06cc \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u0627\u062a \u0633\u06d2 \u0631\u062c\u0648\u0639 \u06a9\u0631\u06cc\u06ba\u06d4 \u0628\u0633 \u0645\u06cc\u0679\u0631\u06a9\u0633 \u0688\u0627\u06cc\u0627\u06af\u0631\u0627\u0645 \u0633\u06d2 \u067e\u062a\u06c1 \u0686\u0644\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06a9\u0646 \u0645\u0627\u0633\u0679\u0631\u0632 (\u0633\u06cc \u067e\u06cc \u06cc\u0648\u060c \u0688\u06cc \u0627\u06cc\u0645 \u0627\u06d2\u060c \u06cc\u0648 \u0627\u06cc\u0633 \u0628\u06cc\u060c \u0648\u063a\u06cc\u0631\u06c1) \u06a9\u0648 \u06a9\u0646 \u063a\u0644\u0627\u0645\u0648\u06ba (\u0622\u0626\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645\u060c \u0688\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645\u060c \u0627\u06cc\u0633 \u0622\u0631 \u0627\u06d2 \u0627\u06cc\u0645\u060c \u0688\u06cc \u0688\u06cc \u0622\u0631\u060c \u067e\u06cc\u0631\u06cc \u0641\u06cc\u0631\u0644\u0632) \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u06c1\u06d2\u06d4 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u0626\u06cc\u06ba \u06a9\u06c1 DMA \u06a9\u0646\u0679\u0631\u0648\u0644\u0631 \u067e\u0631 \u0645\u0627\u0633\u0679\u0631 \u067e\u0648\u0631\u0679 \u06a9\u06cc TCM \u063a\u0644\u0627\u0645 \u0628\u0646\u062f\u0631\u06af\u0627\u06c1 \u0633\u06d2 \u06a9\u0646\u06a9\u0634\u0646 \u0644\u0627\u0626\u0646 \u06c1\u06d2\u06d4 \u0628\u0635\u0648\u0631\u062a \u062f\u06cc\u06af\u0631 TCM \u0645\u06cc\u06ba DMA \u06a9\u06cc \u0645\u0646\u062a\u0642\u0644\u06cc \u06a9\u0627\u0645 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u06d2 \u06af\u06cc\u06d4<\/p>\n<h2 id=\"heading-performance-comparison-with-real-numbers\">\u063a\u0644\u0637\u06cc\u0648\u06ba \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06a9\u0627\u0631\u06a9\u0631\u062f\u06af\u06cc \u06a9\u0627 \u0645\u0648\u0627\u0632\u0646\u06c1<\/h2>\n<p>\u0645\u0646\u062f\u0631\u062c\u06c1 \u0630\u06cc\u0644 \u062c\u062f\u0648\u0644 400 MHz \u067e\u0631 Cortex-R \u06a9\u0644\u0627\u0633 \u067e\u0631\u0648\u0633\u06cc\u0633\u0631 \u06a9\u0648 \u0641\u0631\u0636 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2\u060c \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06cc \u0627\u0642\u0633\u0627\u0645 \u0645\u06cc\u06ba \u0631\u0633\u0627\u0626\u06cc \u0645\u06cc\u06ba \u062a\u0627\u062e\u06cc\u0631 \u06a9\u0627 \u0645\u0648\u0627\u0632\u0646\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-markdown\">+---------------------+----------+----------+----------+\n| Operation           | ITCM\/    |   DDR    | Slowdown |\n|                     | DTCM     |          | Factor   |\n+---------------------+----------+----------+----------+\n| Instruction fetch   | 1 cycle  | 5-20 cyc |   5-20x  |\n| Data read (32-bit)  | 1 cycle  | 5-20 cyc |   5-20x  |\n| Data write (32-bit) | 1 cycle  | 5-20 cyc |   5-20x  |\n| Sequential burst    | 1 cyc\/wd | 2-4 cy\/wd|    2-4x  |\n| Random access       | 1 cycle  | 10-20 cyc|  10-20x  |\n+---------------------+----------+----------+----------+\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u062c\u062f\u0648\u0644 \u067e\u0627\u0646\u0686 \u0642\u0633\u0645 \u06a9\u06d2 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0622\u067e\u0631\u06cc\u0634\u0646\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u0627\u062e\u06cc\u0631 \u06a9\u0648 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u067e\u06c1\u0644\u06cc \u062a\u06cc\u0646 \u0642\u0637\u0627\u0631\u06cc\u06ba (\u06c1\u062f\u0627\u06cc\u0627\u062a \u0628\u0627\u0632\u06cc\u0627\u0641\u062a\u060c \u0688\u06cc\u0679\u0627 \u067e\u0691\u06be\u0646\u0627\u060c \u0688\u06cc\u0679\u0627 \u0644\u06a9\u06be\u0646\u0627) \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba \u06a9\u06c1 TCM \u062a\u06a9 \u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u0631\u0633\u0627\u0626\u06cc \u06c1\u0645\u06cc\u0634\u06c1 1 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u060c \u062c\u0628 \u06a9\u06c1 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06cc \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u062d\u0627\u0644\u062a \u06a9\u06d2 \u0644\u062d\u0627\u0638 \u0633\u06d2 DDR \u06a9\u06cc \u062d\u062f 5 \u0633\u06d2 20 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u062a\u06a9 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u0633\u0633\u062a \u0631\u0648\u06cc \u06a9\u0627 \u0639\u0646\u0635\u0631 \u062f\u0648\u0646\u0648\u06ba \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u062a\u0646\u0627\u0633\u0628 \u06c1\u06d2\u06d4<\/p>\n<p>&quot;Sequential Burst&#8221; \u0642\u0637\u0627\u0631 \u062f\u06a9\u06be\u0627\u062a\u06cc \u06c1\u06d2 \u06a9\u06c1 \u062c\u0628 \u062a\u0631\u062a\u06cc\u0628 \u0648\u0627\u0631 \u067e\u062a\u06d2 \u067e\u0691\u06be\u06d2 \u06cc\u0627 \u0644\u06a9\u06be\u06d2 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0648 \u06a9\u06cc\u0627 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0688\u06cc \u0688\u06cc \u0622\u0631 \u0628\u0631\u0633\u0679 \u0645\u0648\u0688 \u0645\u06cc\u06ba \u0628\u06c1\u062a \u0628\u06c1\u062a\u0631 \u06a9\u0627\u0631\u06a9\u0631\u062f\u06af\u06cc \u06a9\u0627 \u0645\u0638\u0627\u06c1\u0631\u06c1 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 (5-20 \u0633\u0627\u0626\u06cc\u06a9\u0644\u0648\u06ba \u06a9\u06cc \u0628\u062c\u0627\u0626\u06d2 2-4 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u0641\u06cc \u0644\u0641\u0638) \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u0627\u06cc\u06a9 \u0642\u0637\u0627\u0631 \u0641\u0639\u0627\u0644 \u06c1\u0648\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f\u060c \u0627\u0633\u06cc \u0642\u0637\u0627\u0631 \u06a9\u06d2 \u0628\u0639\u062f \u06a9\u06d2 \u0631\u06cc\u0688\u0632 RAS \u0645\u0631\u062d\u0644\u06d2 \u06a9\u0648 \u0686\u06be\u0648\u0691 \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 TCM \u0645\u06cc\u06ba DDR \u06a9\u06cc \u0642\u0637\u0627\u0631\/\u06a9\u0627\u0644\u0645 \u06a9\u06cc \u0633\u0627\u062e\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u06cc\u06c1 \u0627\u0628 \u0628\u06be\u06cc \u0641\u06cc \u0644\u0641\u0638 \u0627\u06cc\u06a9 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u06c1\u06d2\u06d4<\/p>\n<p>&quot;\u0631\u06cc\u0646\u0688\u0645 \u0631\u0633\u0627\u0626\u06cc&#8221; \u06a9\u06cc \u0642\u0637\u0627\u0631 DDR \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u062f\u062a\u0631\u06cc\u0646 \u0635\u0648\u0631\u062a \u06a9\u0648 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u0686\u0648\u0646\u06a9\u06c1 \u06c1\u0631 \u0627\u06cc\u06a9 \u0631\u0633\u0627\u0626\u06cc \u0645\u062e\u062a\u0644\u0641 \u0642\u0637\u0627\u0631 \u0633\u06d2 \u0679\u06a9\u0631\u0627\u062a\u06cc \u06c1\u06d2\u060c \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u0646\u0679\u0631\u0648\u0644\u0631 \u06a9\u0648 \u067e\u0686\u06be\u0644\u06cc \u0642\u0637\u0627\u0631 \u06a9\u0648 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0686\u0627\u0631\u062c \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2 \u0627\u0648\u0631 \u06c1\u0631 \u0628\u0627\u0631 \u0646\u0626\u06cc \u0642\u0637\u0627\u0631 \u06a9\u0648 \u0686\u0627\u0644\u0648 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u06cc\u06c1 10-20 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u06a9\u06cc \u0631\u06cc\u0646\u062c \u0645\u06cc\u06ba \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u0648 \u062a\u06cc\u0632 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06a9\u0627\u0645 \u06a9\u06d2 \u0628\u0648\u062c\u06be \u06a9\u06d2 \u0644\u06cc\u06d2 \u0639\u0627\u0645 \u06c1\u06d2 (\u0644\u0646\u06a9 \u0644\u0633\u0679 \u0679\u0631\u0627\u0648\u0631\u0633\u0644\u0632\u060c \u06c1\u06cc\u0634 \u0679\u06cc\u0628\u0644 \u062a\u0644\u0627\u0634\u060c \u0627\u0648\u0631 \u0641\u0646\u06a9\u0634\u0646 \u067e\u0648\u0627\u0626\u0646\u0679\u0631\u0632 \u06a9\u06cc \u0635\u0641\u0648\u06ba \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0628\u0627\u0644\u0648\u0627\u0633\u0637\u06c1 \u0641\u0646\u06a9\u0634\u0646 \u06a9\u0627\u0644\u0632)\u06d4<\/p>\n<p>\u0639\u0645\u0644\u06cc \u0646\u0642\u0637\u06c1: \u0627\u06af\u0631 \u0622\u067e \u06a9\u0627 \u06a9\u0648\u0688 DDR \u0688\u06cc\u0679\u0627 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u062a\u0631\u062a\u06cc\u0628 \u0648\u0627\u0631 \u0627\u0633 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u06a9\u06cc \u06a9\u0648\u0634\u0634 \u06a9\u0631\u06cc\u06ba\u06d4 \u062a\u0631\u062a\u06cc\u0628 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0635\u0641 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u062a\u06a9\u0631\u0627\u0631 \u06a9\u0631\u0646\u0627 \u0628\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u067e\u0648\u0632\u06cc\u0634\u0646 \u067e\u0631 \u062c\u0627\u0646\u06d2 \u0633\u06d2 \u06a9\u06c1\u06cc\u06ba \u0632\u06cc\u0627\u062f\u06c1 \u062a\u06cc\u0632 \u06c1\u06d2\u06d4 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u0646\u0679\u0631\u0648\u0644\u0631 \u0627\u0648\u0631 DDR \u0686\u067e \u06a9\u06cc \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u067e\u0631\u06cc \u0641\u06cc\u0686 \u0645\u0646\u0637\u0642 \u062a\u0631\u062a\u06cc\u0628 \u0648\u0627\u0631 \u0631\u0633\u0627\u0626\u06cc \u06a9\u06d2 \u0646\u0645\u0648\u0646\u0648\u06ba \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u0633\u0627\u0632\u06af\u0627\u0631 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-how-tcm-affects-power-consumption\">\u0628\u062c\u0644\u06cc \u06a9\u06cc \u06a9\u06be\u067e\u062a \u067e\u0631 TCM \u06a9\u0627 \u0627\u062b\u0631<\/h2>\n<p>\u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06cc \u062c\u06af\u06c1 \u06a9\u0627 \u062a\u0639\u06cc\u0646 \u0628\u062c\u0644\u06cc \u06a9\u06cc \u06a9\u06be\u067e\u062a \u06a9\u0648 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0645\u062a\u0627\u062b\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0648 \u0628\u06cc\u0679\u0631\u06cc \u0633\u06d2 \u0686\u0644\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0645\u0635\u0646\u0648\u0639\u0627\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06c1\u0645 \u06c1\u06d2\u06d4<\/p>\n<p><strong>DDR \u06a9\u0648 \u0645\u0633\u062a\u0642\u0644 \u0631\u06cc\u0641\u0631\u06cc\u0634 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/strong> DRAM \u06c1\u0631 \u0627\u06cc\u06a9 \u0628\u0679 \u06a9\u0648 \u0627\u06cc\u06a9 \u0686\u06be\u0648\u0679\u06d2 \u06a9\u06cc\u067e\u0633\u06cc\u0679\u0631 \u0645\u06cc\u06ba \u0686\u0627\u0631\u062c \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0627\u0633\u0679\u0648\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0648 \u0648\u0642\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0686\u0627\u0631\u062c \u0644\u06cc\u06a9 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0688\u06cc\u0679\u0627 \u06a9\u06d2 \u0646\u0642\u0635\u0627\u0646 \u06a9\u0648 \u0631\u0648\u06a9\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u0646\u0679\u0631\u0648\u0644\u0631 \u06a9\u0648 DDR \u0686\u067e \u067e\u0631 \u062a\u0642\u0631\u06cc\u0628\u0627\u064b \u06c1\u0631 64 ms \u067e\u0631 \u06c1\u0631 \u0642\u0637\u0627\u0631 \u06a9\u0648 \u067e\u0691\u06be\u0646\u0627 \u0627\u0648\u0631 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0644\u06a9\u06be\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u06cc\u06c1 \u0631\u06cc\u0641\u0631\u06cc\u0634 \u0639\u0645\u0644 \u067e\u0627\u0648\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06cc\u06c1\u0627\u06ba \u062a\u06a9 \u06a9\u06c1 \u062c\u0628 \u067e\u0631\u0648\u0633\u06cc\u0633\u0631 \u0633\u0644\u06cc\u067e \u0645\u0648\u0688 \u0645\u06cc\u06ba \u06c1\u0648 \u0627\u0648\u0631 \u06a9\u0648\u0626\u06cc \u06a9\u0648\u0688 \u0646\u06c1 \u0686\u0644 \u0631\u06c1\u0627 \u06c1\u0648\u06d4 \u06a9\u0686\u06be \u0633\u0633\u0679\u0645\u0632 \u067e\u0631\u060c \u0688\u06cc \u0688\u06cc \u0622\u0631 \u0631\u06cc\u0641\u0631\u06cc\u0634\u0632 \u0645\u062c\u0645\u0648\u0639\u06cc \u0646\u06cc\u0646\u062f \u067e\u0627\u0648\u0631 \u0628\u062c\u0679 \u06a9\u0627 \u0627\u06cc\u06a9 \u0627\u06c1\u0645 \u062d\u0635\u06c1 \u0644\u06d2 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p><strong>TCM SRAM \u067e\u0631 \u0645\u0628\u0646\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0631\u06cc\u0641\u0631\u06cc\u0634 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/strong> SRAM \u0641\u0644\u067e \u0641\u0644\u0627\u067e \u0633\u0631\u06a9\u0679\u0633 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u0627\u0633\u0679\u0648\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u067e\u0627\u0648\u0631 \u0644\u0627\u06af\u0648 \u06c1\u0648\u0646\u06d2 \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u0627\u067e\u0646\u06cc \u062d\u0627\u0644\u062a \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06a9\u0686\u06be \u0631\u0633\u0627\u0648 \u06a9\u0631\u0646\u0679 \u06c1\u06d2 (\u06a9\u0648\u0626\u06cc \u0679\u0631\u0627\u0646\u0632\u0633\u0679\u0631 \u06a9\u0627\u0645\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2)\u060c \u0644\u06cc\u06a9\u0646 \u06cc\u06c1 \u0688\u06cc \u0688\u06cc \u0622\u0631 \u0631\u06cc \u062c\u0646\u0631\u06cc\u0679\u06cc\u0648 \u067e\u0627\u0648\u0631 \u0633\u06d2 \u0628\u06c1\u062a \u06a9\u0645 \u06c1\u06d2\u06d4<\/p>\n<p>\u0628\u06cc\u0679\u0631\u06cc \u0633\u06d2 \u0686\u0644\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0622\u0644\u0627\u062a (\u067e\u06c1\u0646\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644\u060c IoT \u0633\u06cc\u0646\u0633\u0631\u060c \u0637\u0628\u06cc \u0622\u0644\u0627\u062a) \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 DTCM \u06a9\u06d2 \u0633\u0644\u06cc\u067e \u0645\u0648\u0688 \u0645\u06cc\u06ba \u0632\u0646\u062f\u06c1 \u0631\u06c1\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u062c\u0628 \u0628\u06be\u06cc \u0645\u0645\u06a9\u0646 \u06c1\u0648 \u0622\u0631\u06a9\u0627\u0626\u06cc\u0648 \u06a9\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0622\u067e \u06a9\u0627 \u06c1\u0627\u0631\u0688\u0648\u06cc\u0626\u0631 \u0627\u0633 \u06a9\u06cc \u062d\u0645\u0627\u06cc\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0631\u06cc\u0641\u0631\u06cc\u0634 \u067e\u0627\u0648\u0631 \u06a9\u0648 \u0645\u06a9\u0645\u0644 \u0637\u0648\u0631 \u067e\u0631 \u062e\u062a\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06c1\u0627\u0626\u0628\u0631\u0646\u06cc\u0634\u0646 \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 DDR \u0686\u067e \u06a9\u0648 \u067e\u0627\u0648\u0631 \u06a9\u0631\u06cc\u06ba\u06d4 \u0641\u0631\u0645 \u0648\u06cc\u0626\u0631 \u0631\u0646 \u0679\u0627\u0626\u0645 \u067e\u0631 \u062c\u062a\u0646\u0627 \u06a9\u0645 DDR \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u062a\u0646\u0627 \u06c1\u06cc \u0641\u0639\u0627\u0644 \u0637\u0648\u0631 \u067e\u0631 \u06cc\u06c1 DDR \u067e\u0627\u0648\u0631 \u0633\u0679\u06cc\u0679\u0633 \u06a9\u0648 \u0645\u0646\u0638\u0645 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0648 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0628\u06cc\u0679\u0631\u06cc \u06a9\u06cc \u0632\u0646\u062f\u06af\u06cc \u06a9\u0648 \u0628\u0691\u06be\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-how-to-profile-memory-usage\">\u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u067e\u0631\u0648\u0641\u0627\u0626\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u0627\u067e\u0646\u06d2 \u06a9\u0648\u0688 \u0627\u0648\u0631 \u0688\u06cc\u0679\u0627 \u06a9\u0648 ITCM\u060c DTCM\u060c \u0627\u0648\u0631 DDR \u0645\u06cc\u06ba \u062a\u0639\u06cc\u0646\u0627\u062a \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f\u060c \u0622\u067e \u06a9\u0648 \u06cc\u06c1 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u0646\u0627 \u06c1\u0648\u06af\u0627 \u06a9\u06c1 \u0633\u0628 \u06a9\u0686\u06be \u0679\u06be\u06cc\u06a9 \u06c1\u06d2\u060c \u0648\u0642\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc \u0646\u06af\u0631\u0627\u0646\u06cc \u06a9\u0631\u06cc\u06ba\u060c \u0627\u0648\u0631 \u062a\u0639\u0645\u06cc\u0631\u0627\u062a\u06cc \u0646\u0627\u06a9\u0627\u0645\u06cc\u0648\u06ba \u06a9\u0627 \u0633\u0628\u0628 \u0628\u0646\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0631\u062c\u0639\u062a \u06a9\u0648 \u067e\u06a9\u0691\u06cc\u06ba\u06d4 \u0627\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u062e\u062a\u0644\u0641 \u062a\u06a9\u0646\u06cc\u06a9\u06cc\u06ba \u06c1\u06cc\u06ba\u060c \u062c\u0646 \u0645\u06cc\u06ba \u0633\u0627\u062f\u06c1 \u06a9\u0645\u0627\u0646\u0688 \u0644\u0627\u0626\u0646 \u0679\u0648\u0644\u0632 \u0633\u06d2 \u0644\u06d2 \u06a9\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 CI \u0686\u06cc\u06a9\u0646\u06af \u062a\u06a9 \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-method-1-the-linker-map-file\">\u0637\u0631\u06cc\u0642\u06c1 1: \u0644\u0646\u06a9\u0631 \u0645\u06cc\u067e \u0641\u0627\u0626\u0644<\/h3>\n<p>\u062c\u0628 \u0628\u06be\u06cc \u0622\u067e \u0641\u0631\u0645 \u0648\u06cc\u0626\u0631 \u0628\u0646\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0644\u0646\u06a9\u0631 <strong>\u0646\u0642\u0634\u06c1 \u0641\u0627\u0626\u0644<\/strong>\u0627\u06cc\u06a9 \u062a\u0641\u0635\u06cc\u0644\u06cc \u0679\u06cc\u06a9\u0633\u0679 \u0641\u0627\u0626\u0644 \u062c\u0648 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u06a9\u06c1 \u06c1\u0631 \u0639\u0644\u0627\u0645\u062a (\u0641\u0646\u06a9\u0634\u0646\u060c \u0645\u062a\u063a\u06cc\u0631\u060c \u0645\u0633\u062a\u0642\u0644) \u06a9\u06c1\u0627\u06ba \u062e\u062a\u0645 \u06c1\u0648\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633 \u06a9\u0627 \u0633\u0627\u0626\u0632\u06d4 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0648 \u0633\u0645\u062c\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u0645\u0628\u06cc\u0688\u0688 \u0688\u06cc\u0648\u0644\u067e\u0645\u0646\u0679 \u0645\u06cc\u06ba \u06cc\u06c1 \u0648\u0627\u062d\u062f \u0633\u0628 \u0633\u06d2 \u0645\u0641\u06cc\u062f \u0646\u0645\u0648\u0646\u06c1 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633\u06d2 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba: <code>-Wl,-Map=output.map<\/code> \u0644\u0646\u06a9\u0631 \u062c\u06be\u0646\u0688\u0648\u06ba \u0645\u06cc\u06ba:<\/p>\n<pre><code class=\"language-shell\">arm-none-eabi-gcc \\\n    -T linker_script.ld \\\n    -Wl,-Map=firmware.map \\\n    -o firmware.elf \\\n    main.o audio.o bluetooth.o\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u06a9\u0645\u0627\u0646\u0688 \u0627\u06d2 \u0622\u0631 \u0627\u06cc\u0645 \u062c\u06cc \u0633\u06cc \u0633\u06cc \u0679\u0648\u0644 \u0686\u06cc\u0646 \u06a9\u0648 \u062a\u06cc\u0646 \u0622\u0628\u062c\u06cc\u06a9\u0679 \u0641\u0627\u0626\u0644\u06cc\u06ba \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0627\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 (<code>main.o<\/code>, <code>audio.o<\/code>, <code>bluetooth.o<\/code>) \u0644\u0646\u06a9\u0631 \u0627\u0633\u06a9\u0631\u067e\u0679 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 <code>linker_script.ld<\/code>. \u06a9\u06c1 <code>-Wl,-Map=firmware.map<\/code> \u062c\u06cc \u0633\u06cc \u0633\u06cc \u06a9\u0627 \u062c\u06be\u0646\u0688\u0627 <code>-Map=firmware.map<\/code> \u0644\u0646\u06a9\u0631 \u0645\u06cc\u06ba \u0622\u067e\u0634\u0646 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u06cc\u06c1 \u0622\u0624\u0679 \u067e\u0679 ELF \u0628\u0627\u0626\u0646\u0631\u06cc \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u06cc\u06a9 \u062a\u0641\u0635\u06cc\u0644\u06cc \u0646\u0642\u0634\u06c1 \u0641\u0627\u0626\u0644 \u0628\u0646\u0627\u0626\u06d2 \u06af\u0627\u06d4 \u0646\u0642\u0634\u06c1 \u06a9\u06cc \u0641\u0627\u0626\u0644\u06cc\u06ba \u06c1\u0632\u0627\u0631\u0648\u06ba \u0644\u0627\u0626\u0646\u06cc\u06ba \u0644\u0645\u0628\u06cc \u06c1\u0648\u0633\u06a9\u062a\u06cc \u06c1\u06cc\u06ba\u060c \u0644\u06cc\u06a9\u0646 \u0633\u0628 \u0633\u06d2 \u0645\u0641\u06cc\u062f \u062d\u0635\u06c1 \u0622\u062e\u0631 \u0645\u06cc\u06ba \u062e\u0644\u0627\u0635\u06c1 \u06c1\u06d2\u06d4<\/p>\n<p>\u0646\u0642\u0634\u06c1 \u0641\u0627\u0626\u0644 \u06a9\u06d2 \u0622\u062e\u0631 \u0645\u06cc\u06ba \u062e\u0644\u0627\u0635\u06c1 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06d2 \u0639\u0644\u0627\u0642\u06d2 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06c1 \u0645\u062c\u0645\u0648\u0639\u06cc \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0648 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-shell\">Memory region         Used Size  Region Size  %age Used\n            ITCM:      570936 B         2 MB     27.22%\n            DTCM:      727240 B    1572608 B     46.24%\n             DDR:      622915 B         4 MB     14.85%\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u062e\u0644\u0627\u0635\u06c1 \u062a\u06cc\u0646 \u06a9\u0627\u0644\u0645 \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2: \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0634\u062f\u06c1 \u0628\u0627\u0626\u0679\u0633 \u06a9\u06cc \u062a\u0639\u062f\u0627\u062f\u060c \u0631\u0642\u0628\u06c1 \u06a9\u0627 \u06a9\u0644 \u0633\u0627\u0626\u0632\u060c \u0627\u0648\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0634\u062f\u06c1 \u0641\u06cc\u0635\u062f\u06d4 \u0622\u067e \u0641\u0631\u0645 \u0648\u06cc\u0626\u0631 \u06a9\u06cc \u062d\u06cc\u062b\u06cc\u062a \u06a9\u0648 \u0627\u06cc\u06a9 \u0646\u0638\u0631 \u0645\u06cc\u06ba \u062f\u06cc\u06a9\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u0646\u06af\u0648\u0679\u06be\u06d2 \u06a9\u06d2 \u0627\u0635\u0648\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631\u060c 80% \u0633\u06d2 \u06a9\u0645 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u0686\u06cc\u0632 \u0635\u062d\u062a \u0645\u0646\u062f \u06c1\u0648\u062a\u06cc \u06c1\u06d2 \u062c\u0633 \u0645\u06cc\u06ba \u0646\u0634\u0648\u0648\u0646\u0645\u0627 \u06a9\u06cc \u06af\u0646\u062c\u0627\u0626\u0634 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 80% \u0627\u0648\u0631 90% \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u06a9\u0645\u06cc \u06c1\u0648 \u0631\u06c1\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u06c1\u0645\u06cc\u06ba \u0627\u06af\u0644\u06cc \u062e\u0635\u0648\u0635\u06cc\u062a \u06a9\u0648 \u0627\u06cc\u0688\u062c\u0633\u0679 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0637\u0631\u06cc\u0642\u06d2 \u06a9\u06cc \u0645\u0646\u0635\u0648\u0628\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4 90 \u0641\u06cc\u0635\u062f \u0633\u06d2 \u062a\u062c\u0627\u0648\u0632 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u0633\u0633\u062a\u06cc \u0645\u06cc\u0645\u0648\u0631\u06cc \u0648\u0627\u0644\u06d2 \u0639\u0644\u0627\u0642\u06d2 \u0645\u06cc\u06ba \u062c\u0627\u0626\u06cc\u06ba \u06cc\u0627 \u0627\u067e\u0646\u06cc \u0645\u0648\u062c\u0648\u062f\u06c1 \u062a\u0639\u06cc\u0646\u0627\u062a\u06cc \u06a9\u0648 \u0628\u06c1\u062a\u0631 \u0628\u0646\u0627\u0646\u0627 \u0634\u0631\u0648\u0639 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-method-2-parsing-the-map-file-for-per-module-breakdown\">\u0637\u0631\u06cc\u0642\u06c1 2: \u0645\u0627\u0688\u06cc\u0648\u0644 \u0628\u06c1 \u0645\u0627\u0688\u06cc\u0648\u0644 \u062a\u062c\u0632\u06cc\u06c1 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0646\u0642\u0634\u06c1 \u0641\u0627\u0626\u0644 \u06a9\u0648 \u067e\u0627\u0631\u0633 \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<p>\u0622\u067e \u0627\u0633\u06d2 \u062e\u0644\u0627\u0635\u06c1 \u0645\u06cc\u06ba \u062f\u06cc\u06a9\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <em>\u06a9\u062a\u0646\u0627<\/em> \u06cc\u0627\u062f\u062f\u0627\u0634\u062a \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06c1\u0648\u062a\u06cc \u06c1\u06d2 \u0644\u06cc\u06a9\u0646 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u06cc\u06d4 <em>\u0688\u0628\u0644\u06cc\u0648 \u0627\u06cc\u0686 \u0627\u0648<\/em> \u0645\u06cc\u06ba \u0627\u0633\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u0648\u06ba\u06d4 \u0646\u0642\u0634\u06c1 \u06a9\u06cc \u0641\u0627\u0626\u0644\u0648\u06ba \u0645\u06cc\u06ba \u0639\u0644\u0627\u0645\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0645\u062e\u0635\u0648\u0635 \u062a\u0641\u0635\u06cc\u0644\u0627\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06cc\u06ba\u060c \u0644\u06cc\u06a9\u0646 \u062f\u0633\u062a\u06cc \u0637\u0648\u0631 \u067e\u0631 \u067e\u0691\u06be\u0646\u0627 \u0645\u0634\u06a9\u0644 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0641\u0627\u0626\u0644\u06cc\u06ba \u06c1\u0632\u0627\u0631\u0648\u06ba \u0644\u0627\u0626\u0646\u06cc\u06ba \u0644\u0645\u0628\u06cc \u06c1\u0648 \u0633\u06a9\u062a\u06cc \u06c1\u06cc\u06ba \u062c\u0633 \u06a9\u06cc \u0634\u06a9\u0644 \u0627\u0646\u0633\u0627\u0646\u06cc \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0688\u06cc\u0632\u0627\u0626\u0646 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc \u06af\u0626\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0645\u0646\u062f\u0631\u062c\u06c1 \u0630\u06cc\u0644 Python \u0627\u0633\u06a9\u0631\u067e\u0679 \u0646\u0642\u0634\u06c1 \u06a9\u06cc \u0641\u0627\u0626\u0644 \u06a9\u0648 \u067e\u0627\u0631\u0633 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0645\u0627\u0688\u06cc\u0648\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u062e\u0635\u0648\u0635 \u0631\u067e\u0648\u0631\u0679 \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u062c\u0633 \u0645\u06cc\u06ba \u062f\u06a9\u06be\u0627\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06a9\u0648\u0646 \u0633\u06cc \u0622\u0628\u062c\u06cc\u06a9\u0679 \u0641\u0627\u0626\u0644\u06cc\u06ba \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u0648 \u06a9\u0646 \u0639\u0644\u0627\u0642\u0648\u06ba \u0645\u06cc\u06ba \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0631\u06c1\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-python\">#!\/usr\/bin\/env python3\n\"\"\"Parse a linker map file and report memory usage per object file.\"\"\"\n\nimport re\nimport sys\nfrom collections import defaultdict\n\ndef parse_map_file(map_path):\n    \"\"\"Extract symbol placements from a GCC linker map file.\"\"\"\n    usage = defaultdict(lambda: defaultdict(int))\n\n    regions = {\n        'ITCM': (0x00000000, 0x00200000),\n        'DTCM': (0x20000000, 0x20180000),\n        'DDR':  (0x80000000, 0x80400000),\n    }\n\n    def addr_to_region(addr):\n        for name, (start, end) in regions.items():\n            if start <= addr < end:\n                return name\n        return 'UNKNOWN'\n\n    symbol_re = re.compile(\n        r'^\\s+\\S+\\s+(0x[0-9a-fA-F]+)\\s+(0x[0-9a-fA-F]+)\\s+(\\S+\\.o)'\n    )\n\n    with open(map_path) as f:\n        for line in f:\n            m = symbol_re.match(line)\n            if m:\n                addr = int(m.group(1), 16)\n                size = int(m.group(2), 16)\n                obj = m.group(3).split('\/')[-1]\n                region = addr_to_region(addr)\n                usage[obj][region] += size\n\n    return usage\n\ndef print_report(usage):\n    \"\"\"Print a sorted memory usage report.\"\"\"\n    print(f\"{'Object File':<35} {'ITCM':>10} {'DTCM':>10} {'DDR':>10} {'Total':>10}\")\n    print(\"-\" * 80)\n\n    totals = defaultdict(int)\n    rows = []\n\n    for obj, regions in usage.items():\n        total = sum(regions.values())\n        rows.append((obj, regions, total))\n        for r, s in regions.items():\n            totals[r] += s\n\n    rows.sort(key=lambda x: x[2], reverse=True)\n\n    for obj, regions, total in rows[:20]:\n        print(f\"{obj:<35} \"\n              f\"{regions.get('ITCM', 0):>10,} \"\n              f\"{regions.get('DTCM', 0):>10,} \"\n              f\"{regions.get('DDR', 0):>10,} \"\n              f\"{total:>10,}\")\n\n    print(\"-\" * 80)\n    grand = sum(totals.values())\n    print(f\"{'TOTAL':<35} \"\n          f\"{totals.get('ITCM', 0):>10,} \"\n          f\"{totals.get('DTCM', 0):>10,} \"\n          f\"{totals.get('DDR', 0):>10,} \"\n          f\"{grand:>10,}\")\n\nif __name__ == '__main__':\n    usage = parse_map_file(sys.argv[1])\n    print_report(usage)\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0627\u0633\u06a9\u0631\u067e\u0679 \u062a\u06cc\u0646 \u0686\u06cc\u0632\u06cc\u06ba \u06a9\u0631\u062a\u0627 \u06c1\u06d2: \u067e\u06c1\u0644\u0627\u060c <code>parse_map_file<\/code> \u0646\u0642\u0634\u06c1 \u06a9\u06cc \u0641\u0627\u0626\u0644 \u06a9\u0648 \u0644\u0627\u0626\u0646 \u0628\u06c1 \u0644\u0627\u0626\u0646 \u067e\u0691\u06be\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0646 \u0644\u0627\u0626\u0646\u0648\u06ba \u06a9\u06cc \u062a\u0644\u0627\u0634 \u0645\u06cc\u06ba \u062c\u0648 \u0639\u0644\u0627\u0645\u062a \u06a9\u06cc \u062c\u06af\u06c1 \u06a9\u06d2 \u0627\u0646\u062f\u0631\u0627\u062c\u0627\u062a (\u0633\u06cc\u06a9\u0634\u0646 \u06a9\u0627 \u0646\u0627\u0645\u060c \u067e\u062a\u06c1\u060c \u0633\u0627\u0626\u0632\u060c \u0627\u0648\u0631 \u0622\u0628\u062c\u06cc\u06a9\u0679 \u0641\u0627\u0626\u0644 \u06a9\u0627 \u0646\u0627\u0645) \u06a9\u06d2 \u0641\u0627\u0631\u0645\u06cc\u0679 \u0633\u06d2 \u0645\u0645\u0627\u062b\u0644 \u06c1\u0648\u06ba\u06d4 \u06c1\u0631 \u0645\u06cc\u0686 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u06c1\u06cc\u06a9\u0633\u0627\u0688\u06cc\u0633\u06cc\u0645\u0644 \u0627\u06cc\u0688\u0631\u06cc\u0633 \u06a9\u0648 \u0627\u06cc\u06a9 \u0639\u062f\u062f \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0633 \u0628\u0627\u062a \u06a9\u0627 \u062a\u0639\u06cc\u0646 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u0627\u0633 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06d2 \u06a9\u0633 \u0639\u0644\u0627\u0642\u06d2 \u0633\u06d2 \u062a\u0639\u0644\u0642 \u06c1\u06d2: <code>addr_to_region<\/code> \u06cc\u06c1 \u0627\u06cc\u06a9 \u0645\u062f\u062f\u06af\u0627\u0631 \u06c1\u06d2 \u0627\u0648\u0631 \u0622\u0628\u062c\u06cc\u06a9\u0679 \u0641\u0627\u0626\u0644 \u0627\u0648\u0631 \u0631\u06cc\u062c\u0646 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06c1 \u06a9\u0644\u06cc\u062f \u06a9\u0631\u062f\u06c1 \u0646\u06cc\u0633\u0679\u0688 \u0644\u063a\u0627\u062a \u0645\u06cc\u06ba \u0633\u0627\u0626\u0632 \u062c\u0645\u0639 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062f\u0648\u0633\u0631\u0627 <code>print_report<\/code> \u06a9\u0644 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06d2 \u0644\u062d\u0627\u0638 \u0633\u06d2 \u0622\u0628\u062c\u06cc\u06a9\u0679 \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u0648 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u062a\u0627 \u06c1\u06d2 (\u0633\u0628 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0633\u0628 \u0633\u06d2 \u0628\u0691\u0627)\u060c \u0679\u0627\u067e 20 \u067e\u0631\u0646\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06c1\u0631 \u0641\u0627\u0626\u0644 \u06c1\u0631 \u0639\u0644\u0627\u0642\u06d2 \u0645\u06cc\u06ba \u06a9\u062a\u0646\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u062a\u06cc\u0633\u0631\u0627\u060c <code>if __name__ == '__main__'<\/code> \u0628\u0644\u0627\u06a9\u0633 \u0622\u067e \u06a9\u0648 \u06a9\u0645\u0627\u0646\u0688 \u0644\u0627\u0626\u0646 \u0633\u06d2 \u0627\u0633\u06a9\u0631\u067e\u0679 \u0686\u0644\u0627\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0622\u067e \u06a9\u0648 \u0627\u067e\u0646\u06d2 \u067e\u062a\u06d2 \u06a9\u06cc \u062d\u062f \u06a9\u0648 \u0627\u06cc\u0688\u062c\u0633\u0679 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u067e\u0691 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4 <code>regions<\/code> \u0627\u06cc\u06a9 \u0644\u063a\u062a \u062c\u0648 \u0686\u067e \u06a9\u06d2 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0645\u06cc\u067e \u0633\u06d2 \u0645\u0644\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0686\u0644\u0627\u0626\u06cc\u06ba:<\/p>\n<pre><code class=\"language-shell\">python3 parse_map.py firmware.map\n<\/code><\/pre>\n<p>\u0646\u0645\u0648\u0646\u06c1 \u0622\u0624\u0679 \u067e\u0679:<\/p>\n<pre><code class=\"language-shell\">Object File                              ITCM       DTCM        DDR      Total\n--------------------------------------------------------------------------------\nbluetooth_stack.o                      42,380     65,200     38,400    146,080\naudio_processing.o                     89,200     32,000          0    121,200\nwifi_driver.o                          21,560     33,632     25,736     80,928\nsensor_hub.o                           45,000     18,400          0     63,400\nlibc.a(memcpy.o)                       12,340          0          0     12,340\n...\n--------------------------------------------------------------------------------\nTOTAL                                 570,936    727,240    622,915  1,921,091\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0622\u0624\u0679 \u067e\u0679 \u0641\u0631\u0645 \u0648\u06cc\u0626\u0631 \u06a9\u06d2 \u0627\u0639\u0644\u06cc \u0645\u06cc\u0645\u0648\u0631\u06cc \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u0648 \u06a9\u0644 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06d2 \u0644\u062d\u0627\u0638 \u0633\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u06c1\u0631 \u0642\u0637\u0627\u0631 \u0622\u0628\u062c\u06cc\u06a9\u0679 \u0641\u0627\u0626\u0644 \u0627\u0648\u0631 \u0628\u0627\u0626\u0679\u0633 \u06a9\u06cc \u062a\u0639\u062f\u0627\u062f \u06a9\u0648 \u062f\u06a9\u06be\u0627\u062a\u06cc \u06c1\u06d2 \u062c\u0648 \u06c1\u0631 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0627\u06cc\u0631\u06cc\u0627 \u0645\u06cc\u06ba \u062d\u0635\u06c1 \u0688\u0627\u0644\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>bluetooth_stack.o<\/code> \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u0648 \u062a\u06cc\u0646\u0648\u06ba \u062e\u0637\u0648\u06ba \u0645\u06cc\u06ba \u062a\u0642\u0633\u06cc\u0645 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u06cc\u06c1 \u0633\u0628 \u0633\u06d2 \u0628\u0691\u06d2 \u0635\u0627\u0631\u0641 \u06c1\u06cc\u06ba\u060c \u062c\u0646 \u06a9\u06cc \u06a9\u0644 \u062a\u0639\u062f\u0627\u062f 146 KB \u06c1\u06d2\u06d4 \u06a9\u06c1 <code>audio_processing.o<\/code> \u0641\u0627\u0626\u0644 ITCM \u0627\u0648\u0631 DTCM \u062f\u0648\u0646\u0648\u06ba \u0645\u06cc\u06ba 121 KB \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 (DDR \u0645\u06cc\u06ba 0 \u0628\u0627\u0626\u0679\u0633)\u06d4 \u06cc\u06c1 \u0633\u0645\u062c\u06be \u0645\u06cc\u06ba \u0622\u062a\u0627 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0622\u0688\u06cc\u0648 \u067e\u0631\u0648\u0633\u06cc\u0633\u0646\u06af \u0648\u0642\u062a \u0627\u06c1\u0645 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0645\u06a9\u0645\u0644 \u0637\u0648\u0631 \u067e\u0631 TCM \u0645\u06cc\u06ba \u0631\u06a9\u06be\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 \u06a9\u06c1 <code>libc.a(memcpy.o)<\/code> \u0627\u0646\u062f\u0631\u0627\u062c ITCM \u0645\u06cc\u06ba \u0631\u06a9\u06be\u06d2 \u06af\u0626\u06d2 C \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u06a9\u06d2 \u0627\u0641\u0639\u0627\u0644 \u06a9\u0648 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0627\u0646\u06c1\u06cc\u06ba \u06a9\u0627\u0631\u06a9\u0631\u062f\u06af\u06cc \u06a9\u06d2 \u0627\u06c1\u0645 \u06a9\u0648\u0688 \u06a9\u06d2 \u0631\u0627\u0633\u062a\u0648\u06ba \u0633\u06d2 \u0628\u0644\u0627\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-method-3-the-size-command\">\u0637\u0631\u06cc\u0642\u06c1 3: <code>size<\/code> \u062d\u06a9\u0645<\/h3>\n<p>\u0627\u06af\u0631 \u0622\u067e \u0646\u0642\u0634\u06c1 \u06a9\u06cc \u0641\u0627\u0626\u0644 \u06a9\u0648 \u067e\u0627\u0631\u0633 \u06a9\u06cc\u06d2 \u0628\u063a\u06cc\u0631 \u062c\u0644\u062f\u06cc \u0633\u06d2 \u0686\u06cc\u06a9 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0648 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba: <code>arm-none-eabi-size<\/code>:<\/p>\n<pre><code class=\"language-shell\">arm-none-eabi-size -A firmware.elf\n<\/code><\/pre>\n<p>\u062d\u0633\u0627\u0628 \u06a9\u062a\u0627\u0628:<\/p>\n<pre><code class=\"language-shell\">firmware.elf  :\nsection               size        addr\n.itcm_text          570936           0\n.dtcm_data          530240   536870912\n.dtcm_bss           196000   537401152\n.stack                8192   537600000\n.ddr_text           422915  2147483648\n.ddr_data           120000  2147906563\n.ddr_bss             80000  2148026563\nTotal              1928283\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0622\u0624\u0679 \u067e\u0679 ELF \u0628\u0627\u0626\u0646\u0631\u06cc \u06a9\u06d2 \u062a\u0645\u0627\u0645 \u062d\u0635\u0648\u06ba\u060c \u0628\u0627\u0626\u0679\u0633 \u0645\u06cc\u06ba \u0627\u0646 \u06a9\u0627 \u0633\u0627\u0626\u0632\u060c \u0627\u0648\u0631 \u0627\u0646 \u06a9\u0627 \u0627\u0628\u062a\u062f\u0627\u0626\u06cc \u067e\u062a\u06c1 (\u0627\u0639\u0634\u0627\u0631\u06cc\u06c1 \u0645\u06cc\u06ba) \u062f\u0631\u062c \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u067e \u06a9\u0633\u06cc \u062d\u0635\u06d2 \u06a9\u0648 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0648\u0627\u0644\u06d2 \u0639\u0644\u0627\u0642\u06d2 \u0645\u06cc\u06ba \u0627\u0633 \u06a9\u0627 \u067e\u062a\u06c1 \u062d\u0644 \u06a9\u0631 \u06a9\u06d2 \u0646\u0642\u0634\u06c1 \u0628\u0646\u0627 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 0 \u06a9\u06d2 \u0642\u0631\u06cc\u0628 \u067e\u062a\u06d2 ITCM \u06c1\u06cc\u06ba\u060c 536 \u0645\u0644\u06cc\u0646 (0x20000000) \u06a9\u06d2 \u0642\u0631\u06cc\u0628 \u067e\u062a\u06d2 DTCM \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 2.1 \u0628\u0644\u06cc\u0646 (0x80000000) \u06a9\u06d2 \u0642\u0631\u06cc\u0628 \u067e\u062a\u06d2 DDR \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06cc\u0627\u060c \u0633\u06cc\u06a9\u0634\u0646 \u06a9\u0627 \u0646\u0627\u0645 \u062e\u0648\u062f \u0645\u0642\u0627\u0645\u06cc \u06c1\u06d2 (<code>.itcm_text<\/code> \u06cc\u06c1 ITCM \u0645\u06cc\u06ba \u06c1\u06d2\u060c <code>.dtcm_data<\/code> \u0627\u0648\u0631 <code>.dtcm_bss<\/code> \u06cc\u06c1 DTCM \u0645\u06cc\u06ba \u06c1\u06d2\u060c <code>.ddr_text<\/code> \u0627\u0648\u0631 <code>.ddr_data<\/code> \u0627\u0648\u0631 <code>.ddr_bss<\/code> \u0688\u06cc \u0688\u06cc \u0622\u0631)\u06d4<\/p>\n<p>\u06a9\u06c1 <code>-A<\/code> \u067e\u0631\u0686\u0645 \u0688\u06cc\u0641\u0627\u0644\u0679 BSD \u0641\u0627\u0631\u0645\u06cc\u0679 \u0622\u0624\u0679 \u067e\u0679 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0641\u06cc \u0633\u06cc\u06a9\u0634\u0646 \u0633\u0627\u0626\u0632 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0646\u0642\u0634\u06c1 \u0641\u0627\u0626\u0644 \u06a9\u06d2 \u0646\u0642\u0637\u06c1 \u0646\u0638\u0631 \u0633\u06d2 \u06a9\u0645 \u062a\u0641\u0635\u06cc\u0644\u06cc \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0628\u0627\u06a9\u0633 \u0633\u06d2 \u0628\u0627\u06c1\u0631 \u0686\u0644\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0622\u067e \u06a9\u0648 \u0628\u0691\u06cc \u062a\u0635\u0648\u06cc\u0631 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-method-4-runtime-stack-profiling\">\u0637\u0631\u06cc\u0642\u06c1 4: \u0631\u0646 \u0679\u0627\u0626\u0645 \u0627\u0633\u0679\u06cc\u06a9 \u067e\u0631\u0648\u0641\u0627\u0626\u0644\u0646\u06af<\/h3>\n<p>\u062c\u0627\u0645\u062f \u062a\u062c\u0632\u06cc\u06c1 (\u0646\u0642\u0634\u06d2 \u06a9\u06cc \u0641\u0627\u0626\u0644\u06cc\u06ba\u060c <code>size<\/code> \u0622\u0624\u0679 \u067e\u0679) \u0622\u067e \u06a9\u0648 \u06a9\u0645\u067e\u0627\u0626\u0644 \u0679\u0627\u0626\u0645 \u067e\u0644\u06cc\u0633\u0645\u0646\u0679 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0628\u062a\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u062a\u0627\u06c1\u0645\u060c \u06a9\u0686\u06be \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0645\u062a\u062d\u0631\u06a9 \u06c1\u06d2\u060c \u062e\u0627\u0635 \u0637\u0648\u0631 \u067e\u0631 \u0627\u0633\u0679\u06cc\u06a9\u060c \u062c\u0648 \u06a9\u0627\u0644 \u06a9\u06cc \u06af\u06c1\u0631\u0627\u0626\u06cc \u0627\u0648\u0631 \u0645\u0642\u0627\u0645\u06cc \u0645\u062a\u063a\u06cc\u0631 \u0633\u0627\u0626\u0632 \u06a9\u06d2 \u0644\u062d\u0627\u0638 \u0633\u06d2 \u0631\u0646 \u0679\u0627\u0626\u0645 \u067e\u0631 \u0628\u0691\u06be\u062a\u0627 \u0627\u0648\u0631 \u0633\u06a9\u0691\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u0641\u0646\u06a9\u0634\u0646 \u062c\u0648 2KB \u0645\u0642\u0627\u0645\u06cc \u0628\u0641\u0631 \u06a9\u0648 \u0645\u062e\u062a\u0635 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0648\u06c1 \u0627\u0633\u0679\u06cc\u06a9 \u0627\u0633\u067e\u06cc\u0633 \u06a9\u0648 \u0635\u0631\u0641 \u0627\u0633 \u0648\u0642\u062a \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u06cc\u06c1 \u0686\u0644 \u0631\u06c1\u0627 \u06c1\u0648\u060c \u0644\u06c1\u0630\u0627 \u062c\u0627\u0645\u062f \u062a\u062c\u0632\u06cc\u06c1 \u0632\u06cc\u0627\u062f\u06c1 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0627\u0633\u0679\u06cc\u06a9 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0648 \u0638\u0627\u06c1\u0631 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0639\u0627\u0645 \u062a\u06a9\u0646\u06cc\u06a9\u06cc\u06ba \u06c1\u06cc\u06ba\u06d4 <strong>\u0627\u0633\u0679\u06cc\u06a9 \u0648\u0627\u0679\u0631 \u0645\u0627\u0631\u06a9\u0646\u06af<\/strong>: \u0628\u0648\u0679 \u06a9\u06d2 \u0648\u0642\u062a\u060c \u067e\u0648\u0631\u06d2 \u0627\u0633\u0679\u06cc\u06a9 \u0627\u06cc\u0631\u06cc\u0627 \u06a9\u0648 \u0645\u0639\u0644\u0648\u0645 \u067e\u06cc\u0679\u0631\u0646 \u0633\u06d2 \u0628\u06be\u0631\u06cc\u06ba\u060c \u067e\u06be\u0631 \u0648\u0642\u062a\u0627\u064b \u0641\u0648\u0642\u062a\u0627\u064b \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u067e\u06cc\u0679\u0631\u0646 \u06a9\u0627 \u06a9\u062a\u0646\u0627 \u0627\u062d\u0627\u0637\u06c1 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-c\">#define STACK_FILL_PATTERN 0xDEADBEEF\n\nvoid stack_watermark_init(void) {\n    extern uint32_t __stack_start;\n    extern uint32_t __stack_end;\n    uint32_t *p = &__stack_start;\n\n    register uint32_t sp asm(\"sp\");\n    while (p < (uint32_t *)(sp - 64)) {\n        *p++ = STACK_FILL_PATTERN;\n    }\n}\n\nuint32_t stack_usage_bytes(void) {\n    extern uint32_t __stack_start;\n    extern uint32_t __stack_end;\n    uint32_t *p = &#038;__stack_start;\n\n    while (p < &#038;__stack_end &#038;&#038; *p == STACK_FILL_PATTERN) {\n        p++;\n    }\n\n    return (uint32_t)(&#038;__stack_end) - (uint32_t)p;\n}\n\nvoid check_stack_health(void) {\n    uint32_t used = stack_usage_bytes();\n    uint32_t total = 8192;\n    uint32_t percent = (used * 100) \/ total;\n\n    if (percent > 80) {\n        log_warning(\"Stack usage: %lu \/ %lu bytes (%lu%%)\",\n                    used, total, percent);\n    }\n}\n<\/code><\/pre>\n<p>\u06a9\u06c1 <code>stack_watermark_init<\/code> \u0641\u0646\u06a9\u0634\u0646\u0632 \u0627\u0633\u0679\u06cc\u06a9 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u0648 \u0628\u06be\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>__stack_start<\/code> \u0645\u0648\u062c\u0648\u062f\u06c1 \u0627\u0633\u0679\u06cc\u06a9 \u067e\u0648\u0627\u0626\u0646\u0679\u0631 \u06a9\u06d2 \u0646\u06cc\u0686\u06d2) \u067e\u06cc\u0679\u0631\u0646 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 <code>0xDEADBEEF<\/code>. \u06a9\u06c1 <code>extern<\/code> \u0627\u0639\u0644\u0627\u0646 \u0644\u0646\u06a9\u0631 \u0627\u0633\u06a9\u0631\u067e\u0679 \u0645\u06cc\u06ba \u0628\u06cc\u0627\u0646 \u06a9\u0631\u062f\u06c1 \u0644\u0646\u06a9\u0631 \u0639\u0644\u0627\u0645\u062a\u0648\u06ba \u06a9\u0627 \u062d\u0648\u0627\u0644\u06c1 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 <code>.stack<\/code> \u067e\u0627\u0631\u0679 \u0679\u0627\u0626\u0645 \u0646\u0648\u06a9\u0631\u06cc. \u06a9\u06c1 <code>register uint32_t sp asm(\"sp\")<\/code> \u0644\u0627\u0626\u0646 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0627\u0633\u0679\u06cc\u06a9 \u067e\u0648\u0627\u0626\u0646\u0679\u0631 \u0648\u06cc\u0644\u06cc\u0648 \u06a9\u0648 \u067e\u0691\u06be\u062a\u06cc \u06c1\u06d2 \u062a\u0627\u06a9\u06c1 \u0641\u0646\u06a9\u0634\u0646 \u06a9\u0648 \u0645\u0639\u0644\u0648\u0645 \u06c1\u0648 \u06a9\u06c1 \u0628\u06be\u0631\u0646\u0627 \u06a9\u06c1\u0627\u06ba \u0631\u0648\u06a9\u0646\u0627 \u06c1\u06d2 (\u0648\u06c1 \u0627\u067e\u0646\u06d2 \u0627\u0633\u0679\u06cc\u06a9 \u0641\u0631\u06cc\u0645 \u06a9\u0648 \u0627\u0648\u0648\u0631 \u0631\u0627\u0626\u0679 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u062a\u0627)\u06d4 \u0627\u06cc\u06a9 64 \u0628\u0627\u0626\u0679 \u062d\u0641\u0627\u0638\u062a\u06cc \u0645\u0627\u0631\u062c\u0646 \u0627\u0633 \u0628\u0627\u062a \u06a9\u0648 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0641\u0644 \u0644\u0648\u067e \u0641\u0639\u0627\u0644 \u0627\u0633\u0679\u06cc\u06a9 \u06a9\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0642\u0631\u06cc\u0628 \u0646\u06c1 \u06c1\u0648\u06d4<\/p>\n<p>\u06a9\u06c1 <code>stack_usage_bytes<\/code> \u0641\u0646\u06a9\u0634\u0646 \u0627\u0633\u0679\u06cc\u06a9 \u06a9\u06d2 \u0646\u06cc\u0686\u06d2 \u0633\u06d2 \u0627\u0648\u067e\u0631 \u06a9\u06cc \u0637\u0631\u0641 \u0627\u0633\u06a9\u06cc\u0646 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u06cc\u06c1 \u06af\u0646\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06a9\u062a\u0646\u06d2 \u0627\u0644\u0641\u0627\u0638 \u0627\u0628\u06be\u06cc \u0628\u06be\u06cc \u0641\u0644 \u067e\u06cc\u0679\u0631\u0646 \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u06cc\u06ba\u06d4 \u06a9\u06c1\u0646\u06d2 \u06a9\u0627 \u067e\u06c1\u0644\u0627 \u0644\u0641\u0638 <em>~ \u0646\u06c1\u06cc\u06ba<\/em> \u0627\u06af\u0631 \u067e\u06cc\u0679\u0631\u0646 \u0645\u0645\u0627\u062b\u0644 \u06c1\u06d2\u060c \u062a\u0648 \u06cc\u06c1 \u0627\u0633 \u06af\u06c1\u0631\u06d2 \u0646\u0642\u0637\u06c1 (\u067e\u0627\u0646\u06cc \u06a9\u06cc \u0628\u0644\u0646\u062f \u062a\u0631\u06cc\u0646 \u0633\u0637\u062d) \u06a9\u06cc \u0646\u0634\u0627\u0646\u062f\u06c1\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u06c1\u0627\u06ba \u0627\u0633\u0679\u06cc\u06a9 \u067e\u06c1\u0646\u0686 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0641\u0646\u06a9\u0634\u0646 \u0627\u0633 \u067e\u0648\u0627\u0626\u0646\u0679 \u0633\u06d2 \u0627\u0633\u0679\u06cc\u06a9 \u06a9\u06d2 \u0627\u0648\u067e\u0631\u06cc \u062d\u0635\u06d2 \u062a\u06a9 \u0628\u0627\u0626\u0679\u0633 \u06a9\u06cc \u062a\u0639\u062f\u0627\u062f \u0644\u0648\u0679\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>check_stack_health<\/code> \u0641\u0646\u06a9\u0634\u0646 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0634\u062f\u06c1 \u0627\u0633\u0679\u06cc\u06a9 \u06a9\u06d2 \u0641\u06cc\u0635\u062f \u06a9\u0627 \u062d\u0633\u0627\u0628 \u0644\u06af\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u06af\u0631 \u06cc\u06c1 80% \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u06c1\u0648 \u062a\u0648 \u0648\u0627\u0631\u0646\u0646\u06af \u0644\u0627\u06af \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633\u0679\u06cc\u06a9 \u06a9\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0648 \u0645\u0627\u0646\u06cc\u0679\u0631 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0639\u0627\u0645 \u0622\u067e\u0631\u06cc\u0634\u0646 \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u0648\u0642\u062a\u0627\u064b \u0641\u0648\u0642\u062a\u0627\u064b \u0627\u0633 \u0641\u0646\u06a9\u0634\u0646 \u06a9\u0648 \u06a9\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u06a9\u0627\u0644 <code>stack_watermark_init()<\/code> \u0622\u067e \u06a9\u06d2 \u0633\u0679\u0627\u0631\u0679 \u0627\u067e \u06a9\u0648\u0688 \u0645\u06cc\u06ba \u062c\u062a\u0646\u06cc \u062c\u0644\u062f\u06cc \u0645\u0645\u06a9\u0646 \u06c1\u0648 (\u067e\u06c1\u0644\u06d2 <code>main()<\/code> (\u0627\u06af\u0631 \u0645\u0645\u06a9\u0646 \u06c1\u0648 \u062a\u0648) \u06a9\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 <code>check_stack_health()<\/code> \u0645\u0639\u0645\u0648\u0644 \u06a9\u06d2 \u0622\u067e\u0631\u06cc\u0634\u0646 \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u0648\u0642\u0641\u06d2 \u0648\u0642\u0641\u06d2 \u0633\u06d2\u06d4 \u06cc\u06c1 \u0622\u067e \u06a9\u0648 \u06c1\u0627\u0626\u06cc \u0648\u0627\u0679\u0631 \u0645\u0627\u0631\u06a9 \u0628\u062a\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0648 \u06a9\u06c1 \u0641\u0631\u0645 \u0648\u06cc\u0626\u0631 \u06a9\u06cc \u0627\u0628 \u062a\u06a9 \u067e\u06c1\u0646\u0686\u06cc \u06c1\u0648\u0626\u06cc \u0632\u06cc\u0627\u062f\u06c1 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u06af\u06c1\u0631\u0627\u0626\u06cc \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-method-5-tracking-memory-across-builds\">\u0637\u0631\u06cc\u0642\u06c1 5: \u067e\u0648\u0631\u06cc \u062a\u0639\u0645\u06cc\u0631 \u0645\u06cc\u06ba \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u0648 \u0679\u0631\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<p>\u062c\u0628 \u0628\u06be\u06cc \u0622\u067e \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u0634\u0627\u0645\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u06cc\u0627 \u062a\u0628\u062f\u06cc\u0644\u06cc\u0648\u06ba \u06a9\u0648 \u0636\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0633 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u0648\u0631 \u0628\u0639\u062f \u0645\u06cc\u06ba \u0645\u06cc\u0645\u0648\u0631\u06cc \u067e\u0631\u0648\u0641\u0627\u0626\u0644 \u0686\u0644\u0627\u0626\u06cc\u06ba:<\/p>\n<pre><code class=\"language-shell\">arm-none-eabi-size -A firmware_before.elf > mem_before.txt\narm-none-eabi-size -A firmware_after.elf > mem_after.txt\ndiff mem_before.txt mem_after.txt\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u062a\u06cc\u0646\u0648\u06ba \u06a9\u0645\u0627\u0646\u0688\u0632 \u062f\u0648\u0646\u0648\u06ba \u0641\u0631\u0645 \u0648\u06cc\u0626\u0631 \u06a9\u06cc \u062a\u0639\u0645\u06cc\u0631 \u06a9\u06d2 \u0633\u06cc\u06a9\u0634\u0646 \u0633\u0627\u0626\u0632 (\u062a\u0628\u062f\u06cc\u0644\u06cc\u0648\u06ba \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u0648\u0631 \u0628\u0639\u062f \u0645\u06cc\u06ba) \u06a9\u0648 \u0679\u06cc\u06a9\u0633\u0679 \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba \u06a9\u06cc\u067e\u0686\u0631 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u067e\u06be\u0631 \u06cc\u06c1 \u062f\u06cc\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0641\u0631\u0642 \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u06a9\u06cc\u0627 \u062a\u0628\u062f\u06cc\u0644\u06cc \u0622\u0626\u06cc \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0645\u0641\u06cc\u062f \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u062e\u0627\u0645 \u0688\u0650\u0641 \u0622\u0624\u0679 \u067e\u0679 \u06a9\u0648 \u067e\u0691\u06be\u0646\u0627 \u0645\u0634\u06a9\u0644 \u06c1\u0648 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u062f\u0631\u062c \u0630\u06cc\u0644 \u0627\u0633\u06a9\u0631\u067e\u0679 \u0688\u06cc\u0644\u0679\u0627 \u0641\u06cc \u0645\u06cc\u0645\u0648\u0631\u06cc \u0631\u06cc\u062c\u0646 \u06a9\u0627 \u062d\u0633\u0627\u0628 \u0644\u06af\u0627 \u06a9\u0631 \u0627\u06cc\u06a9 \u0635\u0627\u0641 \u0646\u0638\u0627\u0631\u06c1 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-shell\">#!\/bin\/bash\n# memory_diff.sh - Compare memory usage between two builds\n\necho \"Memory Impact of Change:\"\necho \"========================\"\n\nparse_size() {\n    arm-none-eabi-size -A \"$1\" | awk '\n    \/\\.itcm\/  { itcm += $2 }\n    \/\\.dtcm\/  { dtcm += $2 }\n    \/\\.ddr\/   { ddr += $2 }\n    \/\\.stack\/ { dtcm += $2 }\n    END { printf \"%d %d %d\", itcm, dtcm, ddr }\n    '\n}\n\nread itcm_before dtcm_before ddr_before <<< \\((parse_size \"\\)1\")\nread itcm_after  dtcm_after  ddr_after  <<< \\((parse_size \"\\)2\")\n\nprintf \"ITCM: %+d bytes (%d -> %d)\\n\" \\\n    \\(((itcm_after - itcm_before)) \\)itcm_before $itcm_after\nprintf \"DTCM: %+d bytes (%d -> %d)\\n\" \\\n    \\(((dtcm_after - dtcm_before)) \\)dtcm_before $dtcm_after\nprintf \"DDR:  %+d bytes (%d -> %d)\\n\" \\\n    \\(((ddr_after - ddr_before)) \\)ddr_before $ddr_after\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0627\u0633\u06a9\u0631\u067e\u0679 \u062f\u0648 ELF \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u0648 \u0628\u0637\u0648\u0631 \u062f\u0644\u06cc\u0644 \u0644\u06cc\u062a\u0627 \u06c1\u06d2 (\u0627\u06cc\u06a9 &quot;\u067e\u06c1\u0644\u06d2&#8221; \u0627\u0648\u0631 &quot;\u0628\u0639\u062f&#8221; \u062a\u0639\u0645\u06cc\u0631)\u06d4 \u06a9\u06c1 <code>parse_size<\/code> \u0641\u0646\u06a9\u0634\u0646 \u067e\u0631 \u0639\u0645\u0644\u062f\u0631\u0622\u0645\u062f <code>arm-none-eabi-size -A<\/code> \u062f\u06cc \u06af\u0626\u06cc ELF \u0641\u0627\u0626\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u06cc\u06ba \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u0648\u06ba: <code>awk<\/code> \u06c1\u0631 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0627\u06cc\u0631\u06cc\u0627 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0633\u06cc\u06a9\u0634\u0646 \u0633\u0627\u0626\u0632 \u06a9\u0627 \u062e\u0644\u0627\u0635\u06c1 \u06a9\u0631\u06cc\u06ba\u06d4 \u0648\u06c1 \u062d\u0635\u06d2 \u062c\u0646 \u06a9\u06d2 \u0646\u0627\u0645 \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba\u06d4 <code>.itcm<\/code> \u062f\u0631\u062c \u0630\u06cc\u0644 \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u0633\u06cc\u06a9\u0634\u0646\u0632 \u06a9\u0648 ITCM \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0634\u0645\u0627\u0631 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2: <code>.dtcm<\/code> \u06cc\u0627 <code>.stack<\/code> \u0688\u06cc \u0679\u06cc \u0633\u06cc \u0627\u06cc\u0645 \u06a9\u06cc \u0633\u0645\u062a \u0627\u0648\u0631 \u062d\u0635\u06d2 \u062c\u0646 \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba: <code>.ddr<\/code> DDR \u06a9\u06cc \u0637\u0631\u0641\u060c \u062c\u0633\u0645 \u067e\u06c1\u0644\u06d2 \u0627\u0648\u0631 \u0628\u0639\u062f \u06a9\u06cc \u0627\u0642\u062f\u0627\u0631 \u06a9\u0648 \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u067e\u06be\u0631 \u06c1\u0631 \u0639\u0644\u0627\u0642\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0688\u06cc\u0644\u0679\u0627 \u067e\u0631\u0646\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>+<\/code> \u06cc\u0627 <code>-<\/code> \u0639\u0644\u0627\u0645\u062a<\/p>\n<p>\u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0627\u0648\u0631 \u0622\u0624\u0679 \u067e\u0679:<\/p>\n<pre><code class=\"language-shell\">$ .\/memory_diff.sh firmware_without_bt.elf firmware_with_bt.elf\n\nMemory Impact of Change:\n========================\nITCM: +63940 bytes (506996 -> 570936)\nDTCM: +98832 bytes (628408 -> 727240)\nDDR:  +64136 bytes (558779 -> 622915)\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0622\u0624\u0679 \u067e\u0679 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0628\u0644\u0648\u0679\u0648\u062a\u06be \u06a9\u06cc \u0641\u0639\u0627\u0644\u06cc\u062a \u06a9\u0648 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 ITCM \u0645\u06cc\u06ba \u062a\u0642\u0631\u06cc\u0628\u0627\u064b 62KB\u060c DTCM \u062a\u0642\u0631\u06cc\u0628\u0627\u064b 96KB\u060c \u0627\u0648\u0631 DDR \u062a\u0642\u0631\u06cc\u0628\u0627\u064b 62KB \u0628\u0691\u06be \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0622\u067e \u0627\u0633\u06d2 \u0627\u067e\u0646\u06cc CI\/CD \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u0645\u06cc\u06ba \u0688\u0627\u0644 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0627\u06a9\u06c1 \u06cc\u06c1 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u06d2 \u06a9\u06c1 \u06c1\u0631 \u067e\u0644 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06cc \u0642\u06cc\u0645\u062a \u06a9\u0648 \u062f\u0631\u0633\u062a \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u062f\u06a9\u06be\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-method-6-automated-memory-budget-checks-in-ci\">\u0637\u0631\u06cc\u0642\u06c1 6: CI \u0645\u06cc\u06ba \u062e\u0648\u062f\u06a9\u0627\u0631 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0628\u062c\u0679 \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<p>\u0627\u067e\u0646\u06cc CI\/CD \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u0645\u06cc\u06ba \u0645\u06cc\u0645\u0648\u0631\u06cc \u067e\u0631\u0648\u0641\u0627\u0626\u0644\u0646\u06af \u06a9\u0648 \u0636\u0645 \u06a9\u0631\u06a9\u06d2\u060c \u0622\u067e \u0645\u0631\u06a9\u0632\u06cc \u0628\u0631\u0627\u0646\u0686 \u062a\u06a9 \u067e\u06c1\u0646\u0686\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u0648\u0648\u0631 \u0641\u0644\u0648 \u06a9\u0648 \u067e\u06a9\u0691 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-shell\">#!\/bin\/bash\n# memory_check.sh - Fail CI if memory usage exceeds thresholds\n\nITCM_LIMIT=85   # percent\nDTCM_LIMIT=80\nDDR_LIMIT=90\n\ncheck_region() {\n    local name=\\(1 used=\\)2 total=\\(3 limit=\\)4\n    local percent=$((used * 100 \/ total))\n\n    if [ \\(percent -ge \\)limit ]; then\n        echo \"FAIL: \\(name usage is \\){percent}% (limit: ${limit}%)\"\n        echo \"      Used: \\(used \/ \\)total bytes\"\n        return 1\n    else\n        echo \"OK:   \\(name usage is \\){percent}% (limit: ${limit}%)\"\n        return 0\n    fi\n}\n\nITCM_USED=\\((grep \"ITCM:\" firmware.map | awk '{print \\)2}')\nITCM_TOTAL=$((2 * 1024 * 1024))\n\nDTCM_USED=\\((grep \"DTCM:\" firmware.map | awk '{print \\)2}')\nDTCM_TOTAL=1572608\n\nDDR_USED=\\((grep \"DDR:\" firmware.map | awk '{print \\)2}')\nDDR_TOTAL=$((4 * 1024 * 1024))\n\nFAILED=0\ncheck_region \"ITCM\" \\(ITCM_USED \\)ITCM_TOTAL $ITCM_LIMIT || FAILED=1\ncheck_region \"DTCM\" \\(DTCM_USED \\)DTCM_TOTAL $DTCM_LIMIT || FAILED=1\ncheck_region \"DDR\"  \\(DDR_USED  \\)DDR_TOTAL  $DDR_LIMIT  || FAILED=1\n\nexit $FAILED\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0627\u0633\u06a9\u0631\u067e\u0679 \u0644\u0646\u06a9\u0631 \u0645\u06cc\u067e \u0641\u0627\u0626\u0644 \u0633\u06d2 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06d2 \u0627\u0639\u062f\u0627\u062f \u0648 \u0634\u0645\u0627\u0631 \u06a9\u0648 \u067e\u0691\u06be\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0646 \u06a9\u0627 \u0645\u0648\u0627\u0632\u0646\u06c1 \u0642\u0627\u0628\u0644 \u062a\u0631\u062a\u06cc\u0628 \u0641\u06cc\u0635\u062f \u062d\u062f \u0633\u06d2 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u06c1 <code>check_region<\/code> \u0641\u0646\u06a9\u0634\u0646 \u0645\u0642\u0627\u0645\u06cc \u0646\u0627\u0645\u060c \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0634\u062f\u06c1 \u0628\u0627\u0626\u0679\u0633 \u06a9\u06cc \u062a\u0639\u062f\u0627\u062f\u060c \u062f\u0633\u062a\u06cc\u0627\u0628 \u06a9\u0644 \u0628\u0627\u0626\u0679\u0633\u060c \u0627\u0648\u0631 \u0641\u06cc\u0635\u062f \u06a9\u06cc \u062d\u062f\u06cc\u06ba \u0644\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0635\u0644 \u0641\u06cc\u0635\u062f \u06a9\u0627 \u062d\u0633\u0627\u0628 \u0644\u06af\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 \u0646\u0645\u0628\u0631 \u06a9\u06d2 \u0633\u0627\u062a\u06be &quot;OK&#8221; \u06cc\u0627 &quot;FAIL&#8221; \u067e\u0631\u0646\u0679 \u06a9\u0631\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u062e\u0637\u06c1 \u062d\u062f \u0633\u06d2 \u062a\u062c\u0627\u0648\u0632 \u06a9\u0631 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0627\u0633\u06a9\u0631\u067e\u0679 \u063a\u06cc\u0631 \u0635\u0641\u0631 \u06a9\u06cc \u062d\u06cc\u062b\u06cc\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0627\u06c1\u0631 \u0646\u06a9\u0644 \u062c\u0627\u0626\u06d2 \u06af\u0627\u060c \u062c\u0633 \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 CI \u062a\u0639\u0645\u06cc\u0631 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u06cc\u06d4<\/p>\n<p>\u0627\u0648\u067e\u0631\u06cc \u062f\u06c1\u0644\u06cc\u0632 (ITCM \u06a9\u06d2 \u0644\u06cc\u06d2 85%\u060c DTCM \u06a9\u06d2 \u0644\u06cc\u06d2 80%\u060c \u0627\u0648\u0631 DDR \u06a9\u06d2 \u0644\u06cc\u06d2 90%) \u0622\u067e \u06a9\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u06cc \u0634\u0631\u062d \u0646\u0645\u0648 \u0627\u0648\u0631 \u0622\u067e \u062c\u0633 \u062e\u0627\u0644\u06cc \u062c\u06af\u06c1 \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0633 \u06a9\u06cc \u0628\u0646\u06cc\u0627\u062f \u067e\u0631 \u0627\u06cc\u0688\u062c\u0633\u0679 \u06a9\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 DTCM \u06a9\u06cc \u062d\u062f \u06a9\u0645 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u0628\u06be\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u0646\u0627 \u0645\u0634\u06a9\u0644 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u0627\u0633\u06a9\u0631\u067e\u0679 \u06a9\u0648 \u0627\u067e\u0646\u06cc \u0628\u0644\u0688 \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba \u062a\u0627\u06a9\u06c1 \u06c1\u0631 \u067e\u0644 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06cc \u0642\u06cc\u0645\u062a \u06a9\u0648 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u06d2\u06d4 \u0627\u06af\u0631 \u06a9\u0633\u06cc \u062a\u0628\u062f\u06cc\u0644\u06cc \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 \u0639\u0644\u0627\u0642\u06c1 \u062d\u062f \u0633\u06d2 \u062a\u062c\u0627\u0648\u0632 \u06a9\u0631 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u062a\u0639\u0645\u06cc\u0631 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u06cc \u0627\u0648\u0631 \u0688\u0648\u06cc\u0644\u067e\u0631\u0632 \u06a9\u0648 \u0641\u0648\u0631\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0645\u0637\u0644\u0639 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4<\/p>\n<h3 id=\"heading-method-7-heap-tracking-at-runtime\">\u0637\u0631\u06cc\u0642\u06c1 7: \u0631\u0646 \u0679\u0627\u0626\u0645 \u067e\u0631 \u06c1\u06cc\u067e \u0679\u0631\u06cc\u06a9\u0646\u06af<\/h3>\n<p>\u0627\u06af\u0631 \u0622\u067e \u06a9\u0627 \u0627\u06cc\u0645\u0628\u06cc\u0688\u0688 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0688\u0627\u0626\u0646\u0627\u0645\u06a9 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0627\u06cc\u0644\u0648\u06a9\u06cc\u0634\u0646 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 (<code>malloc<\/code>\/<code>free<\/code>)\u060c \u0622\u067e \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0648 \u0679\u0631\u06cc\u06a9 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u062e\u062a\u0635 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06a9\u0648 \u0644\u067e\u06cc\u0679 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-c\">static size_t heap_used = 0;\nstatic size_t heap_peak = 0;\n\nvoid *tracked_malloc(size_t size) {\n    size_t *block = (size_t *)malloc(size + sizeof(size_t));\n    if (!block) return NULL;\n\n    *block = size;\n    heap_used += size;\n    if (heap_used > heap_peak) {\n        heap_peak = heap_used;\n    }\n\n    return (void *)(block + 1);\n}\n\nvoid tracked_free(void *ptr) {\n    if (!ptr) return;\n    size_t *block = ((size_t *)ptr) - 1;\n    heap_used -= *block;\n    free(block);\n}\n\nvoid print_heap_stats(void) {\n    printf(\"Heap: current=%zu bytes, peak=%zu bytes\\n\",\n           heap_used, heap_peak);\n}\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u06a9\u0648\u0688 \u0644\u067e\u06cc\u0679 \u062f\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2: <code>malloc<\/code> \u0627\u0648\u0631 <code>free<\/code> \u0679\u0631\u06cc\u06a9\u0646\u06af \u0645\u0646\u0637\u0642 \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u06d2\u06d4 \u06a9\u06c1 <code>tracked_malloc<\/code> \u0641\u0646\u06a9\u0634\u0646 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0633\u06d2 \u062a\u06be\u0648\u0691\u06cc \u0632\u06cc\u0627\u062f\u06c1 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0645\u062e\u062a\u0635 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 (\u0627\u0636\u0627\u0641\u06cc <code>sizeof(size_t)<\/code> \u0628\u0627\u0626\u0679\u0633) \u0645\u062e\u062a\u0635 \u06a9\u06d2 \u067e\u06c1\u0644\u06d2 \u0644\u0641\u0638 \u0645\u06cc\u06ba \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u06a9\u0631\u062f\u06c1 \u0633\u0627\u0626\u0632 \u06a9\u0648 \u0627\u0633\u0679\u0648\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u067e\u06be\u0631 <code>heap_used<\/code> \u06a9\u0627\u0624\u0646\u0679\u0631 \u06a9\u0648 \u0641\u0639\u0627\u0644 \u0627\u0648\u0631 \u0627\u067e \u0688\u06cc\u0679 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u0646\u06cc\u0627 \u0679\u0648\u0679\u0644 \u067e\u0686\u06be\u0644\u06cc \u0628\u0644\u0646\u062f\u06cc \u0633\u06d2 \u0628\u0691\u06be \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 <code>heap_peak<\/code>. \u06cc\u06c1 \u0633\u0627\u0626\u0632 \u06c1\u06cc\u0688\u0631 \u06a9\u06d2 \u067e\u06cc\u0686\u06be\u06d2 \u0627\u06cc\u06a9 \u067e\u0648\u0627\u0626\u0646\u0679\u0631 \u0622\u0641\u0633\u06cc\u0679 \u0644\u0648\u0679\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u06a9\u0627\u0644\u0631 \u0627\u0633 \u0688\u06cc\u0679\u0627 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u0627\u0642\u0627\u0639\u062f\u06c1 \u067e\u0648\u0627\u0626\u0646\u0679\u0631 \u062f\u06cc\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>tracked_free<\/code> \u0627\u06cc\u06a9 \u0641\u0646\u06a9\u0634\u0646 \u0639\u0645\u0644 \u06a9\u0648 \u0627\u0644\u0679 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u0639\u0646\u06cc 1 \u06a9\u0648 \u06af\u06be\u0679\u0627\u0626\u06cc\u06ba\u06d4 <code>size_t<\/code> \u067e\u0648\u0634\u06cc\u062f\u06c1 \u0633\u0627\u0626\u0632 \u06c1\u06cc\u0688\u0631 \u062a\u0644\u0627\u0634 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u067e\u0648\u0627\u0626\u0646\u0679\u0631 \u0633\u06d2 \u0627\u0633 \u0633\u0627\u0626\u0632 \u06a9\u0648 \u06af\u06be\u0679\u0627\u0626\u06cc\u06ba\u06d4 <code>heap_used<\/code>\u0627\u0635\u0644\u06cc \u0641\u0648\u0646 <code>free<\/code> \u0627\u0635\u0644 \u0628\u0644\u0627\u06a9 \u0645\u06cc\u06ba<\/p>\n<p>\u06a9\u06c1 <code>print_heap_stats<\/code> \u0641\u0646\u06a9\u0634\u0646 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0627\u0648\u0631 \u0632\u06cc\u0627\u062f\u06c1 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u06c1\u06cc\u067e \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0648 \u067e\u0631\u0646\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0688\u06cc\u0628\u06af \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 (UART \u06a9\u0646\u0633\u0648\u0644\u060c \u0688\u06cc\u0628\u06af CLI) \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0628\u0627\u0642\u0627\u0639\u062f\u06c1 \u06cc\u0627 \u0622\u0646 \u0688\u06cc\u0645\u0627\u0646\u0688 \u06a9\u0627\u0644 \u06a9\u0631 \u06a9\u06d2 \u0641\u0631\u0645 \u0648\u06cc\u0626\u0631 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06c1\u06cc\u067e \u06a9\u06cc \u0645\u0642\u062f\u0627\u0631 \u06a9\u06cc \u0646\u06af\u0631\u0627\u0646\u06cc \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0633 \u0646\u0642\u0637\u06c1 \u0646\u0638\u0631 \u0645\u06cc\u06ba \u06a9\u0686\u06be \u0627\u0648\u0648\u0631 \u06c1\u06cc\u0688 (\u0627\u06cc\u06a9 \u0627\u0636\u0627\u0641\u06cc \u0644\u0641\u0638 \u0641\u06cc \u0645\u062e\u062a\u0635) \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0645\u062a\u062d\u0631\u06a9 \u0645\u06cc\u0645\u0648\u0631\u06cc \u06a9\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0645\u06cc\u06ba \u0645\u0631\u0626\u06cc\u062a \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0628\u0635\u0648\u0631\u062a \u062f\u06cc\u06af\u0631 \u0645\u06a9\u0645\u0644 \u0637\u0648\u0631 \u067e\u0631 \u067e\u0648\u0634\u06cc\u062f\u06c1 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u062e\u0627\u0635 \u0637\u0648\u0631 \u067e\u0631 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0644\u06cc\u06a9\u0633 \u06a9\u0648 \u0679\u0631\u06cc\u06a9 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0641\u06cc\u062f \u06c1\u06d2\u06d4 <code>heap_used<\/code> \u06cc\u06c1 \u0648\u0642\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0633\u0627\u062a\u06be \u06a9\u0645 \u06c1\u0648\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0628\u0691\u06be\u062a\u0627 \u06c1\u06cc \u0686\u0644\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u06a9\u0686\u06be \u062c\u0627\u0631\u06cc \u06c1\u0648\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0645\u062e\u062a\u0635 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-summary\">\u062e\u0644\u0627\u0635\u06c1<\/h2>\n<p>ARM Cortex-M \u0627\u0648\u0631 Cortex-R \u0622\u0631\u06a9\u06cc\u0679\u06cc\u06a9\u0686\u0631\u0632 \u067e\u0631 \u0645\u0628\u0646\u06cc \u0627\u06cc\u0645\u0628\u06cc\u0688\u0688 \u067e\u0631\u0648\u0633\u06cc\u0633\u0631\u0632 \u0628\u06c1\u062a \u0645\u062e\u062a\u0644\u0641 \u06a9\u0627\u0631\u06a9\u0631\u062f\u06af\u06cc \u06a9\u06cc \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062a\u06cc\u0646 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0648\u0627\u0644\u06d2 \u0639\u0644\u0627\u0642\u0648\u06ba \u06a9\u0648 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u06a9\u0646\u0679\u0631\u0648\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p><strong>\u0627\u0646\u0633\u0679\u0631\u06a9\u0634\u0646 \u0679\u0627\u0626\u0679\u0644\u06cc \u06a9\u067e\u0644\u0688 \u0645\u06cc\u0645\u0648\u0631\u06cc (ITCM)<\/strong> \u06a9\u0648\u0688 \u06a9\u0648 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u06cc\u06ba \u062c\u06c1\u0627\u06ba \u06a9\u0627\u0631\u06a9\u0631\u062f\u06af\u06cc \u0633\u0628 \u0633\u06d2 \u0627\u06c1\u0645 \u06c1\u06d2\u06d4 \u0633\u0646\u06af\u0644 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u0688\u06cc\u0679\u0631\u0645\u0646\u0633\u0679\u06a9 \u0627\u0646\u0633\u0679\u0631\u06a9\u0634\u0646 \u0641\u06cc\u0686 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0686\u06be\u0648\u0679\u0627 \u06c1\u06d2 (\u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 512KB \u0633\u06d2 2MB) \u0627\u0633 \u0644\u06cc\u06d2 \u0627\u0633\u06d2 ISR\u060c \u0631\u06cc\u0626\u0644 \u0679\u0627\u0626\u0645 \u067e\u0631\u0648\u0633\u06cc\u0633\u0646\u06af \u0641\u0646\u06a9\u0634\u0646\u0632\u060c \u0627\u0648\u0631 \u06c1\u0627\u0679 \u0644\u0648\u067e\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u062d\u0641\u0648\u0638 \u0631\u06a9\u06be\u06cc\u06ba\u06d4<\/p>\n<p><strong>\u0688\u06cc\u0679\u0627 \u0679\u0627\u0626\u0679\u0644\u06cc \u06a9\u067e\u0644\u0688 \u0645\u06cc\u0645\u0648\u0631\u06cc (DTCM)<\/strong> \u06a9\u0627\u0631\u06a9\u0631\u062f\u06af\u06cc \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0646\u062a\u06c1\u0627\u0626\u06cc \u0627\u06c1\u0645 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u0627\u0633\u0679\u0648\u0631 \u06a9\u0631\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0633\u0646\u06af\u0644 \u0633\u0627\u0626\u06cc\u06a9\u0644 \u0688\u06cc\u0679\u0631\u0645\u0646\u0633\u0679\u06a9 \u0631\u0633\u0627\u0626\u06cc \u0628\u06be\u06cc \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633\u0679\u06cc\u06a9 \u06cc\u06c1\u0627\u06ba \u0628\u0637\u0648\u0631 \u0688\u06cc\u0641\u0627\u0644\u0679 \u06c1\u06d2\u06d4 \u06cc\u06c1 ITCM \u0633\u06d2 \u0628\u06c1\u062a \u0686\u06be\u0648\u0679\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u0628\u06be\u0631 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0627\u062d\u062a\u06cc\u0627\u0637 \u0633\u06d2 \u0641\u06cc\u0635\u0644\u06c1 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u0622\u067e \u0627\u0633 \u0645\u06cc\u06ba \u06a9\u06cc\u0627 \u0688\u0627\u0644\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p><strong>\u0688\u06cc \u0688\u06cc \u0622\u0631 (\u0688\u0628\u0644 \u0688\u06cc\u0679\u0627 \u0631\u06cc\u0679) \u0645\u06cc\u0645\u0648\u0631\u06cc<\/strong> \u0628\u0627\u0642\u06cc \u0633\u0628 \u06a9\u0686\u06be \u0628\u0686\u0627\u0626\u06cc\u06ba\u06d4 \u0628\u06c1\u062a \u0628\u0691\u0627 \u0644\u06cc\u06a9\u0646 \u0633\u0633\u062a (5-20+ \u0633\u0627\u0626\u06cc\u06a9\u0644 \u0641\u06cc \u0631\u0633\u0627\u0626\u06cc\u060c \u0645\u062a\u063a\u06cc\u0631 \u062a\u0627\u062e\u06cc\u0631)\u06d4 \u0627\u0633\u06d2 \u0627\u0628\u062a\u062f\u0627\u0626\u06cc \u06a9\u0648\u0688\u060c \u0628\u0691\u06d2 \u0628\u0641\u0631\u0632\u060c \u067e\u0631\u0648\u0679\u0648\u06a9\u0648\u0644 \u0627\u0633\u0679\u06cc\u06a9\u060c \u0627\u0648\u0631 \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0627\u06cc\u0633\u06cc \u0686\u06cc\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u062c\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0642\u0631\u0631\u06c1 \u0648\u0642\u062a \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1 \u06c1\u0648\u06d4<\/p>\n<p>\u0622\u067e \u062a\u0642\u0631\u0631\u06cc \u06a9\u0648 \u06a9\u0646\u0679\u0631\u0648\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u0628\u0630\u0631\u06cc\u0639\u06c1: <code>__attribute__((section(...)))<\/code> \u06cc\u06c1 \u0644\u0646\u06a9\u0631 \u0627\u0633\u06a9\u0631\u067e\u0679 \u06a9\u06d2 \u0633\u06cc \u06a9\u0648\u0688 \u0627\u0648\u0631 \u0633\u06cc\u06a9\u0634\u0646-\u0644\u0648\u06a9\u0644 \u0645\u06cc\u067e\u0646\u06af \u0645\u06cc\u06ba \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0622\u067e \u0646\u0642\u0634\u06c1 \u06a9\u06cc \u0641\u0627\u0626\u0644 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u06a9\u0648 \u0686\u06cc\u06a9 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c <code>size<\/code> \u0631\u0646 \u0679\u0627\u0626\u0645 \u067e\u0631\u0648\u0641\u0627\u0626\u0644\u0646\u06af \u062a\u06a9\u0646\u06cc\u06a9 \u062c\u06cc\u0633\u06d2 \u06c1\u062f\u0627\u06cc\u0627\u062a \u0627\u0648\u0631 \u0627\u0633\u0679\u06cc\u06a9 \u0648\u0627\u0679\u0631 \u0645\u0627\u0631\u06a9\u0646\u06af\u06d4 \u06a9\u0644\u06cc\u062f\u06cc \u0645\u06c1\u0627\u0631\u062a \u06cc\u06c1 \u062c\u0627\u0646\u0646\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0641\u0631\u0645 \u0648\u06cc\u0626\u0631 \u06a9\u0627 \u06c1\u0631 \u062d\u0635\u06c1 \u06a9\u0633 \u0639\u0644\u0627\u0642\u06d2 \u0633\u06d2 \u062a\u0639\u0644\u0642 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u063a\u0644\u0637\u06cc\u0648\u06ba \u06a9\u0648 \u062c\u0644\u062f \u067e\u06a9\u0691\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0679\u0648\u0644\u0632 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0627\u06cc\u0645\u0628\u06cc\u0688\u0688 \u0627\u0646\u062c\u06cc\u0646\u0626\u0631\u0632 \u06a9\u0648 \u0627\u0628\u062a\u062f\u0627\u0626\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0627\u0633 \u0645\u0633\u0626\u0644\u06d2 \u06a9\u0627 \u0633\u0627\u0645\u0646\u0627 \u06a9\u0631\u0646\u0627 \u067e\u0691\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u06c1\u06cc \u067e\u0631\u0648\u0633\u06cc\u0633\u0631 \u067e\u0631 \u0627\u06cc\u06a9 \u06c1\u06cc \u06a9\u0648\u0688 \u0627\u06cc\u06a9 \u0645\u0646\u0638\u0631 \u0646\u0627\u0645\u06d2 \u0645\u06cc\u06ba \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u0686\u0644 \u0633\u06a9\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u062f\u0648\u0633\u0631\u06d2 \u0645\u06cc\u06ba \u0646\u0627\u0642\u0627\u0628\u0644 \u06cc\u0642\u06cc\u0646 \u062d\u062f \u062a\u06a9 \u0633\u0633\u062a\u06d4 \u0645\u062c\u0631\u0645 \u062a\u0642\u0631\u06cc\u0628\u0627\u064b \u06c1\u0645\u06cc\u0634\u06c1 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u06c1\u0627\u06ba \u06a9\u0648\u0688 \u0627\u0648\u0631 \u0688\u06cc\u0679\u0627 \u0645\u06cc\u0645\u0648\u0631\u06cc \u0645\u06cc\u06ba \u0645\u062d\u0641\u0648\u0638 \u06c1\u06cc\u06ba\u06d4 \u0688\u06cc\u0633\u06a9 \u0679\u0627\u067e \u0627\u0648\u0631 [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-23600","post","type-post","status-publish","format-standard","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/posts\/23600","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/comments?post=23600"}],"version-history":[{"count":0,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/posts\/23600\/revisions"}],"wp:attachment":[{"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/media?parent=23600"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/categories?post=23600"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/umang.pk\/en_us\/wp-json\/wp\/v2\/tags?post=23600"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}