اطلاعیه

Collapse
No announcement yet.

ARM و ucLinux ؟

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

    ARM و ucLinux ؟

    دستور پخت 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
    همون طور که می بینید فقط برای بالا آوردن خود لینوکس جدا از برنامه های خودتون به حدود 2مگ رم نیاز دارید. ضمنا تصویر خود لینوکس برای پروگرم چیزی حدود 1.5 مگ هست. طبیعتا این توی میکروپروسسورها مسئله ای نیست. ولی توی میکروکنترلرها چرا. اگر اشتباه نکنم میکرویی که الان بچه های اینجا دارند روش کار می کنند حدود 256 کیلوبایت رم داره. درسته؟
    در این صورت برای بقیش باید یک فکری کرد.

    ادامه دارد . . .

    #2
    پاسخ : ARM و ucLinux ؟

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

    با اجازتون یک پیشنهاد هم دارم
    برای بالا رفتن کیفیت تاپیک در نمایش کامندها یا کدها از تگ LTR استفاده بشه بهتره :smile:
    اینطوری به هم ریختگی از چپ به راست از بین میره

    بنده هم خیلی مایلم با uCLinux تجربه کار داشته باشم
    منتها همیشه توی کامپایل کراسآ‌کامپایلر به مشکل میخورم :sad:
    فقط یکبار از ایمیجهای آماده استفاده کردم و با ARMulator شبیه سازیش کردم (خیلی ذوق کردم)
    (البته توی کامپایل gdb یه خطاهایی به سورس کدش میگرفت که اونارو کامنت کردم :mrgreen: )

    نوشته اصلی توسط ahmadyan
    غیر از این کراس کمپایلرهای دیگری هم هستند.
    از این هم می تونید استفاده کنید: http://opensrc.sec.samsung.com/download/arm-elf-tools-20040427.sh
    از قبل کمپایل و آماده شده. فقط نصبش کنید.
    قبلا به فکر استفاده از این افتاده بودم ، ولی موقع نصب پیغام زیرو دارم :
    کد:
    hamid-laptop:/home/hamid/Templates# ./arm-elf-tools-20030314.sh 
    tail: cannot open `+43' for reading: No such file or directory
    
    gzip: stdin: not in gzip format
    tar: This does not look like a tar archive
    tar: Error exit delayed from previous errors


    این تاپیک انگیزه شد بازم به فکر این موجود دوست داشتنی بیفتم
    ممنون میشم کمکم کنید :smile:


    نوشته اصلی توسط ahmadyan
    خب. تا حالا حتما سردرد گرفتید. ها!
    یه پیشنهاد دیگه هم برای دوستانم دارم
    اینکه در موقع انجام اینطور کارها به موزیک پتآ‌ومت گوش بدید ( بدون شوخی عرض میآ‌کنم! )
    میتونید از اینجا دانلودش کنید
    چگونه هوشمندانه بپرسیم

    دیدگاه


      #3
      پاسخ : ARM و ucLinux ؟

      نوشته اصلی توسط omega_adiban
      1.کراس کمپایلر چیه؟
      یعنی کامپایلری که روی یک معماری سخت افزار برای یک معماری دیگه کامپایل کنه
      بطور مثال من روی کامپیوتر خونگیم که i386 هست برای AVR کامپایل میآ‌کنم
      پس کامپایلر من یه CrossCompiler محسوب میشه
      ولی اگر بخوام برنامهآ‌ای رو که نوشتم روی همون سیستمی که کامپایل روش انجام میشه اجرا هم بکنم این میشه Native Compile
      مطالعه بیشتر

      نوشته اصلی توسط omega_adiban
      2.منظور از کمپایل ucLinux چیست؟
      یعنی درست کردن یه ایمیج برای مثلا پروگرام کردنش روی ROM

      نوشته اصلی توسط omega_adiban
      3.من با at91sam7s256 هم میتونم این کار رو بکنم؟
      همونطور که جناب ahmadyan بخوبی اشاره کردن ، خود ایمیج uCLinux نیاز به حدود 1.5MB فضا داره
      ولی at91sam7s256 فقط 256KB فضای رام داره

      نوشته اصلی توسط omega_adiban
      خیلی ممنون از بحث های داغتون ولی یه جوری بگین که منه بی چاره هم بفهمم
      ببخشید ، ابدا قصد جسارت ندارم ولی بنظرم بهتره برای سوالات ابتدایی تاپیک مجزایی باز بشه.
      فقط برای دور نشدن از بحث اصلی عرض کردم.
      امیدوارم سوءتفاهمی پیش نیاد :smile:
      چگونه هوشمندانه بپرسیم

      دیدگاه


        #4
        پاسخ : ARM و ucLinux ؟

        نوشته اصلی توسط حمید رستمی


        قبلا به فکر استفاده از این افتاده بودم ، ولی موقع نصب پیغام زیرو دارم :
        کد:
        hamid-laptop:/home/hamid/Templates# ./arm-elf-tools-20030314.sh 
        tail: cannot open `+43' for reading: No such file or directory
        
        gzip: stdin: not in gzip format
        tar: This does not look like a tar archive
        tar: Error exit delayed from previous errors
        دوستانی که مثل من این مشکلو دارن :
        فهمیدم مشکل از کجا بود. در قسمتی از اون فایل باینری نصاب با فرمت sh به این صورت از tail استفاده شده :
        کد:
        tail +43


        که طبق آخرین استانداردهای POSIX باید به این صورت میبود :
        کد:
        tail -n +43


        به هر حال چون فایل sh یک فایل باینری هست قادر به ویرایش این دستورات نیستم. اما قادر به عوض کردن استاندارد POSIX در سیستم خود هستیم که مطابق با چیزی بشه که اون فایل sh نیاز داره ( فایل قدیمیآ‌ای هست )
        فقط کافیه که متغیر محیطی _POSIX2_VERSION رو ست کنید به این صورت :
        کد:
        export _POSIX2_VERSION=199209


        حتما هم میدونید ، برای نصبش هم اینطور عمل میآ‌کنیم:
        کد:
        # chmod +x ./arm-elf-tools-20040427.sh
        # ./arm-elf-tools-20040427.sh


        تست کردم درست نصب شد.
        بالاخره منم صاحب به ARM-Toolchain شدم :biggrin:

        ( اینارو از اینجا یاد گرفتم! )
        چگونه هوشمندانه بپرسیم

        دیدگاه


          #5
          پاسخ : ARM و ucLinux ؟

          سلام
          من طبق دستورالعملی که اینجا گفته بود یه ایمیج ساختم.
          همه چیز عالی و بدون خطا پیش رفت ( فقط یه دو سه خط از یه فایل سورس gdb رو کامنت کردم! )
          منتها وقتی با ARMulator میخوام ران کنمش با پیغام Kernel panic: VFS: Unable to mount root fs on ram0 مواجه میشم.

          جناب ahmadyan دلیل این مشکل چی میتونه باشه ؟

          کد:
          hamid@hamid-laptop:~/uclinux/uClinux-dist$ arm-elf-gdb linux-2.6.x/linux
          GNU gdb 5.0
          Copyright 2000 Free Software Foundation, Inc.
          GDB is free software, covered by the GNU General Public License, and you are
          welcome to change it and/or distribute copies of it under certain conditions.
          Type "show copying" to see the conditions.
          There is absolutely no warranty for GDB. Type "show warranty" for details.
          This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-elf"...
          Loaded ROM boot.rom
          Loaded ROM boot.rom
          Loaded ROM boot.rom
          Loaded ROM boot.rom
          Connected to the simulator.
          Loading section .init, size 0xb000 vma 0x1000000
          Loading section .text, size 0xa5ce8 vma 0x100b000
          Loading section __ex_table, size 0x5b8 vma 0x10b0cf0
          Loading section .data, size 0x8f60 vma 0x10b2000
          Start address 0x1000000
          Transfer rate: 6098944 bits/sec.
          (gdb) run
          Starting program: /home/hamid/uclinux/uClinux-dist/linux-2.6.x/linux 
          Linux version 2.6.5-hsc1 (hamid@hamid-laptop) (gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from http://fiddes.net/coldfire/)(uClinux XIP and shared lib patches from http://www.snapgear.com/)) #4 Thu Mar 26 21:20:03 IRDT 2009
          CPU: Atmel-AT91M40xxx [14000040] revision 0 (ARMvundefined/unknown)
          Machine: ATMEL EB01
          On node 0 totalpages: 1024
           DMA zone: 0 pages, LIFO batch:1
           Normal zone: 1024 pages, LIFO batch:1
           HighMem zone: 0 pages, LIFO batch:1
          Built 1 zonelists
          Kernel command line: root=/dev/ram0 initrd=0x01300000,800k keepinitrd
          PID hash table entries: 32 (order 5: 256 bytes)
          Memory: 4MB = 4MB total
          Memory: 2432KB available (663K code, 88K data, 44K init)
          Calibrating delay loop... 15.87 BogoMIPS
          Dentry cache hash table entries: 1024 (order: 0, 4096 bytes)
          Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
          Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
          checking if image is initramfs... it is
          POSIX conformance testing by UNIFIX
          Linux NoNET1.0 for Linux 2.6
          Atmel USART driver version 0.99
          ttyS0 at 0xfffd0000 (irq = 2) is a builtin Atmel APB USART
          ttyS1 at 0xfffcc000 (irq = 3) is a builtin Atmel APB USART
          RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
          loop: loaded (max 8 devices)
          Kernel panic: VFS: Unable to mount root fs on ram0

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

          دیدگاه


            #6
            پاسخ : ARM و ucLinux ؟

            سلام آقای رستمی.
            من چندان با آرمولاتور کار نکردم و اکثرا برای شبیه سازی ها از SimpleScalar استفاده می کنم.هرچند که base سیمپل همون آرمولاتوره ولی خیلی خوشدستره ضمن این که کلی اطلاعات هم از پروسسور درز می کنه. همین رو هم به شما توصیه می کنم.
            در اینجا، آیا شما قبلا یک لینک از romfs ساخته این؟ ( این بغل همون image.bin خود uclinux هست. )
            مثلا دستوری مثل این رو باید اجرا کرده باشین:


            کد:
             ln -s images/romfs.img boot.rom

            به علاوه Armulator هم برای استفاده از ramdisk باید پچ بشه که خود سامسونگ این پچ رو گذاشته اینجا:
            http://opensrc.sec.samsung.com/download/gdb-5.0-uclinux-armulator-ramdisk-20040412.patch.gz
            و برای اینکه از gdb بهش وصل بشین باید یه بار دیگه هم پچش کنید که اینو می تونین از اینجا بگیرین:
            http://www.uclinux.org/pub/uClinux/utilities/armulator/gdb-5.0-uclinux-armulator-20021127.patch.gz

            اگر این هم کفاف نکرد ممکنه imageی که ساخته این رو به همراه فایل config پروسسور رو بفرستید. احتمالا مشکل از تصویر ucLinux شاید باشه.
            اگر هم درست کار کنه باید دستوراتی مثل این رو بگیرید ( کمابیش!):


            کد:
            RAMDISK: ext2 filesystem found at block 0
            RAMDISK: Loading --- KiB [1 disk] into ramdisk ... done
            VFS: Mounted root (ext2 filesystem) readonly.

            دیدگاه


              #7
              پاسخ : ARM و ucLinux ؟

              همم
              ممنون جناب ahmadyan ، راهنمایی فوقآ‌العاده مفیدی بود :smile:
              دقیقا اون مرحلهٔ پچ کردن gdb برای RAMDISK از چشمم پنهون موند. ( دارم پیر میشم دیگه )

              الان خیلی عالی ایمیجآ‌ها رو با ARMulator تونستم شبیه سازی کنم ، ممنون از راهنماییتون :smile:
              کد:
              hamid-laptop:/home/hamid/uclinux/uClinux-dist# arm-elf-gdb linux-2.6.x/linux
              GNU gdb 5.0
              Copyright 2000 Free Software Foundation, Inc.
              GDB is free software, covered by the GNU General Public License, and you are
              welcome to change it and/or distribute copies of it under certain conditions.
              Type "show copying" to see the conditions.
              There is absolutely no warranty for GDB. Type "show warranty" for details.
              This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-elf"...
              Loaded ROM boot.rom to 0x01300000
              Loaded ROM boot.rom to 0x01400000
              Loaded ROM boot.rom to 0x04000000
              Loaded ROM boot.rom to 0x01300000
              Loaded ROM boot.rom to 0x01400000
              Loaded ROM boot.rom to 0x04000000
              Connected to the simulator.
              Loading section .init, size 0xb000 vma 0x1000000
              Loading section .text, size 0xa5f44 vma 0x100b000
              Loading section __ex_table, size 0x5b8 vma 0x10b0f50
              Loading section .data, size 0x9068 vma 0x10b2000
              Start address 0x1000000
              Transfer rate: 6105888 bits in <1 sec.
              (gdb) run
              Starting program: /home/hamid/uclinux/uClinux-dist/linux-2.6.x/linux 
              Linux version 2.6.5-hsc1 (root@hamid-laptop) (gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from http://fiddes.net/coldfire/)(uClinux XIP and shared lib patches from http://www.snapgear.com/)) #7 Tue Mar 31 16:13:09 IRDT 2009
              CPU: Atmel-AT91M40xxx [14000040] revision 0 (ARMvundefined/unknown)
              Machine: ATMEL EB01
              On node 0 totalpages: 1024
               DMA zone: 0 pages, LIFO batch:1
               Normal zone: 1024 pages, LIFO batch:1
               HighMem zone: 0 pages, LIFO batch:1
              Built 1 zonelists
              Kernel command line: root=/dev/ram0 initrd=0x01300000,800K keepinitrd
              PID hash table entries: 32 (order 5: 256 bytes)
              Memory: 4MB = 4MB total
              Memory: 2428KB available (663K code, 88K data, 44K init)
              Calibrating delay loop... 15.87 BogoMIPS
              Dentry cache hash table entries: 1024 (order: 0, 4096 bytes)
              Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
              Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
              checking if image is initramfs...it isn't (ungzip failed); looks like an initrd
              POSIX conformance testing by UNIFIX
              Linux NoNET1.0 for Linux 2.6
              Atmel USART driver version 0.99
              ttyS0 at 0xfffd0000 (irq = 2) is a builtin Atmel APB USART
              ttyS1 at 0xfffcc000 (irq = 3) is a builtin Atmel APB USART
              RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
              loop: loaded (max 8 devices)
              RAMDISK: romfs filesystem found at block 0
              RAMDISK: Loading 771 blocks [1 disk] into ram disk... done.
              VFS: Mounted root (romfs filesystem) readonly.
              Freeing init memory: 44K
              Shell invoked to run file: /etc/rc
              Command: hostname GDB-ARMulator
              Command: /bin/expand /etc/ramfs.img /dev/ram1
              Command: mount -t proc proc /proc
              Command: mount -t ext2 /dev/ram1 /var
              Command: mkdir /var/tmp
              Command: mkdir /var/log
              Command: mkdir /var/run
              Command: mkdir /var/lock
              Command: mkdir /var/empty
              Command: cat /etc/motd
              Welcome to
                   ____ _ _
                  / __| ||_|        
                _ _| | | | _ ____ _ _ _ _ 
               | | | | | | || | _ \| | | |\ \/ /
               | |_| | |__| || | | | | |_| |/  \
               | ___\____|_||_|_| |_|\____|\_/\_/
               | |
               |_|
              
              GDB/ARMulator support by <davidm@snapgear.com>
              For further information check:
              http://www.uclinux.org/
              
              Execution Finished, Exiting
              
              Sash command shell (version 1.1.1)
              /> cat /proc/cpuinfo
              Processor	: Atmel-AT91M40xxx rev 0 (v3l)
              BogoMIPS	: 15.87
              Features	: swp 26bit 
              CPU implementer	: 0x14
              CPU architecture: undefined/unknown
              CPU part		: 1400004
              CPU revision	: 0
              Cache type	: VIVT write-through
              Cache clean	: not required
              Cache lockdown	: not supported
              Cache format	: Harvard
              I size		: 8192
              I assoc		: 1
              I line length	: 8
              I sets		: 1024
              D size		: 768
              D assoc		: 1
              D line length	: 64
              D sets		: 8
              
              Hardware	: ATMEL EB01
              Revision	: 0000
              Serial		: 0000000000000000
              /> cat /proc/meminfo
              MemTotal:    2496 kB
              MemFree:     460 kB
              Buffers:     900 kB
              Cached:      188 kB
              SwapCached:     0 kB
              Active:      984 kB
              Inactive:     44 kB
              HighTotal:     0 kB
              HighFree:      0 kB
              LowTotal:    2496 kB
              LowFree:     460 kB
              SwapTotal:     0 kB
              SwapFree:      0 kB
              Dirty:       0 kB
              Writeback:     0 kB
              Mapped:       0 kB
              Slab:       828 kB
              Committed_AS:    0 kB
              PageTables:     0 kB
              VmallocTotal: 4194303 kB
              VmallocUsed:    0 kB
              VmallocChunk: 4194303 kB
              />


              فکر کنم حالا رسیدم به قسمت شیرین اجرای ایمیج روی پلاتفرم سخت افزاری ؟ :biggrin:
              قسمت سخت کار :-/
              چگونه هوشمندانه بپرسیم

              دیدگاه


                #8
                پاسخ : ARM و ucLinux ؟

                جناب ahmadyan ما منتظر ادامهٔ داستانیم ، ادامه نمیدید ؟ :smile:

                مخصوصا منتظر این قسمتش :
                نوشته اصلی توسط ahmadyan
                همون طور که می بینید فقط برای بالا آوردن خود لینوکس جدا از برنامه های خودتون به حدود 2مگ رم نیاز دارید. ضمنا تصویر خود لینوکس برای پروگرم چیزی حدود 1.5 مگ هست. طبیعتا این توی میکروپروسسورها مسئله ای نیست. ولی توی میکروکنترلرها چرا. اگر اشتباه نکنم میکرویی که الان بچه های اینجا دارند روش کار می کنند حدود 256 کیلوبایت رم داره. درسته؟
                در این صورت برای بقیش باید یک فکری کرد.


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

                دیدگاه


                  #9
                  پاسخ : ARM و ucLinux ؟

                  اول باید این کاری که می کنم تموم بشه بعد بنویسمش! حالا حالا هم کار داریم. :bye
                  جدا از شوخی، من کد Verilog از آرم رو دارم و می خوام روی یک FPGA سنتزش کنم. بعد از اون باید یک UART بهش اضافه کنم و uclinux با یه bootloader رو روش نصب کنم.
                  خوبی این جور کارکردن با پروسسور اینه که دیگه نخ و سوزن دست خودته! هر کاری خواستین می تونین انجام بدین و دیگه نگران محدودیت های روی میکرکنترلر نیستین

                  نوشته اصلی توسط حمید رستمی
                  جناب ahmadyan ما منتظر ادامهٔ داستانیم ، ادامه نمیدید ؟ :smile:

                  مخصوصا منتظر این قسمتش :

                  دیدگاه


                    #10
                    پاسخ : ARM و ucLinux ؟

                    سلام دوستان
                    در مورد حافظه مورد نیاز :
                    در linux4sam دیدم که امکان نصب ایمیج بر روی mmcکارت (کارت حافظه) وجود داره. از طرفی برای بوت کردن در ارم میتونید از sdram استفاده کنید و لزومی نداره حتما از حافظه داخلی اون استفاده کنید . حداقل در linux4sam اینطریه و از این حالت پشتیبانی کرده.
                    یک سوال:
                    از qnx کسی استفاده کرده؟
                    یک سوال دیگه:
                    uclinux چیزی بعنوان gui داره؟

                    دیدگاه


                      #11
                      پاسخ : ARM و ucLinux ؟

                      سوال خودم رو جواب میدم
                      1- pico gui
                      2- easy gui

                      دیدگاه


                        #12
                        پاسخ : ARM و ucLinux ؟

                        سلام
                        دوستان
                        نصب لینوکس بر روی LPC ARM بسیار راحت هست. به این علت که پورت اون برای خانواده های LPC22XX LPC23XX وجود داره و همچنین یک پورت قوی برای LPC3180 وجود داره.
                        برای دوستان علاقه مند به اتمل هم LINUX4SAM وجود داره
                        همانطور که در پست قبلی هم گفتم دو GUI برای اون وجود داره. البته من یک GUI بسیار زیبا برای ARM9 وجود داره که خیلی شبیه IPHONE هست.
                        یه PDF با عنوان AN_uClinux for Philips LPC22xx وجود داره که نحوه نصب UCLINUX برای LPC22XX رو توضیح میده.(سرچ کنید)
                        یک مطلب هم بعدا میگم

                        دیدگاه


                          #13
                          پاسخ : ARM و ucLinux ؟

                          GUI چیه و مخفف چیه؟
                          یه اطلاعات کلی بگین
                          مثلا چه طور به لینوکس حالی میکنیم که بابا این lcd هست و اینطوری روش نمایش بده و یا این کیبورد هس oo:
                          علم چندانکه بيشتر خواني چون عمل در تو نيست ناداني

                          دیدگاه


                            #14
                            پاسخ : ARM و ucLinux ؟

                            GUI = Graphical user interface

                            linux4SAM

                            http://www.linux4sam.org/twiki/bin/view/Linux4SAM/

                            دیدگاه


                              #15
                              پاسخ : ARM و ucLinux ؟

                              یک PDF هم در این مورد از سایت شرکت Olimex پیدا کردم

                              www.olimex.com/dev/pdf/ARM/ATMEL/SAM9-L9261.pdf

                              دیدگاه

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