پروگرام تراشه F1C100S در محیط ویندوز از طریق رابط USB

پروگرام تراشه F1C100S در محیط ویندوز از طریق رابط USB

پروگرام تراشه F1C100S در محیط ویندوز از طریق رابط USB
پروگرام تراشه F1C100S در محیط ویندوز از طریق رابط USB

در این آموزش می‌خواهیم تراشه F1C100S را از طریق پورت USB و در محیط ویندوز پروگرام کنیم. بوتلودر موجود در ROM تراشه f1c100s به چهار طریق بوت می‌شود و فریمور کاربر را اجرا می‌کند:

 

روال بوت شدن تراشه مانند تصویر زیر می‌باشد.

F1C100S linux boot

مراحل بوت شدن در F1C100S

برای پروگرام تراشه f1c100s از ابزار sunxi-fel و رابط USB استفاده می‌کنیم. اما قبل از آن باید با استفاده از برنامه zadig و مراحل نشان داده شده در تصویر درایور تراشه f1c100s را روی ویندوز نصب کنید.

F!C100S zadig driver

نصب درایور با zadig

دستورات ابزار sunxi-fel که ما استفاده می‌کنیم به صورت زیر است:

  • فلگ مورد استفاده برای نمایش میزان پیشرفت عملیات -p
  • نوشتن فایل روی SPI FLASH متصل به تراشه spiflash-write
  • ست کردن آدرس فراخوانی توابع exec
  • نوشتن روی رم داخلی تراشه write
  • بارگذاری و اجرا U-BOOT روی تراشه spl

 

همچنین آدرس رم DDR1 رو تراشه که برای اجرای کد از رم به کار می‌رود به این صورت است:

لازم به ذکر است تنها تفاوت دو تراشه f1c100s و f1c200s در حجم SDRAM داخلی است که در تراشه f1c200s آدرس پایان رم 0XBFFFFFFF و معادل 64 مگابایت می‌باشد.
برای اجرای برنامه از روی رم تراشه ابتدا باید فایل باینری را به حافظه موقت تراشه منتقل کنین و سپس آدرس فراخوانی را به آدرسی که در آن برنامه را انتقال دادین منتقل کنین:

 

در صورتی که فایل باینری فاقد قسمت U-BOOT SPL بود باید قبل از دو دستور بالا فایل U-BOOT را نیز به تراشه منتقل کنید:

این روش برای تست و عیب یابی سریعتر تراشه کاربرد دارد که نیاز است به دفعات تراشه پروگرام شود و نتیجه کار رویت شود.
اما برای پروگرام دائمی تراشه می‌توانید فایل باینری را روی sdcard بنویسید که توسط کامپیوتر و ram reader امکان پذیر است اما برای پروگرام SPI FLASH متصل به تراشه همچنان می‌توانید از رابط usb استفاده کنید، دستور پروگرام فایل باینری روی حافظه SPI FLASH به صورت زیر می‌باشد.

 

در صورتی که فایل باینری فاقد قسمت U-BOOT بود می‌توانید آن را به صورت جداگانه روی SPI FLASH بنویسید:

بعد از پروگرام SPI FLASH دیگر رابط USB توسط ویندوز قابل شناسایی نیست، زیرا همان‌طور که در روال بوت شدن تراشه نشان داده شد اولویت بوت SPI FLASH بالاتر از USB است و شما دیگر نمی‌توانید با USB تراشه را پروگرام کنید. برای ممانعت از اجرای برنامه موجود در حافظه spi flash و بوت شدن توسط usb می‌توانید یک کلید بین پایه CHIP SELECT حافظه SPI FLASH و خط تغذیه +3.3 قرار دهید و حین روشن شدن یا ریست شدن تراشه آن را فشار دهید و نگه دارید.

بعد از این کار رابط USB توسط ویندوز شناسایی می‌شود و می‌توانید نسبت به پروگرام باینری دیگری روی SPI FLASH اقدام کنید یا اینکه برای ادامه روال تست و عیب یابی و عدم نیاز به نگه داشتن کلید حین هر بار روشن شدن تراشه، با نوشتن فایل ZERO روی SPI FLASH ، بوت از طریق SPI FLASH را غیر فعال کنید.
در پوشه مثال‌های برنامه با اجرای فایل bat می‌توانید تراشه F1C100S را پروگرام کنید. در صورتی که نمایشگر با رزولوشن 800*480 به تراشه متصل باشد می‌توانید خروجی فایل‌هایی که با رزولوشن 480*272 هم نوشته شدند را ببینید.
این ابزار همچنین برای سایر SoC های شرکت Allwinner قابل استفاده است:

A10 – A13 – A20 – A23 – A31S – A33 – A64 – A80 – A83T – H3 – H5 – H6 – R8 – R40

 

حمایت از محمد پورخلیلی

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

دیدگاه ها

11 دیدگاه

  • امیر
    ۲۴ بهمن ۱۴۰۰

    سلام وقت بخیر. ممنون بابت سایت بسیار خوبتون.
    سوالم اینه که امکان نوشتن کد Native برای این چیپ هست؟ یعنی بدون لینوکس ازش استفاده کنیم.
    ممنون میشم راهنماییم کنید.

  • حسین
    ۲۵ دی ۱۴۰۰

    بادرود.
    سپاس فراوان بابت مطلب خوبتان.
    من چند تا پرسش دارم .
    1 – ظاهرا آدرس 0x000000 مربوط به ROM هست که الگوریتم بوت شدن اونجا ذخیره شده . آیا کاربر میتونه اونجا چیزی بنویسه ؟
    2 – وقتی دستور
    sunxi-fel -p spl boot.bin
    را اجرا میکنیم ( برای قرار دادن کد در رم). این فایل بوت کجا قرار میگیره و برنامه رو از چه آدرسی توی رم شروع به فراخوانی میکنه ؟

  • بهزاد
    ۱۳ دی ۱۴۰۰

    چقدر عالیه این سایت…
    چی میتونم بگم.. سپاس فراوان از زحماتتون.
    دستتون درد نکنه…

  • سعید
    ۱۴ آبان ۱۴۰۰

    سلام
    وقتتون به خیر
    من قصد دارم که یه ویدیو روی liceepi zero با حداکثر رزولوشن ۷۲۰p پخش کنم.
    برای این کار دارم از پلیر mpv و با دستور زیر کار می کنم:
    startx /usr/bin/mpv nature.mp4 –vo=x11
    سرعت پخش ویدیو بسیار کم هست و خیلی lag داره.(حجم ویدیو ۳ مگابایت با رزولوشن ۴۸۰p)
    په طور میتونم از دیکودر h264 برای پخش این ویدیو استفاده کنم؟
    با تشکر

    • Zeus ‌
      Zeus
      ۱۴ آبان ۱۴۰۰

      احتمالا از دکدر سخت افزاری استفاده نمیکنید و برای این که موضوع لگ برطرف بشه باید از دکدر سخت افزاری استفاده کنید

    • محمد پورخلیلی
      محمد پورخلیلی
      ۱۵ آبان ۱۴۰۰

      هنوز کسی برای لینوکس درایور برای دکودر سخت افزاری این تراشه اضاف نکرده

  • حامد
    ۱۴ مهر ۱۴۰۰

    با سلام و تشکر از آموزشی که محبت کردید گذاشتید،
    1) ماژول لیچی پای نانو را به کامپیوتر متصل کردم و به داخل برنامه زادیگ رفتم. دکمه edit کار نمی کرد و در edit box بالای صفحه امکان تایپ چیزی وجود نداشت. بنابراین دکمه new را زدم و در editbox بالایی عبارت Allwinner و در جلوی USB ID اعدادی که در عکس گفته اید را وارد کردم و دکمه install driver را زدم و سه تا وسیله پیدا کرد، یک دوربین و دو تا USB Device.
    آیا موقعی که داخل برنامه زادیگ میرویم می بایست ماژول لیچی پای به کامپیوتر متصل باشد یا نه و آیا می بایست قبل از آن از طریق متصل کردن پایه CS به 3.3 ماژول را در مد fel برده باشیم یا نه؟ و علت اینکه دکمه edit غیرفعال است چیست و تحت چه روالی می بایست در محیط زادیگ درایور را نصب کنیم؟
    2) زمانی هم که فایل های bat مربوط به ریختن فایل لینوکس را اجرا میکنم خطای Allwinner USB Fel not found میدهد که احتمالا بدین معنی هست که درایوری که نصب شده مناسب نیست.
    پیشاپیش از راهنمایی شما متشکرم.

    • محمد پورخلیلی
      محمد پورخلیلی
      ۲۶ مهر ۱۴۰۰

      سلام اول باید دیوایس usb در کامپیوتر شناسایی بشه، حتی وقتی هم که در دیوایس منیجر علامت مثلث زرد کنارش هست باید USB ID رو چک کنین که 1F3A-EFE8 باش، اگر همچین دیوایسی به USB متصل نیست جلوتر نمیتونین برین تا این مشکل رو رفع کنین. پایه CS رو اتصال کوتاه کنین چک کنین ببینین به مد FEL میره

  • Mojtaba
    ۲۰ تیر ۱۴۰۰

    عالی
    ممنون از مهندس پورخلیلی
    ممنون از سیسوگ

  • Mahdi.h  
    Mahdi.h
    ۲۰ تیر ۱۴۰۰

    تشکر بابت مطلب
    بی صبرانه منتظر برد امبدد سیسوگ با همین تراشه و آموزش هاش هستیم

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

امنیت همیشه و در همه‌ی اعصار، مقوله‌ی مهم و قابل‌توجه‌ ای بوده و همیشه نوع بشر به دنبال امنیت بیشتر، دست به ابداعات و اختراعات گوناگونی زده است. ریموت کنترل یکی از این اختراعات است. در این مقاله، به بررسی امنیت انواع ریموت‌های کنترل خواهیم پرداخت....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 9 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 1 سال پیش

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 2 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک