FLASHPROG-WRITE-PROTECT(8) 2026-07-17 FLASHPROG-WRITE-PROTECT(8)

flashprog-write-protect - کنترل تنظیمات حفاظت از نوشتن در تراشه‌های فلش

flashprog write-protect [status] <options>
flashprog write-protect  list    <options>
flashprog write-protect  disable <options> [--temporary]
flashprog write-protect  enable  <options> [--temporary]
flashprog write-protect  range   <options> [--temporary] <start>,<len>
flashprog write-protect  region  <options> [--temporary] <region-name>

که در آن <options> عمومی عبارتند از:

-p <programmername>[:<parameters>] [-c <chipname>]
[-V[V[V]]] [-o <logfile>] [-h]

و <options> چیدمان (layout) عبارتند از:

[(-l|--layout) <layout-file>|--fmap <fmap-file>|--fmap|--ifd]

flashprog-write-protect ابزاری برای خواندن و نوشتن تنظیمات حفاظت از نوشتن (write-protection) تراشه‌های فلش است. در حال حاضر، این ابزار تنها از حفاظت بلوکی (block protection) تراشه‌های SPI NOR پشتیبانی می‌کند.

می‌توانید در هر فراخوانی یک عملیات را مشخص کنید. status عملیات پیش‌فرض است.

status

وضعیت حفاظت از نوشتن، از جمله محدوده حفاظت برنامه‌ریزی‌شده فعلی را نمایش می‌دهد.

list

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

disable

قفل‌های حفاظت از نوشتن را غیرفعال می‌کند. محدوده پیکربندی‌شده معمولاً بدون تغییر باقی می‌ماند، اما امکان بازنویسی (override) آن فراهم خواهد شد.

enable

قفل‌های حفاظت از نوشتن را فعال می‌کند. محدوده حفاظت از نوشتن باید قبل از اجرای عملیات enable تنظیم شده باشد.

range <start>,<len>

محدوده حفاظت‌شده را پیکربندی می‌کند. start و length محدوده را با اعداد ده‌دهی (decimal)، هشت‌هشتی (octal با پیشوند 0)، یا شانزده‌شانزدهی (hexadecimal با پیشوند 0x) بر حسب بایت مشخص می‌کنند. هر محدوده با طول صفر، کل حافظه فلش را از حالت حفاظت خارج می‌کند (به عنوان مثال range 0,0).

region <region-name>

محدوده حفاظت‌شده را مطابق با ناحیه‌ای از چیدمان بارگذاری‌شده (از یک فایل یا فلش، برای منابع ممکن چیدمان به توضیحات گزینه‌های مربوطه در مراجعه کنید) پیکربندی می‌کند.

تمام عملیات‌ها نیازمند استفاده از گزینه -p/--programmer هستند (لطفاً برای اطلاعات بیشتر پیرامون پشتیبانی از پروگرامر و پارامترها به مراجعه کنید).

-p, --programmer <name>[:<parameter>[,<parameter>]...]

دستگاه پروگرامر را مشخص می‌کند. این گزینه برای تمامی عملیات‌ها الزامی است. لطفاً برای فهرستی از پروگرامرهای پشتیبانی‌شده فعلی و پارامترهای آن‌ها به صفحه راهنمای مراجعه کنید.

-c, --chip <chipname>

فقط تراشه رام فلش مشخص‌شده را بررسی می‌کند. این گزینه نام تراشه را همان‌گونه که توسط flashprog -L چاپ می‌شود بدون نام سازنده به‌عنوان پارامتر می‌پذیرد. لطفاً توجه داشته باشید که نام تراشه به حروف بزرگ و کوچک حساس است.

-V, --verbose

خروجی با جزئیات بیشتر. این گزینه می‌تواند چندین بار (حداکثر ۳ بار، یعنی -VVV) برای دریافت گزارش‌های اشکال‌زدایی بیشتر ارائه شود.

-o, --output <logfile>

ذخیره گزارش کامل اشکال‌زدایی در <logfile>. اگر فایل از قبل موجود باشد، بازنویسی خواهد شد. این شیوه توصیه‌شده برای جمع‌آوری گزارش‌ها از flashprog است، زیرا حتی اگر پیام‌های روی صفحه پرجزئیات نباشند، گزارش فایل پرجزئیات خواهد بود و نیازی به تغییر مسیر خروجی ندارد.

-h, --help

نمایش متن راهنما و خروج.

(-l|--layout) <layout-file>, --fmap-file <fmap-file>, --fmap, --ifd

لطفاً برای اطلاعات درباره فایل‌های چیدمان و سایر منابع چیدمان به صفحه راهنمای مراجعه کنید.

--temporary

هنگامی که گزینه --temporary برای هر عملیاتی که پیکربندی تراشه فلش را تغییر می‌دهد ارائه شود، flashprog تلاش خواهد کرد مقداری موقت بنویسد که در حافظه فلش ذخیره نمی‌شود. این قابلیت نیازمند پشتیبانی ویژه تراشه فلش از دستور نوشتن ناپایدار در ثبات وضعیت (volatile write status register) است. مقدار جدید پس از بازنشانی (reset) تراشه فلش از دست خواهد رفت. بنابراین، استفاده از این گزینه همراه با پروگرامرهای خارجی که برق تراشه فلش را قطع و وصل می‌کنند (مانند Dediprog) بی‌فایده است.

برای فقط چاپ وضعیت فعلی حفاظت از نوشتن حافظه فلش داخلی بایوس (BIOS):

flashprog write-protect -p internal
یا
flashprog write-protect status -p internal
برای فعال‌سازی موقت محدوده پیکربندی‌شده فعلی:
flashprog write-protect enable -p internal --temporary

دستور flashprog با کد ۰ در صورت موفقیت خارج می‌شود، در بیشتر شکست‌ها با ۱ و در صورت ناموفق بودن فراخوانی mmap() با ۳ خارج می‌شود.

برنامه flashprog برای پروگرامرهای مختلف به دسترسی‌های متفاوتی نیاز دارد. برای جزئیات به این بخش در صفحه راهنمای مراجعه کنید.

می‌توانید اشکالات را گزارش دهید، سؤالات خود را بپرسید یا گزارش‌های موفقیت را از طریق کانال‌های ارتباطی ما ارسال کنید: https://www.flashprog.org/Contact.

برنامه flashprog تحت مجوز عمومی همگانی گنو (GPL)، نسخه ۲ پوشش داده شده است. برخی از فایل‌ها علاوه بر این تحت هر نسخه بعدی GPL در دسترس هستند.

لطفاً فایل‌های مجزا را ببینید.

این صفحه راهنما توسط Nico Huber نوشته شده و از صفحه راهنمای مشتق شده است. این اثر تحت شرایط مجوز GNU GPL (نسخه ۲ یا بالاتر) منتشر شده است.

2026-07-17 flashprog-write-protect-v1.6-dirty