Real-Time-Workshop build Target Language Compiler Make C-code function
Hình 2.4: Các bước xây dựng chương trình trên Real-Time Workshop
Real-Time Workshop System.tmf model.c model.h model_export.h Chương trình TLC .System target file .Block target file .Thư viện hàm TLC Model.rtw Các file hỗ trợ giao diện model.mk Tải vào phần cứng
Quá trình dựng tự động của RTW sẽ tạo ra chơng trình ứng dụng thời gian thực trong các môi trờng đích khác nhau (hình 2.4). Quá trình dựng sử dụng tiện ích
make để kiểm soát việc biên dịch và kết nối mã nguồn. File lệnh sẽ điều khiển quá trình dựng. File lệnh mặc định là make_rtw.
Quá trình dựng gồm các bớc sau:
1/ Phân tích và biên dịch file mô tả mô hình.
ở bớc này, RTW đọc file mô hình (ví dụ model. mdl) và biên dịch thành một file mô tả trung gian có tên là model.rtw. File này đóng vai trò là đầu vào cho quá trình dựng tiếp theo.
2/ Tạo mã bằng trình biên dịch ngôn ngữ đích TLC (Target Language Compiler).
Trình biên dịch TLC là một ngôn ngữ lập trình, dùng để biến đổi file mô tả mô hình thành mã đặc trng của đích. Khi đó trình biên dịch thực hiện một chơng trình TLC (TLC program) gồm một số file đích (Target file .tlc).
Chơng trình TLC xác định cách tạo mã từ mô hình đợc mô tả trong file model.rtw.
Chơng trình TLC gồm:
a) File hệ thống đích (System Target file): Là điểm nhập (entry point) của chơng trình TLC, quy định cách thức tạo mã cho đích đợc chọn
b) File khối đích (Block Target file): Mỗi khối trong mô hình Simulink có một file khối đích xác định cách tạo mã từ khối .
b) Th viện hàm của TLC gồm các hàm hỗ trợ quá trình tạo mã
Trình biên dịch đích bắt đầu bằng cách đọc file model.rtw. Sau đó biên dịch và thực hiện các lệnh trong các file đích, đầu tiên là file hệ thống đích, sau đó là các file khối đích. Đầu ra của TLC là mã nguồn (C hoặc Ada) của mô hình.
3/ Tạo Makefile tuỳ biến
Bớc thứ ba trong quá trình dựng là tạo Makefile tuỳ biến (model.mk). File này hớng dẫn tiện ích Make trong việc biên dịch và liên kết mã nguồn. RTW tạo makefile, model.mk, từ Makefile mẫu của hệ thống(System.tmf) bằng cách sao chép Makefile mẫu, trong đó, các thẻ khoá (Token) sẽ đợc cập nhật. Ví dụ:
MODEL_NAME (Tên của mô hình), S-Function (Danh sách các hàm S-Function), NUMST (Số lợng thời gian lấy mẫu), NCSTATES (Số lợng các trạng thái liên tục) …
Makefile mẫu đợc thiết kế cho từng loại môi trờng đích. File này cho phép ta xác định trình biên dịch, các tuỳ chọn của trình biên dịch và các thông tin bổ sung đợc sử dụng trong quá trình tạo file khả thi.
Ta có thể tuỳ biến quá trình dựng bằng cách thay đổi các tham số trong Makefile mẫu hoặc viết một Makefile mẫu của riêng mình.
4/ Tạo chơng trình khả thi exe (Executable)
Tạo chơng trình khả thi là bớc cuối cùng của quá trình dựng và đợc bắt đầu sau khi file model.mk đợc tạo ra. Đến thời điểm này, quá trình dựng sẽ kích hoạt tiện ích make và tiện ích make sẽ chạy trình biên dịch, sau đó tải chơng trình khả thi vào đích.
Các file đợc tạo ra trong quá trình dựng
Các file chính sau đây đợc tạo ra trong quá trình dựng. Ngoài ra, tuỳ theo các tuỳ chọn tạo mã, quá trình dựng có thể tạo ra các file khác.
- model.mdl: là file do Simulink tạo ra - model.rtw: là file do RTW tạo ra
- model.c: tạo ra bởi trình biên dịch đích TLC, là mã nguồn C ứng với file model.mdl.
- model.h: tạo ra bởi trình biên dịch đích TLC là file tiêu đề (header file) chứa thông tin về kết nối giữa các khối trong mô hình.
- model-export.h: tạo ra bởi trình biên dịch đích TLC là file tiêu đề (header file) chứa các ký hiệu tín hiệu tham số và các hàm.
- model.mk: tạo ra bởi quá trình dựng của RTW, là Makefile tuỳ biến đợc sử dụng để dựng chơng trình khả thi.
- model.exe (trên PC) hoặc model (trên UNIX) là chơng trình khả thi đợc tạo ra dới sự điều khiển của tiện ích Make.
Các file này nằm trong th mục công tác (chứa model.exe) và th mục con model_Target.rtw (Model là tên của file mã nguồn, Target là tên đích). Th mục con
này chứa các file: model.rtw, model.h, model_export.h, model.c, model.mk và các file khác phụ thuộc vào các tuỳ chọn của quá trình dựng.
Bảng 2-1 liệt kê các file dùng để dựng chơng trình cho một số đích sau:
Đích File hệ
thống đích
Makefile mẫu Make command File hỗ trợ chế độ ngoài Generic Real-Time for PC/UNIXX grt.tlc grt_default_tm p make_rtw ext_comm Real-Time Windows Target
gtwin.tlc rtwin.tmp make_rtw rtwin_ext TI EVM 67x Target evm67x.tlc evm67x.tmp make_rtw
TI Code Composer Studio Target
ccs.tlc ccs.tmp
Bảng 2.1: Các file để dựng trình khả thi và hỗ trợ chế độ ngoài của một số đích