برق و الکترونیک *دانلود پروژه رایگان
2.28K subscribers
784 photos
96 videos
350 files
642 links
بسمه تعالی
دانلود پروژه و پی سی بی رایگان
Download Telegram
أَلسَّلامُ عَلَى الشَّیْبِ الْخَضیبِ،
سلام بر آن محاسن بخون خضاب شده،

أَلسَّلامُ عَلَى الْخَدِّ التَّریبِ،
سلام بر آن گونه خاک آلوده،

أَلسَّلامُ عَلَى الْبَدَنِ السَّلیبِ،
سلام بر آن بدن جامه به غنیمت رفته،

أَلسَّلامُ عَلَى الثَّغْرِ الْمَقْرُوعِ بِالْقَضیبِ،
سلام بر آن دندآن‌هایی که با چوب خیزران زده شده،

أَلسَّلامُ عَلَى الرَّأْسِ الْمَرْفُوعِ،
سلام برآن سر بالاى نیزه رفته،
🎯 آموزش کامل دستور make و make -jN برای لینوکس Tina (T113-S3)

💡 وقتی داری پروژه‌های بزرگ مثل Kernel یا Rootfs رو برای T113-S3 کامپایل می‌کنی، دو روش اصلی برای اجرای make داری:

---

🛠 ۱. اجرای ساده:

make


* اجرا به صورت تک‌ریسمانی (Single-thread)
* فقط یک هسته CPU استفاده میشه 🐌
* سرعت پایین، ولی مصرف RAM کمتر

---

⚡️ ۲. اجرای چندریسمانی:

make -jN


* N یعنی تعداد Jobهای همزمان
* هر Job یک هسته CPU رو اشغال می‌کنه
* سرعت بسیار بالاتر 🚀

📌 برای فهمیدن تعداد هسته‌های CPU:

nproc


📌 مثال: اگه CPU شما 4 هسته داره:

make -j4


یا حتی:

make -j$(nproc)


که خودش به طور خودکار تعداد هسته‌ها رو پیدا می‌کنه.

---

⚠️ نکته مهم:

* اگه RAM کم باشه، مقدار N رو خیلی زیاد نذار چون سیستم ممکنه کند یا حتی هنگ کنه.
* پیشنهاد من: تعداد هسته‌ها + ۱ (مثلاً CPU چهار هسته‌ای → make -j5)

---

📦 بعد از کامپایل، دیدن فایل‌های خروجی:
بعد از اتمام `make`، برای دیدن اندازه و مشخصات فایل‌های ساخته‌شده:

ls -lh out/target/t113-mq_r/


📌 این دستور فایل‌های ایمیج، بوت‌لودر و بقیه خروجی‌ها رو با حجم و تاریخ نشون میده.
🎯 راهنمای کامل فایل‌های خروجی بعد از کامپایل T113-S3 🎯
📌 مخصوص کسایی که با Tina Linux کار می‌کنن و می‌خوان بدونن هر فایل به چه درد می‌خوره!

---

📂 وقتی پروژه رو کامپایل می‌کنی، تو پوشه out/ کلی فایل تولید می‌شه. اینا مهم‌ترین‌هاش هستن:

---

1️⃣ `boot0_sdcard_sun8iw20p1.bin` 🥾💽
بوت‌لودر اولیه برای بوت از SD Card. بدون این، CPU اصلاً نمی‌فهمه باید چی لود کنه.

---

2️⃣ `boot0_nand_sun8iw20p1.bin` 🥾📦
بوت‌لودر اولیه برای بوت از NAND Flash. فقط وقتی از حافظه داخلی NAND استفاده می‌کنی کاربرد داره.

---

3️⃣ `boot0_spinor_sun8iw20p1.bin` 🥾📜
همون بوت‌لودر ولی برای SPI NOR Flash.

---

4️⃣ `sboot_sun8iw20p1.bin` 🚀
مرحله دوم بوت‌لودر (Secondary Boot). بعد از Boot0 اجرا می‌شه و وظیفه لود کرنل رو داره.

---

5️⃣ `fes1_sun8iw20p1.bin` 🛠
یه بوت‌لودر مخصوص FEL Mode برای آپدیت و ریکاوری از طریق USB.

---

6️⃣ `t113-mq_r-uImage` 🐧
کرنل لینوکس به فرمت uImage مخصوص U-Boot.

---

7️⃣ `t113-mq_r-zImage` 🐧
کرنل لینوکس ولی به فرمت zImage (خام‌تر، بدون Header مخصوص U-Boot).

---

8️⃣ `rootfs.img` 📦
سیستم‌فایل روت (Root Filesystem). همهٔ ابزارها، برنامه‌ها و کتابخونه‌ها اینجاست.

---

9️⃣ `boot.img` ⚙️
پارتیشن بوت که شامل کرنل + تنظیمات بوت هست.

---

🔟 `tina_t113-mq_r_uart0.img` 💾
ایمیج کامل بوت + کرنل + rootfs مخصوص بوت از SD یا FEL Mode. معمولاً برای فلش سریع کل سیستم استفاده می‌شه.

---

📑 فایل‌های لیست و چک‌سام:

* md5sums و sha256sums برای بررسی صحت فایل‌ها.

---

💡 نکته حرفه‌ای:

* اگه فقط برنامه و فایل‌های root تغییر کرده باشه، می‌تونی فقط rootfs.img رو جایگزین کنی.
* اگه کرنل رو تغییر دادی، باید uImage/zImage + boot.img رو هم آپدیت کنی.
* اگه بوت‌لودر رو تغییر دادی (Boot0 یا Sboot) باید از روش‌های خاص آپدیت کنی.

---

🔥 جمع‌بندی:
این فایل‌ها هر کدوم مخصوص یه بخش از سیستم هستن. لازم نیست همیشه همه رو فلش بزنی — بسته به تغییراتت، فقط همون بخش رو جایگزین کن تا سرعت کارت بیشتر بشه 💪
# 🔋 رگولاتور کم‌سقوط — LDO (Low Dropout Regulator)

سلام دوستان 👋
امروز می‌ریم سراغ یکی از پرکاربردترین قطعات در تغذیه مدارها: رگولاتور کم‌سقوط (LDO). اگر با باتری کار می‌کنید یا به نویز و مصرف کم حساسید، LDO خیلی به‌دردت می‌خوره.

---

🌟 LDO چیه؟
LDO در واقع یک نوع رگولاتور خطی هست که «افت ولتاژ» (dropout) خیلی کمی داره — یعنی می‌تونه وقتی ولتاژ ورودی نزدیک به ولتاژ خروجیه هم خروجی تثبیت‌شده بده. برخلاف رگولاتورهای سوئیچینگ، خروجی رو با تبدیل خطی کنترل می‌کنه (بنابراین ساده و کم‌نویز ولی گرما تولید می‌کنه).

---

📌 ویژگی‌های کلیدی که باید بلد باشیم

* افت ولتاژ (Dropout): حداقل تفاوت VIN-VOUT که رگولاتور هنوز می‌تونه تنظیم کنه. هرچه کمتر، برای باتری بهتر.
* جریان ساکن / ایست (Iq): جریان مصرفی خود رگولاتور در حالت بیکار — برای دستگاه‌های باتری‌محور مهمه.
* حداکثر جریان خروجی: حداکثر جریانی که رگولاتور می‌تونه بده.
* PSRR و نویز: برای مدارهای آنالوگ/صدا یا ADC مهمه — LDOهای کم‌نویز و با PSRR بالا بهترن.
* نیاز به خازن خروجی: بعضی LDOها حتماً به خازن خروجی با ESR مشخص نیاز دارن — دیتاشیت رو بخون!
* حفاظت‌ها: محدودکننده جریان، حفاظت حرارتی، پین EN برای روشن/خاموش کردن.

---

🔧 مزایا / معایب (خلاصه)

* ساده، نویز پایین، قیمت کم
− راندمان پایین (تلفات به صورت گرما)، برای جریان‌های بالا نیاز به مدیریت حرارت

---

📚 نمونه‌ها / خانواده‌های معروف که در بازار می‌بینید

* AMS1117 / LD1117 — خیلی رایج روی ماژول‌ها (قیمت پایین، راحت پیدا میشه).
* MCP1700 (Microchip) — برای مصرف کم و باتری مناسب.
* MIC5205 / خانواده MIC — SOT-23، برای بردهای کوچک پرکاربردند.
* LT1763 (Linear/Analog Devices) — کم‌نویز، مناسب برای آنالوگ/صدا.
* خانواده‌های TI (مثل TLV / TPS7A series) — نمونه‌هایی با PSRR و عملکرد بالا برای طراحی‌های حساس.

(نکته: همیشه دیتاشیت هر قطعه رو برای جزئیات مثل Dropout، Iq، نیاز خازن و توان حرارتی مطالعه کن.)

---

🛠 شماتیک ساده — نصب استاندارد

VIN ---[C_in (ceramic) نزدیک PIN]--- VIN_pin(LDO)
GND ------------------------------------------------- GND_pin(LDO)
VOUT_pin(LDO) ---[C_out per datasheet]--- VOUT → بار


اگر LDO قابل‌تنظیمه: از تقسیم‌مقاومتی بین VOUT و ADJ استفاده می‌کنیم (دیتاشیت رو ببین).

---

⚠️ نکات طراحی و اشتباهات رایج

* خازن ورودی/خروجی رو نزدیک پین‌ها قرار بده.
* برای جریان‌های بالا یا اختلاف ولتاژ زیاد، گرما رو در نظر بگیر (پکیج، ویاس حرارتی، مس گسترده).
* اگر VIN خیلی نزدیک VOUTه، مطمئن شو Dropout رگولاتور کافیه؛ بعضی «رگولاتورهای معروف» روی ماژول درواقع Dropout بالاتری دارن (یعنی LDO واقعی نیستن).
* برای منابع حساس (صدا، RF، ADC) دنبال LDO با PSRR و نویز کم باش.
* به نیاز ESR خازن خروجی دقت کن؛ بعضی LDOها با خازن‌های سرامیکی خیلی کم‌ESR ناپایدار می‌شن — دیتاشیت راهنماست.
# ⚡️ رگولاتور Buck (کاهنده ولتاژ)

امروز می‌ریم سراغ یکی از پرکاربردترین رگولاتورهای دنیای تغذیه: Buck Converter یا همون رگولاتور کاهنده.

---

## 🌟 Buck چیه؟

* Buck یک نوع رگولاتور سوئیچینگ**ه.
* کارش اینه که ولتاژ ورودی رو به سطح پایین‌تری کاهش بده.
* مثال: ورودی 12V → خروجی 5V (برای تغذیه میکروکنترلر یا ماژول‌ها).

برخلاف رگولاتورهای خطی که اضافه ولتاژ رو به گرما تبدیل می‌کنن، Buck با **کلیدزنی (PWM)
و ذخیره انرژی توی سلف و خازن کار می‌کنه. نتیجه: راندمان خیلی بالا (۸۵٪ تا ۹۵٪) 🔥

---

## 🔧 ساختار کلی Buck

یک رگولاتور Buck معمولاً شامل این بخش‌هاست:

* سوئیچ (MOSFET یا ترانزیستور): روشن/خاموش شدن سریع برای کنترل انرژی.
* دیود (یا MOSFET هم‌زمانی): مسیر برگشتی جریان.
* سلف (Inductor): انرژی رو ذخیره می‌کنه و جریان رو صاف می‌کنه.
* خازن خروجی: ولتاژ رو صاف و پایدار می‌کنه.
* مدار کنترل (PWM + فیدبک): ولتاژ خروجی رو تنظیم می‌کنه.

---

## مزایا و معایب

مزایا:

* راندمان خیلی بالا (مخصوصاً وقتی اختلاف ولتاژ زیاد باشه).
* مناسب برای جریان‌های بالا.
* گرمای کمتر نسبت به LDO یا Linear.

معایب:
− نویز سوئیچینگ → برای مدارهای حساس آنالوگ باید فیلتر اضافه بشه.
− طراحی کمی پیچیده‌تر.
− قیمت نسبت به رگولاتور خطی بالاتره.

---

## 📚 نمونه‌های معروف Buck

تو بازار این ICها خیلی پرطرفدارن:

* LM2596 → ارزان، پرکاربرد، توی ماژول‌های آماده زیاد می‌بینید.
* MP2307 → روی ماژول‌های Mini360 معروفه (خیلی کوچیک).
* TPS5430 (Texas Instruments) → صنعتی و مطمئن.
* LT8609 (Analog Devices) → مدرن، راندمان بالا و فرکانس سوئیچینگ زیاد.
* XL4015 → ماژول‌های آماده با جریان بالا (۵ آمپر).

---

## 🛠 کاربردها

* تغذیه میکروکنترلرها از باتری یا آداپتور.
* پایین آوردن ولتاژ باتری 12V به 5V/3.3V.
* شارژرهای USB و پاوربانک‌ها.
* سیستم‌های LED با جریان بالا.
* تغذیه موتورهای DC با ولتاژ پایین‌تر.

---

## 📝 جمع‌بندی

* وقتی اختلاف ولتاژ زیاده (مثلاً 24V → 5V)، استفاده از LDO = تولید حرارت شدید
* اما استفاده از Buck Converter = راندمان بالا و گرمای کم
# ⚡️ رگولاتور Boost (افزاینده ولتاژ)

سلام به همه‌ی الکترونیکی‌ها 👋
امروز می‌ریم سراغ یکی از جذاب‌ترین رگولاتورهای سوئیچینگ: Boost Converter یا رگولاتور افزاینده.

---

## 🌟 Boost چیه؟

* Boost برعکس Buck کار می‌کنه.
* ولتاژ ورودی رو بالا می‌بره و در خروجی ولتاژ بیشتری تحویل می‌ده.
* مثال: باتری لیتیوم 3.7V → خروجی 5V (برای USB یا ماژول ESP).

این کار با ذخیره انرژی در سلف و آزاد کردن اون در ولتاژ بالاتر انجام میشه.
راندمان هم معمولاً بین ۸۰٪ تا ۹۵٪ هست 💪

---

## 🔧 ساختار کلی Boost

یک رگولاتور Boost معمولاً این بخش‌ها رو داره:

* سوئیچ (MOSFET یا ترانزیستور): قطع و وصل سریع جریان.
* دیود سریع: جلوگیری از برگشت جریان.
* سلف: ذخیره انرژی در حالت ON و آزاد کردن در حالت OFF.
* خازن خروجی: تثبیت ولتاژ بالا.
* مدار کنترل (PWM + فیدبک): تنظیم سطح ولتاژ خروجی.

---

## مزایا و معایب

مزایا:

* افزایش ولتاژ از یک منبع پایین (مثلاً باتری).
* راندمان بالا.
* مناسب برای مدارهای قابل‌حمل و باتری‌محور.

معایب:
− خروجی همیشه بزرگ‌تر از ورودی (نمی‌تونه کاهش بده).
− نویز سوئیچینگ تولید می‌کنه.
− در جریان‌های خیلی بالا کارایی سخت‌تر میشه.

---

## 📚 نمونه‌های معروف Boost

* MT3608 → خیلی پرکاربرد توی ماژول‌های ارزون (2 آمپر).
* XL6009 → نسخه‌ی ارتقاء یافته، برای ولتاژ بالاتر.
* TPS61088 (Texas Instruments) → راندمان عالی، جریان بالا.
* LT1302 (Analog Devices) → صنعتی و باکیفیت.

---

## 🛠 کاربردها

* بالا بردن ولتاژ باتری 3.7V به 5V (پاوربانک‌ها 🔋).
* روشن کردن LEDهای High Power (که ولتاژ بیشتری لازم دارن).
* ماژول‌های بی‌سیم مثل ESP8266 یا ESP32 که نیاز به 5V یا 3.3V پایدار دارن.
* دستگاه‌های قابل حمل (Portable).
* کاربرد در برخی درایورهای LCD و OLED.

---

## 📝 جمع‌بندی

* وقتی منبع ولتاژ پایینه و نیاز داری سطح بالاتری در خروجی داشته باشی → Boost Converter بهترین انتخابه.
* برای مثال: از یه باتری تکی لیتیوم می‌تونی 5V برای USB یا حتی 12V برای LED بسازی.
# 🔋 مقایسه انواع رگولاتورها

سلام دوستان 👋
تا اینجا سه نوع مهم رگولاتور رو بررسی کردیم:

* LDO (کم‌سقوط خطی)
* Buck (کاهنده)
* Boost (افزاینده)

حالا بیاید مقایسه کنیم 👇

---

### ⚡️ LDO (Linear / کم‌سقوط)

* 🎯 وظیفه: کاهش ولتاژ به روش ساده (خطی)
* 📉 راندمان: پایین (۳۰٪ تا ۶۰٪)
* 🔊 نویز خروجی: خیلی کم
* 🔥 تلفات حرارتی: زیاد
* 🛠 پیچیدگی مدار: خیلی ساده
* 📌 مناسب برای: مدارات حساس به نویز (صوت، ADC، آنالوگ)
* نمونه‌ها: AMS1117 ، LM317 ، MIC5205

---

### ⚡️ Buck (کاهنده سوئیچینگ)

* 🎯 وظیفه: کاهش ولتاژ با راندمان بالا
* 📉 راندمان: خیلی بالا (۸۵٪ تا ۹۵٪)
* 🔊 نویز خروجی: متوسط
* 🔥 تلفات حرارتی: کم
* 🛠 پیچیدگی مدار: متوسط
* 📌 مناسب برای: وقتی ورودی خیلی بالاست (مثلاً 24V → 5V)
* نمونه‌ها: LM2596 ، MP2307 ، TPS5430

---

### ⚡️ Boost (افزاینده سوئیچینگ)

* 🎯 وظیفه: افزایش ولتاژ (ورودی کم → خروجی زیاد)
* 📉 راندمان: بالا (۸۰٪ تا ۹۵٪)
* 🔊 نویز خروجی: متوسط
* 🔥 تلفات حرارتی: کم
* 🛠 پیچیدگی مدار: متوسط
* 📌 مناسب برای: پاوربانک‌ها، LED پرقدرت، زمانی که منبع پایین‌تر از نیاز باشه (باتری 3.7V → خروجی 5V)
* نمونه‌ها: MT3608 ، XL6009 ، TPS61088

---

## جمع‌بندی

* نویز خیلی کم می‌خوای → LDO
* ورودی بالاست و می‌خوای بیاری پایین → Buck
* ورودی کمه و باید ببری بالا → Boost
تجزیه و تحلیل فرمان cat /proc/meminfo در linux tinaبرای تراشه t113-s3
root@TinaLinux:/# cat /proc/meminfo
MemTotal: 112660 kB
MemFree: 91528 kB
MemAvailable: 95092 kB
Buffers: 2508 kB
Cached: 3536 kB
SwapCached: 0 kB
Active: 4448 kB
Inactive: 1744 kB
Active(anon): 144 kB
Inactive(anon): 0 kB
Active(file): 4304 kB
Inactive(file): 1744 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 28 kB
Writeback: 0 kB
AnonPages: 180 kB
Mapped: 904 kB
Shmem: 0 kB
KReclaimable: 2296 kB
Slab: 11312 kB
SReclaimable: 2296 kB
SUnreclaim: 9016 kB
KernelStack: 472 kB
PageTables: 52 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 56328 kB
Committed_AS: 1204 kB
VmallocTotal: 901120 kB
VmallocUsed: 128 kB
VmallocChunk: 0 kB
Percpu: 144 kB
CmaTotal: 4096 kB
CmaFree: 3284 kB

📌 آموزش امروز: فهمیدن وضعیت RAM در لینوکس (روی تراشه T113-S3)

🔍 بعضی وقتا لازم می‌شه بدونیم سیستم لینوکسی ما چقدر رم داره، چقدرش خالیه، و کجاها مصرف می‌شه.
برای این کار کافیه دستور زیر رو بزنیم:

cat /proc/meminfo


👀 خروجی این دستور یه لیست طولانیه، ولی مهم‌ترین قسمت‌هاش ایناست:

۱. MemTotal
کل رم در دسترس سیستم.
مثلاً روی تراشه T113-S3 حدود 112MB نشون می‌ده (باقی رم برای سخت‌افزار رزرو شده).

۲. MemFree
میزان رم کاملاً آزاد.
تو مثال ما حدود 91MB بود.

۳. MemAvailable
مقدار واقعی رم قابل استفاده برای برنامه‌ها.
این از MemFree دقیق‌تره و نشون می‌ده تقریباً 95MB در دسترس داریم.

۴. Buffers و Cached

Buffers: رم استفاده شده برای کش نوشتن روی دیسک.

Cached: رم استفاده شده برای کش فایل‌ها (در صورت نیاز آزاد می‌شه).

۵. SwapTotal / SwapFree
می‌گه swap داری یا نه.
روی بردهای امبدد معمولاً 0 هست (یعنی فقط رم فیزیکی داریم).

۶. Slab
حافظه‌ای که کرنل برای خودش نگه داشته. یه بخشی قابل آزاد شدنه، یه بخشی نه.

۷. CMA (Contiguous Memory Allocator)
یه مقدار رم متوالی (مثلاً ۴MB) برای درایورهایی مثل LCD یا ویدیو رزرو می‌شه.

📊 خلاصه ماجرا روی T113-S3:

کل رم قابل استفاده: 🟢 112MB

آزاد برای برنامه‌ها: 🟢 حدود 95MB

مصرف کرنل و کش: 🔵 حدود 17MB

Swap: نداره

⚡️ حالا هر وقت خواستی وضعیت رم رو چک کنی، فقط همین دستور ساده رو بزن:

cat /proc/meminfo


👨‍💻 اینجوری خیلی راحت می‌فهمی سیستم‌عاملت الان چه‌قدر رم داره و کجا مصرف می‌شه.
📌 آموزش: بررسی وضعیت RAM با دستور free -m

🔍 توی لینوکس وقتی بخوای خیلی سریع ببینی سیستم‌ت چقدر رم داره و چه‌قدرش خالیه، کافیه بزنی:

free -m


👀 خروجی (روی تراشه T113-S3) چیزی شبیه اینه:

             total       used       free     shared    buffers     cached
Mem: 112660 21116 91544 0 2508 3536
-/+ buffers/cache: 15072 97588
Swap: 0 0 0


---

📝 حالا معنی هر بخش:

total
کل رم موجود برای لینوکس → اینجا 112MB

used
میزان رم استفاده شده → اینجا 21MB

free
رم آزاد → اینجا 91MB

shared
میزان رم مشترک بین پردازه‌ها (اینجا ۰ هست چون استفاده نمی‌شه).

buffers
رمی که برای بافر نوشتن روی دیسک استفاده شده (اینجا 2.5MB)

cached
رمی که برای کش فایل‌ها استفاده می‌شه (اینجا 3.5MB).
این رم در صورت نیاز سریع آزاد می‌شه.

---

⚡️ بخش مهم:

🔹 -/+ buffers/cache
این خط خیلی مهمه! چون بهت می‌گه واقعاً چه مقدار رم دست برنامه‌هاست.

* used: 15072 kB → حدود 15MB واقعاً در حال استفاده توسط برنامه‌هاست.
* free: 97588 kB → حدود 97MB واقعاً در دسترسه.

---

Swap
اینجا صفره → یعنی سیستم swap نداره. پس فقط با همون رم فیزیکی کار می‌کنه.

---

📊 خلاصه وضعیت روی T113-S3:

* کل رم: 🟢 112MB
* واقعاً در حال استفاده: 🔴 حدود 15MB
* آزاد و قابل استفاده: 🟢 حدود 97MB
* Swap: نداره

---

🚀 پس دستور free -m یه راه سریع و جمع‌وجوره برای چک کردن رم، مخصوصاً بخش -/+ buffers/cache که نشون می‌ده واقعاً چقدر رم برای اپلیکیشن‌هات آزاد می‌مونه.
📌 آموزش: بررسی مصرف RAM و CPU با دستور `top` در لینوکس

🔍 دستور top برای دیدن وضعیت لحظه‌ای سیستم استفاده می‌شه:

* رم و CPU
* پردازه‌های در حال اجرا
* میزان بار سیستم

---

👀 خروجی کامل (روی T113-S3):

Mem: 21160K used, 91500K free, 0K shrd, 2508K buff, 3540K cached
CPU: 30% usr 20% sys 0% nic 50% idle 0% io 0% irq 0% sirq
Load average: 1.00 0.97 0.66 2/54 210
PID PPID USER STAT VSZ %VSZ %CPU COMMAND
152 1 root S 1228 1% 45% /bin/adbd -D
210 164 root R 1064 1% 5% top
1 0 root S 1064 1% 0% /sbin/init
164 1 root S 1064 1% 0% -/bin/sh
156 1 root S 696 1% 0% /sbin/swupdate-progress -w
10 2 root IW 0 0% 0% [rcu_preempt]
20 2 root IW 0 0% 0% [kworker/0:1-eve]
21 2 root IW 0 0% 0% [kworker/1:1-ipv]
68 2 root SW 0 0% 0% [irq/39-mmc0]
7 2 root IW 0 0% 0% [kworker/u4:0-ev]
55 2 root SW 0 0% 0% [spi0]
145 2 root IW 0 0% 0% [kworker/u4:2-ev]
9 2 root SW 0 0% 0% [ksoftirqd/0]
15 2 root SW 0 0% 0% [ksoftirqd/1]
13 2 root SW 0 0% 0% [cpuhp/1]
12 2 root SW 0 0% 0% [cpuhp/0]
14 2 root SW 0 0% 0% [migration/1]
19 2 root SW 0 0% 0% [rcu_tasks_kthre]
22 2 root SW 0 0% 0% [oom_reaper]
23 2 root IW< 0 0% 0% [writeback]


---

📝 توضیح بخش‌ها:

۱. خط Mem

Mem: 21160K used, 91500K free, 0K shrd, 2508K buff, 3540K cached


* استفاده شده: \~21MB
* آزاد: \~91MB
* buff و cache: حدود 6MB → در صورت نیاز آزاد می‌شن

---

۲. خط CPU

CPU:  30% usr  20% sys   0% nic  50% idle


* 30٪ پردازه‌های کاربر
* 20٪ پردازه‌های کرنل
* 50٪ CPU بیکار

---

۳. Load average

Load average: 1.00 0.97 0.66


میانگین بار در ۱، ۵ و ۱۵ دقیقه‌ی اخیر → تقریباً یک هسته پر بوده.

---

۴. جدول پردازه‌ها
ستون‌ها:

* PID: شماره پردازه
* PPID: شماره پدر پردازه
* USER: کاربر پردازه
* STAT: وضعیت (S=خوابیده، R=در حال اجرا، IW=انتظار وقفه و …)
* VSZ: اندازه حافظه مجازی
* %CPU: درصد استفاده CPU
* COMMAND: نام برنامه

📌 مثال:

152     1 root     S     1228   1%  45% /bin/adbd -D


این همون سرویس adbd (دیباگ اندرویدی) هست که ۴۵٪ CPU رو گرفته!

---

📊 خلاصه روی T113-S3:

* رم آزاد: 🟢 \~91MB
* مصرف رم: 🔴 \~21MB
* مصرف CPU: 🔴 حدود 50٪ (بخش اصلی توسط adbd)
* Load Average: حدود ۱ → یه هسته پره
* پردازه‌های مهم:

* adbd → پرمصرف‌ترین
* top → خود ابزار مانیتورینگ (۵٪)
* init و sh → پایه‌ی سیستم

---

🚀 با top همیشه می‌تونی لحظه‌ای ببینی چه پردازه‌ای بیشترین مصرف رم یا CPU رو داره و سریع عیب‌یابی کنی.