اطلاعیه

Collapse
No announcement yet.

ARM و ucLinux ؟

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

    #16
    پاسخ : ARM و ucLinux ؟

    سلام
    ممکنه اینارو دقیقا توضیح بدید:اخه اطلاعات همه در سطح شما نیست(شرمنده اگه سوالا مبتدیانس :redface
    الان این لینوکس که پورت میشه روی ارم سورس کده که ما کامپایلش میکنیم؟
    چه جوری اونو روی هر ارمی که بخوایم پورت میکنیم ؟ یعنی چه جوری لینوکس میفهمه که الان این میکرو چه سخت افزاری داره و چه جوری باهاش کار کنه؟
    حالا که پورت شد روی آرم ما چه جوری باهاش ارتباط برقرار میکنیم مثلا مثل کامپیوتر با کیبورد ؟
    آیا امکان داره که هر قسمتی رو که نیاز نداریم از کار بندازیم تا کامپایل نشه و حجم کد و رم مورد نیاز کم بشه؟
    ممنون

    [glow=black,2,300]بردی جالب با سیستم عاملی جالب !!![/glow]

    دیدگاه


      #17
      پاسخ : ARM و ucLinux ؟

      نوشته اصلی توسط abbasmh
      چه جوری اونو روی هر ارمی که بخوایم پورت میکنیم ؟ یعنی چه جوری لینوکس میفهمه که الان این میکرو چه سخت افزاری داره و چه جوری باهاش کار کنه؟
      حالا که پورت شد روی آرم ما چه جوری باهاش ارتباط برقرار میکنیم مثلا مثل کامپیوتر با کیبورد ؟
      آیا امکان داره که هر قسمتی رو که نیاز نداریم از کار بندازیم تا کامپایل نشه و حجم کد و رم مورد نیاز کم بشه؟
      ممنون
      خوشبختانه توسعهآ‌دهندگان برای تنظیم هستهٔ لینوکس واسطآ‌های گرافیکی و متنی برای کاربر طراحی کردن که شما به زیبایی میتونید تنظیماتی رو که مد نظرتون هست روی هسته لینوکس (و چیزهای دیگه البته) انجام بدید.
      این تنظیمات شامل نوع پردازنده ، درایور دستگاهها ، شبکه ، اطلاعات برای دیباگ و خیلی خیلی خیلی چیز دیگه هست.

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

      بحث در این مورد خیلی مفصله ..
      کتابی بنام linux kernel in nutshell از انتشارات O'REILLY هم در مورد پیکرهآ‌بندی و کامپایل لینوکس راهنمای خوبی میتونه باشه. میتونید از اینجا دانلود کنید.
      و تجربهٔ عملی اینکار هم خیلی لذت بخشه

      http://en.wikipedia.org/wiki/Menuconfig

      چگونه هوشمندانه بپرسیم

      دیدگاه


        #18
        پاسخ : ARM و ucLinux ؟

        کد:
         mkdir -p /home/mohsen/Desktop/lpc-2478-uclinux/uClinux-dist-lpc_2478_stk/images
        genromfs -v -V "ROMdisk" -f /home/mohsen/Desktop/lpc-2478-uclinux/uClinux-dist-lpc_2478_stk/images/romfs_5.img -d /home/mohsen/Desktop/lpc-2478-uclinux/uClinux-dist-lpc_2478_stk/romfs
        /bin/sh: genromfs: command not found
        make[2]: *** [image] Error 127
        make[2]: Leaving directory `/home/mohsen/Desktop/lpc-2478-uclinux/uClinux-dist-lpc_2478_stk/vendors/NXP/LPC2468'
        make[1]: *** [image] Error 2
        make[1]: Leaving directory `/home/mohsen/Desktop/lpc-2478-uclinux/uClinux-dist-lpc_2478_stk/vendors'
        make: *** [image] Error 2

        جناب آقای احمدیان یا آقای رستمی من در کامپایل میکرو لینوکس دقیقا آخرش در فرمان genromfs مشکل دارم که نمیشناسه چی کم دارم ؟
        محسن

        دیدگاه


          #19
          پاسخ : ARM و ucLinux ؟

          نوشته اصلی توسط mhhami
          جناب آقای احمدیان یا آقای رستمی من در کامپایل میکرو لینوکس دقیقا آخرش در فرمان genromfs مشکل دارم که نمیشناسه چی کم دارم ؟
          اینکه خیلی واضحه، وقتی ترمینال به شما همچین پیغامی میده :
          کد:
          /bin/sh: genromfs: command not found


          یعنی باید اینو نصب کنید :
          http://romfs.sourceforge.net

          در یک توزیع Debian Based براحتی نوشتن یک خط در ترمینال نصب میآ‌شود :
          کد:
          # apt-get install genromfs
          چگونه هوشمندانه بپرسیم

          دیدگاه


            #20
            پاسخ : ARM و ucLinux ؟

            یه سوال ابتدایی :mrgreen: چجوری میشه یه سیستم کامل برای ARM طراحی کرد که بشه یا سیستم عامل رو روش پیاده کرد؟ مثلا شامل حافظه و صفحه ی نمیشگر LCD و... باشه.(یه چیزی شبیه همین mini2440)یه خط یکی بده من تا آخر میرم خودم فقط استارت کجاست :mrgreen: :agree: باید هر بخش رو جدا گانه طراحی کرد؟مثلا نمایش روی LCDو...
            فقط ARM ها رو میشه واسشون سیستم عامل زیخت یا هر پردازنده ای رو میشه
            ببخشید هرچی pdf و منبع می خوام واسه ARM بگیرم لینکش یا مشکل داره یا فقط گفته ارتباط سریال وspi وCan وPWM و... داره! oo: (یه چیزی در حد avr!!!) oo:
            Gracias A La Vida
            [glow=red,2,300]ساخت فرز CNC[/glow]
            http://www.eca.ir/forum2/index.php?topic=56308.0
            http://up9.iranblog.com/images/4xd21f8vemt8g46011fx.jpg
            زمین سفت است و آب شلست و هوا نرم است و همه چیز عالیست در این حوالی...

            دیدگاه


              #21
              پاسخ : ARM و ucLinux ؟


              سلام
              برای شروع میتونی از لینک زیر استفاده کنی
              http://www.at91.com/linux4sam/bin/vi...GettingStarted
              موفق باشی


              دیدگاه


                #22
                پاسخ : ARM و ucLinux ؟

                نوشته اصلی توسط ahmadyan
                دستور پخت ucLinux برای ARM!
                مواد لازم: لینوکس! یک عدد
                ARM: یک عدد میکروپروسسور ( برای میکروکنترلرها بعدا صحبت خواهیم کرد. )

                کراس کمپایلر برای آرم. یک عدد که می تونید از اینجا دانلودش کنید. http://www.uclinux.org/pub/uClinux/arm-elf-tools/
                /

                غیر از این کراس کمپایلرهای دیگری هم هستند.
                از این هم می تونید استفاده کنید: http://opensrc.sec.samsung.com/download/arm-elf-tools-20040427.sh
                از قبل کمپایل و آماده شده. فقط نصبش کنید.

                من قبلا یک بار از این برای کار با simplescalar-arm استفاده کرده بودم:
                http://www.eecs.umich.edu/~taustin/simplescalar
                و سه فایل binutils-2.10.tar.gz
                gcc-2.95.2.tar.gz
                glibc-2.1.3-armlinux.tar.gz
                رو دانلود کنید. الان که چک کردم ظاهرا آقای آستین این فایل ها رو برداشته. اگر کسی می خواد اینها رو یه پست بزنه که من یه جای دیگه پلودشون کنم.

                ucLinux یک عدد که می تونید از اینجا دانلود کنید:http://www.uclinux.org/pub/uClinux/uClinux-2.6.x
                برای کمپایل binutil

                کد:
                  cd binutils-2.10
                  ./configure --target=arm-linux --prefix=<CROSSDIR>
                  make
                  make install
                  cd ..

                برای کمپایل کراس کمپایلر:


                کد:
                  cd gcc-2.95.2
                  ./configure --target=arm-linux --prefix=<CROSSDIR>
                  make LANGUAGES=c
                  make LANGUAGES=c install
                  cd ..
                خوب. تا اینجا شما یک کمپایلر استاندارد دارید که می تونه فایل های C رو برای ARM کمپایل کنه. برای استفاده از کمپایلر gcc از دستور زیر میشه استفاده کرد:


                کد:
                arm-linux-gcc
                سایر برنامه ها مثل arm-linux-gcc و arm-linux-ld و ... هم هستند.
                * اگر برای کسی جالبه من SPEC CPU2006 و MiBench رو برای آرم کمپایل کردم.

                :nerd:** اگر حوصله ساختنش رو خودتون ندارید می تونید از اینجا دانلودشون کنید:
                http://www.gnuarm.com/
                برای کمپایل ucLinux ( این روشی بود که من برای کمپایلش روی OpenRISC 1200 استفاده کرده بودم. علی القاعده نباید با ARM متفاوت باشه ولی من هنوز تستش نکردم )
                همه جا or32-uclinux رو با arm-linux جابجا کنید.

                کد:
                cp -f -dR $LINUX_VER/include/linux/* tools/or32-uclinux/include/linux
                cp -f -dR $LINUX_VER/include/asm-or32/* tools/or32-uclinux/include/asm
                
                cd $BUILD_TOP/tools/or32-uclinux
                ln -s include sys-include
                cd $BUILD_TOP
                cd $GCC_VER
                bzip2 -dc ../$GCC_VER.or32patch.bz2 |patch -p1
                cd $BUILD_TOP
                cd b-gcc
                ../$GCC_VER/configure --target=or32-uclinux --prefix=$BUILD_TOP/tools/or32-uclinux --with-local-prefix=$BUILD_TOP/tools/or32-uclinux/or32-uclinux --with-gnu-as --with-gnu-ld --disable-libssp --enable-languages=c
                make all install
                
                cd $BUILD_TOP
                cd $LINUX_VER
                make vmlinux ARCH=or32 CROSS_COMPILE=$BUILD_TOP/tools/or32-uclinux/bin/or32-uclinux-

                در نهایت شما یک تصویر بوت از ucLinux خواهید داشت.

                ------------------------------------
                خب. تا حالا حتما سردرد گرفتید. ها!
                بعد از کمی گوگل گردی من دیدم که ظاهرا سامسونگ خیلی مرام گذاشته و این کارها رو قبلا انجام داده!
                نتایج اون رو هم گذاشته اینجا: http://opensrc.sec.samsung.com
                حتما یک نگاه به قسمت دانلودش بندازید.
                :arrow: :arrow:راهنمای استفاده رو هم اینجا گذاشته:http://opensrc.sec.samsung.com/document/Getting_Familiar_with_uClinuxARM2_6.html
                توضیحاتش کامله و شامل گرفتن، پچ و کمپایل ucLinux میشه. این رو حتما بخونید.
                و البته خود آرم هم یک راهنما رو گذاشته اینجا:http://www.arm.com/linux/ARM-Linux-Notes.pdf

                به طور خلاصه اینها هم کراس کمپایلر دارند و هم ucLinux آماده.
                اما!

                آخر سر اومده یک دستورcat /proc/meminfo زده که نتایج جالبی داره.


                کد:
                MemTotal: 2516 kB 
                MemFree: 560 kB 
                Buffers: 900 kB 
                Cached: 188 kB 
                SwapCached: 0 kB 
                Active: 984 kB 
                Inactive: 44 kB 
                HighTotal: 0 kB 
                HighFree: 0 kB 
                LowTotal: 2516 kB 
                LowFree: 560 kB 
                SwapTotal: 0 kB 
                SwapFree: 0 kB 
                Dirty: 0 kB 
                Writeback: 0 kB 
                Mapped: 0 kB 
                Slab: 752 kB 
                Committed_AS: 0 kB 
                PageTables: 0 kB 
                VmallocTotal: 4194303 kB 
                VmallocUsed: 0 kB 
                VmallocChunk: 4194303 kB
                سللام
                می بخشید که سئوال من مرتبط با بحث نیست.!!!
                می خواستم بدونم که ممکنه لینک spec cpu 2006 برای لینوکس و کامپایل نشدش رو بگذارید تا دانلود کنم چونکه توی اینترنت نتونستم پیدا کنم.
                با تشکر

                دیدگاه


                  #23
                  پاسخ : ARM و ucLinux ؟

                  یه سوال خیلی مبتدیانه میخوام بپرسم :

                  برای نصب یو سی لینوکس بر روی آرم باید حتما سیستم عامل کامپیوترمون لینوکس باشه ؟
                  و اینکه این کدهایی که توی آموزش گفتین و من اصلا سر در نیوردم رو کجا باید بنویسیم ؟

                  دیدگاه


                    #24
                    پاسخ : ARM و ucLinux ؟

                    سلام.خسته نباشید من چنتا سوال دارم.
                    uclinux رو میشه روی lpc23 هم پیاده کرد؟patchاش هست؟من فقط برای lpc2294 دیدم؟
                    برای ریختن فایل نهایی روی ARM چه امکاناتی لازم هست؟همین jlink هم کفایت میکنه؟از تو لینوکس چه جوری میشه میکرو رو پروگرام کرد؟
                    میشه یه عکسی از بوردتون و امکاناتش بذارید که uclinux چه امکانی به ما میده؟
                    خیلی ممنون.

                    دیدگاه

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