Thông báo

Collapse
No announcement yet.

Cùng nhau tìm hiểu Friendly ARM MINI2440

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Cùng nhau tìm hiểu Friendly ARM MINI2440



    Hii; chào anh em : lâu rùi bận wa ko way dzô diễn đàn.Dạo này thấy giang hồ đua nhau mua Mini2440 về Vọc nên mình lập topic này.Mong củng anh em tìm hiểu nâng cao công lực!

    ở Miền Bắc các bác có thể hỏi bên PNLAB của bác Đông có bán đó.
    Đầu tiên giới thiệu cho anh em coi cấu hình của nó :

    Specification

    * Dimension: 100 x 100 mm
    * CPU: 400 MHz Samsung S3C2440A ARM920T (max freq. 533 MHz)
    * RAM: 64 MB SDRAM, 32 bit Bus
    * Flash: 64 MB / 128 MB / 256 MB / 1GB NAND Flash and 2 MB NOR Flash with BIOS
    * EEPROM: 1024 Byte (I2C)
    * Ext. Memory: SD-Card socket
    * Serial Ports: 1x DB9 connector (RS232), total: 3x serial port connectors
    * USB: 1x USB-A Host, 1x USB-B Device
    * Audio Output: 3.5 mm stereo jack
    * Audio Input: Connector + Condenser microphone
    * Ethernet: RJ-45 10/100M (DM9000)
    * RTC: Real Time Clock with battery
    * Beeper: PWM buzzer
    * Camera: 20 pin Camera interface (2.0 mm)
    * LCD Interface
    o STN Displays:
    + Monochrome, 4 gray levels, 16 gray levels, 256 colors, 4096 colors
    + Max: 1024x768
    o TFT Displays:
    + Monochrome, 4 gray levels, 16 gray levels, 256 colors, 64k colors, true color
    + Max: 1024x768
    o 41 pin connector for FriendlyARM Displays (3.5" and 7") and VGA Board
    * Touch Panel: 4 wire resistive
    * User Inputs: 6x push buttons and 1x A/D pot
    * User Outputs: 4x LEDs
    * Expansion: 40 pin System Bus, 34 pin GPIO, 10 pin Buttons (2.0 mm)
    * Debug: 10 pin JTAG (2.0 mm)
    * Power: 5V connector, power switch and LED
    * Power Supply: regulated 5V (Mini2440: 0.3 A, Mini2440 + 3.5" LCD: 0.6 A, Mini2440 + 7" LCD: 1 A)
    * OS Support
    o Windows CE 5 and 6
    o Linux 2.6
    o Android


    theo http://www.friendlyarm.net

  • #2
    Đối với Kit ARM này có thể chạy được cả WINCE,lẫn Linux và ANDROID( thực ra cũng là LINUX base).Trong xu hướng Open source chúng ta sử dụng các OS free là LINUX và Android còn WINCE phải trả tiền bản quyền.Hơn nữa cộng đồng LINUX rộng lớn sẽ support được chúng ta nhiều hơn.

    Để Vọc được LINUX trên board này đầu tiên phải cài LINUX ( cẩn thận không khéo mất dữ liệu trên WIN).An Toàn hơn có thể cài máy ảo VMware để cài LINUX.Config khoảng 15Gb hardisk

    DoWN linux UNBUTU Ở ĐÂY
    http://www.ubuntu.com/
    còn VMWARE 7 thì các bác tự tìm nhé ( hii vì phải **** đưa lên đây hok đươc)

    Xong rùi tới phần tìm hiểu về embedded LINUX nhé.!

    Comment


    • #3
      Chủ đề rất hữu ích
      hbaocr thể làm 1 bài tương đối cụ thể được không, tôi cùng vừa tiếp cận với embed nên không rành lắm, việc cài linux là dùng để compile hay còn có mục đích khác, vì nhìn qua guide cho kit friendly arm thì tôi thấy tool nó chủ yếu support trên windows.
      Bạn làm rồi thì cho hỏi luôn chút, không biết có cần phải làm trên môi trường win không hay tool cho kit này hỗ trợ đầy đủ có thể dùng luôn trên linux.
      Thanks

      Comment


      • #4
        Embedded LINUX

        Theo tìm hiểu của mình thì Nhúng được Embedded LINUX thì cần có 3 phần sau:
        1.BootLoader : :
        2.KerNel Linux ( nhân Linux)
        3.Root File System
        3 phần này được build 1 cách tương đối độc lập và được mount vào những Partitions khác nhau.
        Build 3 phần này chủ yếu trong LINUX environment

        hbaocr thể làm 1 bài tương đối cụ thể được không, tôi cùng vừa tiếp cận với embed nên không rành lắm, việc cài linux là dùng để compile hay còn có mục đích khác, vì nhìn qua guide cho kit friendly arm thì tôi thấy tool nó chủ yếu support trên windows.
        Theo mình : thì Build trong LINUX vì các lý do sau:
        +theo thói quen ai sai sao minh sài vậy từ đời này sang đời khác ( hehe làm biếng thay đổi)
        +Lỡ chót thì cho chét luôn lỡ theo OPEN SOURCE rùi thì sài luôn LINUX
        +Cấu trúc dường dẫn tới các FOLDER của WIN khác với LINUX :
        .Đơn cử vd win D:\LINUX_SHARE_FILE còn LINUX thì root/LINUX_SHARE_FILE hehe 2 cái dấu slash ngược nhau)
        .Cấu trúc Format của partition của WIN ( FAT/NFS) của LINUX( EXT2/3 ,LINUX SWAP) nên khó tương thích WIN không thấy được phân vùng LINUX và LINUX cũng không thấy được phân vùng của WIN.Điều này bạn sẽ thấy rõ khi thực hiện project Boot MINI2440 từ SD card.


        Các cao nhân thấy có thiếu gì thì bổ sung thêm giúp nhé ( em là tay ngang tìm hiểu LINUX)
        Last edited by hbaocr; 16-10-2010, 15:36.

        Comment


        • #5
          1.BootLoader

          1.BootLoader

          Hum nay mình bắt đầu tìm hiểu về Bootloader nhé bài viết sau chỉ theo cách hiểu của mình các bạn bổ sung cho mình)

          Theo Mình Bootloader ở đây đóng vai trò như là BIOS trong máy tính của bạn.Vì phần cứng và tài nguyên hạn hẹp nên nó không có nguyên 1 cái BIOS như PC.mà cài sẵn "bios" này trong NOR flash và Nand Flash.Nó là chương trình sẽ chạy đầu tiên khi khởi động( reset).Nó có nhiệm vụ Load ảnh của nhân linux( kernel Linux Image) vào bộ nhớ và "pass" các thông số khởi tạo từ bootloader to nhân LINUX tới nhân Linux trên.ví dụ như là RootfileSystem chứa ở Partition nào .hay là chỉ ra làm việc gì khi khởi tạo ( vd như là mmcinit( khoi tao thẻ nhớ) hay load chương trình từ thẻ nhớ lên Ram đề chạy) cái này chúng ta sẽ tìm hiểu sau.

          Khi Mua MINI2440 về thì nó mặc định cài là SupperViVi( trong NOR Flash va NAND flash).Nhưng mình sử dụng Uboot ( vì lý do ham vui hehe).

          Ở đây phát sinh vấn đề có 2 bộ nhớ NOR flash và NAND flash để làm gì????
          Giải thích thì dông dài : ví dụ như vầy cho dễ hiểu.
          NOR flash giống như bộ nhớ BIOS của PC ( hii nó khi PC khởi động nhấn DEL thì nó hiện ra cái màn hình màu xanh xanh đó đích thị cu chàng).Nếu không thực sự cần thiết thỉ tuyệt nhiên đừng xóa NOR flash
          NAND flash : giống như ổ cứng PC của bạn. Hệ điều hành và ứng dụng được cài lên đây.Cũng có trường hợp OS chạy từ SD card thì cũng giống như WINDOW lite hay LINUX lite chạy trực tiếp từ CD ROM mà không cần cài vào máy.
          MINI2440 có SW để chuyển chế độ chạy từ NOR flash hay NAND flash.Để nạp uboot mới vào NAND flash thì SW sang chay NOR flash đề nạp Uboot vào NAND flash từ NOR flash.

          Comment


          • #6
            Bạn làm rồi thì cho hỏi luôn chút, không biết có cần phải làm trên môi trường win không hay tool cho kit này hỗ trợ đầy đủ có thể dùng luôn trên linux.
            tool de su dung vói linux

            dùng tool picocom: để giao tiếp COM trong LINUX giống terminal trong WIN

            tool giống DNW trong WIN minh sẽ attach theo sau
            Last edited by hbaocr; 16-10-2010, 18:55.

            Comment


            • #7
              Attach tool giống DNW trong WIN dùng với LINUX
              Attached Files

              Comment


              • #8
                2.Quá Trình Khởi tạo KerNel Linux ( nhân Linux) và Root File System

                2.Quá Trình Khởi tạo KerNel Linux ( nhân Linux) và Root File System ( nhân Linux)

                Kernel Linux là trái tim của Linux điều phối hoạt động của toàn hệ thống
                Root File System: Giồng như file system trong folder Window + thư mục Program file trong WIN chứa các ứng dụng được user viết trên nền Linux

                Như đã nói ở trên Quá trình khởi đông trải qua 2 bước:

                Bước 1 : Uboot được boot đầu tiên khi reset hệ thống Nó :
                +Load Kernel vào bộ nhớ
                +Mount Root File System từ thẻ nhớ hay Nand flash
                +Khởi tạo các thông số biến môi trường ,bootag, boot cmd,Root File System ở Partition nào..vvv...Các thông số này được Pass tới kernel khi Kernel được boot.Đồng thời nó cũng khởi tạo các ngoại vi chuẩn bị cho Kernel Boot như mmc,Ethernet,USB (optional).

                Bước 2 :Kernel Boot :
                Hạt nhân Linux sau đó chạy "/ sbin / init", để mà xử lý phần còn lại của trình tự khởi động (chẳng hạn như hiển thị màn hình splash Screen và thanh tiến trình).

                Trình tự này là như nhau cho dù các thiết bị được khởi động từ Flash hay từ thẻ SD. Sự khác biệt là hạt nhân linux được load như thế nào, và những thiết bị nào được mount chứa Root File System.( vì dụ như :thẻ SD ờ Partition nào hay Partition nào ở NAND flash chứa Root File System)
                Last edited by hbaocr; 16-10-2010, 20:39.

                Comment


                • #9
                  Tìm hiểu uboot

                  Như đã nói ở trên,"Môi trường" uboot là 1 chương trình được burn vào Flash và sẽ là chương trình chạy đầu tiên sau khoi reset hệ thống để cấu hình hệ thống hoạt động.Khi uboot start nó được coppy vào SDRAM để chạy.Nó được sử dụng để lưu trữ các "biến môi trường" cấu hình hệ thống.Giống như "Môi trường" (MT) Linux Shell truyền thống uboot shell cũng sử dụng các biến MT để cấu hình cho hoạt đông của nó.

                  Các command line(cmd) của Uboot để tác động tới các biến môi trường của nó có tên và chức năng giống như các bash shell của LINUX chạy trên PC.( dĩ nhiên là chỉ có 1 vài cmd cơ bản thôi).Ví dụ như #printenv in ra giá trị các biến môi trường.Trong Linux tren PC bạn dùng printenv in ra các biến môi trường, thì uboot khi bạn gõ printenv cũng in ra giá trị các biến MT của uboot.

                  Trong bài viết này liệt kê những tên biến môi trường quan trọng nhất để mà uboot có thể khởi tạo hệ thống MINI2440.Bạn có thể sử dụng các biến MT này để bắt uboot khởi động theo ý muốn của bạn.

                  1. autoload :nếu đặt là "no" (hoặc bất kỳ chuỗi bắt đầu bằng 'n'), các lệnh rarpb, bootp or dhcp sẽ chỉ thực hiện cấu hình tra cứu từ BOOTP / DHCP server, nhưng không cố gắng tải các image bằng cách sử dụng TFTP


                  2. autostart:nếu đặt là "yes", một image được load bằng cách sử dụng rarpb, BOOTP, DHCP,tftp,disk, hoặc lệnh docb sẽ được tự động bắt đầu (bằng cách gọi nội bộ lệnh bootm).

                  3.baudrate là 1 số thập phân xác định tốc độ baud của truyền thông nối tiếp giữa uboot và dao diện command line bằng terminal của WINdow hay picocom trong linux....hoặc chương trình truyền nhận COM khác.Mạc định là baudrate 115200

                  4.Bootargs: Nội dung của biến này được truyền cho Linux Kernel như các đối số khởi động (hay còn gọi là "Command line").( đó là 1 chuỗi những cmd uboot "bắt" Kernel cần phải làm khi khởi động)

                  5.Bootcmd: Biến này xác định một chuỗi lệnh được tự động thực thi khi đếm ngược 3,2,1 ket thúc.Giống như là việc bạn khởi động WIN chờ đếm ngược 18,17,...1. nếu không làm gì hết thì nhảy vô WIN.Lệnh này chỉ thực hiện khi các bootdelay biến cũng được định nghĩa

                  6.Bootdelay: Sau khi thiết lập bao nhiêu thì uboot sẽ chờ đợi bấy nhiêu giây trước khi nó thực hiện các nội dung của biến bootcmd. Trong thời gian đếm ngược được xuất ra dao diện terminal,uboot có thể bị gián đoạn bằng cách nhấn phím bất kỳ.Khi này ta không thực hiện boot 1 cách tự động( auto) nữa mà khởi động bằng cmd line từ các command của uboot #MINI2440:......Thiết lập Bootdelay=-1 autoboot vô hiệu hóa.Bootdelay=0 là không cần delay khi boot.

                  7.Bootfile: tên của file IMAGE mặc định để tải bằng TFTP

                  8.Ethaddr: địa chỉ MAC Ethernet cho đầu tiên / giao diện ethernet chỉ (= eth0 trong Linux).Biến này có thể được đặt một lần (thường là do nhà sản xuất đặt ). U-Boot từ chối để xóa hay ghi đè lên biến này một lẩn khi nó đã được thiết lập.

                  9.Eth1addr: địa chỉ MAC cho giao diện Ethernet thứ hai (= eth1 trong Linux).

                  10.Eth2addr: địa chỉ MAC cho giao diện Ethernet thứ ba (= eth2 trong Linux).

                  11.Initrd_high: được sử dụng để hạn chế vị trí của initrd ramdisk images: Nếu biến này không được thiết lập, images initrd sẽ được sao chép vào các địa chỉ cao nhất có thể trong bộ nhớ RAM, điều này bạn thường mong muốn vì nó cho phép kích thước initrd tối đa. Nếu vì một số lý do bạn muốn chắc chắn rằng images initrd được nạp dưới giới hạn CFG_BOOTMAPSZ, bạn có thể thiết lập biến môi trường với giá trị "no" hoặc "off" hoặc "0". Ngoài ra cũng có thể đặt nó vào một địa chỉ trên cùng để sử dụng(U-Boot vẫn sẽ kiểm tra xem nó không ghi đè lên U-Boot stack và dữ liệu).
                  Ví dụ, khi bạn có một hệ thống với 16 MB RAM, và muốn dự trữ 4 MB để Linux sử dụng, bạn có thể làm điều này bằng cách thêm chuổi "mem = 12M" vào giá trị của biến "bootargs". Tuy nhiên, bây giờ bạn phải chắc chắn rằng images initrd được đặt trong 12MB đầu tiên.Điều này cũng có thể được thực hiện với comand sau: #Setenv initrd_high 00c00000
                  12.Ipaddr: địa chỉ IP cần thiết cho lệnh tftp

                  13.Loadaddr: địa chỉ load mặc định cho lệnh như tftp hoặc loads

                  14.Loads_echo: Nếu đặt là 1, tất cả các ký tự nhận được trong một Series download (dùng lệnh loads) được lặp lại( echo lại).

                  15.pram :Nếu tính năng "bảo vệ RAM" được kích hoạt trong cấu hình Board MINI2440 của bạn, biến này có thể được định nghĩa để cho phép lưu trữ vào "RAM bảo vệ".Ví dụ vùng RAM mà không bị ghi đè bởi U-Boot. Định nghĩa biến này để giữ số lượng kB bạn muốn dự trữ cho PRAM. Lưu ý rằng thông tin cấu trúc của Board ban vẫn sẽ hiển thị tổng số dung lượng của RAM. Nếu PRAM được reserved(dành riêng), một biến MT mới "mem" sẽ tự động được xác định để giữ số lượng RAM còn lại ở dạng để mà có thể truyền đucợ như các thông số khởi động tới LINUX, ví dụ như:=> Setenv bootargs $ {} bootargs mem = \ $ {} mem

                  => Saveenv
                  Bằng cách có thể cho Linux biết là sẽ không sử dụng bộ nhớ này và kết quả trong một vùng bộ nhớ đó sẽ không bị ảnh hưởng khi khởi động lại

                  16.Oserverip: TFTP server địa chỉ IP cần thiết cho lệnh tftp.

                  17.Serial #: chứa thông tin nhận dạng phần cứng như kiểu: "string" , "/" hoặc "serial number". biến này có thể được đặt một lần (thường là do nhà sản xuất ). U-Boot từ chối để xóa hay ghi đè lên biến này một Hass được thiết lập

                  18.verify:Nếu thiết lập là "n" hoặc "no" vô hiệu hóa các checksum kiểm tra

                  19. Dnsip: địa chỉ IP của máy chủ tên miền của bạn

                  20.Gatewayip: địa chỉ IP của Gateway (Router) để sử dụng

                  21.hostname: Target hostname

                  22.netmask: Subnet Mask

                  23.rootpath :đường dẫn của root filesystem trên máy chủ NFS

                  24.filesize: kích thước tính theo byte( ở dạng số HEX) của file Download lần cuối sử dụng bootp, dhcp, hay tftp command.

                  PS: Mọi Người Vô bàn luận cho vui; hix, mỗi một mình một thread chán wa
                  Last edited by hbaocr; 20-10-2010, 12:21.

                  Comment


                  • #10
                    Tớ cũng đã từng tìm hiểu board này, nhưng lại chuyên sâu về wince, nhưng thấy it người quan tâm đến nó quá,cũng dễ hiểu thôi bởi wince là os không phải free nên anh em sợ, tuy nhiên cái gì cũng có cái giá của nó, nếu os chạy ổn định và chi phí viết ứng dụng thấp(được hiểu là công sức và thời gian viết một ứng dụng trên os) thì mất tiền mua bản quyền cũng đáng đối với những người làm chuyên nghiệp. Tuy nhiên cũng tùy vào mức độ ứng dụng và đặc thù của thiết bị mà chọn os nào thôi. Tó cũng vọc nát cái wince rồi, giờ cũng định chuyển sang android cho nó máu, cám ơn những bài viết của hbaocr, nó rất hữu ích.
                    Hãy gọi tôi khi bạn cần

                    Comment


                    • #11
                      Tui cũng đang tìm hiểu kit này với Windows CE.Mấy bác có có tài liệu nào,thì share cho tui với.Vì tui hơi gà nên loay hoay hoài.
                      xuanhaidt2@yahoo.com

                      Comment


                      • #12
                        Nguyên văn bởi tungnh Xem bài viết
                        Tớ cũng đã từng tìm hiểu board này, nhưng lại chuyên sâu về wince, nhưng thấy it người quan tâm đến nó quá,cũng dễ hiểu thôi bởi wince là os không phải free nên anh em sợ, tuy nhiên cái gì cũng có cái giá của nó, nếu os chạy ổn định và chi phí viết ứng dụng thấp(được hiểu là công sức và thời gian viết một ứng dụng trên os) thì mất tiền mua bản quyền cũng đáng đối với những người làm chuyên nghiệp. Tuy nhiên cũng tùy vào mức độ ứng dụng và đặc thù của thiết bị mà chọn os nào thôi. Tó cũng vọc nát cái wince rồi, giờ cũng định chuyển sang android cho nó máu, cám ơn những bài viết của hbaocr, nó rất hữu ích.
                        Bác có report nào về WINCE ko pót len cho anh em với!mấy cái hàm API để điều khiển ngoại vi như camera va WIFI hay PWM va LED bác lấy đâu ra hay vậy!

                        Comment


                        • #13
                          Nguyên văn bởi hbaocr Xem bài viết
                          Bác có report nào về WINCE ko pót len cho anh em với!mấy cái hàm API để điều khiển ngoại vi như camera va WIFI hay PWM va LED bác lấy đâu ra hay vậy!
                          Ơ hơ ! mấy cái hàm API mà bạn nói chính là driver đó, nó được tích hợp trong gói BSP khi bạn build wince, trong gói BSP nó có hầu như tất cả các driver ngoại trừ WIFI(cái này thì cũng có thằng tàu nó share rồi) và ADC,cái này tớ cũng đã viết thành công rồi, do ADC của nó dùng chung với touch screen ban đầu cứ chạy adc thì không dùng được touch, vọc mãi viết ok, nói chung viết được 1 driver chạy thì các cái khác tương tự thôi. khi có driver tích hợp trên wince rồi thì viết app băng c# cứ gọi là sướng !
                          Tình cờ tớ ăn chộm được file driver USB 3G chạy trên wince chứ, cắm USB 3G vào mini2440 nó chạy ngon lành cành đào,chết tiệt nó không cho source code, hình như tớ không nhầm thì có thằng viết được driver cho USB 3G chạy trên Linux rồi đó,nó cho cả source code thì phải, nó cũng chạy trên board mini2440.
                          Với cái board mini2440 có thể:
                          1. kết hợp mini2440 + module sim5218 -> thành một hệ thống nhúng hoàn hảo rồi, chỉ tội hơi đắt thôi
                          2. Kết hợp mini2440 + USB 3G của Viettel,vina..-> thành một hệ thống nhúng gân hoàn hảo rồi,chi phỉ rẻ hơn
                          3 Chi phí tụ làm môt board giống như mini2440:
                          - core board (chip+nor flash+nand Flash) = 30$(Tàu)
                          - bộ nguồn + mạch in + linh kiên (max232,...) 20$(VN)
                          - LCD 3.5" 30$(Tàu)
                          - sim548 35$(VN hoặc Tàu)
                          Vậy tổng cộng là 115$ ta có một board đa chức năng.
                          Đối với 1 cty nếu làm ra được board này sẽ : chỉ mất 1 người viết driver cho tất cả các phần (GPIO,USB,CAMERA,RS232(GSM,GPS),..)
                          Tuyên mấy bác bên CNTT về viết App nếu như hê thống phức tạp.
                          Hãy gọi tôi khi bạn cần

                          Comment


                          • #14
                            Nguyên văn bởi tungnh Xem bài viết
                            Ơ hơ ! mấy cái hàm API mà bạn nói chính là driver đó, nó được tích hợp trong gói BSP khi bạn build wince, trong gói BSP nó có hầu như tất cả các driver ngoại trừ WIFI(cái này thì cũng có thằng tàu nó share rồi) và ADC,cái này tớ cũng đã viết thành công rồi, do ADC của nó dùng chung với touch screen ban đầu cứ chạy adc thì không dùng được touch, vọc mãi viết ok, nói chung viết được 1 driver chạy thì các cái khác tương tự thôi. khi có driver tích hợp trên wince rồi thì viết app băng c# cứ gọi là sướng !
                            Tình cờ tớ ăn chộm được file driver USB 3G chạy trên wince chứ, cắm USB 3G vào mini2440 nó chạy ngon lành cành đào,chết tiệt nó không cho source code, hình như tớ không nhầm thì có thằng viết được driver cho USB 3G chạy trên Linux rồi đó,nó cho cả source code thì phải, nó cũng chạy trên board mini2440.
                            Với cái board mini2440 có thể:
                            1. kết hợp mini2440 + module sim5218 -> thành một hệ thống nhúng hoàn hảo rồi, chỉ tội hơi đắt thôi
                            2. Kết hợp mini2440 + USB 3G của Viettel,vina..-> thành một hệ thống nhúng gân hoàn hảo rồi,chi phỉ rẻ hơn
                            3 Chi phí tụ làm môt board giống như mini2440:
                            - core board (chip+nor flash+nand Flash) = 30$(Tàu)
                            - bộ nguồn + mạch in + linh kiên (max232,...) 20$(VN)
                            - LCD 3.5" 30$(Tàu)
                            - sim548 35$(VN hoặc Tàu)
                            Vậy tổng cộng là 115$ ta có một board đa chức năng.
                            Đối với 1 cty nếu làm ra được board này sẽ : chỉ mất 1 người viết driver cho tất cả các phần (GPIO,USB,CAMERA,RS232(GSM,GPS),..)
                            Tuyên mấy bác bên CNTT về viết App nếu như hê thống phức tạp.
                            Hĩ; chưa chơi với WINCE lần nào; hồi trước lúc mới mua cái ỏad về nó chay CE tiếng tàu; chỉ tìm hiểu sơ sơ! sau đó hết hạn dùng thử!ghét wa nhảy qua vọc LINUX lun!Nếu bác có hảo tẩm giúp anh em chi tiết món Port CE lên chip + các sử dụng driver như thế nào này với+ chứ nhìn trong BSP 1 nùi không biết ngõ nào mà lần cả!

                            Comment


                            • #15
                              Tìm hiểu uboot( tiếp theo)

                              hii; đáp lễ bác tungnh Sáng sớm nay dậy pót tiếp về tìm hiểu Uboot


                              Các lệnh cơ bản của uboot

                              Ở phần trước mình đã nói về các Environmnet Variable của uboot.Tiếp theo ở bài viết này mình sẽ trình bày 1 số command cơ bản của uboot.
                              Lưu ý command linux phân biệt chữ hoa và chữ thường

                              1.#nand info : lấy thông tin vể NAND Flash( dung lượng; điện áp nuôi;page size,sector size)

                              2.#nand bad :lCheck các bad blocks : list ra danh sách các bad block

                              3.#nand scrub : xóa xạch Nand + detect cac bad block.Nói nôm na là giống y chang Format ổ cứng vậy đó.

                              4.#nand createbbt:Cmd này thường được sử dụng ngay sau khi cmd nand scrup thực thi.Công dụng của nó là tạo Bad Block Table.VÀ ghi table này vào block cuối của Flash để mà Kernel có thể tìm thấy nó.

                              5.#mtdparts: list ra các Nand partition sau khi uboot "format" nand flash.Nếu không có thay đổi gì uboot sử dụng các biến môi trường mặc định có thông tin như sau:
                              Code:
                              device nand0 <mini2440-nand>, # parts = 4
                                #: name                        size            offset          mask_flags
                                0: u-boot              0x00040000      0x00000000      0
                                1: env                 0x00020000      0x00040000      0  
                                2: kernel              0x00500000      0x00060000      0
                                3: root                0x03aa0000      0x00560000      0
                              chú ý phân vùng tên env : lưu các biến môi trường đã tìm hiểu ở bài trước.

                              6.#dynenv set : để set địa chỉ offset khi ghi các biến môi trường vào nand flash.Nếu không việc ghi các biến môi trường sẽ ghi đè vào uboot ( nếu bắt đầu ghi biến moi trường từ đại chỉ 0x00000000).Để tránh việc ghi các biến môi trường của uboot lên các vùng chưa các ưng` dụng khác( sẽ làm hệ thống chạy sai hoặc không chạy được).Thường dynenv set 40000 để ghi các biến môi trường bắt đầu tại phân vùng env tránh ảnh hưởng tới uboot hay chương trình chứa trong các phân vùng khác.

                              7.#saveenv : lưu các biến môi trướng đã setup vào Nand flash.
                              Last edited by hbaocr; 21-10-2010, 08:49.

                              Comment

                              Về tác giả

                              Collapse

                              hbaocr Tìm hiểu thêm về hbaocr

                              Bài viết mới nhất

                              Collapse

                              Đang tải...
                              X