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}

Học lập trình ARM7 LPC2148 cho module SIM548

Thảo luận trong 'Phòng điện tử' bắt đầu bởi watermart, 20 Tháng năm 2012.

  1. watermart Member

    Số bài viết: 88
    Đã được thích: 9
    Điểm thành tích: 8
    Chào các bạn! :D
    Tháng vừa rồi tôi có chuyển phần cứng của project module thu nhận sóng GSM/GPS từ sử dụng Atmega 128 8bit sang sử dụng ARM7 32 bit (chip LPC2148).
    Giá thành khá rẻ và đa chức năng , cũng khá đơn giản trong lập trình bằng KEIL ARM ngôn ngữ C hoặc C++.
    Sau đây tôi xin chia sẻ kinh nghiệm lập trình ARM7 cho các đang học và sử dụng ARM.








    Để làm được project này thì các công cụ ta cần phải có đó là:

    1. Mạch phần cứng SIM548-LPC2148 , LPC 2148 là Microcontroller 32 bit của hãng Philips.

    2. Mạch nạp J-LINK hoặc U-LINK

    3. Phần mềm KEIL MicroVision cho ARM bản Keil_MDK v4.2 (Không phải bản mới nhất nhưng sử dụng bản này có đủ mọi thứ cần thiết rồi)

    4. Các tài liệu LPC2148 và Sample code

    Các bạn download các thứ liên quan trong folder mediafire sau: http://www.mediafire.com/?rwzuyh5tjzg5c

    Bài tới tôi sẽ hướng dẫn các bạn lập trình các ví dụ đơn giản với Keil-ARM.
    Các bạn có thắc mắc thì cứ reply sau bài viết nhé.
    :D

  2. watermart Member

    Số bài viết: 88
    Đã được thích: 9
    Điểm thành tích: 8

    Trước tiên để có thể lập trình được cho vi xử lý ARM trên KeilC, chúng ta phải tải bộ mdk420.exe với thư viện và bộ Compiler cho hầu hết các dòng ARM tại:
    http://bkit4u.com/forum/arm/1572-keil-4-01-arm.html .
    Những ai đã từng sử dụng KEIL C thì sẽ thấy giao diện của Compiler rất quen thuộc.


    [IMG]

    • Tạo Project với Keil C uVision4
    Khởi động cửa sổ làm việc với Keil C, vào menu Project chọn New uVision Project...

    [IMG]
    Sau đó sẽ xuất hiện cửa sổ yêu cầu nơi lưu và tên của Project, ở đây Project có tên là first sample.
    Sau khi lưu Project lại KeilC sẽ yêu cầu chúng ta chọn dòng chip sử dụng, ở đây ARM LPC2148 của NXP.

    [IMG]

    Tại khung Data base chúng ta sẽ tìm chip LPC214x với Vendor NXP(founded by Philips) ,
    cửa sổ bên trái sẽ mô tả các tính năng được tích hợp trên chip được sử dụng rồi nhấn OK.
    Tiếp đến chúng ta nhấn Yes khi cửa sổ yêu cầu add file Startup.s xuất hiện.
    Kết thúc tạo Project. Tiếp theo chúng ta sẽ tạo file để lập trình với ngôn ngữ C.

    Vào menu File chọn New hoặc nhấn tổ hợp Ctrl+N để tạo một file chương trình mới. Save lại
    với tên được lựa chọn, ở đây đặt là main.c(biên dịch với C).

    Tại khung làm việc có tên là Project nhấp chuột phải vào Source group 1 chọn Add Files to
    Group ...., tìm tới file mới tạo là main.c để thêm file vào Project.



    Trong file chương trình main.c, với khai bao ban đầu cho trình biên dịch là thư viện của chip được sử dung.
    [IMG]

    Config cho Project bằng cách vào menu Project ->Options for Targets 1...

    Tại thẻ Output tick vào dòng chữ Creat HEX File,ở đây chúng ta sẽ sử dụng cổng COM để nạp chương trình cho ARM do đó không cần thiết phải thiết lập tại thẻ Utilities .

    Cửa sổ này phù hợp với việc nạp chương trình xuống ARM trực tiếp từ KeilC với mạch nạp được KeilC hỗ trợ như ULINK,JLINK...

    Sau đó vào Project - >Build Target... để tạo file HEX và nạp xuống ARM qua cổng JTAG.

    *** Mạch nạp ARM7 J-LINK có thể mua tại cửa hàng Thiên minh gần chợ Nhật tảo, HCM. Giá khoảng 750K.
  3. hotronghieu Member

    Số bài viết: 128
    Đã được thích: 0
    Điểm thành tích: 16
  4. hotronghieu Member

    Số bài viết: 128
    Đã được thích: 0
    Điểm thành tích: 16
    Giá của mạch nạp J-link khá đắt so với sinh viên, do đó các bạn nên chọn cách nap qua bootloader sẽ k tốn nhiều kinh phí:
    - nối chan rxd và rtd của arm với cổng COM
    - bạn cần 1 cáp chuyển đổi com sang usb
    - dùng phần mềm flash magic để nạp, down load tại:http:http: //www.flashmagictool.com/
  5. newmoon New Member

    Số bài viết: 2
    Đã được thích: 0
    Điểm thành tích: 0
    Anh Pro_avr cho em hỏi mình nạp qua cổng usb trực tiếp tại chân D+ và D- của LPC2148 có được không ạ?

Chia sẻ trang này