نیمه لوگو

سایه کد Microsemi DG0669 SmartFusion2 از SPI Flash به حافظه LPDDR

Microsemi-DG0669-SmartFusion2-Code-Shadowing-from-SPI-Flash-to-LPDDR-Memory-PRODUCT

اطلاعات محصول

SmartFusion2 SoC FPGA یک راه حل FPGA با کارایی بالا و کم مصرف است که یک پردازنده ARM Cortex-M3، منابع آنالوگ و دیجیتال قابل برنامه ریزی و رابط های ارتباطی پرسرعت را روی یک تراشه ادغام می کند. نرم افزار Libero SoC v11.7 یک مجموعه طراحی کامل برای طراحی با FPGA های Microsemi است.

استفاده از محصول

برای استفاده از SmartFusion2 SoC FPGA با سایه کد از SPI Flash به حافظه LPDDR، مراحل زیر را دنبال کنید:

پیشگفتار

هدف
این نسخه نمایشی برای دستگاه های آرایه دروازه قابل برنامه ریزی میدانی (FPGA) سیستم روی تراشه (SoC) SmartFusion®2 است. دستورالعمل هایی در مورد نحوه استفاده از طرح مرجع مربوطه ارائه می دهد.

مخاطب مورد نظر

این راهنمای نسخه ی نمایشی برای موارد زیر در نظر گرفته شده است:

  • طراحان FPGA
  • طراحان جاسازی شده
  • طراحان در سطح سیستم

مراجع
موارد زیر را ببینید web صفحه فهرست کامل و به‌روز از اسناد دستگاه SmartFusion2: http://www.microsemi.com/products/fpga-soc/soc-fpga/sf2docs
اسناد زیر در این راهنمای آزمایشی ذکر شده است.

  • UG0331: راهنمای کاربر زیرسیستم میکروکنترلر SmartFusion2
  • راهنمای کاربر SmartFusion2 System Builder

SmartFusion2 SoC FPGA - سایه کد از SPI Flash به حافظه LPDDR

مقدمه
این طرح نمایشی قابلیت های دستگاه SmartFusion2 SoC FPGA را برای سایه زدن کد از دستگاه حافظه فلش رابط محیطی سریال (SPI) به حافظه دسترسی تصادفی پویا همزمان سنکرون (SDRAM) کم مصرف (LPDDR) و اجرای کد از LPDDR SDRAM نشان می دهد. شکل 1 بلوک دیاگرام سطح بالا را برای سایه زدن کد از دستگاه فلش SPI به حافظه LPDDR نشان می دهد.

شکل 1 نمودار بلوک سطح بالای نسخه ی نمایشی

Microsemi-DG0669-SmartFusion2-Code-Shadowing-from-SPI-Flash-to-LPDDR-Memory-FIG-1

سایه کد یک روش بوت است که برای اجرای یک تصویر از حافظه های خارجی، سریعتر و فرار (DRAM) استفاده می شود. این فرآیند کپی کردن کد از حافظه غیر فرار به حافظه فرار برای اجرا است. زمانی که حافظه غیر فرار مرتبط با یک پردازنده از دسترسی تصادفی به کد برای اجرا در محل پشتیبانی نمی کند، یا حافظه دسترسی تصادفی غیر فرار کافی وجود ندارد، سایه کد مورد نیاز است. در برنامه‌های کاربردی حیاتی، سرعت اجرا را می‌توان با سایه‌گذاری کد بهبود داد، جایی که کد برای اجرای سریع‌تر در RAM با توان بالاتر کپی می‌شود. حافظه های تک نرخ داده (SDR)/DDR SDRAM در برنامه هایی استفاده می شوند که تصویر اجرایی برنامه بزرگی دارند و به کارایی بالاتری نیاز دارند. به طور معمول، تصاویر اجرایی بزرگ در حافظه غیر فرار، مانند فلش NAND یا فلش SPI ذخیره می شوند و در هنگام روشن شدن برای اجرا در حافظه فرار مانند حافظه SDR/DDR SDRAM کپی می شوند. دستگاه های SmartFusion2 نسل چهارم پارچه FPGA مبتنی بر فلش، یک پردازنده ARM® Cortex®-M3 و رابط های ارتباطی با کارایی بالا را روی یک تراشه یکپارچه می کنند. کنترل‌کننده‌های حافظه با سرعت بالا در دستگاه‌های SmartFusion2 برای ارتباط با حافظه‌های خارجی DDR2/DDR3/LPDDR استفاده می‌شوند. حافظه LPDDR را می توان با حداکثر سرعت 166 مگاهرتز کار کرد. پردازنده Cortex-M3 می تواند مستقیماً دستورالعمل ها را از حافظه DDR خارجی از طریق زیرسیستم میکروکنترلر (MSS) DDR (MDDR) اجرا کند. کنترلر حافظه پنهان FPGA و پل MSS DDR جریان داده را برای عملکرد بهتر کنترل می کند.

الزامات طراحی
مطمئن شوید که شرایط سخت افزاری و نرم افزاری زیر را دارید:

سخت افزار و نرم افزار مورد نیاز

جدول 1 الزامات طراحی

الزامات طراحی توضیحات
الزامات سخت افزاری
کیت ارزیابی امنیتی SmartFusion2:

• آداپتور 12 ولت

• FlashPro4

• کابل USB A به Mini – B

Rev D یا بالاتر
میزبان کامپیوتر یا لپ تاپ سیستم عامل ویندوز XP SP2 – سیستم عامل 32/64 بیتی ویندوز 7 – 32/64 بیتی
نرم افزار مورد نیاز
Libero® System-on-Chip (SoC) نسخه 11.7
نرم افزار برنامه نویسی FlashPro نسخه 11.7
SoftConsole نسخه 3.4 SP1*
درایورهای کامپیوتر میزبان درایورهای USB به UART
چارچوبی برای راه اندازی رابط کاربری گرافیکی نسخه ی نمایشی Microsoft .NET Framework 4 Client برای راه اندازی دمو رابط کاربری گرافیکی
توجه: *برای این راهنمای نمایشی، SoftConsole v3.4 SP1 استفاده شده است. برای استفاده از SoftConsole v4.0، به بخش مراجعه کنید TU0546: آموزش SoftConsole v4.0 و Libero SoC v11.7.
  • کیت توسعه SmartFusion2
  • نرم افزار Libero SoC v11.7
  • کابل USB Blaster یا USB Blaster II

طراحی نسخه ی نمایشی
طراحی نسخه ی نمایشی از چند ثانیه استفاده می کندtagروش فرآیند بوت یا روش موتور بوت سخت افزاری برای بارگذاری تصویر برنامه از فلش SPI به حافظه LPDDR. مراحل زیر را دنبال کنید: طراحی files از مسیر زیر در Microsemi برای دانلود در دسترس هستند webسایت: http://soc.microsemi.com/download/rsc/?f=m2s_dg0669_liberov11p7_df

طراحی files عبارتند از:
طراحی نسخه ی نمایشی files عبارتند از:

  • Sampتصاویر برنامه
  • برنامه نویسی files
  • لیبرو
  • رابط کاربری گرافیکی قابل اجرا
  • اسکریپت های پیوند دهنده
  • پیکربندی DDR files
  • Readme.txt file

SmartFusion2 SoC FPGA - سایه کد از SPI Flash به حافظه LPDDR شکل 2 ساختار سطح بالای طراحی را نشان می دهد. fileس برای جزئیات بیشتر، به Readme.txt مراجعه کنید file.

شکل 2 طراحی Files ساختار سطح بالا

Microsemi-DG0669-SmartFusion2-Code-Shadowing-from-SPI-Flash-to-LPDDR-Memory-FIG-2

توضیحات طراحی نسخه ی نمایشی

این طرح نمایشی تکنیک سایه کد را برای بوت کردن تصویر برنامه از حافظه DDR پیاده سازی می کند. این طراحی همچنین رابط میزبان را روی گیرنده/فرستنده ناهمزمان/همزمان جهانی چند حالته SmartFusion2 SoC FPGA (MMUART) برای بارگذاری تصویر اجرایی برنامه مورد نظر در فلش SPI متصل به رابط MSS SPI0 ارائه می‌کند.
سایه زدن کد به دو روش زیر پیاده سازی می شود:

  • چند سtagروش فرآیند بوت با استفاده از پردازنده Cortex-M3
  • روش موتور بوت سخت افزاری با استفاده از پارچه FPGA.

Multi-Stagروش فرآیند بوت

  1. با استفاده از نرم افزار Libero SoC یک تصویر برنامه برای حافظه DDR ایجاد کنید.
  2. بارگیری SPI Flash را با استفاده از نرم افزار Libero SoC در فلش SPI بارگذاری کنید.
  3. کد Shadowing Demo GUI را اجرا کنید تا FPGA را برنامه ریزی کنید و تصویر برنامه را از فلش SPI در حافظه LPDDR بارگذاری کنید.

تصویر برنامه از حافظه های DDR خارجی در دو بوت زیر اجرا می شودtages:

  • پردازنده Cortex-M3 بوت لودر نرم افزاری را از حافظه غیر فرار تعبیه شده (eNVM) بوت می کند که انتقال تصویر کد را از دستگاه فلش SPI به حافظه DDR انجام می دهد.
  • پردازنده Cortex-M3 تصویر برنامه را از حافظه DDR بوت می کند.

این طرح یک برنامه بوت لودر را پیاده سازی می کند تا تصویر اجرایی برنامه مورد نظر را از دستگاه فلش SPI به حافظه DDR برای اجرا بارگذاری کند. برنامه بوت لودر که از eNVM اجرا می شود، پس از کپی شدن تصویر برنامه مورد نظر در حافظه DDR به برنامه هدف ذخیره شده در حافظه DDR می پرد.

شکل 3 کد سایه چند Stagدیاگرام بلوک آزمایشی فرآیند بوت

Microsemi-DG0669-SmartFusion2-Code-Shadowing-from-SPI-Flash-to-LPDDR-Memory-FIG-3

MDDR برای LPDDR پیکربندی شده است تا در 166 مگاهرتز کار کند. "پیوست: تنظیمات LPDDR" در صفحه 22 تنظیمات پیکربندی LPDDR را نشان می دهد. DDR قبل از اجرای کد برنامه اصلی پیکربندی می شود.

بوت لودر

بوت لودر عملیات زیر را انجام می دهد:

  1. کپی کردن تصویر برنامه مورد نظر از حافظه فلش SPI به حافظه DDR.
  2. نگاشت مجدد آدرس شروع حافظه DDR از 0xA0000000 به 0x00000000 با پیکربندی ثبت سیستم DDR_CR.
  3. راه اندازی نشانگر پشته پردازنده Cortex-M3 مطابق با برنامه مورد نظر. اولین مکان جدول برداری برنامه هدف حاوی مقدار نشانگر پشته است. جدول برداری برنامه هدف از آدرس 0x00000000 شروع می شود.
  4. بارگیری شمارنده برنامه (PC) برای بازنشانی کنترلر برنامه هدف برای اجرای تصویر برنامه هدف از حافظه DDR. کنترل کننده بازنشانی برنامه هدف در جدول برداری در آدرس 0x00000004 موجود است.

شکل 4 جریان طراحی برای Multi-Stagروش فرآیند بوت

Microsemi-DG0669-SmartFusion2-Code-Shadowing-from-SPI-Flash-to-LPDDR-Memory-FIG-4

روش موتور بوت سخت افزاری

  1. یک باینری اجرایی تولید کنید file با استفاده از نرم افزار Libero SoC
  2. باینری را بارگذاری کنید file با استفاده از نرم افزار Libero SoC به فلش SPI بروید.
  3. Hardware Boot Engine Design را اجرا کنید تا FPGA را برنامه ریزی کنید و تصویر برنامه را از فلش SPI در حافظه LPDDR بارگذاری کنید.

در این روش، Cortex-M3 مستقیماً تصویر برنامه مورد نظر را از حافظه های DDR خارجی بوت می کند. موتور راه‌اندازی سخت‌افزار، تصویر برنامه را از دستگاه فلش SPI در حافظه DDR کپی می‌کند، قبل از اینکه بازنشانی پردازنده Cortex-M3 را آزاد کند. پس از انتشار ریست، پردازنده Cortex-M3 مستقیماً از حافظه DDR بوت می شود. این روش به زمان بوت آپ کمتری نسبت به چند ثانیه نیاز داردtagفرآیند بوت e زیرا از بوت های متعدد جلوگیری می کندtages و تصویر برنامه را در زمان کمتری در حافظه DDR کپی می کند. این طرح نمایشی منطق موتور بوت را در پارچه FPGA پیاده سازی می کند تا تصویر اجرایی برنامه مورد نظر را از فلش SPI در حافظه DDR برای اجرا کپی کند. این طرح همچنین بارگذار فلش SPI را اجرا می کند که می تواند توسط پردازنده Cortex-M3 برای بارگذاری تصویر اجرایی برنامه مورد نظر در دستگاه فلش SPI با استفاده از رابط میزبان ارائه شده روی SmartFusion2 SoC FPGA MMUART_1 اجرا شود. DIP سوئیچ 1 در کیت ارزیابی امنیتی SmartFusion2 می تواند برای انتخاب برنامه ریزی دستگاه فلش SPI یا اجرای کد از حافظه DDR استفاده شود. اگر برنامه هدف قابل اجرا در دستگاه فلش SPI موجود باشد، سایه کد از دستگاه فلش SPI به حافظه DDR با روشن کردن دستگاه شروع می شود. موتور بوت MDDR را مقداردهی اولیه می کند، تصویر را از دستگاه فلش SPI در حافظه DDR کپی می کند و با تنظیم مجدد پردازنده Cortex-M0 فضای حافظه DDR را به 00000000x3 تغییر می دهد. پس از اینکه موتور بوت، تنظیم مجدد Cortex-M3 را آزاد کرد، Cortex-M3 برنامه مورد نظر را از حافظه DDR اجرا می کند. شکل 5 بلوک دیاگرام دقیق طرح دمو را نشان می دهد. FIC_0 در حالت Slave برای دسترسی به MSS SPI_0 از FPGA فابریک AHB master پیکربندی شده است. رابط MDDR AXI (DDR_FIC) برای دسترسی به حافظه DDR از FPGA فابریک AXI master فعال است.

شکل 5 دیاگرام بلوک آزمایشی موتور بوت سخت افزاری کد سایه

Microsemi-DG0669-SmartFusion2-Code-Shadowing-from-SPI-Flash-to-LPDDR-Memory-FIG-5

موتور بوت
این بخش عمده ای از دموی سایه کد است که تصویر برنامه را از دستگاه فلش SPI به حافظه DDR کپی می کند. موتور بوت عملیات زیر را انجام می دهد:

  1. راه اندازی MDDR برای دسترسی به LPDDR در 166 مگاهرتز با تنظیم مجدد پردازنده Cortex-M3.
  2. کپی کردن تصویر برنامه مورد نظر از دستگاه حافظه فلش SPI به حافظه DDR با استفاده از AXI master در پارچه FPGA از طریق رابط MDDR AXI.
  3. نگاشت مجدد آدرس شروع حافظه DDR از 0xA0000000 به 0x00000000 با نوشتن در رجیستر سیستم DDR_CR.
  4. بازنشانی به پردازنده Cortex-M3 برای بوت شدن از حافظه DDR.

شکل 6 جریان طراحی برای روش موتور بوت سخت افزاری

Microsemi-DG0669-SmartFusion2-Code-Shadowing-from-SPI-Flash-to-LPDDR-Memory-FIG-6

ایجاد تصویر برنامه هدف برای حافظه DDR

برای اجرای دمو، تصویری که بتوان از حافظه DDR اجرا کرد لازم است. از توضیحات پیوند دهنده production-execute-in-place-externalDDR.ld استفاده کنید file که در طرح گنجانده شده است files برای ساخت تصویر برنامه. این توضیح پیوند دهنده file آدرس شروع حافظه DDR را 0x00000000 تعریف می کند زیرا بوت لودر یا موتور بوت نگاشت مجدد حافظه DDR را از 0xA0000000 تا 0x00000000 انجام می دهد. این اسکریپت پیوند دهنده یک تصویر برنامه با دستورالعمل ها، داده ها و بخش های BSS در حافظه ایجاد می کند که آدرس شروع آن 0x00000000 است. یک دیود ساطع نور ساده (LED) چشمک زن، تایمر و تصویر برنامه تولید وقفه مبتنی بر سوئیچ file برای این دمو ارائه شده است.

SPI Flash Loader

بارگذار فلش SPI برای بارگیری حافظه فلش SPI داخلی با تصویر برنامه هدف اجرایی از رایانه میزبان از طریق رابط MMUART_1 پیاده سازی شده است. پردازنده Cortex-M3 یک بافر برای داده هایی که از طریق رابط MMUART_1 می آیند ایجاد می کند و DMA محیطی (PDMA) را برای نوشتن داده های بافر در فلش SPI از طریق MSS_SPI0 راه اندازی می کند.

اجرای نسخه ی نمایشی
برای اجرای طرح دمو، مراحل زیر را دنبال کنید: دمو نحوه بارگذاری تصویر برنامه در فلش SPI و اجرای آن تصویر برنامه از حافظه های DDR خارجی را نشان می دهد. این نسخه ی نمایشی یک نسخه قبلی را ارائه می دهدampتصویر برنامه sample_image_LPDDR.bin. این تصویر پیام های خوش آمدگویی و پیام قطع تایمر را در کنسول سریال نشان می دهد و LED1 تا LED8 را در کیت ارزیابی امنیتی SmartFusion2 چشمک می زند. برای مشاهده پیام های وقفه GPIO در کنسول سریال، کلید SW2 یا SW3 را فشار دهید.

راه اندازی طرح نمایشی

مراحل زیر نحوه تنظیم نسخه نمایشی برد کیت ارزیابی امنیتی SmartFusion2 را شرح می دهد: رایانه میزبان را با استفاده از کابل USB A به mini-B به رابط J18 وصل کنید. درایورهای پل USB به UART به طور خودکار شناسایی می شوند. همانطور که در شکل 7 نشان داده شده است، بررسی کنید که آیا تشخیص در مدیر دستگاه انجام شده است.

  1. اگر درایورهای USB به طور خودکار شناسایی نشدند، درایور USB را نصب کنید.
  2. برای ارتباط ترمینال سریال از طریق کابل FTDI mini USB، درایور FTDI D2XX را نصب کنید. درایورها و راهنمای نصب را از:
    http://www.microsemi.com/soc/documents/CDM_2.08.24_WHQL_Certified.zip.

شکل 7 جریان طراحی برای روش موتور بوت سخت افزاری

Microsemi-DG0669-SmartFusion2-Code-Shadowing-from-SPI-Flash-to-LPDDR-Memory-FIG-7

جامپرهای روی برد SmartFusion2 Security Evaluation Kit را همانطور که در جدول 2 نشان داده شده است وصل کنید.

احتیاط: قبل از ایجاد اتصالات جامپر، کلید منبع تغذیه SW7 را خاموش کنید.

جدول 2 تنظیمات جامپر کیت ارزیابی امنیتی SmartFusion2

جامپر پین (از) پین (به) نظرات
J22 1 2 پیش فرض
J23 1 2 پیش فرض
J24 1 2 پیش فرض
J8 1 2 پیش فرض
J3 1 2 پیش فرض

در کیت ارزیابی امنیتی SmartFusion2، منبع تغذیه را به کانکتور J6 وصل کنید. شکل 8 تنظیمات برد را برای اجرای سایه کد از فلش SPI به نسخه نمایشی LPDDR در کیت ارزیابی امنیتی SmartFusion2 نشان می دهد.

شکل 8 راه اندازی کیت ارزیابی امنیتی SmartFusion2

Microsemi-DG0669-SmartFusion2-Code-Shadowing-from-SPI-Flash-to-LPDDR-Memory-FIG-8

SPI Flash Loader و کد Shadowing Demo GUI
این برای اجرای نسخه نمایشی سایه کد مورد نیاز است. SPI Flash Loader and Code Shadowing Demo Demo GUI یک رابط کاربری گرافیکی ساده است که روی کامپیوتر میزبان برای برنامه ریزی فلش SPI اجرا می شود و نسخه نمایشی سایه کد را روی کیت ارزیابی امنیتی SmartFusion2 اجرا می کند. UART به عنوان پروتکل ارتباطی خط کش بین رایانه میزبان و کیت ارزیابی امنیتی SmartFusion2 استفاده می شود. همچنین بخش کنسول سریال را برای چاپ پیام های اشکال زدایی دریافت شده از برنامه از طریق رابط UART فراهم می کند.

شکل 9 SPI Flash Loader و Code Shadowing Demo Demo GUI

Microsemi-DG0669-SmartFusion2-Code-Shadowing-from-SPI-Flash-to-LPDDR-Memory-FIG-9

رابط کاربری گرافیکی از ویژگی های زیر پشتیبانی می کند:

  • Program SPI Flash: تصویر را برنامه ریزی می کند file به فلش SPI
  • برنامه و کد سایه از SPI Flash به DDR: تصویر را برنامه ریزی می کند file در فلش SPI، آن را در حافظه DDR کپی می کند و تصویر را از حافظه DDR بوت می کند.
  • برنامه و کد سایه از SPI Flash به SDR: تصویر را برنامه ریزی می کند file در فلش SPI، آن را در حافظه SDR کپی می کند و تصویر را از حافظه SDR بوت می کند.
  • کد سایه به DDR: تصویر موجود را کپی می کند file از فلش SPI به حافظه DDR و تصویر را از حافظه DDR بوت می کند.
  • کد سایه به SDR: تصویر موجود را کپی می کند file از فلش SPI به حافظه SDR و تصویر را از حافظه SDR بوت می کند.

برای اطلاعات بیشتر در مورد رابط کاربری گرافیکی، روی Help کلیک کنید.

کیت توسعه SmartFusion2 را با استفاده از کابل USB Blaster یا USB Blaster II به رایانه خود وصل کنید. سپس مراحل زیر را دنبال کنید:

  1. کیت توسعه SmartFusion2 را روشن کنید.
  2. کد Shadowing Demo GUI را در نرم افزار Libero SoC باز کنید.
  3. تنظیمات مناسب برای طراحی خود را انتخاب کنید و برای تولید برنامه روی "Generate" کلیک کنید file.
  4. با استفاده از کابل USB Blaster یا USB Blaster II به کیت توسعه SmartFusion2 متصل شوید.
  5. FPGA را برنامه ریزی کنید و تصویر برنامه را از SPI flash در حافظه LPDDR با کلیک بر روی "برنامه" در کد Shadowing Demo Demo GUI بارگذاری کنید.

اجرای طرح نمایشی برای Multi-Stagروش فرآیند بوت
برای اجرای طراحی نسخه ی نمایشی برای مولتی هاtagروش فرآیند بوت، مراحل زیر را دنبال کنید:

  1. کیت توسعه SmartFusion2 را روشن کنید.
  2. با استفاده از کابل USB Blaster یا USB Blaster II به کیت توسعه SmartFusion2 متصل شوید.
  3. برد را ریست کنید و منتظر بمانید تا فرآیند بوت کامل شود.
  4. برنامه به طور خودکار از حافظه LPDDR اجرا می شود.

مراحل زیر نحوه اجرای طرح دمو برای چند ثانیه را شرح می دهدtagروش فرآیند بوت الکترونیکی:

  1. سوئیچ منبع تغذیه SW7 را به ON تغییر دهید.
  2. دستگاه SmartFusion2 SoC FPGA را با برنامه نویسی برنامه ریزی کنید file در طراحی ارائه شده است files (SF2_CodeShadwing_LPDDR_DF\Programming
    Files\MultiStageBoot_method\CodeShadwing_LPDDR_top.stp با استفاده از نرم افزار طراحی FlashPro.
  3. فایل اجرایی SPI Flash Loader و Code Shadowing Demo GUI را اجرا کنید file موجود در طرح files (SF2_CodeShadowing_LPDDR_DF\GUI Executable\SF2_FlashLoader.exe).
  4. پورت COM مناسب (که درایورهای سریال USB به آن اشاره شده است) را از لیست کشویی COM Port انتخاب کنید.
  5. روی Connect کلیک کنید. پس از برقراری اتصال، Connect به Disconnect تغییر می کند.
  6. برای انتخاب گزینه قبلی، روی Browse کلیک کنیدampتصویر اجرایی را هدف قرار دهید file با طرح ارائه شده است files (SF2_CodeShadowing_LPDDR_DF/Sampتصاویر برنامه/MultiStageBoot_method/sample_image_LPDDR.bin).
    توجه: برای تولید سطل تصویر برنامه file، به «ضمیمه: Generating Executable Bin» مراجعه کنید File” در صفحه 24.
  7. آدرس شروع حافظه فلش SPI را به صورت پیش فرض روی 0x00000000 نگه دارید.
  8. گزینه Program and Code Shadowing from SPI Flash to DDR را انتخاب کنید.
  9. همانطور که در شکل 10 نشان داده شده است روی Start کلیک کنید تا تصویر اجرایی در فلش SPI و سایه کد از حافظه DDR بارگذاری شود.

شکل 10 شروع نسخه ی نمایشی 

Microsemi-DG0669-SmartFusion2-Code-Shadowing-from-SPI-Flash-to-LPDDR-Memory-FIG-10

اگر دستگاه SmartFusion2 با STAPL برنامه ریزی شده باشد file که در آن MDDR برای حافظه DDR پیکربندی نشده است، همانطور که در شکل 11 نشان داده شده است، یک پیام خطا نشان می دهد.

شکل 11 پیام دستگاه یا گزینه اشتباه

Microsemi-DG0669-SmartFusion2-Code-Shadowing-from-SPI-Flash-to-LPDDR-Memory-FIG-11

بخش کنسول سریال در رابط کاربری گرافیکی پیام های اشکال زدایی را نشان می دهد و با پاک کردن موفقیت آمیز فلش SPI برنامه نویسی فلش SPI را شروع می کند. شکل 12 وضعیت نوشتن فلش SPI را نشان می دهد.

شکل 12 بارگیری فلش

Microsemi-DG0669-SmartFusion2-Code-Shadowing-from-SPI-Flash-to-LPDDR-Memory-FIG-12

  1. با برنامه نویسی موفقیت آمیز فلش SPI، بوت لودری که روی SmartFusion2 SoC FPGA اجرا می شود، تصویر برنامه را از فلش SPI در حافظه DDR کپی می کند و تصویر برنامه را بوت می کند. اگر تصویر ارائه شده sample_image_LPDDR.bin انتخاب شده است، کنسول سریال پیام های خوش آمدگویی، پیام های وقفه سوئیچ و وقفه تایمر را همانطور که در شکل 13 و شکل نشان داده شده است نشان می دهد.
  2. یک الگوی LED در حال اجرا در LED1 تا LED8 در کیت ارزیابی امنیتی SmartFusion2 نمایش داده می شود.
  3. سوئیچ های SW2 و SW3 را فشار دهید تا پیام های وقفه را در کنسول سریال ببینید.

شکل 13 اجرای تصویر برنامه هدف از حافظه DDR3

Microsemi-DG0669-SmartFusion2-Code-Shadowing-from-SPI-Flash-to-LPDDR-Memory-FIG-13

شکل 14 تایمر و پیام های وقفه در کنسول سریال

Microsemi-DG0669-SmartFusion2-Code-Shadowing-from-SPI-Flash-to-LPDDR-Memory-FIG-14

اجرای روش طراحی موتور بوت سخت افزاری
برای اجرای طرح نمایشی برای روش موتور بوت سخت افزاری، مراحل زیر را دنبال کنید:

  1. کیت توسعه SmartFusion2 را روشن کنید.
  2. با استفاده از کابل USB Blaster یا USB Blaster II به کیت توسعه SmartFusion2 متصل شوید.
  3. برد را ریست کنید و منتظر بمانید تا فرآیند بوت کامل شود.
  4. برنامه به طور خودکار از حافظه LPDDR اجرا می شود.

مراحل زیر نحوه اجرای طراحی روش موتور بوت سخت افزاری را شرح می دهد:

  1. سوئیچ منبع تغذیه SW7 را به ON تغییر دهید.
  2. دستگاه SmarFusion2 SoC FPGA را با برنامه نویسی برنامه ریزی کنید file در طراحی ارائه شده است files (SF2_CodeShadwing_LPDDR_DF\Programming Files\HWBootEngine_method\CodeShadowing_Fabric.stp با استفاده از نرم افزار طراحی FlashPro.
  3. برای برنامه ریزی SPI Flash سوئیچ DIP SW5-1 را در وضعیت ON قرار دهید. این انتخاب باعث می شود که Cortex-M3 از eNVM بوت شود. SW6 را فشار دهید تا دستگاه SmartFusion2 ریست شود.
  4. فایل اجرایی SPI Flash Loader و Code Shadowing Demo GUI را اجرا کنید file موجود در طرح files (SF2_CodeShadowing_LPDDR_DF\GUI Executable\SF2_FlashLoader.exe).
  5. پورت COM مناسب (که درایورهای سریال USB به آن اشاره شده است) را از لیست کشویی COM Port انتخاب کنید.
  6. روی Connect کلیک کنید. پس از برقراری اتصال، Connect به Disconnect تغییر می کند.
  7. برای انتخاب گزینه قبلی، روی Browse کلیک کنیدampتصویر اجرایی را هدف قرار دهید file با طرح ارائه شده است files (SF2_CodeShadowing_LPDDR_DF/Sampتصاویر برنامه/HWBootEngine_method/sample_image_LPDDR.bin).
    توجه: برای تولید سطل تصویر برنامه file، به «ضمیمه: Generating Executable Bin» مراجعه کنید File” در صفحه 24.
  8. گزینه Hardware Boot Engine را در Code Shadowing Method انتخاب کنید.
  9. از منوی Options گزینه Program SPI Flash را انتخاب کنید.
  10. همانطور که در شکل 15 نشان داده شده است روی Start کلیک کنید تا تصویر اجرایی در فلش SPI بارگذاری شود.

شکل 15 شروع نسخه ی نمایشی

Microsemi-DG0669-SmartFusion2-Code-Shadowing-from-SPI-Flash-to-LPDDR-Memory-FIG-15

همانطور که در شکل 16 نشان داده شده است، بخش کنسول سریال در رابط کاربری گرافیکی، پیام های اشکال زدایی و وضعیت نوشتن فلش SPI را نشان می دهد.
شکل 16 بارگیری فلش

Microsemi-DG0669-SmartFusion2-Code-Shadowing-from-SPI-Flash-to-LPDDR-Memory-FIG-16

  1. پس از برنامه ریزی موفقیت آمیز فلاش SPI، DIP سوئیچ SW5-1 را به حالت OFF تغییر دهید. این انتخاب باعث می شود که پردازنده Cortex-M3 از حافظه DDR بوت شود.
  2. SW6 را فشار دهید تا دستگاه SmartFusion2 ریست شود. موتور بوت تصویر برنامه را از فلش SPI در حافظه DDR کپی می کند و بازنشانی به Cortex-M3 را آزاد می کند، که تصویر برنامه را از حافظه DDR بوت می کند. اگر تصویر ارائه شده “sample_image_LPDDR.bin» روی فلاش SPI بارگذاری می‌شود، کنسول سریال پیام‌های خوش‌آمدگویی، وقفه سوئیچ (فشار SW2 یا SW3) و پیام‌های قطع تایمر را نشان می‌دهد، همانطور که در شکل 17 نشان داده شده است و یک الگوی LED در حال اجرا در LED1 تا LED8 در SmartFusion2 نمایش داده می‌شود. کیت ارزیابی امنیتی

شکل 17 اجرای تصویر برنامه هدف از حافظه DDR3

Microsemi-DG0669-SmartFusion2-Code-Shadowing-from-SPI-Flash-to-LPDDR-Memory-FIG-17

نتیجه گیری
شما با موفقیت از SmartFusion2 SoC FPGA با سایه کد از SPI Flash به حافظه LPDDR استفاده کرده اید. این نسخه نمایشی توانایی دستگاه SmartFusion2 را برای ارتباط با حافظه DDR و اجرای تصویر اجرایی از حافظه DDR با سایه زدن کد از دستگاه حافظه فلش SPI نشان می دهد. . همچنین دو روش اجرای سایه کد در دستگاه SmartFusion2 را نشان می دهد.

پیوست: تنظیمات LPDDR

شکل 18 تنظیمات کلی پیکربندی DDR

Microsemi-DG0669-SmartFusion2-Code-Shadowing-from-SPI-Flash-to-LPDDR-Memory-FIG-18

شکل 19 تنظیمات اولیه سازی حافظه DDR

Microsemi-DG0669-SmartFusion2-Code-Shadowing-from-SPI-Flash-to-LPDDR-Memory-FIG-19

شکل 20 تنظیمات زمان بندی حافظه DDR

Microsemi-DG0669-SmartFusion2-Code-Shadowing-from-SPI-Flash-to-LPDDR-Memory-FIG-20

ضمیمه: Generating Executable Bin File

سطل اجرایی file برای برنامه ریزی فلش SPI برای اجرای نسخه نمایشی سایه کد مورد نیاز است. برای تولید bin اجرایی file از «سample_image_LPDDR” SoftConsole، مراحل زیر را انجام دهید:

  1. پروژه SoftConsole را با اسکریپت پیوند دهنده production-execute-in-place-externalDDR بسازید.
  2. برای مثال، مسیر نصب SoftConsole را اضافه کنیدampلی،
    C:\Microsemi\Libero_v11.7\SoftConsole\Sourcery-G++\bin، به 'Environment Variables'، همانطور که در شکل 21 نشان داده شده است.

شکل 21 افزودن مسیر نصب SoftConsole

Microsemi-DG0669-SmartFusion2-Code-Shadowing-from-SPI-Flash-to-LPDDR-Memory-FIG-21

  1. روی دسته دوبار کلیک کنید file صندوقچه-File-Generator.bat واقع در: SoftConsole/CodeShadowing_LPDDR_MSS_CM3/Sampپوشه le_image_LPDDR، همانطور که در شکل 22 نشان داده شده است.

شکل 22 افزودن مسیر نصب SoftConsole

Microsemi-DG0669-SmartFusion2-Code-Shadowing-from-SPI-Flash-to-LPDDR-Memory-FIG-22

  • صندوق-Fileژنراتور s را ایجاد می کندample_image_LPDDR.bin file

تاریخچه تجدید نظر

جدول زیر تغییرات مهم ایجاد شده در این سند را برای هر ویرایش نشان می دهد.

تجدید نظر تغییرات
تجدید نظر 2

(آوریل 2016)

سند برای انتشار نرم افزار Libero SoC v11.7 (SAR 78258) به روز شد.
تجدید نظر 1

(دسامبر 2015)

انتشار اولیه

پشتیبانی محصول

گروه محصولات Microsemi SoC از محصولات خود با خدمات پشتیبانی مختلف از جمله خدمات مشتری، مرکز پشتیبانی فنی مشتری، پشتیبانی می کند. webسایت، پست الکترونیکی و دفاتر فروش در سراسر جهان. این پیوست حاوی اطلاعاتی در مورد تماس با گروه محصولات Microsemi SoC و استفاده از این خدمات پشتیبانی است.

خدمات مشتری
برای پشتیبانی غیر فنی محصول، مانند قیمت گذاری محصول، ارتقاء محصول، اطلاعات به روز رسانی، وضعیت سفارش و مجوز، با خدمات مشتری تماس بگیرید. از آمریکای شمالی، با شماره 800.262.1060 تماس بگیرید.

مرکز پشتیبانی فنی مشتریان
گروه محصولات Microsemi SoC مرکز پشتیبانی فنی مشتریان خود را با مهندسین بسیار ماهر تشکیل می دهد که می توانند به سوالات سخت افزاری، نرم افزاری و طراحی شما در مورد محصولات Microsemi SoC پاسخ دهند. مرکز پشتیبانی فنی مشتری زمان زیادی را صرف ایجاد یادداشت های برنامه، پاسخ به سؤالات رایج چرخه طراحی، مستندسازی مسائل شناخته شده، و سؤالات متداول مختلف می کند. بنابراین، قبل از تماس با ما، لطفاً از منابع آنلاین ما بازدید کنید. به احتمال زیاد ما قبلا به سوالات شما پاسخ داده ایم.

پشتیبانی فنی
برای پشتیبانی از محصولات Microsemi SoC، مراجعه کنید
http://www.microsemi.com/products/fpga-soc/design-support/fpga-soc-support.

Webسایت
شما می توانید انواع اطلاعات فنی و غیر فنی را در صفحه اصلی Microsemi SoC Products Group، در http://www.microsemi.com/products/fpga-soc/fpga-and-soc.

تماس با پشتیبانی فنی مشتری مرکز
مهندسان بسیار ماهر مرکز پشتیبانی فنی را کار می کنند. با مرکز پشتیبانی فنی می توان از طریق ایمیل یا از طریق گروه محصولات Microsemi SoC تماس گرفت webسایت

ایمیل
شما می توانید سوالات فنی خود را به آدرس ایمیل ما در میان بگذارید و پاسخ ها را از طریق ایمیل، فکس یا تلفن دریافت کنید. همچنین اگر مشکل طراحی دارید می توانید طرح خود را ایمیل کنید fileبرای دریافت کمک. ما دائماً حساب ایمیل را در طول روز نظارت می کنیم. هنگام ارسال درخواست خود برای ما، لطفاً نام کامل، نام شرکت و اطلاعات تماس خود را برای پردازش کارآمد درخواست خود درج کنید. آدرس ایمیل پشتیبانی فنی است soc_tech@microsemi.com.

موارد من
مشتریان Microsemi SoC Products Group می توانند با مراجعه به My Cases موارد فنی را به صورت آنلاین ارسال و پیگیری کنند.

خارج از آمریکا
مشتریانی که در خارج از مناطق زمانی ایالات متحده به کمک نیاز دارند، می توانند از طریق ایمیل با پشتیبانی فنی تماس بگیرند (soc_tech@microsemi.com) یا با یک دفتر فروش محلی تماس بگیرید. برای فهرست های دفتر فروش و تماس های شرکتی، درباره ما دیدن کنید.

پشتیبانی فنی ITAR
برای پشتیبانی فنی در مورد FPGA های RH و RT که توسط مقررات بین المللی ترافیک اسلحه (ITAR) تنظیم می شوند، از طریق ما تماس بگیرید soc_tech@microsemi.com. یا در موارد من، بله را در لیست کشویی ITAR انتخاب کنید. برای لیست کاملی از FPGA های Microsemi تنظیم شده توسط ITAR، از ITAR دیدن کنید web page.Microsemi Corporation (Nasdaq: MSCC) مجموعه ای جامع از راه حل های نیمه هادی و سیستمی را برای بازارهای ارتباطات، دفاع و امنیت، هوافضا و صنعتی ارائه می دهد. محصولات شامل مدارهای مجتمع سیگنال مختلط آنالوگ با کارایی بالا و سخت شده با تشعشع، FPGA، SoC و ASIC هستند. محصولات مدیریت انرژی؛ دستگاه‌های زمان‌بندی و همگام‌سازی و راه‌حل‌های دقیق زمان، تعیین استاندارد جهانی برای زمان؛ دستگاه های پردازش صدا؛ راه حل های RF؛ اجزای گسسته؛ راه حل های ذخیره سازی و ارتباطات سازمانی، فناوری های امنیتی و ضد t مقیاس پذیرampمحصولات er; راه حل های اترنت؛ Powerover- آی سی های اترنت و میانی. و همچنین قابلیت ها و خدمات طراحی سفارشی. دفتر مرکزی Microsemi در Aliso Viejo، کالیفرنیا قرار دارد و تقریباً 4,800 کارمند در سراسر جهان دارد. بیشتر بدانید در www.microsemi.com.

Microsemi هیچ ضمانت، نمایندگی یا تضمینی در رابطه با اطلاعات مندرج در اینجا یا مناسب بودن محصولات و خدمات خود برای اهداف خاص نمی دهد، و همچنین Microsemi هیچ گونه مسئولیتی را که از کاربرد یا استفاده از هر محصول یا مداری ناشی می شود، نمی پذیرد. محصولات فروخته شده در اینجا و سایر محصولات فروخته شده توسط Microsemi تحت آزمایشات محدودی قرار گرفته اند و نباید در ارتباط با تجهیزات یا برنامه های کاربردی حیاتی استفاده شوند. اعتقاد بر این است که هرگونه مشخصات عملکرد قابل اعتماد است اما تأیید نشده است و خریدار باید تمام عملکرد و سایر آزمایشات محصولات را به تنهایی و همراه با یا نصب در هر محصول نهایی انجام دهد و کامل کند. خریدار نباید به داده ها و مشخصات عملکرد یا پارامترهای ارائه شده توسط Microsemi متکی باشد. این مسئولیت خریدار است که به طور مستقل مناسب بودن هر محصول را تعیین کند و آن را آزمایش و تأیید کند. اطلاعات ارائه شده توسط Microsemi در اینجا "همانطور که هست، کجاست" و با تمام ایرادات ارائه شده است و تمام خطرات مربوط به چنین اطلاعاتی کاملاً با خریدار است. Microsemi به هیچ یک از طرفین به طور صریح یا ضمنی هیچ گونه حق ثبت اختراع، مجوز، یا هر گونه حقوق IP دیگر، چه در رابطه با خود چنین اطلاعاتی یا هر چیزی که در آن اطلاعات توضیح داده شده است، اعطا نمی کند. اطلاعات ارائه شده در این سند متعلق به Microsemi است و Microsemi این حق را برای خود محفوظ می دارد که در هر زمان بدون اطلاع قبلی، هرگونه تغییر در اطلاعات این سند یا هر محصول و خدماتی را اعمال کند.

دفتر مرکزی شرکت میکروسمی
One Enterprise, Aliso Viejo, CA 92656 USA

2016 Microsemi Corporation. تمامی حقوق محفوظ است. Microsemi و نشان Microsemi علائم تجاری Microsemi Corporation هستند. سایر علائم تجاری و علائم خدماتی متعلق به صاحبان مربوطه می باشند.

اسناد / منابع

سایه کد Microsemi DG0669 SmartFusion2 از SPI Flash به حافظه LPDDR [pdfراهنمای کاربر
سایه کد DG0669 SmartFusion2 از SPI Flash به حافظه LPDDR، DG0669، SmartFusion2 سایه کد از SPI Flash به حافظه LPDDR، SPI Flash به LPDDR Memory

مراجع

نظر بدهید

آدرس ایمیل شما منتشر نخواهد شد. فیلدهای الزامی مشخص شده اند *