چگونه مشکل پروگرم نشدن ESP 8266 آردینو را حل کنیم؟

14 روز قبل
38 بازدید

0

چگونه مشکل پروگرم نشدن ESP 8266 آردینو را حل کنیم؟

 

 

14 روز قبل
کیومرث شریف
1

افزودن دیدگاه

1 پاسخ ثبت شده است
0

باسلام

به صورت کلی در مرحله اول سریال مانیتور را باز میکنیم و بر روی 74880 قرار میدهیم و دکمه ریست را یکبار میزنیم

باید متنی مشابه زیر دریافت کنید.

 ets Jan  8 2013,rst cause:1, boot mode:(3,6)

load 0x4010f000, len 3460, room 16 
tail 4
chksum 0xcc
load 0x3fff20b8, len 40, room 4 
tail 4
chksum 0xc9
csum 0xc9
v0004b6a0

در این شرایط یعنی میکرو سالم می باشد. در صورتی که دیتایی دریافت نشد پایه EN و RST به درستی کار نمیکنند (پین های 1و3 سمت چپ بالا روی کلاهک باید بهم وصل بشوند) و پس از این کار باز وصل کردن و سریال مانیتور را باز کرده و ریست میکنید. در صورتی که باز هم دیتایی یافت نشد احتمال دارد میکرو خراب باشد (در این شرایط به چراغ روی ESP باید توجه کنید و در صورتی که پس از ریست چشمک ریزی بزند یعنی میکرو سالم هست و لاین های سریال بین پروگرامر و ESP را باید بررسی کنید)

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

در این شرایط powerShell ویندوز را باز میکنیم (توجه داشته باشید برای این مرحله پایتون باید بر روی سیستم نصب شده باشد)

دستور esptool را میزنیم (در صورتی که از قبل نصب نداشته باشید می توانید با دستور pip install esptool آن را نصب کنید)

و باید همچین متنی را به شما نمایش بدهد.

esptool.py v4.7.0
usage: esptool [-h] [--chip {auto,esp8266,esp32,esp32s2,esp32s3beta2,esp32s3,esp32c3,esp32c6beta,esp32h2beta1,esp32h2beta2,esp32c2,esp32c6,esp32h2,esp32p4}]
               [--port PORT] [--baud BAUD] [--before {default_reset,usb_reset,no_reset,no_reset_no_sync}]
               [--after {hard_reset,soft_reset,no_reset,no_reset_stub}] [--no-stub] [--trace] [--override-vddsdio [{1.8V,1.9V,OFF}]]
               [--connect-attempts CONNECT_ATTEMPTS]
               {load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image,read_mac,chip_id,flash_id,read_flash_status,write_flash_status,read_flash,verify_flash,erase_flash,erase_region,merge_bin,get_security_info,version}
               ...

esptool.py v4.7.0 - Espressif chips ROM Bootloader Utility

positional arguments:
  {load_ram,dump_mem,read_mem,write_mem,write_flash,run,image_info,make_image,elf2image,read_mac,chip_id,flash_id,read_flash_status,write_flash_status,read_flash,verify_flash,erase_flash,erase_region,merge_bin,get_security_info,version}
                        Run esptool.py {command} -h for additional help
    load_ram            Download an image to RAM and execute
    dump_mem            Dump arbitrary memory to disk
    read_mem            Read arbitrary memory location
    write_mem           Read-modify-write to arbitrary memory location
    write_flash         Write a binary blob to flash
    run                 Run application code in flash
    image_info          Dump headers from a binary file (bootloader or application)
    make_image          Create an application image from binary files
    elf2image           Create an application image from ELF file
    read_mac            Read MAC address from OTP ROM
    chip_id             Read Chip ID from OTP ROM
    flash_id            Read SPI flash manufacturer and device ID
    read_flash_status   Read SPI flash status register
    write_flash_status  Write SPI flash status register
    read_flash          Read SPI flash content
    verify_flash        Verify a binary blob against flash
    erase_flash         Perform Chip Erase on SPI flash
    erase_region        Erase a region of the flash
    merge_bin           Merge multiple raw binary files into a single file for later flashing
    get_security_info   Get some security-related data
    version             Print esptool version

options:
  -h, --help            show this help message and exit
  --chip {auto,esp8266,esp32,esp32s2,esp32s3beta2,esp32s3,esp32c3,esp32c6beta,esp32h2beta1,esp32h2beta2,esp32c2,esp32c6,esp32h2,esp32p4}, -c {auto,esp8266,esp32,esp32s2,esp32s3beta2,esp32s3,esp32c3,esp32c6beta,esp32h2beta1,esp32h2beta2,esp32c2,esp32c6,esp32h2,esp32p4}
                        Target chip type
  --port PORT, -p PORT  Serial port device
  --baud BAUD, -b BAUD  Serial port baud rate used when flashing/reading
  --before {default_reset,usb_reset,no_reset,no_reset_no_sync}
                        What to do before connecting to the chip
  --after {hard_reset,soft_reset,no_reset,no_reset_stub}, -a {hard_reset,soft_reset,no_reset,no_reset_stub}
                        What to do after esptool.py is finished
  --no-stub             Disable launching the flasher stub, only talk to ROM bootloader. Some features will not be available.
  --trace, -t           Enable trace-level output of esptool.py interactions.
  --override-vddsdio [{1.8V,1.9V,OFF}]
                        Override ESP32 VDDSDIO internal voltage regulator (use with care)
  --connect-attempts CONNECT_ATTEMPTS
                        Number of attempts to connect, negative or 0 for infinite. Default: 7.

در این شرایط دستور را به صورت 

esptool -p COM23 chip_id

تغییر میدهیم (فقط شماره پورت دستگاه خود را از دیوایس منیجر پیدا کنید و جایگزین کنید)

اگر در Connecting گیر کرد دکمه Flash را نگه دارید یا پایه D3 رو به GND با سیم وصل کنید. در این شرایط این جواب را بگیرید.

esptool.py v4.7.0
Serial port COM23
Connecting....
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 3c:61:05:d0:d9:2a
Uploading stub...
Running stub...
Stub running...
Chip ID: 0x00d0d92a
Hard resetting via RTS pin...

این جواب یعنی میکرو سالم می باشد و دارد به شما جواب میدهد.

اگر این جواب رو نگرفتید می توانید با سریال مانیتور بررسی کنید که وارد مود پروگرام میشوید یا خیر. برای این کار سریال مانیتور را باید نگه دارید و ریست رو بزنید. در این حالت جواب به صورت زیر تغییر بکند (این کد هایی که بعد از boot mode میاد بهتون میگه میکرو توی چه حالتی هست می توانید از طریق  این لینک بررسی کنید که مشکل کجا هست)

 ets Jan  8 2013,rst cause:1, boot mode:(1,6)

حالا که دیتا بالا رو گرفتیم و مطئن شیدیم میکرو سالم هست. وقتش هست حافظه میکرو رو هم بررسی کنیم که سالم هست یا نه

برای این موضوع دستور

 esptool -p COM23 flash_id 

رو میزنیم و باید جواب

esptool.py v4.7.0
Serial port COM23
Connecting....
Detecting chip type... Unsupported detection protocol, switching and trying again...
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 3c:61:05:d0:d9:2a
Uploading stub...
Running stub...
Stub running...
Manufacturer: d8
Device: 4016
Detected flash size: 4MB
Hard resetting via RTS pin...

رو بگیریم که جلو مقدار Detected flash size باید میزان حافظه باشه (بعضی از برد ها اینو خالی یا مقدار Manufacturer رو با FF برمیگردونن) این یعنی یا حافظه خراب شده یا روی لاین های ارتباطی بین میکرو و حافظه مشکلی هست.

پایه های 9 الی 14 مربوط به ارتباط حافظه هست این پایه ها نباید به جایی وصل باشن و مشکلی داشته باشن (بررسی کنید که اتصالی یا تیکه قلع بینشون نیوفته باشه همچنین توی لینک های ارور میتونید بررسی کنید که پایه ای اشتباهی HIGH یا LOW نباشه.

تمامی این موارد برای بررسی ESP8266 هست که البته با مقداری تغییر برای ESP32 هم میتونید استفاده کنید.

این مورد رو هم اضافه کنم اکثر مشکل ها مربوط به همین کلید Flash هست. یعنی کافی هست دکمه رو موقعی که نوشته Connecting می آید نگه دارید تا شروع پروگرام استارت بخورد و بعدش میتوانید رها کنید. (گاهی وقت ها این کلید هم دچار مشکل میشود و میتوانید با سیم پایه D3 رو به زمین وصل کنید و مطمئن باشید که پروگرام میشود.

از این 2 کامند که در powerShell میزنید میتوانید مشخص کنید که میکرو سالم می باشد یا خیر. اگر سری پروگرام میکنید و زمان زیادی برای پروگرام صرف میکنید میتوانید از دستور های esptool برای این موضوع استفاده کنید. قابلیت سری پروگرام کردن نیز دارند.

 

14 روز قبل
محمد دمیرچی
3710

سلام سپاس فراوان از پاسخویی دقیق و کامل اما / متاسفانه مشکل هنوز باقیست - با سیم پایه D3 رو به زمین وصل کردم - پایه های 9 الی 14 به جایی وصل نبود PS C:\Users\Kiomars> esptool -p COM7 flash_id esptool.py v4.7.0 Serial port COM7 Connecting......................................  – کیومرث شریف 03-02-17 در 08:33

کامند هایی که بهتون گفتم بدید نتیجه هاشون چی بودن؟؟  – محمد دمیرچی 03-02-18 در 04:42

متاسفانه ESP8266 کانکت نمیشه و استارت نمی خوره سریال مانیتور در لحظه شروع: ets Jan 8 2013,rst cause:2, boot mode:(3,7) load 0x40100000, len 2592, room 16 tail 0 chksum 0xf3 load 0x3ffe8000, len 764, room 8 tail 4 chksum 0x92 load 0x3ffe82fc, len 676, room 4 tail 0 chksum 0x22 csum 0x22 2nd boot version : 1.7(5d6f877) SPI Speed : 40MHz SPI Mode : DOUT SPI Flash Size & Map: 8Mbit(512KB+512KB) jump to run user1 @ 1000 V2 Mo ,⸮⸮rf cal sector: 251 freq trace enable 0 rf[112] : 00 rf[113] : 00 rf[114] : 01 SDK ver: 3.0.5-dev(52383f9) compiled @ Jul 8 2020 16:00:05 phy ver: 1156_0, pp ver: 10.2  – کیومرث شریف 03-02-18 در 07:56

بعد از نگه داشتن FLASH و زدن دکمه ریست: ets Jan 8 2013,rst cause:2, boot mode:(1,7)  – کیومرث شریف 03-02-18 در 07:58

منظور بنده کامند هایی که داخل esptool میزنید بود.  – محمد دمیرچی 03-02-18 در 11:11

افزودن دیدگاه


انجمن کافه‌ربات © 1400