اطلاعیه

Collapse
No announcement yet.

استفاده از فایل به زبان C در SOPC Builder

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    استفاده از فایل به زبان C در SOPC Builder

    من میخوام 1 پروزه با NIOS 2 در sopc builder طراحی کنم که بتونم فایل به زبان c یا assambelly توی اون بذارم

    خواهشا اگه کسی بلده بگه

    خیلی ضروریه ممنون میشم
    اسمم را پدرم انتخواب کرد !
    نام خوانوادگي ام را يکي از اجدادم !
    ديگه بسه راهم را خودم انتخواب خواهم کرد !
    اينم لينک من :
    http://www.eca.ir/forum2/index.php?topic=1721.msg585767#msg585767

    #2
    پاسخ : استفاده از فایل به زبان C در SOPC Builder

    سلام. سوال شما بسیار کلی و مبهمه . اما روند کلی ماجرا در دو خط به ترتیب زیره. شما جزییات کارو بگید تا بیشتر بشه راهنمایی کرد.
    شما اول باید جزئیات سیستمی که مد نظر قرار دارید شامل تمام اجزای سخت افزاری که می خواهید را مشخص کنید،بعد آنها را در در محیط SOPC BUILDER اضافه کنید و سپس آدرس ها ی اجزای مختلف را باید مرتب کنبد و سیستم را genearteکنید .
    سپس نرم افزار Eclipse که باید همراه quartus نصب کرده باشید را اجرا کنید و مسیر پروژه را به نرم افزار بدهید. حالا می توانید بر مبنای سیستم ایجاد شده یک پروژه ایجاد کنید و برنامه C بنویسید و آن را کامپایل و اجرا کنید .
    اگر فقط میخواین که یک sample اجرا کنید بگید تا مراحل را با جزییات بیشتری بگم.

    دیدگاه


      #3
      پاسخ : استفاده از فایل به زبان C در SOPC Builder

      نوشته اصلی توسط saeed_n_m
      سلام. سوال شما بسیار کلی و مبهمه . اما روند کلی ماجرا در دو خط به ترتیب زیره. شما جزییات کارو بگید تا بیشتر بشه راهنمایی کرد.
      شما اول باید جزئیات سیستمی که مد نظر قرار دارید شامل تمام اجزای سخت افزاری که می خواهید را مشخص کنید،بعد آنها را در در محیط SOPC BUILDER اضافه کنید و سپس آدرس ها ی اجزای مختلف را باید مرتب کنبد و سیستم را genearteکنید .
      سپس نرم افزار Eclipse که باید همراه quartus نصب کرده باشید را اجرا کنید و مسیر پروژه را به نرم افزار بدهید. حالا می توانید بر مبنای سیستم ایجاد شده یک پروژه ایجاد کنید و برنامه C بنویسید و آن را کامپایل و اجرا کنید .
      اگر فقط میخواین که یک sample اجرا کنید بگید تا مراحل را با جزییات بیشتری بگم.
      اقا شما خوب توضیح دادید لطفا ادامه بدید تا بتونیم حداقل یک برنامه کوچک رو اجرا کنیم و اگه با مثال این کاری کنید که چه بهتر.

      دیدگاه


        #4
        پاسخ : استفاده از فایل به زبان C در SOPC Builder

        سلام.
        روند اجرای یه مثال ساده را اینجا شرح می دهم. فقط باید بگم که ورژن برنامه quartus من 9.1 است .
        1- یه پروژه quartus ایجاد کنید . من معمولا با چیپ EP3C5E144C8 از خانواده CYCLONE III کار می کنم.
        2- سپس از منوی TOOLS و یا از روی نوار ابزار روی SOPC BUILDER کلیک کنید. یه محیط جدید باز می شه که اول یه اسم برای سیستم می پرسه که باید وارد کنید .
        3- حالا باید با توجه به نوع پروژه ، اجزای مختلف سیستم را انتخاب کنیم . در اینجا فرض من بر این است که می خوایم یه مینیمم سیستم بر مبنای NIOS II داشته باشیم.
        4- ابتدا از قسمت PROCESSORS یه پروسسور NIOS II اضافه می کنیم یعنی یا روی آن دابل کلیک کرده و یا دکمه ADD را می زنیم.
        5- یه پنجره واسه تنظیمات پروسسور باز می شه ، در اینجا NIOS II/e را انتخاب می کنیم و دکمه FINISH را می زنیم.
        در مورد انواع NIOS II جای دیگه ای صحبت کنیم، اینجا از بحث منحرف می شیم.
        6- سپس از قسمت MEMORIES AND MEMORY CONTROLLER و سپس از قسمت ONCHIP روی ON CHIP MEMORY دابل کلیک می کنیم و در قسمت TOTAL MEMORY SIZE مقدار 10240 را انتخاب کرده و دکمه FINISH را می زنیم.
        7- سپس از قسمت INTERFACE PROTOCOL و سپس از قسمت SERIAL ، روی JTAG UART دابل کلیک کرده و FINISH را بزنید.
        8 - حالا از قسمت PERIPHERALS و سپس از قسمت DEBUG AND PERFORMANCE روی SYSTEM ID PERIPHERAL دابل کلیک کرده و FINISH را بزنید.
        9- حالا بر روی sysid_0 که در مرحله قبلی ایجاد کردید ، راست کلیک کرده و اسم آن را به sysid تغییر دهید. این یه باگه نرم افزاریه که این کامپوننت با اسم پیش فرضش کار نمی کنه.
        10 - اجزای سیستم آمادس ، باید یه خورده تنظیمات انجام بدیم . روی پروسسور اضافه شده یعنی cpu_0 دابل کلیک کرده ، در پنجره باز شده در دو قسمت RESET VECTOR و EXCEPTION VECTOR ، باید ONCHIP MEMORY ای که ایجاد کرده اید را انتخاب کرده و FINISH را بزنید .
        11- حالا از منوی system روی AUTO ASIGN BASE ADDRESSES کلیک کنید ، با این کار آدرس اجزای مختلف سیستم مرتب می شود.
        در اینجا سیستم شما آمادس ، فقط باید generate را بزنید و با موفقیت سیستم را ایجاد کنید. در اینجا به نیمه راه رسیدیم. بقیه راه در پست بعدی ...

        دیدگاه


          #5
          پاسخ : استفاده از فایل به زبان C در SOPC Builder

          .....
          بعد ار اینکه سیستم را با موفقیت ایجاد کردید ، قسمت SOPC BUILDER را ببندید و به QUARTUS باز گردید. ادامه راه به این ترتیبه :
          1- یک فایل شماتیک ایجاد کنید و سیستم ساخته شده خود را مثل یک کامپوننت از طریق symbol tool و از قسمت project بیابید و به فایل شماتیک اضافه کنید.
          2- سپس باید برای پین CLOCK یک پورت ورودی در نظر بگیرید که کلاک سیستم از این طریق تامین بشه ، در ضمن یه VCC هم به پین reset_n وصل کنید . بعدا می تونید از این پین برای ریست سیستم استفاده کنید اما فعلا اینجوری بهتره.
          3- حالا پروژه را کامپایل کنید .
          4- در این قسمت برنامه NIOS II را اجرا کنید . در ابتدای برنامه مسیر فولدر پروژه را بهش بدهید.
          5- سپس از منوی file قسمت new و سپس روی nios ii application and bsp from template کلیک بکنید.
          6- حالا در پنجره ایجاد شده ، در قسمت SOPC INFORMATION FILE NAME فایل سیستم ایجاد شده در فولدر پروژه را انتخاب کنید ، اگر مراحل ساخت سیستم درست باشد در قسمت CPU NAME پروسسور شما را اتوماتیک می شناسد .
          7- سپس در قسمت PROJECT NAME یه اسم انتخاب کنید . و از قسمت TEMPLATES ، قسمت HELLO WORLD را انتخاب کنید . بعد FINISH را بزنید.
          8- من فرض می کنم اسم مرحله قبل را test گذاشتید. حالا در قسمت سفید سمت چپ برنامه دو فولدر تحت عنوان test و test_bsp قرار دارد. روی test_bsp کلیک راست کنید ، از قسمت NIOSII قسمت bsp editor را انتخاب کنید تا پنجره جدیدی باز شود .
          9- از قسمت setting و سپس قسمت common را انتخاب کنید . حالا مربع روبروی گزینه های enables_reduced_device_drivers و enable_small_c_library را تیک بزنید.
          10- از قسمت setting ، قسمت advanced را انتخاب کنید . سپس تیک گزینه enable_c_plus_plus را بردارید. و سپس دکمه generate که در گوشه پایین سمت راست قرار دارد را کلیک کنید .
          11- حالا از قسمت test که در قسمت سفید رنگ سمت چپ برنامه nios ii قرار دارد ، روی hello_world.c دابل کلیک کنید . این یه برنامه نمونه به زبان C است که می توانید مشاهده کنید .
          12- حالا از منوی project روی BUILD ALL کلیک کنید ، اگر مراحل را با موفقیت پشت سر گذاشته باشید ، برنامه به زبان C کامپایل شده و آماده اجرا روی FPGA است.

          دیدگاه


            #6
            پاسخ : استفاده از فایل به زبان C در SOPC Builder

            ....
            یه چند تا نکته :
            اسم مسیر پروژتون حتما باید فاقد جای خالی باشد وگرنه برنامه nios ii درست پروژه ایجاد نمی کند. مثلا DESKTOP را نباید انتخاب کنید.
            خودم می دونم که مسیر یه خورده در نگاه اول پیچیده و طولانی به نظر می رسه اما از این مطمئن باشین که این مسیرو بارها طی کردم و واقعا درسته .
            البته با توجه به کار پیچیده ای که دارین انجام می دین اگر یه خورده فکر کنین می بینین که واقعا لازمه که این مسیر طی بشه.

            باید عذر خواهی کنم که نتونستم به علت کمبود وقت یه آموزش تصویری درست کنم . امیدوارم که در اولین فرصت اگر دوستان استقبال کنن این کارو بکنیم. اگه کسی سوالی داشت و یا اشکالی مواجه شد بگه اگه تونستم با اطلاعات خیلی کمی که دارم سعی می کنم جواب بدم. شاید هم به علت عجله چیزی را جا انداخته باشم که اگه مواجه شدین بگین تا اصلاح کنم.

            اگه کسی این مراحل را طی کرد ، بگه تا نحوه اجرای این پروژه NIOS II را روی FPGA هم توضیح بدهم.

            دیدگاه


              #7
              پاسخ : استفاده از فایل به زبان C در SOPC Builder

              اقا واقعا دستت درد نکنه .
              خواهش میکنم که باز هم ادامه بدید و منتظر دوستان نشید چون بلاخره یک موقع یکی سر همین گیر میکنه و اینجا هم یه تکونی می خیره .

              دیدگاه


                #8
                پاسخ : استفاده از فایل به زبان C در SOPC Builder

                نوشته اصلی توسط مهدی کربلایی
                اقا واقعا دستت درد نکنه .
                خواهش میکنم که باز هم ادامه بدید و منتظر دوستان نشید چون بلاخره یک موقع یکی سر همین گیر میکنه و اینجا هم یه تکونی می خیره .
                خواهش می کنم . پس برای این که روند کار تکمیل بشه ، حالا روند اجرای برنامه C رو می گم:
                1- اول در محیط quartus ، فایل sof پروژه را پروگرام کنید .
                2- حالا در برنامه ECLIPSE از منوی RUN قسمت RUN CONFIGURATIONS را انتخاب می کنیم.
                3- در قسمت سفید رنگ سمت چپ پنجره جدید ، روی NIOS II HARDWARE دابل کلیلک می کنیم تا configuration جدیدی اضافه شود .
                4- حالا در configuration جدید ، بر روی تب TARGET CONNECTION می رویم . در اینجا روی دکمه refresh کلیک می کنیم تا پروسسور پروگرام شده را بشناسد .
                5- سپس به تب PROJECT می رویم و در قسمت PROJECT NAME اسم پروژه ای که در eclipse ساخته ایم را انتخاب می کنیم .
                6- اگر در قسمت های قبل این پروژه درست و بدون خطا کامپایل شده باشد ، اتوماتیک قسمت elf file name پر می شود .
                7- حالا در آخرین قدم روی دکمه RUN در گوشه پایین سمت راست کلیک می کنیم تا برنامه اجرا شود .
                در اینجا برنامه ما یک مثال ساده است که بعد از تمام این مراحل در کنسول ECLIPSE می نوسید : HELLO FROM NIOS II و تمام.

                امیدوارم که این آموزش مختصر به درد کسی بخوره و شروعی باشه واسه اینکه با SOFT PROCESSOR های استاندارد بیشتر کار کنیم .

                موفق باشید.

                دیدگاه


                  #9
                  پاسخ : استفاده از فایل به زبان C در SOPC Builder

                  اقا سعید دمت گرم که گل کاشتی . حیف که الان بردی که روش nios کار کنم ندارم . ولی شما تو چند تا پست ما رو حداقل به اندازه 6 ماه جلو انداختی . لطفا اگر که وقت کردید این اموزش رو به صورت تصویری در اورید تا خیلی ملموس تر باشه . باز هم متشکرم .

                  دیدگاه


                    #10
                    پاسخ : استفاده از فایل به زبان C در SOPC Builder

                    خواهش می کنم آقای کربلایی. خوشحالم که کار خیلی کوچک من به کار شما اومده. به خاطر این روحیه عالی شما هم که شده طی چند روز آینده یه آموزش تصویری هم براش درست می کنم تا به قول شما ملموس تر بشه و به کار بقیه هم بیاد.
                    فقط یه سوال : چون شما خیلی اینجا با تجربه ترید می خواستم بپرسم به نظر شما آموزش تصویری رو تو یه فایل pdf درست کنم و یه جا پلود کنم و لینکشو اینجا بذارم یا همین جا تو یه چند تا پست بذارم؟

                    دیدگاه


                      #11
                      پاسخ : استفاده از فایل به زبان C در SOPC Builder

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

                      راستی ببخشید یه سوال : اقا شما فقط روی altera کار کردید یا اینکه با xilinx هم کار کرده اید .

                      دیدگاه


                        #12
                        پاسخ : استفاده از فایل به زبان C در SOPC Builder

                        اول عذر می خوام که دیر به دیر جواب میدم.
                        - من فقط با چیپ های ALTERA کار کردم .
                        - چون قول داده بودم ، آموزش تصویری ایجاد یه سیستم رو درست کردم . فقط چون فکر کردم شاید اسم این تاپیک خیلی گویا نباشه ، یه تاپیکه جدید درست کردم اینجا:
                        http://www.eca.ir/forum2/index.php?topic=72584.0

                        - ایجاد یه سیستم ساده بدون دونستن خیلی چیزا یکی از موثرترین راه های شروع آموزش می تونه باشه . اما واسه ادامه دیگه نمی شه اینجوری پیش رفت چون باید یه سری مباحث پایه ای را طرف بلد باشه تا بتونه کارشو پیش ببره. حالا اگه پایه بودین می تونیم یه سری مباحث پایه ای در نظر بگیریم که اونارو مطرح کنیم که شامل کلیاتی در مورد SOPC BUILDER و NIOS II و همچنین نحوه ارتباط کامپوننت های مختلف و باس AVALON می شه بعد می تونیم یه سری مسائل کاربردی مثل اضافه کردن ورودی و خروجی به سیستم ، تایمر ، اینتراپت ، UART ، FIFO و خیلی چیزای دیگه هم برنامه ریزی بکنیم که تو آموزش ها بگنجونیم.
                        واسه سخت افزار هم فکر کنم باید یه کارایی کرد . آقای حمید نجفی در مورد ساخت سخت افزار برمبنای چیپ های xilinx واقعا اطلاعات خوبی تو فروم گذاشتن. فکر می کنم واسه چیپ های ALTERA هم باید یه کارایی بکنیم. من خودم با چیپ CYCLONE II برد زدم . تو اون زمینه هم اگه کاری از دستم بر بیاد می تونم کمک کنم. اما بحث اینه که دوستان هم ، در روند این کارا فیدبک بدن که آدم بدونه تو این بی وقتی واسه دل خودش این چیزا رو نمی گه و همچنین چون کارا خیلی زیاده بتونیم یه تقسیم کاری هم بکنیم. حالا اگه کسی نظری ، راهکاری ، پیشنهادی و یا کمکی می تونه بکنه ، بگه که یه کار خوبی رو پیش ببریم.

                        موفق باشید.

                        دیدگاه

                        لطفا صبر کنید...
                        X