Tải bản đầy đủ (.docx) (60 trang)

Tìm hiểu về hệ điều hành mbed OS

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (932.55 KB, 60 trang )

Báo Cáo Môn Học Thay Thế Tốt
Nghiệp
Học Phần

Thiết Kế Hệ Thống Số

Nhóm: 3
Đề Tài:
Tìm Hiểu Về Hệ Điều Hành Mbed OS

Thành Viên:
Nguyễn Huy Chung

D12DTMT

Hà Văn Duyệt

D12DTMT

Hoàng Duy Hiển

D12DTMT

1


Mục lục

I.

Tổng quan


Mbed là một nền tảng và hệ điều hành cho các thiết bị kết

nối internet dựa trên vi điều khiển 32-bit ARM Cortex-M. Các
thiết bị này còn được gọi là Internet of Things. Dự án được hợp
tác phát triển bởi ARM và các đối tác công nghệ của mình.

Phát triển phần mềm
Ứng dụng cho nền tảng mbed có thể được phát triển bằng
cách sử dụng trực tuyến mbed IDE , một trình soạn thảo mã
trực tuyến miễn phí và trình biên dịch trong đó các mã được
2


viết và biên soạn trong một trình duyệt web , và biên soạn trên
các đám mây bằng cách sử dụng ARMCC C / C ++ . Các IDE
mbed cung cấp không gian làm việc riêng với khả năng nhập
khẩu, xuất khẩu và mã cổ phiếu với phân Mercurial kiểm soát
phiên bản , và nó có thể được sử dụng cũng cho thế hệ tài liệu
mã. Ứng dụng có thể được phát triển cũng có môi trường phát
triển khác như Keil μVision, IAR Embedded Workbench, và
Eclipse với GCC công cụ nhúng ARM.
Bộ kit phát triển phần mềm mbed (SDK) cung cấp / C ++
nền tảng phần mềm mbed C và các công cụ cho việc tạo ra
phần mềm vi điều khiển chạy trên các thiết bị thông minh. Nó
bao gồm các thư viện lõi cung cấp các trình điều khiển thiết bị
ngoại vi vi điều khiển, mạng, RTOS và môi trường thời gian
chạy, công cụ xây dựng và thử nghiệm và gỡ lỗi script.
Một cơ sở dữ liệu thành phần cung cấp các thư viện driver
cho các thành phần và dịch vụ có thể được kết nối với vi điều
khiển để xây dựng một sản phẩm cuối cùng ..


Phát triển phần cứng
Có rất nhiều phần cứng demo cho nền tảng mbed, với việc
đầu tiên là mbed gốc ban Vi điều khiển. Các vi điều khiển
mbed ("mbed NXP LPC1768") là một bản demo-board dựa trên
một NXP vi điều khiển, trong đó có một ARM Cortex M3 lõi, chạy
ở 96 MHz, 512 KB đèn flash , 64 KB RAM, cũng như nhiều giao
diện bao gồm Ethernet , USB Device, CAN , SPI , I ² C và các I /
O . Các vi điều khiển mbed nhận được giải thưởng đầu tiên

3


trong năm EDN mềm / Embedded Công cụ loại Innovation
Awards 'vào năm 2010.
Các phiên bản khác nhau của hội đồng quản trị đã được
phát hành, với NXP LPC2368 ( ARM7TDMI-S ), NXP LPC1768
( Cortex-M3 ), NXP LPC11U24 ( Cortex-M0 ) vi điều khiển.
Bộ kit phát triển phần cứng mbed (HDK) được thiết kế cho
các OEM , và cung cấp thông tin để xây dựng phần cứng tùy
chỉnh để hỗ trợ SDK mbed. Điều này bao gồm các phần mềm
giao diện và sơ đồ có thể được sử dụng để dễ dàng tạo ra Ban
phát triển, mô-đun OEM và các sản phẩm tái lập trình phù hợp
cho sản xuất.

Dự án phát triển
Dự án được phát triển bởi ARM kết hợp với các công ty
công nghệ lớn khác và cộng đồng phát triển mbed. Phát triển
và đóng góp xảy ra ở các cấp độ khác nhau:
Lõi Platform - Nền tảng phần mềm cốt lõi, phát triển bởi

các thành viên nòng cốt và các công ty đối tác và quản lý và
duy trì bởi đội mbed. Nền tảng cốt lõi này được phát triển theo
Giấy phép Apache 2.0 thông qua một thỏa thuận đóng góp.
Điều này bao gồm tất cả các thành phần lõi phần mềm chung
nền tảng cung cấp, cộng với các cảng HAL cho phép mbed để
minh bạch chạy trên các nhà sản xuất vi điều khiển khác nhau
và các cổng toolchain cho phép phát triển sử dụng dãy công cụ
nhúng khác nhau.

4


Hợp phần Cơ sở dữ liệu - Thư viện thành phần, được phát
triển bởi các công ty và cộng đồng rộng lớn hơn, để cung cấp
hỗ trợ cho các thiết bị ngoại vi thành phần, cảm biến, radio,
prototcols và apis dịch vụ điện toán đám mây cần thiết để xây
dựng các thiết bị đầu cuối. Đây là những đóng góp dưới Giấy
phép Apache 2.0 (khuyến khích) hoặc giấy phép khác được lựa
chọn bởi những người sáng tạo, và được hỗ trợ bởi những công
ty tư nhân và các thành viên của cộng đồng phát triển

Tìm hiểu về Mbed OS

II.

ARM mbed OS là một mã nguồn mở hệ điều hành nhúng
được thiết kế đặc biệt cho các "sự vật" trong Internet of Things.
Nó bao gồm tất cả các tính năng cần thiết để phát triển một
sản phẩm kết nối dựa trên ARM Cortex (vi điều khiển-M ), bao
gồm bảo mật, kết nối, một RTOS, và trình điều khiển cho cảm

biến và thiết bị I / O.


Các tính năng hệ điều hành mbed
- Các thư viện cần thiết mới có thể tự động thêm vào
thiết bị của bạn cho phép bạn tập trung vào viết mã
-

ứng dụng
Mutilplayer bảo mật giúp bảo vệ các giải pháp IOT của
ban, từ lĩnh vực an ninh bị cô lập thông qua để mbed

-

TLS truyền thông an toàn
Mbed cung cấp cho bạn một loạt các tùy chọn liên lạc
với trình điều khiển Bluetooth năng lượng thấp, chủ đề,



6LoWPAN, Ethernet và WiFi.
Toolchain và IDE Hỗ trợ
5


-

Phát triển sử dụng hệ điều hành mbed trong IDE trực
tuyến, không đòi hỏi thiết lập và tạo cho bạn con đường


-

nhanh nhất để bắt đầu.
mbed hệ điều hành đang được thử nghiệm trên ARM
Compiler 5, GCC và trình biên dịch IAR và các dự án
mbed có thể được xây dựng sử dụng các dãy công cụ

-

với mbed CLI.
Các nhà phát triển có các dự án dựa trên hệ điều hành
mbed 2.0 có thể sử dụng mbed OS 5.0. Các dự án cũng
có thể được xuất để sử dụng trong IDE khác, chẳng hạn



như Keil MDK.
OS Kết nối mbed
- Một loạt các lựa chọn kết nối có sẵn trong hệ điều hành
mbed, hỗ trợ với các thư viện phần mềm, phát triển
phần cứng, hướng dẫn và ví dụ.



Các tính năng và lợi ích của hệ điều hành mbed
- Hỗ trợ thiết bị và linh kiện
Với sự hỗ trợ cho hệ điều hành mbed trên một loạt các
thiết bị dựa trên ARM Cortex-M, các nhà phát triển có thể
tạo thử nghiệm các ứng dụng một cách nhanh chóng IOT
trên bảng phát triển chi phí thấp.

6


Simple USB kéo và thả các chương trình cho phép bạn
nhanh chóng tạo thử nghiệm mà không cần phần cứng
debug đắt.
-

Bất động thời gian thực thi phần mềm
Với một cốt lõi RTOS dựa trên sử dụng rộng rãi mã

nguồn mở CMSIS-RTOS RTX, mbed OS hỗ trợ xác định, đa
luồng thời gian thực thi phần mềm. Các primatives RTOS
là luôn luôn có sẵn, cho phép điều khiển và các ứng dụng
dựa trên các tính năng như chủ đề, Cột và mutexes.
-

Mã nguồn mở
Phát hành theo giấy phép Apache 2.0, bạn có thể sử

dụng hệ điều hành mbed trong các dự án thương mại và
cá nhân với sự tự tin.
-

Dễ sử dụng
Với một cấu trúc THƯ VIỆN mô đun, các hỗ trợ cơ bản

cần thiết cho ứng dụng của bạn sẽ được tự động đưa vào
thiết bị của bạn.
Bằng cách sử dụng các hệ điều hành API mbed, mã ứng

dụng của bạn có thể vẫn còn nguyên vẹn và đơn giản,
trong khi vẫn bảo đảm an ninh và thông tin liên lạc.
Mbed cung cấp một phạm vi lớn các mã ví dụ mà bạn
có thể nhập vào các dự án riêng của mình, chứng minh
làm thế nào để sử dụng mỗi của các API.
-

Cộng đồng
Cộng đồng mbed cho phép đóng góp và hợp tác giữa

ARM, hơn 50 đối tác, và hàng trăm ngàn nhà phát triển cá
nhân trên toàn thế giới.
Nhiều người trong số các thành phần và các dự án của
chúng tôi đã được đóng góp bởi cộng đồng. Diễn đàn của
7


chúng tôi và Q & A cung cấp cho các nhà phát triển với sự
hỗ trợ của cộng đồng, cùng với GitHub cho đầu vào kỹ
thuật.
-

Kết thúc an toàn
Mbed giải quyết an ninh trong thiết bị phần cứng, phần

mềm, truyền thông và trong vòng đời của các thiết bị
chính nó:
Phần cứng Enforced an Ở cấp thấp nhất của hệ điều
hành mbed, chúng tôi sử dụng một hạt nhân giám sát gọi
uVisor để tạo ra lĩnh vực an ninh cách li, giúp hạn chế truy

cập vào bộ nhớ và thiết bị ngoại vi.
Truyền thông An ninh Chúng tôi SSL và TLS, các giao
thức chuẩn để đảm bảo thông tin liên lạc trên Internet, và
cho phép bạn bao gồm chúng trong dự án mbed của bạn
với một API đơn giản.
-

Trình điều khiển và thư viện hỗ trợ
Driver hỗ trợ cho một loạt các thiết bị ngoại vi MCU tiêu

chuẩn được bao gồm trong hệ điều hành mbed. Điều này
bao gồm kỹ thuật số và analog IO, ngắt, cảng và xe buýt
IO, PWM, I2C, SPI và nối tiếp.
Các thư viện C của mỗi toolchain hỗ trợ cũng được tích
hợp vào hệ điều hành mbed, bao gồm cả việc thực hiện
các hỗ trợ an toàn thread.


Ứng dụng hệ điều hành mbed tiêu biểu
Các mô đun của hệ điều hành mbed phép nó chạy trên

Cortex-M0 đến các thiết bị dựa trên Cortex-M4, với một loạt
các giao thức truyền thông.

8


Cách tạo ra một ứng dụng với Mbed OS

III.


Mbed OS cho phép bạn viết các ứng dụng chạy trên các thiết
bị nhúng, bằng cách cung cấp các lớp mà diễn giải mã của ứng
dụng của bạn trong một cách mà phần cứng có thể hiểu được.
Mã ứng dụng của bạn được viết bằng C ++. Nó sử dụng các
ứng dụng lập trình giao diện (API) mbed OS cung cấp. Những
API cho phép mã của bạn để làm việc trên vi điều khiển khác
nhau trong một cách thống nhất. Điều này làm giảm rất nhiều
trong những thách thức trong việc bắt đầu với vi điều khiển và
tích hợp một lượng lớn các phần mềm.



Công cụ phát triển
- Công cụ phát triển ẩn của mbed là CLI mbed , một công
cụ dòng lệnh. Điều này đòi hỏi phải có một toolchain cài
-

đặt trên máy tính của bạn.
Các mbed online Compiler cho phép bạn viết và xây
dựng các ứng dụng chỉ sử dụng một trình duyệt web và

-

kết nối USB.
Sử dụng công cụ hỗ trợ của bên thứ 3.

9



(Ở đây mình sẽ cùng các bạn tìm hiểu 2 phương pháp
phổ biến nhất để lập trình với Mbed OS đó là công cụ CLI
Mbed và Online Compiler)
1.

Tạo ứng dụng trên CLI Mbed

Mbed CLI là tên của công cụ ARM mbed dòng lệnh, đóng gói
như mbed-cli, cho phép đầy đủ mbed công việc: kho kiểm soát
phiên bản, phụ thuộc duy trì, mã xuất bản, cập nhật từ các kho
lưu trữ từ xa (GitHub, GitLab và mbed.org ) và cách gọi xây
dựng hệ thống và xuất khẩu của các chức năng của ARM mbed,
trong số các hoạt động khác.


Sử dụng mbed CLI

Các công việc cơ bản cho mbed CLI là:
1.

Khởi tạo một kho lưu trữ mới, hoặc là một ứng dụng mới
(hoặc thư viện) hoặc một nhập khẩu. Trong cả hai trường
hợp, hành động này cũng mang trong hệ điều hành

2.
3.
4.

codebase mbed.
Xây dựng các ứng dụng mã.

Kiểm tra xây dựng của bạn.
Xuất bản ứng dụng của bạn.



Cài đặt

Yêu cầu
-

Python - mbed CLI là một kịch bản Python, vì vậy bạn sẽ
cần Python để sử dụng nó. Chúng tôi khuyến nghị dùng
mbed CLI với phiên bản 2.7.11 của Python . Nó không

-

tương thích với Python 3.
Git và Mercurial - mbed CLI hỗ trợ cả Git và kho
Mercurial, vì vậy bạn sẽ cần phải cài đặt cả hai:
10


Git - phiên bản 1.9.5 hoặc mới hơn.
Mercurial - phiên bản 2.2.2 hoặc mới hơn.
-

Dòng lệnh biên dịch hoặc IDE toolchain Trình biên dịch:
GCC ARM, ARM Compiler 5, IAR.
IDE: Keil uVision, DS-5, IAR Workbench.


Cài đặt mbed CLI
Bạn có thể nhận được phiên bản ổn định mới nhất của
mbed CLI qua PyPI bằng cách chạy: $ pip install mbed-cli
Trên Linux hoặc Mac, bạn có thể cần phải chạy với sudo.
Ngoài ra, bạn có thể nhận được phiên bản phát triển của CLI
mbed bằng cách nhân bản kho lưu trữ phát triển
/>$ git clone />Một khi nhân bản, bạn có thể cài đặt mbed CLI như là một
gói python:
$ python setup.py install
Trên Linux hoặc Mac, bạn có thể cần phải chạy với sudo.

Gỡ cài đặt mbed CLI
Để gỡ bỏ cài đặt mbed CLI, chỉ cần chạy lệnh
pip uninstall mbed-cli

11


Tạo và nhập chương trình
Mbed CLI có thể tạo và xuất dựa trên cả hai hệ điều hành
mbed 2 và mbed OS 5.

Tạo ra một chương trình mới cho mbed OS 5

Điều này tạo ra một thư mục "mbed-os-chương trình" mới,
khởi tạo một kho lưu trữ mới và nhập khẩu các phiên bản mới
nhất của sự phụ thuộc mbed-os cây chương trình của bạn.
Mẹo: Bạn có thể kiểm soát mà kiểm soát nguồn quản lý
được sử dụng, hoặc ngăn chặn khởi tạo quản lý kiểm soát
nguồn, bằng cách sử dụng --scm [name|none]tùy chọn.

Sử dụng mbed ls để liệt kê tất cả các thư viện nhập khẩu
để chương trình của bạn:

Lưu ý : Nếu bạn muốn bắt đầu từ một thư mục hiện trong
không gian làm việc của bạn, bạn chỉ có thể sử dụng mbed new
., mà sẽ khởi tạo một chương trình mbed, cũng như một Git mới
hoặc Mercurial trong thư mục đó.

Tạo ra một chương trình mới cho hệ điều hành mbed 2
12


Mbed CLI cũng tương thích với 2 chương trình OS mbed
dựa trên các thư viện mbed , và nó sẽ tự động nhập khẩu mới
nhất phát hành thư viện mbed nếu bạn sử dụng các –mbedlib
tùy chọn:

Tạo ra một chương trình mới mà không có hệ điều hành phiên
bản lựa chọn
Bạn có thể tạo đồng bằng (trống) các chương trình, mà
không có một trong hai hệ điều hành mbed 5 hoặc mbed OS 2,
bằng cách sử dụng các --create-only tùy chọn.
Nhập khẩu một chương trình hiện
Sử dụng mbed import để nhân bản một chương trình hiện hành
và tất cả các phụ thuộc của nó vào máy của bạn:

Thêm và xóa các thư viện

13



Trong khi làm việc trên mã của bạn, bạn có thể cần thêm
một thư viện (phụ thuộc) vào ứng dụng, hoặc loại bỏ các thư
viện hiện có.
CLI mbed thêm và loại bỏ tính năng này không chỉ đơn
giản là xây dựng trong các phiên bản của hg, git và rm; chức
năng của họ là phù hợp với cách hệ điều hành mbed và mbed
việc CLI:
Thêm một thư viện mới để chương trình của bạn không
giống như chỉ là nhân bản kho. Đừng sao chép một thư viện sử
dụng hghay git; sử dụng mbed addđể thêm các thư viện. Điều
này đảm bảo rằng tất cả phụ thuộc - thư viện hoặc sublibraries
- được dân cư là tốt.
Loại bỏ một thư viện từ chương trình của bạn không giống
như xóa các thư mục thư viện - có những tập tin tham khảo thư
viện sẽ cần cập nhật hay sạch. Sử dụng mbed removeđể loại bỏ
các thư viện; không chỉ đơn giản là loại bỏ thư mục của nó với
rm.
-

Thêm một thư viện

Sử dụng mbed add thêm các phiên bản mới nhất của một thư
viện:
$ mbed add
/>-

Chỉ định thư mục đích

Nếu bạn muốn chỉ định một thư mục mà bạn thêm thư

viện của bạn, bạn có thể đưa ra một lập luận thêm add, mà tên

14


thư mục đó. Ví dụ, nếu bạn muốn thay thêm thư viện trước đó
trong một thư mục gọi là "text-LCD" (thay vì TextLCD):
$ mbed add
text-lcd
Mặc dù mbed CLI hỗ trợ chức năng này, chúng tôi không
khuyến khích nó - thêm một thư viện với một cái tên khác từ
kho lưu trữ nguồn của nó có thể dễ dàng dẫn đến sự nhầm lẫn.

-

Loại bỏ một thư viện

Nếu tại bất kỳ điểm nào bạn quyết định rằng bạn không
cần một thư viện bất kỳ hơn, bạn có thể sử dụng mbed
removevới đường dẫn của thư viện:
$ mbed remove text-lcd

Biên dịch chương trình của bạn
Sử dụng các mbed compile lệnh để biên dịch mã của bạn:

15


Các luận cứ cho việc biên dịch là:


-m <MCU> để chọn một mục tiêu. Nếu detec thay auto tham số
được thông qua, sau đó CLI mbed sẽ cố gắng để phát hiện các
mục tiêu kết nối và biên dịch chống lại nó.
-t <TOOLCHAIN> để chọn một toolchain (của những người quy
định tại mbed_settings.py, xem ở trên). Giá trị có thể ARM(ARM
Compiler 5), GCC_ARM(GNU ARM nhúng), hoặc IAR(IAR
Embedded Workbench cho ARM).
--source <SOURCE> để chọn thư mục nguồn. Mặc định là .(thư
mục hiện hành). Bạn có thể chỉ định nhiều vị trí nguồn, thậm
chí bên ngoài cây chương trình.
--build <BUILD> để chọn các thư mục build. Mặc định:
BUILD/trong chương trình của bạn.
16


--profile <PATH_TO_BUILD_PROFILE>để chọn một đường dẫn
đến một tập tin cấu hình xây dựng hồ sơ. Ví dụ: mbed-os / công
cụ / profiles / debug.json.
--library để biên dịch các mã như là một .a thư viện tĩnh / .ar .
--config để kiểm tra cấu hình thời gian chạy biên dịch (xem dưới
đây).
-Shoặc –supported cho thấy một ma trận của các mục tiêu và
dãy công cụ hỗ trợ.
-c(Tùy chọn) để xây dựng từ đầu; sạch sẽ xây dựng hoặc xây
dựng lại.
-j <jobs> (không bắt buộc) để kiểm soát các đề biên dịch trên
máy tính của bạn. Giá trị mặc định là 0, suy ra số lượng các chủ
đề từ số lõi trên máy tính của bạn. Bạn có thể sử dụng -j 1để
kích hoạt một biên dịch tuần tự của mã nguồn.
-vhoặc –verbose cho sản lượng chẩn đoán chi tiết.

-vvhoặc --very_verbose cho chẩn đoán sản lượng rất tiết.

Biên dịch thư viện tĩnh
Bạn có thể xây dựng một thư viện tĩnh của mã của bạn
bằng cách thêm các –library đối số cho mbed compile. Thư viện
tĩnh rất hữu ích khi bạn muốn xây dựng nhiều ứng dụng từ cùng
một codebase mbed-os mà không cần phải biên dịch lại cho
mọi ứng dụng. Để đạt được điều này:

17


1.
2.

Xây dựng một thư viện tĩnh cho mbed-os.
Biên dịch nhiều ứng dụng hoặc kiểm tra đối với các thư
viện tĩnh:

Biên dịch hệ thống cấu hình
Các hệ thống cấu hình biên dịch cung cấp một cơ chế linh
hoạt để cấu hình chương trình mbed, thư viện của mình và mục
tiêu xây dựng. Hãy tham khảo các liên kết trước đó để biết
thêm thông tin chi tiết về cấu hình hệ thống.
Kiểm tra cấu hình

Nếu các chương trình sử dụng các hệ thống cấu hình biên
dịch , bạn có thể sử dụng mbed compile –config để xem các cấu
hình:
$ mbed compile --config -t GCC_ARM -m K64F

Để hiển thị thông nhiều tiết về các thông số cấu hình, sử dụng
-v:
18


$ mbed compile --config -t GCC_ARM -m K64F -v
Có thể lọc đầu ra của mbed compile –config bằng cách xác
định một hay nhiều tiền tố cho các tham số cấu hình đó sẽ được
hiển thị. Ví dụ, để chỉ hiển thị các cấu hình được xác định bởi
các chỉ tiêu:
$ mbed compile --config -t GCC_ARM -m K64F --prefix target
--prefix có thể được sử dụng nhiều hơn một lần. Để chỉ hiển thị
các cấu hình được xác định bởi các ứng dụng và các mục tiêu,
sử dụng hai --prefix tùy chọn:
$ mbed compile --config -t GCC_ARM -m K64F --prefix target
--prefix app
Thời gian biên dịch tùy chỉnh
Macros
Bạn có thể chỉ định các macro trong dòng lệnh của bạn bằng
cách sử dụng tùy chọn -D. Ví dụ:
$ mbed compile -t GCC_ARM -m K64F -c -DUVISOR_PRESENT
Biên dịch trong chế độ gỡ lỗi
Để biên dịch trong chế độ gỡ lỗi (như trái ngược với các
mặc định phát hành chế độ), sử dụng --profile mbedos/tools/profiles/debug.jsontrong các biên dịch dòng lệnh:
$ mbed compile -t GCC_ARM -m K64F --profile mbedos/tools/profiles/debug.json

Tự động hoá toolchain và lựa chọn mục tiêu
19



Sử dụng mbed target <target>và mbed toolchain
<toolchain>, bạn có thể thiết lập các mục tiêu mặc định và
công cụ mô phỏng cho chương trình của bạn, có nghĩa là bạn sẽ
không phải để chỉ định những mỗi khi bạn biên dịch hoặc tạo ra
các tập tin dự án IDE.
Bạn cũng có thể sử dụng mbed target detect, mà sẽ cố
gắng để phát hiện các mục tiêu ban kết nối và sử dụng nó như
là tham số mỗi khi bạn biên dịch, xuất khẩu.
Xuất khẩu sang IDE tính để bàn
Nếu bạn cần gỡ lỗi mã của bạn, một cách tốt để làm điều
đó là để xuất khẩu cây nguồn của bạn vào một tập tin dự án
IDE, do đó bạn có thể sử dụng phương tiện gỡ lỗi của IDE. Hiện
nay mbed CLI hỗ trợ xuất khẩu để Keil uVision, DS-5, IAR
Workbench, đơn giản và Studio IDE khác.
Ví dụ, để xuất khẩu sang uVision, chạy:
$ mbed export -i uvision -m K64F
Một .uvprojtập tin được tạo ra trong projectfiles / thư mục
uvision. Bạn có thể mở các file dự án với uVision.
Kiểm tra
Sử dụng các mbed test lệnh để biên dịch và chạy thử nghiệm:

20


Đối số chỉ test là: chọn mục tiêu cho việc biên soạn. Nếu
hay tham số được thông qua, sau đó CLI mbed sẽ cố gắng để
phát hiện các mục tiêu kết nối và biên dịch chống lại nó. để
chọn một toolchain (của những người quy định tại , xem ở trên),
mà có thể là (ARM Compiler 5), (GNU ARM nhúng), hoặc (IAR
Embedded Workbench cho ARM). để liệt kê tất cả các bài kiểm

tra có thể được xây dựng. để liệt kê tất cả các bài kiểm tra có
thể được chạy (họ phải được xây dựng đầu tiên). để chỉ biên
dịch các bài kiểm tra. chỉ chạy thử nghiệm. để hạn chế các
cuộc thử nghiệm được xây dựng hoặc chạy vào một danh sách
bằng dấu phẩy (ví dụ. test1, test2, Test3). để chọn thư mục
nguồn. Mặc định là (thư mục hiện hành). Bạn có thể chỉ định
nhiều vị trí nguồn, thậm chí bên ngoài cây chương trình. để
chọn các thư mục build. Mặc định: trong chương trình của bạn.
để chọn một đường dẫn đến một tập tin cấu hình xây dựng hồ
21


sơ. Ví dụ: mbed-os / công cụ / profiles / debug.json. để làm sạch
các thư mục xây dựng trước khi biên dịch. để thiết lập đường
dẫn cho file test đặc tả sử dụng khi xây dựng và chạy thử
nghiệm (đường dẫn mặc định là thư mục xây dựng). hoặc cho
sản lượng chẩn đoán chi tiết. hoặc cho chẩn đoán sản lượng rất
tiết.
-m <MCU>detectauto
-t <TOOLCHAIN>mbed_settings.pytoolchainARMGCC_ARMIAR
--compile-list
--run-list
--compile
--run
-n <TESTS_BY_NAME>
--source <SOURCE>.
--build <BUILD>BUILD/
--profile <PATH_TO_BUILD_PROFILE>
-c or --clean
--test-spec <TEST_SPEC>

-v--verbose
-vv--very_verbose

Bạn có thể tìm thấy các chương trình biên dịch và các đồ
tạo tác kiểm tra trong
22


BUILD/tests/<TARGET>/<TOOLCHAIN>thư mục của chương
trình của bạn.

Tìm các bài kiểm tra có sẵn
Bạn có thể thấy các bài kiểm tra mà có sẵn cho xây dựng
bằng cách sử dụng các --compile-list tùy chọn:

Bạn có thể tìm thấy các bài kiểm tra có sẵn để chạy bằng cách
sử dụng các --run-list tùy chọn:

Biên dịch và chạy thử nghiệm
Bạn có thể chỉ định để chỉ xây dựng các bài kiểm tra bằng cách
sử dụng các –compile tùy chọn:
$ mbed test -m K64F -t GCC_ARM --compile
Bạn có thể chỉ định để chỉ chạy các bài kiểm tra bằng cách sử
dụng các –run tùy chọn:
23


$ mbed test -m K64F -t GCC_ARM --run
Nếu bạn không chỉ định bất kỳ trong số này, mbed test đầu tiên
sẽ biên dịch tất cả các xét nghiệm có sẵn và sau đó chạy

chúng.

Hạn chế phạm vi kiểm tra
Bạn có thể giới hạn phạm vi của các thử nghiệm được xây
dựng và chạy bằng cách sử dụng các –n tùy chọn. Này có một
dấu phẩy tách ra danh sách tên các thử nghiệm như là một
tham số:
$ mbed test -m K64F -t GCC_ARM -n TESTS-functionaltest1,TESTS-functional-test2
Bạn có thể sử dụng ký tự đại diện *để chạy một nhóm các
bài kiểm tra mà chia sẻ một tiền tố phổ biến mà không chỉ định
mỗi bài kiểm tra riêng. Ví dụ, nếu bạn chỉ muốn chạy ba bài
kiểm tra TESTS-functional-test1, TESTS-functional-test2và
TESTS-functional-test3, nhưng bạn có xét nghiệm khác trong dự
án của bạn, bạn có thể chạy:
$ mbed test -m NUCLEO_F429ZI -t GCC_ARM -n TESTSfunctional*
Lưu ý: Một số vỏ sẽ cố gắng mở rộng các ký tự đại diện *vào tên
tập tin đó tồn tại trong thư mục làm việc của bạn. Để ngăn
chặn hành vi này, xin vui lòng xem tài liệu của vỏ của bạn.

Cấu trúc thư mục kiểm tra
24


Mã kiểm tra tồn tại trong cấu trúc thư mục sau đây:

Như đã chỉ ra ở trên, kiểm tra tồn tại bên trong
TESTS\testgroup\testcase\thư. Xin lưu ý rằng TESTSlà một thư
mục chữ hoa đặc biệt được loại trừ khỏi các nguồn mô-đun
trong khi biên dịch.
Lưu ý: Tính năng này không hoạt động trong các ứng dụng

có chứa một mainchức năng mà là bên ngoài của một TESTSthư
mục.

Xuất bản thay đổi của bạn tình trạng kiểm tra
Khi bạn phát triển chương trình của bạn, bạn sẽ chỉnh sửa
các bộ phận của nó - hoặc mã hoặc mã của riêng bạn trong một
số các thư viện mà nó tùy thuộc vào. Bạn có thể có được tình
trạng của tất cả các kho trong chương trình của bạn (đệ quy)
bằng cách chạy mbed status. Nếu một kho lưu trữ có thay đổi
không bị giam, lệnh này sẽ hiển thị những thay đổi này.
Dưới đây là một ví dụ:
25


×