این دستور stm32flash است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
stm32flash - ابزار چشمک زن برای STM32 از طریق UART یا I2C
خلاصه
stm32flash [-cfhjkouvCR] [-a آدرس_اتوبوس] [-b baud_rate] [-m حالت_سریالی] [-r نام فایل]
[-w نام فایل] [-e تعداد] [-n تعداد دفعات مشاهده] [-g نشانی] [-s start_page] [-S نشانی[:طول]] [-F
RX_length[:TX_length]] [-i GPIO_string] [tty_device | i2c_device]
شرح
stm32flash فلش مموری STM32 را می خواند یا می نویسد.
به STM32 نیاز دارد تا بوت لودر منطبق با برنامه ST Note AN3155 یا
AN4221. stm32flash از پورت سریال استفاده می کند tty_device یا پورت i2c i2c_device تعامل داشتن
با بوت لودر STM32.
OPTIONS
-a آدرس_اتوبوس
آدرس را در اتوبوس برای i2c_device. این گزینه برای رابط I2C اجباری است.
-b baud_rate
سرعت باود را مشخص کنید tty_device. لطفا توجه داشته باشید که بوت لودر ST می تواند
همانطور که در فصل 2 AN3155 توضیح داده شد، به طور خودکار نرخ باود را تشخیص می دهد. این
گزینه می تواند همراه با گزینه مورد نیاز باشد -c یا اگر دنبال تعامل با
بوت لودر مورد انتظار است. پیش فرض است 57600.
-m حالت
فرمت داده های UART را مشخص کنید. حالت یک رشته سه کاراکتر است که در آن هر کدام
کاراکتر در این ترتیب دقیق، اندازه کاراکتر، برابری و بیت های توقف را مشخص می کند.
تنها مقادیر مورد استفاده در حال حاضر هستند 8e1 برای بوت لودر استاندارد STM32 و 8n1 برای
بوت لودر استاندارد STM32W. پیش فرض است 8e1.
-r نام فایل
مشخص کنید فلش STM32 را خوانده و محتوای آن را در آن بنویسید نام فایل به صورت باینری خام
قالب (به زیر مراجعه کنید FORMAT تبدیل).
-w نام فایل
تعیین کنید فلش STM32 با محتوای آن نوشته شود نام فایل. فرمت فایل می تواند باشد
باینری خام یا هگز اینتل (به زیر مراجعه کنید FORMAT تبدیل). فرمت فایل است
به طور خودکار شناسایی می شود. برای عبور از تشخیص فرمت و اجبار حالت باینری (مثلاً به
یک محتوای هگز اینتل در فلش STM32 بنویسید)، استفاده کنید -f گزینه.
-u برای غیرفعال کردن محافظت از نوشتن از فلاش STM32 مشخص کنید. STM32 ریست می شود
بعد از این عملیات
-j محافظت از خواندن فلاش را فعال کنید.
-k محافظت از خواندن فلش را غیرفعال کنید.
-o فقط پاک کردن
-e تعداد فقط برای پاک کردن مشخص کنید تعداد صفحات قبل از نوشتن فلش پیش فرض این است که پاک شود
فلش کامل با -e 0 فلاش پاک نمیشه
-v برای تأیید محتوای فلش پس از عملیات نوشتن، مشخص کنید.
-n تعداد دفعات مشاهده
برای امتحان مجدد تعیین کنید تا نوشتن ناموفق تا تعداد دفعات مشاهده بار. پیش فرض 10 برابر است.
-g نشانی
آدرس را برای شروع اجرا مشخص کنید (0 = شروع فلش).
-s start_page
افست صفحه فلش (0 = شروع فلاش) را مشخص کنید.
-S نشانی[:طول]
آدرس شروع و به صورت اختیاری طول را برای عملیات خواندن/نوشتن/پاک کردن/crc مشخص کنید.
-F RX_length[:TX_length]
حداکثر اندازه فریم را برای رابط فعلی مشخص کنید. به دلیل بوت لودر STM32
پروتکل، میزبان هرگز فریم های بزرگتر از 256 بایت در RX یا 258 بایت در را مدیریت نمی کند.
TX با توجه به کد فعلی، کمترین محدودیت در RX 20 بایت است (برای خواندن یک پاسخ کامل
از دستور GET). حداقل محدودیت در TX 5 بایت است که طبق پروتکل مورد نیاز است.
-f اجباری تجزیه کننده باینری در حین خواندن فایل با -w.
-h نشان دادن کمک
-c برای از سرگیری اتصال UART موجود مشخص کنید و دنباله اولیه INIT ارسال نشود
برای تشخیص نرخ باد نرخ باود باید مانند اتصال موجود حفظ شود.
این در صورتی مفید است که تنظیم مجدد انجام نشود.
-i GPIO_string
دنباله های GPIO را در هاست مشخص کنید تا STM32 مجبور به ورود و خروج از بوت لودر شود.
حالت GPIO می تواند GPIO واقعی باشد که از میزبان به STM32 در کنار UART متصل است
اتصال یا سیگنال های مودم UART که به عنوان GPIO استفاده می شود. (زیر را ببینید بوت لودر GPIO
توالی برای قالب GPIO_string و توضیح بیشتر).
-C برای محاسبه CRC روی محتوای حافظه مشخص کنید. به طور پیش فرض CRC بر روی محاسبه می شود
محتوای فلش کامل استفاده کنید -S برای ارائه محدوده آدرس حافظه مختلف.
-R تنظیم مجدد دستگاه در هنگام خروج. اگر یکی باشد این گزینه نادیده گرفته می شود -g, -j, -k
or -u نیز مشخص شده است.
بوت لودر GPIO توالی
این ویژگی در حال حاضر فقط در هاست لینوکس موجود است.
همانطور که در یادداشت برنامه ST AN2606 توضیح داده شد، پس از تنظیم مجدد STM32 یکی از موارد زیر را اجرا خواهد کرد.
برنامه کاربردی در فلش کاربر یا بوت لودر بسته به سطح اعمال شده در
پین های خاص STM32 در حین تنظیم مجدد.
بوت لودر STM32 به طور خودکار با پیکربندی پین های BOOT0="high" و
BOOT1="low" و سپس با اعمال یک تنظیم مجدد. برنامه کاربردی در فلش کاربر فعال می شود
با پیکربندی پین BOOT0="low" (سطح BOOT1 نادیده گرفته می شود) و سپس با اعمال یک
تنظیم مجدد
هنگامی که GPIO از رایانه میزبان به یکی از پین های پیکربندی و تنظیم مجدد متصل است
STM32، stm32flash می تواند میزبان GPIO را برای بازنشانی STM32 و اجرای اجباری کنترل کند
بوت لودر یا اجرای برنامه کاربردی.
توالی مقادیر GPIO برای ورود و خروج از حالت بوت لودر ارائه شده است
گزینه خط فرمان -i GPIO_string.
قالب GPIO_string است:
GPIO_string = [دنباله ورودی][:[دنباله خروج]]
دنباله = [-]n[، دنباله]
در دنباله های بالا، اعداد منفی با GPIO در سطح "پایین" مطابقت دارند. شماره
بدون علامت با GPIO در سطح "بالا" مطابقت دارد. مقدار "n" می تواند GPIO باشد
شماره در سیستم میزبان یا رشته "rts"، "dtr" یا "brk". رشته های "rts" و "dtr"
خطوط مودم UART مربوطه RTS و DTR را به عنوان GPIO هدایت کنید. رشته «برک» نیروهای
UART برای ارسال یک دنباله BREAK در خط TX. پس از BREAK UART به حالت عادی برگردانده می شود
حالت "بدون شکست". نکته: رشته "-brk" هیچ تاثیری ندارد و نادیده گرفته می شود.
توجه داشته باشید که دنباله خروج تنها در صورتی اجرا می شود که -R مشخص شده باشد. اگر -R مشخص شده باشد، اما
بدون دنباله خروج، یک بازنشانی با راه اندازی نرم افزار انجام خواهد شد.
به عنوان مثال، بیایید اتصال زیر بین میزبان و STM32 را فرض کنیم:
· میزبان GPIO_3 به پین تنظیم مجدد STM32 متصل است.
· میزبان GPIO_4 متصل به پین STM32 BOOT0.
· میزبان GPIO_5 به پین STM32 BOOT1 متصل است.
در این حالت، ترتیبی که باید در حالت بوت لودر وارد شود به این صورت است: ابتدا GPIO_4="high" و
GPIO_5="پایین"; سپس پالس تنظیم مجدد را با GPIO_3="low" و سپس GPIO_3="بالا" ارسال کنید. در
رشته مربوطه برای GPIO_string "4،-5،-3,3،XNUMX" است.
برای خروج از بوت لودر و اجرای برنامه کاربردی، دنباله این است: put
GPIO_4="پایین"; سپس پالس ریست را ارسال کنید. رشته مربوطه برای GPIO_string is
"-4،-3,3،XNUMX".
پرچم کامل خط فرمان "-R -i 4,-5,-3,3:-4,-3,3" است.
STM32W از پد PA5 برای انتخاب حالت بوت استفاده می کند. اگر در حین تنظیم مجدد PA5 "کم" باشد، STM32W خواهد بود
در حالت بوت لودر وارد کنید. اگر PA5 "بالا" باشد برنامه را به صورت فلش اجرا می کند.
به عنوان مثال، فرض کنید GPIO_3 به PA5 و GPIO_2 به تنظیم مجدد STM32W متصل است. فرمان:
stm32flash -R -i -3,-2,2:3,-2,2 /dev/ttyS0
فراهم می کند:
· ترتیب ورودی: GPIO_3=کم، GPIO_2=کم، GPIO_2=بالا
· دنباله خروج: GPIO_3=بالا، GPIO_2=کم، GPIO_2=بالا
مثال ها
دریافت اطلاعات دستگاه:
stm32flash /dev/ttyS0
با verify بنویسید و سپس اجرا را شروع کنید:
stm32flash -w نام فایل -v -g 0x0 /dev/ttyS0
خواندن فلش به فایل:
نام فایل stm32flash -r /dev/ttyS0
شروع اجرا:
stm32flash -g 0x0 /dev/ttyS0
مشخص نمودن:
· دنباله ورودی: RTS = کم، DTR = کم، DTR = زیاد
· دنباله خروج: RTS=بالا، DTR=کم، DTR=بالا
stm32flash -R -i -rts,-dtr,dtr:rts,-dtr,dtr /dev/ttyS0
FORMAT تبدیل
تصاویر فلش ارائه شده توسط ST یا ایجاد شده با ابزار ST اغلب در قالب فایل موتورولا هستند
S-Record. تبدیل بین باینری خام، اینتل هگز و موتورولا اس رکورد را می توان انجام داد
از طریق بسته نرم افزاری SRecord.
AUTHORS
بسته نرم افزاری اصلی stm32flash نوشته شده توسط جفری مک ری <[ایمیل محافظت شده]>
و از سال 2012 توسط تورمود ولدن <[ایمیل محافظت شده]>.
صفحه Man و پسوند STM32W و I2C توسط نوشته شده است آنتونی جزیره بورنئو
<[ایمیل محافظت شده]>.
لطفاً هر گونه اشکال را در صفحه اصلی پروژه گزارش دهید http://stm32flash.sourceforge.net .
با استفاده از خدمات onworks.net از stm32flash آنلاین استفاده کنید