PHẦN 1: SƠ ĐỒ PINOUT

alt text


PHẦN 2: GIỚI THIỆU HĐH NHÚNG ARM MBED-OS

Khi xây dựng một hệ thống Internet of Things (IoT), việc lựa chọn platform để thiết kế và xây dựng hệ thống là hết sức quan trọng. ARM Inc là công ty sản xuất chip vi điều khiển ARM nổi tiếng, được ứng dụng rộng rãi trong hệ thống nhúng và thiết bị di động. Với lợi thế của nhà thiết kế chip, hãng cung cấp một nền tảng hoàn chỉnh để phát triển hệ thống IoT với tên gọi ARM mbed IoT Device Platform.

Thành phần quan trọng của ARM mbed IoT Device Platform chính là hệ điều hành nhúng mbed OS cho các vi điều khiển Arm Cortex-M. mbed-OS được cộng đồng đánh giá là hệ điều hành nhúng rất phù hợp để phát triển hệ thống IoT với các tính năng cơ bản như: tính an ninh, nhiều giao diện kết nối, có RTOS, nhiều thư viện cho các loại cảm biến và ngoại vi phổ biến và đặc biệt nó là open-source. Chúng ta cùng xem xét một số tính năng cơ bản của mbed OS.

Tính năng và lợi thế của mbed-OS

Tính năng Mô tả
Hỗ trợ nhiều thiết bị - mbed OS hỗ trợ nhiều loại chip ARM Cortex của các hãng sản xuất khác nhau (từ ARM Cortex M0 đến ARM Cortex M4). - Hỗ trợ nạp chương trình cho chip bằng cách kéo thả (drag and drop programming) đơn giản, nhanh chóng
Thực thi phần mềm theo thời gian thực - Với một nhân RTOS dựa trên CMSIS-RTOS RTX, mbed-OS hỗ trợ Multithread
Mã nguồn mở - Được phát hành với giấy phép Apache 2.0, có thể sử dụng mbed-OS với các dự án học tập hoặc thương mại
Sử dụng dễ dàng - Cấu trúc thư viện dạng mô đun- mbed-OS API: “clean, portable, simple, whilst taking advantage of security and communications”
Cộng đồng hỗ trợ tốt - Trên 50 đối tác và hàng trăm ngàn nhà phát triển trên toàn thế giới - Cộng đồng hỗ trợ tích cực trên developer.mbed.org và github
Bảo mật End to end Đảm bảo an ninh tại phần cứng, phần mềm, quá trình truyền thông : - Hardware Enforced Security: At the lowest level of mbed OS, we use a supervisory kernel called uVisor to create isolated security domains which restrict access to,memory and peripherals. - Communications Security: We take SSL and TLS, the standard protocols for securing communications on the internet and allow you to include them in your mbed project with a simple API.
Driver và thư viện hỗ trợ - Hỗ,trợ đầy đủ các ngoại vi chuẩn của một MCU như: digital IO, analog IO, interrupts, port and bus IO, PWM, I2C, SPI và serial. - Các thư viện C của mỗi toolchain được hỗ trợ cũng được tích hợp vào mbed OS

Các giao diện kết nối được mbedOS hỗ trợ

Kiến trúc của mbed OS

Các ứng dụng cơ bản của mbed OS

Các trang web hữu ích để tìm hiểu về mbed-OS

  • https://www.mbed.com/en/platform
  • https://www.mbed.com/en/platform/mbed-os/
  • https://docs.mbed.com/
  • https://developer.mbed.org/
  • https://github.com/ARMmbed/mbed-os

PHẦN 3: SỬ DỤNG MBED ONLINE COMPILER LẬP TRÌNH CHO VBLUno51

Đúng như tên gọi của nó, mbed Online Compiler là một trình biên dịch dành cho mbed OS chạy online, chỉ với một máy tính có kết nối internet, bạn có thể dễ dàng lập trình và biên dịch ra file thực thi cho VBLUno51. Phần sau đây trình bày các bước thực hiện một cách chi tiết thông qua hình ảnh.

Bước 1: Đăng ký tài khoản trên developer.mbed.org

(Nếu đã đăng ký, bạn có thể bỏ qua bước này)

Truy cập vào địa chỉ https://developer.mbed.org , đăng ký một tài khoản dành cho các developer với mbed OS. Nó là hoàn toàn miễn phí nên các bạn có thể tự tin đăng ký nhé.

Bước 2: Đăng nhập giao diện trình biên dịch

Nhấp vào nút “Compiler” hoặc truy cập vào đường dẫn https://developer.mbed.org/compiler/

Bước 3: Chọn Device Platform để lập trình ứng dụng

  • Nhấn vào nút chọn Platform ở góc phải, phía trên màn hình. Cửa sổ Select a Platform hiện ra, nhấn vào “Add platform”

  • Bạn chọn board Nordic NRF51-DK. Đây là board có cấu hình phần cứng khá tương đồng với VBLUno51 board

  • Tiếp theo bạn chọn “Add to your mbed compiler”

  • Nhấp vào nút Compiler để quay về trình biên dịch, lúc này góc phải của trình duyệt sẽ hiển thị board Nordic NRF51-DK

Bước 4: Thực hiện một ví dụ đơn giản – Hello World Example

Sau đây chúng ta thực hiện một ví dụ đơn giản, ví dụ "vbluno51_blinky”.

  • 4.1 Thêm một ví dụ sẵn có vào tài khoản của bạn

    • Chọn “import a program”,
    • Tìm kiếm theo từ khóa “mbed_blinky”
    • Chọn ví dụ mbed_blinky trong danh sách tìm được, nhấn chọn “Import” để thêm ví dụ này vào tài khoản của bạn.

Bạn có thể sửa tên project như hình dưới đây

  • 4.2 Sửa mã nguồn chương trình “main.cpp”:

Copy đoạn mã nguồn sau vào file main.cpp

/********************************************
VBLUNO51 BOARD
mbed Online Compiler
Project: Blink led and transmit via UART (with HWFC)
Note: select NRF51_DK platform
*********************************************/

#include "mbed.h"

/*For VBLUno51 board*/
#define PIN_TX  p10
#define PIN_RX  p11
#define PIN_RTS p12
#define PIN_CTS p13
#define PIN_LED p7
 
Serial pc(PIN_TX, PIN_RX); // tx, rx
DigitalOut led(PIN_LED);

int main() {        
    
    //Init
    pc.baud(115200);
    pc.set_flow_control(SerialBase::RTSCTS, PIN_RTS, PIN_CTS);
    pc.printf("\r\n-------------------------------------\r\n"
              "Tests for VNG VBLUno51 board\n\r"              
              "-------------------------------------\r\n");   
    
    //No condition loop
    while(1) {
        led = 1;
        wait(1);
        led = 0;
        wait(1);        
        pc.printf("Finish a period\r\n");
    }
    return 0;
}

Chọn Save để lưu lại

  • 4.3 Chọn Compile để biên dịch chương trình

Kết quả biên dịch thành công, tạo ra 1 file thực thi (*.hex) và tự động lưu về máy tính của bạn

  • 4.4 Nạp file thực thi vào bo mạch VBLUno51

Sau khi kết nối bo mạch VBLUno51 đến máy tính, một ổ đĩa sẽ được thêm vào máy tính của bạn. Ổ đĩa này có tên là “DAPLINK”. Để nạp file thực thi đã được biên dịch ở bước trước vào bo mạch VBLUno51, bạn chỉ cần copy file này vào ổ đĩa trên và chờ quá trình sao chép hoàn tất.

  • 4.5 Chạy chương trình Sau khi nạp file thực thi, chương trình sẽ tự động chạy. Nếu mọi việc thành công, bạn sẽ thấy LED trên mạch VBLUno51 nhấp nháy sáng. Sử dụng một phần mềm có chức năng Serial Terminal như Hercules hoặc PuTTY, tạo một kết nối đến cổng COM ảo với tốc độ baud 115200, bạn sẽ quan sát được thông điệp mà VBLUno51 gửi lên máy tính như hình dưới.

Tags: bat_dau