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

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

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

SDCARD - SPI NOR FLASH – SPI NAND FLASH – USB

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

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

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

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

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

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

 

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

DDR1 ADDRESS : 0X80000000 - 0X9FFFFFFF

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

sunxi-fel -p write 0x80000000 app_binary.bin
sunxi-fel exec 0x80000000;

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

sunxi-fel -p spl boot.bin

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

sunxi-fel -p spiflash-write 0x00000000 app_binary.bin

 

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

sunxi-fel -p spiflash-write 0x00000 boot.bin
sunxi-fel -p spiflash-write 0x10000 app_binary.bin

بعد از پروگرام 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

 

 

منبع:سیسوگ

 

برای این مقاله نظر بگذارید:

لطفا دیدگاه خود را بنویسید
لطفا نام خود را وارد کنید