1. THÔNG BÁO TUYỂN ADMIN DIỄN ĐÀN 2013
    Tìm kiếm nhà trọ - Ở ghép
    THÔNG BÁO BÁN ÁO SPKT.NET CHO THÀNH VIÊN DIỄN ĐÀN


    HÃY TÌM KIẾM Ở ĐÂY TRƯỚC KHI ĐẶT CÂU HỎI
    {xen:phrase loading}

Lập trình trên board ARM phát triển nhúng KM 9260 (AT91SAM9260)

Thảo luận trong 'Khoa học máy tính' bắt đầu bởi thanhmai, 19 Tháng hai 2011.

  1. thanhmai Member

    Số bài viết: 606
    Đã được thích: 5
    Điểm thành tích: 18
    Hiện tại lĩnh vực nhúng đang là hướng đi hot của việt nam, củng như các project cho đề tài tốt nghiệp các chuyên ngành : điện -điện tử , điện tử viễn thông và đặc biệt alf chuyên Ngành Kỹ Thuật máy Tính
    qua thời gian nghiên cứu và sưu tầm khá nhiều bài báo khoa học, các bài viết từ các diễn đàn, document trên internet . tôi sẻ cung cấp cho các bạn một tutorial về nhúng , lập trình nhúng , hệ thống nhúng ,board phát triển nhúng .
    Huy vọng là tài liệu bổ ích cho các bạn sinh viên SPKT.
    Tất cả mọi tài liệu tôi post lên là từ nhiều nguồn sưu tầm và tự tôi viết :
    mọi thắc mắt các bạn có thể liên hệ tôi.

    Thank & Best regards

    Phần 1 : Tutorial board Phát Triển Nhúng Km9260 chíp AT91SAM9260
    KM9260 là sản phẩm đầu tay chạy hệ điều hành Linux. Với sự thành công nhất định, sản phẩm đang được thương mại hóa và được đông đảo người dùng ủng hộ. Do tính đơn giản, sản phẩm là điểm mốc để người tiêu dùng có thể làm quyen với thế giới embedded Linux đầy tiềm năng trong tương lai.

    Giới thiệu:

    Board KM9260 là một máy tính bảng đơn bo (Single Board Computer) được tích hợp cao trên nền vi điều khiển ARM9. Board có kích thước nhỏ gọn và tính năng mạnh mẽ của họ vi điều khiển AT91SAM9 do ATMEL sản xuất. Board hỗ trợ chạy với các hệ điều hành Linux, WinCE và µC/OS-II RTOS với mục tiêu chạy các ứng dụng xử lý hình ảnh như point – of – sale terminals, Ethernet-based IP cameras hoặc đọc bar code. Ngoài ra, board có thể chạy chương trình ứng dụng standalone như các hệ thống vi điều khiển thông thường.
    Tính năng:

    [IMG]
    Kích thước

    102 x 75 mm, phủ xanh, mạ vàng in hình linh kiện

    Nhiệt độ làm việc -20~70 độ C

    Nguồn cấp +5V DC

    Nguồn ổn áp 3.3V, dòng 800mA

    Vi xử lý

    ATMEL AT91SAM9260, ARM926EJ-S với lõi MCU, 8Kbytes SRAM và 32Kbytes ROM, 180MHz

    Bộ nhớ 32MByte SDRAM

    256MByte NandFlash

    512Mbyte SPI DataFlash

    System-Timer Hai bộ định thời gian (three-channel timer/counters, Watchdog timer)

    Serial ports Một RS232 connector

    USB Một USB2.0 full-speed Host port và full-spped Device port

    Ethernet 10/100Mbps, RJ45 interface

    CAN

    Hai CAN-Bus interfaces with photocouplers and DC-DC modules

    Micro SD Một Micro SD card socket

    RTC Một pin backup

    GPIO Một GPIO ports

    ADC Hai channel 10-bit ADC module

    LEDs 2 LEDs

    Nút nhấn4 nút nhấn

    JTAG JTAG 20 pin cho phép lập trình và debug hệ thống

    Một số ứng dụng:
    Embedded webserver,
    Giám sát, đo lường, điều khiển từ xa qua mạng,
    Board evaluation, giúp nâng cao kỹ năng, kiến thức lập trình nhúng (trong giáo dục),
    Các thiết bị giải trí, Internet Radio solution,
    Xử lý hình ảnh như point – of – sale terminals, Ethernet-based IP cameras hoặc đọc bar code,
    SmartCard System solutions,
    Tài liệu:

    AT91SAM9260.pdf Datasheet
    KM9260 Setup file
    Tất cả tài liệu, schematic, source code có thể download tại : Up Lên Sau
    Ứng dụng:
    KM9260 (Single Board Computer)
    KM9260 Apps áp dụng cho kiểm soát và điều khiển thiết bị qua mạng
    Phần mềm:
    Hệ điều hành
    Loại
    Đặc tính
    Mô tả
    Linux2.6
    u-boot 1.3.4
    (binary)
    Boot
    AT91BootStrap-1.1.3 (binary).
    tftp
    Support tftp transmit protocol
    file system
    Support writing yaffs flie system image to Nand Flash
    Kernel
    Support writing kernel image to Nand Flash
    Kernel Parameter
    Support kernel parameter setting
    Etc.
    Angstrom, Debian rootfs.
    Kernel
    Version
    Linux kernel 2.6.27 va Patch file
    File system
    yaffs
    Serial device
    Five serial ports (source code provided)
    Ethernet
    10/100M Ethernet (source code provided)
    CAN
    None
    ADC
    Two ADC (source code provided)
    RTC
    RTC (source code provided)
    USB Host
    USB Host (source code provided)
    GPIO
    Three GPIOs (source code provided)
    MicroSD card
    Micro SD card (source code provided)
    [IMG]
    Phát triển:
    KM9260 tạo ra nền tảng để phát triển cho các sản phẩm thực tế, ví dụ như giám sát, thu thập dữ liệu và truyền về trung tâm thông qua kết nối WIFI
  2. zeroxx New Member

    Số bài viết: 25
    Đã được thích: 0
    Điểm thành tích: 0
    mình cũng đang định làm 1 đề tài xử lý ảnh bằng hệ thống nhúng nhưng vẫn chưa bít bắt đầu từ đâu (vì mình học ngành CDT )thì gặp dc bài này rất cám ơn bạn
  3. thanhmai Member

    Số bài viết: 606
    Đã được thích: 5
    Điểm thành tích: 18
    Phần 2 : làm quen với LINUX
    Giới thiệu
    Đối với người mới, việc tìm hiểu Linux là công việc khó khăn vì không biết phải bắt đầu từ đâu. Việc tìm kiếm và đọc tài liệu càng khó khăn hơn, vì trên net có vô số tài liệu về Linux. Chính vì thế người mới thường có cảm giác choáng khi bắt đầu tìm hiểu mảng này.

    Để tìm hiểu một vấn đề nào đó thì công việc tiên quyết đầu tiên của chúng ta là phải biết khái niệm cơ bản của nó như thế nào. Linux cũng không ngoại lệ. Phần này rút ra một số link hữu ít mà ta nên đọc để làm quen dần với hệ điều hành này.

    1> http://linuxreviews.org/beginner/

    2> http://book.opensourceproject.org.cn/embedded/embeddedprime/index.html

    Làm quen với Linux trên máy tính
    Cách đơn giản cho người bắt đầu làm quen với embedded Linux là tìm hiểu Linux OS trên máy PC. Ví như việc ta mới bắt đầu làm quen với máy tính sử dụng hệ điều hành Windows hồi trước vậy.

    Nếu máy tính bạn đang chạy hệ điều hành Windows, có thể dùng máy đó chạy hệ điều hành bằng cách cài đặt Linux lên máy ảo, ví dụ như coLinux, VMWAVE... Phần sau hướng dẫn sơ lược về cách cài đặt Linux lên Windows sử dụng VMWAVE.

    1> Vào thư mục \\192.168.3.250\Softs\QNX\vmware chép file VMware-workstation-5.5.3-34685.exe về máy tính và tiến hành cài đặt.

    2> Nếu muốn cài đặt Linux từ file .iso thay vì đĩa DVD trước tiên ta cài đặt ổ đĩa ảo trên máy tính, chương trình có thể download thông qua link sau: http://www.slysoft.com/en/virtual-clonedrive.html

    3> Khởi động VMWAVE, tạo phần cứng cho máy ảo, ví dụ như CPU, HDD, RAM, Ổ đĩa CD... sau đó cho máy ảo boot từ đĩa CD để tiến hành cài đặt bình thường.

    Bắt đầu với Linux
    Sau khi cài Linux xong, ta tiến hành tìm hiểu và làm việc với hệ điều hành Linux:

    1> Linux là gì ?
    Linux là hệ điều hành free (cấu trúc tương đồng với Unix) được phát triển cho máy PC. Là tập hợp phần mềm điều khiển các thiết bị phần cứng trên máy tính, cho phép người dùng tương tác với các thiết bị này. Linux là hệ điều hành mã nguồn mở và miễn phí cho mọi người.

    [IMG]

    Tương tự Windows, Linux hỗ trợ giao diện graphical với người dùng. Hỗ trợ các thư viện lập trình cho người dùng, ví dụ GNOME, KDE...

    Thành phần cốt lõi của hệ điều hành bao gồm kernel, và được gọi với tên Linux. Đi kèm với kernel là tập hợp các ứng dụng mã nguồn mở (viết theo chuẩn GNU). Linux có nhiều variant khác nhau, hay còn gọi là distribution, bao gồm RedHat, Fedora, Ubuntu, CentOS...

    Ngày nay, Linux phát triển, không chỉ dùng riêng trên máy PC (i386) mà còn có thể chạy cho các cấu trúc CPU khác như ARM, PowerPC, Alpha... Thậm chí có thể chạy trên những hệ thống với yêu cầu hạn chế về bộ nhớ IO ví dụ như embedded system.

    2> Tìm hiểu file và thư mục
    Linux được xây dựng theo quan điểm mọi thứ có thể quy về và xem như là 1 file. File là 1 thành tố trong hệ thống lưu trữ của máy tính, nhiệm vụ chứa đựng các thông tin. Thông thường được lưu vào ổ cứng, ổ đĩa cdrom thậm chí được lưu trữ trên RAM.

    Cấp cao nhất của file system bao gồm root (/). Cấu trúc file điển hình của Linux bao gồm:

    # ls /
    bin etc media sbin usr
    boot home mnt sys
    dev lib proc tmp var
    /bin : Thư mục chứa các command lệnh chủ yếu.

    /boot: Thư mục chứa các file ảnh cho bootloader

    /dev : Device files, thư mục chứa các đường link đến driver cho các thiết bị phần cứng trong hệ thống.

    /etc : Thư mục chứa các file cấu hình cho hệ thống.

    /home: Thư mục home cho user, có thể lưu trữ các file cá nhân ở đây.

    /lib : Thư mục chia sẻ các thư viện, kernel modules.

    /mnt : Mount point tạm thời của file system.

    /opt : Add-on application software packages.

    /usr : Các command lệnh, thư viện, các ứng dụng, share data có thể chứa ở thư mục này. /var : Chứa variable data files, system log...

    /proc: Chứa các file ảnh về thông tin hệ thống được lưu trong bộ nhớ RAM.

    3> Tìm hiểu user và permission
    Các file trong Linux điều được phân quyền theo username và group bao gồm các thuộc tính read, write và execuatble.

    Để xem thông tin về phân quyền ta có thể sử dụng lệnh ls, ví dụ:

    # ls -l
    drwxr-xr-x 2 root root 0 Jan 1 00:00 bin
    drwxr-xr-x 2 root root 0 Jan 1 00:00 boot
    drwxr-xr-x 11 root root 3660 Jan 1 00:05 dev
    drwxr-xr-x 27 root root 0 Jan 1 00:32 etc
    drwxr-xr-x 3 root root 0 Jan 1 00:00 home
    drwxr-xr-x 4 root root 0 Jan 1 00:00 lib
    drwxr-xr-x 11 root root 0 Jan 1 00:43 media
    drwxr-xr-x 3 root root 0 Jan 1 00:00 mnt
    dr-xr-xr-x 50 root root 0 Jan 1 00:00 proc
    drwxr-xr-x 2 root root 0 Jan 1 00:00 sbin
    drwxr-xr-x 12 root root 0 Jan 1 00:00 sys
    lrwxrwxrwx 1 root root 8 Jan 1 00:00 tmp -> /var/tmp
    drwxr-xr-x 12 root root 0 Dec 27 2010 usr
    drwxr-xr-x 7 root root 0 Jan 1 00:00 var
    4> Command shell/Console/Terminal
    Khi sử dụng Windows, chúng ta đã biết về DOS command shell. Linux cũng tương tự, cũng có command shell và tập lệnh đặt trưng. Người sử dụng có thể truy xuất command shell thông qua nhiều thiết bị khác nhau, ví dụ như màn hình, bàn phím trên PC, hoặc là thông qua UART đối với hệ thống nhúng.

    5> Các lệnh cơ bản của Linux
    List các file trong thư mục hiện hành.
    # ls

    Chuyển thư mục (path là đường dẫn tương đối hoặc tuyệt đối)
    #cd [path].

    Xem thông tin đĩa trong hệ thống.
    # df -kh

    Xem thông tin dung lượng sử dụng của file, thư mục:
    # du -sh [file, folder]

    Tạo thư mục.
    # mkdir [folder]

    Tạo nhiều thư mục theo đường dẫn path.
    # mkdir -p [path]

    Tạo nhiều thư mục cùng lúc.
    # mkdir {old,new,dist,bugs}

    Xóa file.
    # rm [file]

    Xóa thư mục.
    # rm -rf [path]

    Copy file sang thư mục có đường dẫn là path
    # cp [file] [path]

    Cắt file và dán sang thư mục có đường dẫn là path.
    # mv [file] [path]

    Tạo symbolic link.
    # ln /original/file /new/link

    Tạo soft symbolic link
    # ln -s /original/file /new/link

    Giải nén file.tar.gz
    # tar -zxvf file.tar.gz

    Giản nén file.tar.bz2
    # tar -jxvf file.tar.bz2

Chia sẻ trang này