ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






جهت تبلیغ در وب سایت ECA کلیک کنید.

کاربران برچسب زده شده

نمایش نتایج: از 1 به 4 از 4
  1. #1
    2008/04/30
    33
    0

    دسترسی به اس دی رم ، بوردDE2

    سلام
    کسی از دوستان با بورد DE2 کار کرده ، یا از قابلیت NiosII استفاده کرده؟؟؟
    من میخوام به تک تک آدرسهای SDRAM روی بورد DE2 دسترسی پیدا کنم ( با استفاده از NiosII) کسی میتونه راهنمایی کنه؟؟؟ ممنون میشم.
  2. #2
    2011/05/12
    366
    9

    پاسخ : دسترسی به اس دی رم ، بوردDE2

    نقل قول نوشته اصلی توسط mr_magic
    سلام
    کسی از دوستان با بورد DE2 کار کرده ، یا از قابلیت NiosII استفاده کرده؟؟؟
    من میخوام به تک تک آدرسهای SDRAM روی بورد DE2 دسترسی پیدا کنم ( با استفاده از NiosII) کسی میتونه راهنمایی کنه؟؟؟ ممنون میشم.
    سلام،
    وقتی که NIOS-II رو میسازید، برای بخش حافظش باید SDRAM رو انتخاب کنید، اما قبلش باید Core برای SDRAM اضافه کرده باشید و تنظیمش هم کرده باشید.
    روی بردها معمولا هیشه یک نوع SDRAM نسب نمیشه و ممکنه با دیتاشیت کمی متفاوت باشه، اول از این مطمئن بشید. بعد از ساخت و سنتز کامل NIOS اون آدرسهایی که به صورت خودکار به SDRAM داده شده. وقتی NIOS بالا اومد شما نمیتوید مثل یک رم معمولی با SDRAM کار کنید، باید با Pointer در C++ کار کنید تا دقیقا به هر آدرس Physical دست رسی داشته باشید، اونم وقتی ممکنه که از OS استفاده نمیکیند که فکر نکنم کار شما با OS باشه.
    کاری که من کردم از حافظه M4K خود چیپ برای NIOS-II استفاده کردم که خیلی سریعتره و درایور SDRAM رو جدا از OPENCORES.ORG گرفتم و تغییرش دادم برای DE-1 چون من روی اون کار میکردم، بعد دو تا آدرس برای NIOS-II تعریف کردم که درصورتی که آدرس NIOS یکی از اون دو آدرس بشه به داده و آدرس رم و کنترل رجیستر های درایورش دسترسی داشته باشم، برای این کار باید در زمان ساخت NIOS-II یک پور IO تعریف کنید که کاملا تنظیماتش سلیقه ای هست.

    موفق باشید.
    اسمایل، تومورو ویل بی وُرس
  3. #3
    2008/04/30
    33
    0

    پاسخ : دسترسی به اس دی رم ، بوردDE2

    سلام، مرسی ار پاسختون.
    منظورتون رو از "Core برای SDRAM اضافه کرده باشید و تنظیمش هم کرده باشید" نفهمیدم.
    من SDRAM رو در قسمت SOPC اضافه کردم و آدرسی بیسی هم که بهش اختصاص داده شده 0x00800000 هست.
    میخوام به مقدار تک تک آدرسهای SDRAM دسترسی پیدا کنم، برنامه زیر برنامه C من هست که از دو روش استفاده کردم. هر دو روش جواب شبیه هم میده ولی غلط !!!
    سعی کردم Flash رو هم بخونم ولی بازم جواب درستی نگرفتم.

    #include<stdio.h>
    #include"io.h"
    #define BASE_SDRAM 0x00800000
    #define basic_Addr (int *) 0x00800000
    void main(){
    int Val;
    Val=IORD(BASE_SDRAM, 6000); // Method 1
    printf("%d",Val);
    Val=*(basic_Addr+6000); // method 2
    printf("%d",Val)
  4. #4
    2011/05/12
    366
    9

    پاسخ : دسترسی به اس دی رم ، بوردDE2

    نقل قول نوشته اصلی توسط mr_magic
    سلام، مرسی ار پاسختون.
    منظورتون رو از "Core برای SDRAM اضافه کرده باشید و تنظیمش هم کرده باشید" نفهمیدم.
    من SDRAM رو در قسمت SOPC اضافه کردم و آدرسی بیسی هم که بهش اختصاص داده شده 0x00800000 هست.
    میخوام به مقدار تک تک آدرسهای SDRAM دسترسی پیدا کنم، برنامه زیر برنامه C من هست که از دو روش استفاده کردم. هر دو روش جواب شبیه هم میده ولی غلط !!!
    سعی کردم Flash رو هم بخونم ولی بازم جواب درستی نگرفتم.

    #include<stdio.h>
    #include"io.h"
    #define BASE_SDRAM 0x00800000
    #define basic_Addr (int *) 0x00800000
    void main(){
    int Val;
    Val=IORD(BASE_SDRAM, 6000); // Method 1
    printf("%d",Val);
    Val=*(basic_Addr+6000); // method 2
    printf("%d",Val)
    همون بخشی که در SOPC قسمت SDRAM رو اضافه میکنین، همون IP CORE برای SDRAM هستش که اضافه میشه.
    در بخش C هم به این صورته:
    #define DATA_PORT_OUT (int*)0x1009020
    #define DATA_PORT_IN (int*)0x1009030
    #define ADDRESS_PORT_OUT (int*)0x1009040

    #define MM_SEVEN_SEG 1
    #define MM_SDRAM_ADDRESS 2
    #define MM_SDRAM_DATA 3
    #define MM_SDRAM_COMMAND 4
    #define MM_FLASH_ADDRESS_MSB 5
    #define MM_FLASH_ADDRESS_LSB 6
    #define MM_FLASH_DATA 7
    #define MM_FLASH_COMMAND 8


    void MM_Write(int Address, int Data)
    {
    int* PORT;
    PORT = ADDRESS_PORT_OUT;
    *PORT = 0xFFFF;
    PORT = DATA_PORT_OUT;
    *PORT = Data;
    PORT = ADDRESS_PORT_OUT;
    *PORT = Address;
    return;
    }

    int MM_Read(int Address)
    {
    int* PORT;
    PORT = ADDRESS_PORT_OUT;
    *PORT = Address;
    PORT = DATA_PORT_IN;
    return(*PORT);
    }

    void SDRAM_Write(int Address, int Data)
    {
    MM_Write(MM_SDRAM_ADDRESS, Address);
    MM_Write(MM_SDRAM_DATA, Data);
    MM_Write(MM_SDRAM_COMMAND, 0x0000);
    MM_Write(MM_SDRAM_COMMAND, 0x0001);
    }

    int SDRAM_Read(int Address)
    {
    MM_Write(MM_SDRAM_ADDRESS, Address);
    return MM_Read(MM_SDRAM_DATA);
    }


    در کد بالا من IP CORE جدا برای SDRAM گذاشتم و اصلا NIOS اون رو نمیبینه، خود NIOS از رمهای داخلی استفاده میکنه که فکر کنم برای این کد 16 کیلوبایتی براش گذاشته بودم، یک MEMORY MAP هم تعریف کردم که از طریق اون با هر بلاکی که در VHDL کد زده بودم، ارتباط برقرار میکردم، یعنی هر بلاک یک آدرس فیزیکی و دیتا داره که از طریق این MEMORY MAP تنظیم میشن.
    اسمایل، تومورو ویل بی وُرس
نمایش نتایج: از 1 به 4 از 4

موضوعات مشابه

  1. ظبط صدا روی ISD4004 با قابلیت دسترسی به هر صدا
    توسط hamedhamidi در انجمن میکروکنترلرهای AVR
    پاسخ: 4
    آخرين نوشته: 2012/03/19, 14:40
  2. دسترسی به آدرس فایلها در c
    توسط microjo در انجمن برنامه نويسي و اينترفيس
    پاسخ: 4
    آخرين نوشته: 2012/01/08, 20:57
  3. stm32F103 دسترسی به io
    توسط puya_ms در انجمن STM
    پاسخ: 1
    آخرين نوشته: 2010/12/01, 17:10
  4. دسترسی به برنامه راه انداز
    توسط kianush در انجمن PLC
    پاسخ: 0
    آخرين نوشته: 2010/07/19, 10:03
  5. سرعت دسترسی به رم
    توسط shahinbahari در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2010/03/06, 10:18

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •