Khi một chương trình được tải,việc tái định vị thực hiện tự động.Địa chỉ thực sự chương trình được tải được hiển thị bởi lệnh lodspg,và có thể được xác nhận bằng lệnh ref spg của CLI • P
Trang 1Chương 1
GIỚI THIỆU CHUNG VỀ T-ENGINE
1 Khái quát chung
T-Engine là một platform được phát triển mở và chuẩn hoá cho những hệ thống thời gian thực.Nó đóng một vai trò quan trọng trong việc xây dựng những hệ thống tính toán thường gặp,mà thông thường tất cả đều được nhúng với máy tính thông minh và liên kết mạng
T-Engine là sự kết hợp của chuẩn phần cứng (T-Engine board) và hệ điều hành thời gian thực(T-Kernel).T-Engine hổ trợ sự phân phối middleware.Sự sẳn có một phạm vi đầy đủ của các middleware làm giảm bớt thời gian và chi phí để phát triển những ứng dụng hệ thống
T-Engine là kiến trúc tốt cho phát triển việc nhúng phần mềm nhanh chóng và hiệu quả cho các sản phẩm như cell phones và những ứng dụng thông tin.T-Engine hổ trợ eTRON, một kiến trúc bảo mật mạng phát triển dựa trên TRON Project, để đảm bảo những thông tin số sẽ đến an toàn
mà không lo bị nghe trộm hay xáo trộn trong khi truyền
2 T-Engine và thế giới của sự sử dụng máy tính mọi nơi
TRON Project có một tác động lớn đến lĩnh vực hệ điều hành thời gian thực,nhúng những sản phẩm như cell phone và hệ thống điều khiển xe hơi.Ngày nay các sản phẩm với khả năng kết nối mạng phát triển một cách mạnh mẽ.Tính phổ biến của những sản phẩm như vậy mang chúng ta đến gần thời đại sử dụng máy tính mọi lúc mọi nơi,tất cả các đối tượng được nhúng vào microchip và liên hệ với nhau qua mạng
Hai yêu cầu quan trọng cần thiết để thực hiện môi trường sử dụng máy tính khắp nơi.Một là tính bảo mật mạng cho người sử dụng.Những hệ thống thông tin di động được kết nối mạng như cell phone,PDA,những hệ thống tính toán để điều khiển từ xa các thiết bị gia dụng từ bên ngoài căn nhà.Những ứng dụng như vậy đòi hỏi mức độ bảo mật cao, bảo vệ tránh rò rỉ thông tin hay nhiểu
và chống lại những hành vi trộm cắp.Hai là yêu cầu để đảm bảo phát triển hiệu quả sản phẩm và trong một thời gian ngắn.Trong lĩnh vực hệ thống nhúng,khác với thế giới của máy tính cá nhân,việc sử dụng rộng rải đủ loại kiến trúc CPU và phần cứng là thông thường.Một hệ điều hành thời gian thực và middleware phải được phát triển một cách riêng biệt cho mỗi platform phần cứng.Càng ngày càng có những những yêu cầu mới về chức năng của sản phẩm.Nhưng để thỏa mãn những yêu cầu này lại tốn nhiều thời gian phát triển,chi phí cao và dường như những đòi hỏi về gỡ lỗi là vô tận
Dự án T-Engine được bắt đầu để xây dựng một platform phát triển chung giải quyết những vấn
đề trên.Việc bảo mật được gửi bằng cách thực hiện kiến trúc bảo mật eTRON (sự thêm mới TRON Project,thiết lập một platform an toàn với môi trường mạng),và hổ trợ điều này ở phần cứng T-Engine và middleware.Phần cứng T-Engine cung cấp eTRON chip.Những sản phẩm sử dụng eTRON có thể gởi thông tin bảo đảm trên Internet và những mạng mở khác
Trang 2• µT-Engine (micro T-Engine)
Một sản phẩm giao tiếp đơn giản với người sử dụng chủ yếu dùng cho những thiết bị điều khiển,như những thiết bị điện gia dụng,thiết bị khoa học nghiên cứu ứng dụng
• nT-Engine (nano T-Engine)
Một platform dùng cho những thiết bị điện gia dụng nhỏ,các cảm biến kích thước cở một đồng xu
• pT-Engine (pico T-Engine)
Paltform cho những thiết bị là thành phần nhỏ nhất trong môi trường tính toán thông thuờng như đèn,công tắc,các cảm biến,van…
Trang 35 Phần cứng T-Engine
Phần cứng T-Engine chuẩn được xây dựng xung quanh CPU board (75mm x 120mm),có thể kết hợp với một LCD board,board hổ trợ nguồn,board mở rộng và giống với cấu hình phần cứng hệ thống mục tiêu.CPU board của µT-Engine nhỏ hơn (60mm x 85mm).Tiêu chuẩn đặc điểm kĩ thuật được thực hiện theo kích thước của CPU board và những connector bên ngoài của chúng.Chi tiết các đặc điểm kỹ thuật xem bảng bên dưới
Những chip khác nhau có thể được làm cho phù hợp;phần cứng không bị giới hạn bất kì kiến trúc CPU riêng biệt.Một đặc điểm của phần cứng T-Engine là sự thỏa thuận hình thành nhân tố giống với hệ thống mục tiêu
Bảng 1:Các đặc điểm kỹ thuật của Standard T-Engine và μT-Engine
6 Phần mềm T-Engine
6.1 T-Monitor
Phần mềm monitor để bắt đầu hệ điều hành và cho debug.Những đặc điểm được định nghĩa và
nó tương tác với môi truờng phát triển
Trang 47 Môi trường phát triển
Để thuận lợi cho việc phát triển phần mềm và phân phối middleware, định dạng mã đối tượng được chuẩn hóa dựa trên GNU
8 Phần mềm hổ trợ T-Engine
Hệ điều hành với tính phức tạp trong khả năng điều khiển,một môi trường Java và những middleware khác,những công cụ phát triển,chức năng hổ trợ debug giữa phần mềm đã được công
bố cho T-Engine
Trang 5Chương 2
T-ENGINE/SH7760
1 Cấu hình hệ thống
1.1 Đặc điểm
Chip ngoại vi LSI (PCMCIA controller và sound generator chip) sẵn có trên
phương diện thương mại
T-Engine bao gồm PCMCIA controller,sound generator chip,SIM card connector , tạo điều kiện
thuận lợi để phát triển những ứng dụng của hệ thống
Board T-Engine có hai SH7760 bus (bus dữ liệu và bus địa chỉ ) và khe cắm mở rộng điều khiển
tín hiệu output , người sử dụng có thể kết nối các thiết bị đặc biệt
1.2 Cấu hình T-Engine
Hình 1 cho thấy cấu hình hệ thống một T-Engine board và hình 2 là sơ đồ khối của T-Engine
Hình 2: Cấu hình hệ thống
Trang 7Các hình từ hình 4 đến hình 9 cho ta thấy hình ảnh của các board tương ứng (LCD,CPU , debug,và I/O board)
Hình 5: Mặt trước LCD board
Hình 6: Mặt sau LCD board
Trang 8Lưu ý : kết nối CN15 được sử dụng cho kiểm tra mạch ưu tiên trong xưởng.Không sử dụng
Hình 7 : Mặt trước CPU board
Hình 8: Mặt sau CPU board
Trang 9Hình 9: Debug board
Hình 10: I/O board
Trang 101.4 Những đặc điểm kỹ thuật của T-Engine SH7760
Bảng 2: Đặc điểm chức năng của T-Engine
Trang 11Bảng 3: Đặc điểm nguồn cấp,kích thước,môi trường của T-Engine
Bảng 4: Điện áp T-Engine hổ trợ bên ngoài
2 Cài đặt
2.1 Kết nối hệ thống
Để sử dụng T-minitor,ta sử dụng cáp chuẩn RS-232C nối với connector CN1 của T-Engine với máy tính.Hình 2.1 cho thấy cách thức kết nối với máy chủ và hình 2.2 cho thấy các chân của connector CN1
Trang 12Hình 11: Kết nối hệ thống
Hình 12:Chân connector nối tiếp CN1
Trang 13Bảng 5:Các tín hiệu của các chân connector CN1
Lưu ý: (*) :Những chân này chỉ sử dụng để kiểm tra board trong xưởng,không sử dụng chúng với mục đích khác
2.2 Kết nối Adapter
Hình 13:Kết nối adapter
Lưu ý:
• Không để các vật nặng lên dây của AC adapter Để tránh những rủi ro về rỉ điện,lửa,hay
sốc điện,không gây hại dây của AC adapter
Trang 14• Để tránh những nguy hại về sốc điện,không rút dây cắm khi tay ướt,không kéo dây
2.3 Mở ,tắt T-Engine board
Để mở hay tắt T-Engine nhấn công tắc SW1 trên CPU board Để mở T-Engine nhấn và giữ công tắc trong 0.5 giây hay hơn Để tắt nhấn và giữ công tắc ít nhất 2 giây
2.4 Kết nối debug board
Kết nối debug board ở khe mở rộng CN2 trên T-Engine board
Hình 14: Kết nối debug board
Lưu ý: Tắt nguồn T-Engine trước khi nối debug board hay tháo EPROM.Khi gắn lại EPROM
kiểm tra chiều kết nối như hình 2.5
Hình 15 : Kết nối EPROM
Trang 15 Chi tiết hơn về các đặc điểm kỹ thuật của T-Engine SH7760 có thể tham khảo tài liệu:
SH7760 T-Engine Development Kit – User’s Manual
Trang 16Chương 3
CÔNG CỤ PHÁT TRIỂN T-ENGINE/SH7760
1 Cấu trúc phần mềm
1.1 Các loại phần mềm được phát triển
Phần mềm được phát triển có thể phân biệt làm ba loại,căn cứ vào những khác biệt trong cách
thức phát triển, định dạng đối tượng chương trình và những yếu tố khác
• Phần mềm Monitor-based (Monitor-based software)
Phần mềm Monitor-based chạy trong môi trường non-MMU,có nghĩa là tất cả các tài
nguyên phần cứng có thể được sử dụng loại trừ chúng đang được sử dụng bởi monitor
Monitor sử dụng một vùng 8KB RAM từ 0x8c000000 đến 0x8c001FFF,các chương trình
phải được liên kết đến địa chỉ nằm ngoài vùng này
Sau khi một chương trình được tạo,nó được chuyển sang định dạng S,tải vào trong bộ
nhớ bằng lệnh Load và chạy bằng lệnh Go của T-Monitor
Phần mềm không sử dụng các chức năng của T-Kernel,chạy trực tiếp trên phần cứng
Khi một chương trình được load vào trong bộ nhớ,nó có thể được lưu vào trong đĩa làm
việc bằng lệnh WriteDisk trên T-Monitor,và tải lại vào bộ nhớ sử dụng lệnh ReadDisk
• Phần mềm T-Kernel-based
Một device driver hay phần mềm T-Kernel-based khác chạy trên môi trường sử dụng
MMU,như là một chương trình thường trú trong không gian bộ nhớ hệ thống
Không gian hệ thống là không gian địa chỉ bộ nhớ từ 0x40000000 đến 0x7fffffff
Sau khi sử dụng lệnh recv của CLI để lưu chương trình như là một file trên đĩa làm
việc,chương trình được tải và chạy sử dụng lệnh lodspg của CLI hay IMS.Khi một
chương trình chạy hoàn tất,nó vẫn tiếp tục chiếm cứ vùng bộ nhớ.Bộ nhớ phải được giải
phóng bằng lệnh unlspg
Khi một chương trình được tải,việc tái định vị thực hiện tự động.Địa chỉ thực sự chương
trình được tải được hiển thị bởi lệnh lodspg,và có thể được xác nhận bằng lệnh ref spg
của CLI
• Phần mềm Process-based
Phần mềm chạy trong bộ nhớ ảo như là một T-Kernel Extension process,và không thể
trực tiếp sử dụng các hàm của T-Kernel.Nó bao gồm các phần mềm ứng dụng thông
thường như là middleware ( các thư viện) ,.v.v
Phần mềm Process-based chạynhư một ứng dụng thông thường trong một môi trường sử
dụng MMU,và được tải vào trong không gian bộ nhớ cục bộ
Không gian cục bộ là vùng địa chỉ bộ nhớ được đánh địa chỉ từ 0x00000000 đến
0x10000000
Sau khi sử dụng lệnh recv của CLI để lưu chương trình thành một file trong đĩa làm
việc,chương trình được tải và chạy sử dụng lệnh chạy chương trình của CLI hay IMS
Phần mềm Process-based chạy ở mức người sử dụng mức bảo vệ và do đó không thể sử
dụng trực tiếp các hàm của T-Kernel,và cũng không thể truy cập trực tiếp không gian I/O
Trang 171.2 Các file hệ thống
Rom trong bộ nhớ flash chứa các file sau:
PBOOT Chương trình boot chính (trong khối boot)
SBOOT Chương trình boot phụ
KERNEL.SYS OS kernel (T-Kernel, Extension, một vài driver)
SYSCONF File cấu hình hệ thống (EUC text)
DEVCONF File cấu hình thiết bị (EUC text)
STARTUP.CMD Lệnh khởi động hệ thống (EUC text)
STARTUP.CLI Lệnh khởi động CLI (EUC text)
chgsys Thay đổi hệ thống đĩa
screen Screen driver
cli CLI (Command Line Interpreter)
.xcli CLI command file (EUC text)
bin/
hdpart Tiện ích phân vùng đĩa đơn giản
format Định dạng đĩa
dd Công cụ dump đĩa
ed Trình soạn thảo đơn giản
expf Công cụ nén và giải nén
cmp Công cụ so sánh file
devlist Liệt kê thiết bị
msconv Công cụ chuyển file đơn giản
usbinf Công cụ hiển thị thông tin thiết bị USB
cardinf Công cụ hiển thị thông tin PC-Card
devconf Công cụ chỉnh sửa DEVCONF
sysconf Công cụ chỉnh sửa SYSCONF
debugmode Công cụ chỉnh sửa DEBUGMODE
1.3 Qui trình boot hệ thống
Qui trình bên dưới được sử dụng để khởi động hệ thống
(1) Monitor tải và chạy khối boot trên đĩa khởi động.Khối boot chứa đựng chương trình
boot chính (PBOOT)
(2) PBOOT tìm file hệ thống cho chương trình boot phụ (SBOOT),tải nó vào trong bộ
nhớ và chạy nó
(3) SBOOT tải vào trong bộ nhớ những file hệ thống sau,và chạy KERNEL.SYS
KERNEL.SYS OS kernel (T-Kernel, Extension, drivers) SYSCONF File cấu hình hệ thống
DEVCONF File cấu hình thiết bị (4) KERNEL.SYS khởi động hệ thống dựa trên các thông số trong file SYSCONF,sau đó
chạy T-Kernel và T-Kernel Extension.Nó cũng khởi động các driver sau.Những
Trang 18driver này được bao gồm trong KERNEL.SYS,khi chúng được yêu cầu khởi động hệ thống sau đó
PC Card manager, USB manager, Clock (RTC), Console (serial), System disk
(5) Sau khi hệ điều hành khởi động hoàn tất.IMS được bắt đầu như là task đầu tiên,file
STARTUP.CMD được đọc,và việc sử lý được xây dựng dựa trên nội dung của nó
(6) STARTUP.CMD khởi động các thiết bị khác,và cuối cùng chạy CLI
2 Các thủ tục phát triển phần mềm
2.1 Tạo đĩa làm việc
Các phần mềm không thể chứa trong ROM của flash memory do đó cần phải tạo đĩa làm việc
trước tiên để lưu trử các phần mềm phát triển
Các thiết bị sau có thể được sử dụng như đĩa ghi:
• ATA card,hay CF card + PC-Card adapter
Tên thiết bị : pca
• USB
Tên thiết bị : uda
Để những đĩa này có thể sử dụng được cần phải phân vùng và format bằng các thủ tục cơ
** uda: Updated Master Boot Block
[/SYS]% format pca0 WORK
Format pca0 [STD] WORK
Trang 19Logical Formatting
Disk Format Success
Lựa chọn –x trong lệnh format khi kích thước vùng chia lớn hơn hay bằng 2 GB
[/SYS] % format –x pca0 WORK
Sau khi format hoàn tất sử dụng các lệnh sau của CLI để có thể truy cập đĩa:
[/SYS] % att pca0 A
[/SYS] % cd /A
2.2 Tạo đĩa boot
Việc tạo đĩa boot cũng tương tự như như tạo đĩa làm việc
Nếu đĩa boot được tạo là PC-Card hay USB cắm vào T-Engine,thứ tự boot của hệ thống tùy
thuộc vào cách thiết lập SW-1 và SW-3
Bảng 6:Các chế độ qui định thứ tự boot của hệ thống
Nếu boot từ USB,hệ thống sẽ boot từ ROM trước,sau đó hệ thống đĩa đượcchuyển từ
ROM sang USB.Do đó những file sau trong USB không sử dụng
Lưu ý rằng chúng không ảnh hưởng đến việc boot của hệ thống
PBOOT,SBOOT,KERNEL.SYS,SYSCONF,DEVCONF,STARTUP.CMD, chgsys
Nếu DIP SW-3 được bật,hệ thống sẽ kiểm tra thiết bị USB.Nếu USB không được gắn
việc boot sẽ tốn thời gian.Nếu hệ thống không cần boot từ USB DIP SW-3 nên tắt
Các bước tạo đĩa boot:
• Chia vùng boot sử dụng tiện ích hpart
• Trong lệnh format,chỉ định –b để yêu cầu ghi chương trình boot.Chỉ định lựa chọn –
x nếu vùng chia có kích thước lớn hơn hay bằng 2 GB
[/SYS] % format –b [-x] pca0 SYSTEM
• Copy các chương trình từ ROM sang đĩa boot
[/SYS] % att pca0 /A [/SYS] % cp –b –v –r * /A
2.3 Cập nhật đĩa ROM
ROM có thể được cập nhật lại bằng cách ghi lại toàn bộ nội dung của đĩa boot tạo trên PC card
qua ROM theo những thủ tục sau:
(1) Tạo đĩa boot trên PC card với kích thước lớn nhất của ROM (8064 KB) hay nhỏ
hơn.Nội dung được ghi lên ROM với những file cập nhật trên PC-Card Đảm bảo hệ
thống có thể boot từ đĩa
(2) Bật DIP SW-1 lên,boot hệ thống và bắt đầu T-Monitor
Nhấn nút reset SW-2 với ấn nút SW-3 cũng có thể làm T-Monitor boot
(3) Thực hiện lệnh WriteRda (WRDA) ,pca0 là thiết bị đĩa boot của PC-Card
TM> WriteRda pca0
(4) Nội dung của đĩa boot trên PC-Card được đọc và ghi lên ROM trênflash memory
Sau khi cập nhật ROM,khởi động lại hệ thống
Trang 203 Initial Monitor System(IMS)
3.1 Tổng quan
IMS là một chương trình chạy như là một task khởi tạo T-Kernel,xậy dựng các hàm sau:
- Tham khảo,thao tác các trạng thái của T-Kernel bằng lệnh
- Load và unload các chương trình hệ thống (subsystems)
- Thực thi chương trình hệ thống (processes)
- Thực thi command file
- Tự động thực thi khởi tạo hệ thống bắt đầu lệnh STARTUP.CMD
Khi console sẵn sàng để nhập lệnh,dấu nhắc có thể được thể hiện bằng nhấn:
Những lệnh sau đó được chấp nhận và thực thi
• Những dòng bắt đầu với ‘* ‘ được bỏ qua như những chỉ dẫn
• Các lệnh bao gồm vài thành phần được truyền như là những đối số số hay những đối
số chuỗi
• Chuỗi kí tự nhập được bao trong “ “
• Các hằng số được nhập:
- Chuỗi số hexa (0-9,A-F) bắt đầu bởi H’ hay 0x
- Chuỗi số thập phân (0 – 9) bắt đầu bởi D’
- Chuỗi số octal ( 0-7) bắt đầu bởi Q’
- Chuỗi số nhị phân (0,1) bắt đầu bởi B’
• Các toán tử + - * / có thể được sử dụng với những giá trị số để cộng ,trừ,nhân chia các
toán hạng.Trong phép nhân và chia,phần phân số thập phân bị cắt đi Tất cả các toán
tử đều có quyền ưu tiên ngang nhau và được thực thi từ trái sang phải.Ví dụ 8/2 =
Trang 21Đặc tả: Lập cơ số sử dụng cho phần tử số,như H ( hexadecimal), D (decimal),hay O (octal).Nếu
không có thông số được chỉ định,cơ số thiết lập hiện hành được sử dụng
sleep
Sleep
Định dạng: sleep [ < khoảng thời gian > ]
Đặc tả: Đặt IMS vào trạng thái WAIT.Trạng thái WAIT được thoát bằng cách nhấn CTRL + G
.Nếu một khoảng thời gian được chỉ định,trạng thái WAIT sẽ thoát khi khoảng thời gian đó trôi
qua
ref_tsk
Get task state
Định dạng: ref_tsk [<task ID> ]
Đặc tả : Trình bày những thông tin bên dưới cho task được chỉ ra bởi task ID.Nếu không có
thông số được chỉ định thông tin được thể hiện là cho tất cả các task
TID Task ID
PRI:BPR Quyền ưu tiên hiện thời,quyền ưu tiên cơ bản
SLT Time silce
WUP Số của các yêu cầu wakeup
SUS Số của các yêu cầu suppend
STS Trạng thái task (nếu là trạng thái WAIT,đối tượng là nguyên
nhân của wait cũng được trình bày)
ST + UT System uptime,user uptime
EXINF/NAME Thông tin mở rộng
ref_sem
Get semaphore state
Định dạng: ref_sem [ <semaphore ID> ]
Đặc tả: Trình bày những thông tin bên dưới của semaphore được chỉ định bởi semaphore ID.Nếu
không có thông số chỉ rõ,thông tin được trình bày cho tất cả các semaphore
ID Semaphore ID
WID ID của waiting task tại đầu của queue (0 nếu không có waiting
task)
CNT semaphore count hiện hành
EXINF Thông tin mở rộng
Trang 22ref_flg
Get event flag state
Định dạng: ref_flg [ < even flag ID > ]
Đặc tả: Trình bày các thông tin bên dưới của cờ sự kiện được chỉ đinh bởi event flag ID.Nếu
không có thông số được chỉ định,thông tin của tất cả các cờ sự kiện được trình bày
Get mailbox state
Định dạng: ref_mbx [ <mailbox ID> ]
Đặc tả: Trình bày những thông tin bên dưới của mailbox chỉ định bởi mailbox ID.Nếu không có
thông số được chỉ định,thông tin tất cả các mailbox được trình bày
ID Mailbox ID
WID ID của waiting task tại đầu của queue(0 nếu không có waiting task)
MSG Địa chỉ của message đầu tiêne(0 nếu klhông có message)
EXINF Thông tin mở rộng
ref_mtx
Get mutex state
Định dạng: ref_mtx [ <mutex ID> ]
Đặc tả: Trình bày những thông tin bên dưới của mutex được chỉ định bởi mutex ID.Nếu không có
thông số được chỉ định,thông tin của tất cả các mutex được trình bày
ID Mutex ID
HID ID của locked task(0 nếu không locked)
WID ID của waiting task tại đầu queue (0 nếu không có waiting task)
EXINF Thông tin mở rộng
ref_mbf
Get message buffer state
Định dạng: ref_mbf [ <message buffer ID> ]
Đặc tả: Trình bày các thông tin bên dưới của message buffer được chỉ định bởi message buffer
ID.Nếu không có thông số được chỉ định,thông tin của tất cả các message buffer được trình bày
ID Message buffer ID
WID ID của waiting task tại đầu queue nhận(0 nếu không nhận waiting task)
SID ID của waiting task tại đầu queue gởi(0 nếu không gởi waiting task)
MSBSZ Kích thước của message đầu tiên(0 nếu không có message)
FREE Kích thước free buffer
MAX Kích thước tối đa của message được chỉ định khi message buffer được tạo
EXINF Thông tin mở rộng
Trang 23ref_por
Get rendezvous port state
Định dạng : ref_por [ <rendezvous port ID> ]
Đặc tả : Trình bày các thông tin bên dưới của rendezvous port được chỉ định bởi rendezvous port
ID.Nếu không có thông số được chỉ định,thông tin của tất cả các rendezvous port được trình bày
Get variable-size memory pool state
Định dạng: ref_mpl [ <variable-size memory pool ID> ]
Đặc tả: Trình bày những thông tin bên dưới của variable-size memory pool được chỉ định bởi
size memory pool ID.Nếu không có thông số chỉ định,thông tin của tất cả các
variable-size memory pool được trình bày
ID Variable-size memory pool ID
WID ID của waiting task ở đầu của queue (0nếu không có waiting task)
FREE Tổng số kích thước của các vùng trống
MAX Kích thước lớn nhất của vùng trống
EXINF Thông tin mở rộng
ref_mpf
Get fixed-size memory pool state
Định dạng : ref_mpf [ <fixed-size memory pool ID> ]
Đặc tả: Trình bày thông tin bên dưới của fixed-size memory pool được chỉ định bởi fixed-size
memory pool ID.Nếu không có thông số được chỉ định,thông tin của tất cả các fixed-size
memory pool được hiển thị
ID Fixed-size memory pool ID
WID ID của waiting task tại đầu queue (0 nếu không có waiting task)
FREE Số các khối trống
EXINF Thông tin mở rộng
Trang 24ref_cyc
Get cyclic handler state
Định dạng: ref_cyc [ <cyclic handler ID> ]
Đặc tả: Trình bày các thông tin bên dưới của cyclic handler được chỉ định bởi cyclic handler
ID.Nếu không có thông số được chỉ định,thông tin của tất cả các cyclic handler được hiển thị
STS Trạng thái cyclic handler (STA = started)
TIME Thời gian còn lại trước khi handler kế được bắt đầu
EXINF Thông tin mở rộng
ref_alm
Get alarm handler state
Định dạng: ref_alm [<alarm handler ID> ]
Đặc tả : Trình bày thông tin bên dưới của alarm handler được chỉ định bởi alarm handler ID.Nếu
không có thông số,thông tin của tất cả các alarm handler được trình bày
ID ID của alarm handler
STS Trạng thái của alarm handler (STA = started)
TIME Thời gian còn lại trước khi handler được bắt đầu
EXINF Thông tin mở rộng
get_reg
Get task register
Định dạng: get_reg [ <task ID> ]
Đặc tả: Trình bày nội dung thanh ghi task cho task được chỉ định bởi task ID
sta_tsk
Start task
Định dạng: sta_tsk <task ID> [ , <task start code> ]
Đặc tả: Bắt đầu task được chỉ định bởi task ID
Một task không ở trạng thái DORMANT không thể được bắt đầu
ter_tsk
Terminal task
Định dạng: ter_tsk [ <task ID> ]
Đặc tả : Kết thúc task được chỉ định bởi task ID
del_tsk
Delete task
Định dạng : del_tsk [ <task ID> ]
Đặc tả : Xóa task được chỉ định bởi task ID
Một task không ở trong trạng thái DORMANT không thể bị xóa
Trang 25rel_wai
Release task WAIT state
Định dạng : rel_wai [ < task ID > ]
Đặc tả : Thoát khỏi trạng thái WAIT của các taks được chỉ định bởi taks ID
Trạng thái WAIT không thể được giải thoát nếu task không ở tronh trạng thái WAIT
wup_ tsk
Wake up task
Định dạng : wup_tsk <task ID>
Đặc tả : Đánh thức (wake up) task được chỉ định bởi task ID
Nếu tk_slp_tsk không được thực thi cho task và nó không ở trạng thái WAIT ,yêu cầu
wakeup được xếp hàng
can_wup
Cancel task wakeup request
Định dạng : can_wup <task ID>
Đặc tả : Từ chối yêu cầu wakeup cho task được chỉ định bởi task ID.Tất cả các yêu cầu wakeup
cho task đều bị từ chối
sus_tsk
Suspend task
Định dạng : sus_tsk <task ID>
Đặc tả : Đặt task được chỉ định bởi task ID vào trạng thái treo (SUPPENDED)
rsm_tsk
Resume task
Định dạng : rsm_tsk <task ID>
Đặc tả : Giải thoát trạng thái SUPPENDED của task được chỉ định bởi taks ID.Nếu một yêu cầu
suppend được ẩn,một yêu cầu được xóa
frsm_tsk
Forcibly resume task
Định dạng : frsm_tsk <task ID>
Đặc tả :Giải thoát trạng thái suppend của task được chỉ định bởi task ID Tất cảc các yêu cầu
suppend ẩn được xóa
chg_pri
Set task priority
Trang 26Định dạng : chg_pri < task ID>,<priority>
Đặc tả : thiết lập quyền ưu tiên cho task được chỉ định bởi task ID
Return semaphore resource
Định dạng : sig_sem <semaphore ID>,< increment size>
Đặc tả:Tăng một lượng được chỉ định số đếm semaphore của semaphore xác định bởi
semaphore ID
clr_flg
Clear event flag
Định dạng : clr_flg <event flag ID>,< clear pattern>
Đặc tả : Xóa cờ sự kiện được chỉ định bởi event flag ID
set_flg
Set event flag
Định dạng : set_flg <event flag ID>, <set pattern >
Đặc tả:
Thiết lập cờ sự kiện được chỉ định bởi event flag ID dựa trên sự xác định tập mẫu
set_pow
Set low-power mode
Định dạng: set_pow <low-power mode>
Đặc tả: Thiết lập chế độ năng lượng mức thấp như sau:
1 Đặt vào trạng thái SUPPENDED
2 Không cho phép lựa chọn chế độ năng lượng mức thấp
3 Cho phép lựa chọn chế độ năng lượng mức thấp
exit
Exit system
Định dạng: exit [ <thông số> ]
Đặc tả: Shut down hệ thống như chỉ dẫn
Không có thông số Shutdown (Power Off)
-3 Restart (Normal Reboot)
Trang 27lodspg
Load kernel extended module
Định dạng: lodspg <tên file> <thông số>
Đặc tả: Tải và ghi file được chỉ định như là một module mở rộng.File phải được định vị trực tiếp
dưới thư mục /SYS
unlspg
Unload kernel extended module
Định dạng : unlspg <load ID>
Đặc tả : Unload module mở rộng được chỉ định bởi load ID của nó
$
Run command file
Định dạng: $ <commad file> [ echo ]
Đặc tả :Chạy command file được chỉ định.Thông số argument chỉ định command echo back
Command file phải được định vị trực tiếp bên dưới thư mục /SYS
$
Start process
Định dạng: $ <executable file> <argument> [ !<priority> ] [ & ]
Đặc tả: Tải file có thể thực thi được chỉ định và tạo một process
!<priority> có thể được sử dụng để chỉ định quyền ưu tiên thực thi
& chỉ định việc thực thi tại nền (background )
Chỉ định $$ hơn $ tạo một process hệ thống
File có thể thực thi phải được định vị trực tiếp dưới thư mục /SYS
#
T-Monitor interface
Định dạng: # [ <T-Monitor command> ]
Đặc tả: Chạy lệnh T-Monitor được chỉ định bởi thông số
Nếu không có thông số được chỉ định,quyền điều khiển chuyển sang cho
T-Monitor.Lệnh T-Monitor G trả quyền điều khiển cho IMS
Trang 284 Command Line Interpreter (CLI)
<lệnh> và <thông số> được đánh cách ra bởi một hay hai khoảng trắng
Một dòng có thể có hai hay nhiều lệnh đánh cách bởi ‘;’.Dòng bắt đầu với ‘*’
được bỏ qua như chỉ dẫn
Tên đường dẫn tuyệt đối
/<disk attach name>[/<file name>]
Tên đường dẫn tương đối
<file name>[/<file name>]
‘%’ trong tên file được bỏ qua,và kí tự kế tiếp là được tính
‘*’ trong tên file được mở rộng như là một wild card
Một tên đường dẫn tương đối chỉ ra tên đường dẫn bắt đầu từ active file.Các kí tự đặc
biệt theo sau có thể được sử dụng như <file name>
Parent file trên tên đường dẫn tuyệt đối của active file
Bản thân active file
<disk attach name> trong tên đường dẫn tuyệt đối chỉ định disk root file
SYS hard disk (system disk)
hda0 hard disk (unit 0 partition 0) fda floppy disk (drive 0)
• Ghi chú được sử dụng để mô tả các thông số:
Trang 294.2 CLI Command Reference
-S Gán ở chế độ SYNC (chỉ hợp lệ nếu –k được chỉ định)
-s chế độ im lặng (silent mode) (không có message thể hiện)
Đặc tả:
Gán thiết bị được chỉ định bởi device name như là một file hệ thống
Lệnh này không thể sử dụng từ một tiện ích của console
Nếu hệ thống được chạy thông thường,thiết bị được gán tự động với tên được gán sau
Trang 30Định dạng: cd [<path name> ]
Tùy chọn :
Không
Đặc tả:
Thiết lập active file hay thể hiện nó nếu không có thông số được chỉ định
Tên đường dẫn “ / ” nghĩa là active file không tồn tại (rỗng)
ls
List files
Định dạng: ls [-f] [-F] [-l | -t] [ <tên đường dẫn> ]
Tùy chọn:
-f Trình bày thông tin cho phần tử file trên <tên đường dẫn>
-F Gắn và cá kí tự sau vào file name khi trình bày
“ / ” khi liên kết record được bao gộp
“ # “ khi có nhiều tham khảo
-l Trình bày chi tiết file
ATYPE Loại ứng dụng ( thuộc cơ số 16)
ATR Thuộc tính
H: đối tượng ảo ẩn P: bảo vệ
R: chỉ đọc 1: thuộc tính ứng dụng 1 2: thuộc tính ứng dụng 2 NREC Số của những record và các record liên kết
NREF Số các tham khảo
SIZE Kích thước file
BLK Kích thước khối
MTIME Cập nhật ngày và thời gian cuối cùng
NAME Tên file -t Trình bày thông tin ngày và thời gian của file
CTIME tạo ngày và thời gian file
ATIME Ngày và thời gian truy cập cuối cùng
MTIME Cập nhật ngày và thời gian cuối cùng NAME Tên file
Đặc tả:
Liệt kê file trực tiếp dưới file được chỉ định bởi <tên đường dẫn>.Nếu <tên đường dẫn>
bị bỏ sót ,active file được khôi phục
Nếu file ở trên đĩa khác và đĩa đó không được gắn,hay nếu –F được chỉ định,tên file được
bắt đầu bởi “ * ” Nếu –l hay –t được chỉ định,@ <tên đĩa nơi file tồn tại> được trình
Trang 31-l liệt kê chi tiết
Đặc tả:
Cấu trúc record của file được chỉ định bởi <path name> được trình bày dưới định dạng sau.Nếu
<path name> bị bỏ lỡ,active file được khôi phục
NO: 0 STYPE: NAME
NO Record number (0 và theo sau)
TYPE Record type
STYPE Record subtype ( thuộc cơ số 16)
SIZE Record size
NAME Link record tham khảo file name
FID Liên kết record file ID
ATR1—ATR5 Liên kết record liên kết các thuộc tính 1-5 (thuộc cơ số 16)
Khi record liên kết tham khảo file ở trên một đĩa khác ,” * “được bắtđầu bằng file name
-b Sử dụng những khối đĩa liên tục cho vùng ghi
-r copy tất cả các file dưới <tên đường dẫn>
copy có thể không cho phép nếu file được lồng quá sâu
Đặc tả:
Copy file được chỉ định bởi <tên đường dẫn> đến <tên đường dẫn đích> mà không đặt
tên lại
rcp
Định dạng: rcp [-b] [-r] <tên đường dẫn> <tên đường dẫn sau khi copy>
Tùy chọn:
-b Sử dụng những khối đĩa liên tục cho vùng ghi
-r copy tất cả các file dưới <tên đường dẫn>
copy có thể không cho phép nếu file được đặt quá sâu
Trang 32Đặc tả:
Copy file được chỉ định bởi <tên đường dẫn> đến <tên đường dẫn sau khi copy>
Nếu một file <tên đường dẫn sau khi copy> đã tồn tại,nó sẽ được overwritten (Những record cũ
sẽ được xóa hết và những record ở <tên đường dẫn> được copy ở vị trí này)
• Nếu –r không được chỉ định,file liên kết trực tiếp dưới <tên đường dẫn> được copy
lại.Nếu file trên đĩa khác,lỗi được trả lại
• Nếu –r được chỉ định và những file trực tiếp dưới <tên đường dẫn> trên đĩa khác, chỉ có
những liên kết được copy và chính những file này không được copy
• Khi <tên đường dẫn sau khi copy> được tạo mới,những thuộc tính file không được copy
• Khi “ = “ được thiết lập như <tên đường dẫn sau khi copy> tên file,file cha trở thành đích
-p# Liên kết record điểm nhập ( từ 0) (mặc định:gắn vào cuối)
-a#1.#2.#3.#4.#5 Thiết lập các thuộc tính liên kết từ 1 đến 5 (mặc định: tất cả 0)
Ví dụ : -a0x8000.1.2.3.4 Đặc tả:
Thêm <tên đường dẫn> file liên kết đến <tên đường dẫn đích liên kết>
rm
Định dạng: rm [-i] [-r] [-u] [-v] [-f] [-F] <tên đường dẫn>
Tùy định:
-i Xác nhận sự xóa;xóa nếu “ y ”,không xóa nếu khác “ y ” được nhấn
-r Xóa tất cả các file dưới <tên đường dẫn>
-u Chỉ xóa liên kết ,không xóa file thật
-v Hiện <ten đường dẫn> được xóa
-f Bỏ qua lỗi cảnh báo nếu <tên đường dẫn> không tồn tại
-F Xóa những file mà cấm xóa mà không cảnh báo lỗi
Nếu -r không được chỉ định và không có file nào ở <tên đường dẫn>,lỗi được trả về
Đặc tả:
Xóa những file chỉ định bởi <tên đường dẫn>
Nếu một file đang được tham khảo bởi một process khác,chỉ có liên kết được xóa,không
xóa file thật
empf
Định dạng: empf <tên đường dẫn> …
Tùy chọn :
Không
Đặc tả:
Trang 33Xóa tất cả các record trong những file dưới <tên đường dẫn>,làm chúng trở thành những
file rỗng.Nếu file chứa liên kết,sự xóa lồng xảy ra
• Lệnh này hổ trợ những mạng phức tạp và tham khảo vòng
Appended file record
Định dạng: apd [-p#|-d#.#][-r#.#][-t#.#] <path name 1> [<path name 2>]
-r#1.#2 #1:Bắt đầu record number ( từ 0) cho copy <path name2>
#2:Số những record copy ( 1 hay hơn) (Mặc định : là 1) -t#1.#2 #1:Loại record sau khi copy (1 hay hơn) (Mặc định: loại record cũ)
#2:Record subtype sau khi copy
Đặc tả:
Nhập hay thêm vào <path name 2> những file record trong file <path name 1>
• Khi –d được chỉ định,những record được nhập tại vị trí xóa (tương tự -p )
• Nếu chỉ -d được chỉ định,<path name 2> có thể bỏ (xóa tất cả các record)
Ví dụ : apd –d3.2 –r2 –t8.0 AAA BBB File AAA record 3 và 4 được xóa,và nơi để file BBB record 2 được thêm vào như loại 8,kiểu phụ 0
Để tham khảo: các loại record
1 TAD main record
2 TAD comment record
3 TAD auxiliary record
4 (reserved)
5 Setting tag record
Trang 346 Specification tag record
7 Functional tag record
8 Executable functional tag record
9 Executable program record
10 Databox record
11 Font data record
12 Lexicographic data record
-o# Thiết lập mode truy cập owner (các số 0-7 ở dạng nhị phân)
0100: R quyền truy cập (0 :Không , 1:Được)
0010: W quyền truy cập (0 :Không , 1:Được)
0001: E quyền truy cập (0 :Không , 1:Được)
-g# Thiết lập mode truy cập group
-p# Thiết lập mode truy cập general
0x0*00 : R mức truy cập (0 - F) 0x00*0 : W mức truy cập (0 - F)
0x000* : E mức truy cập (0 - F) -n# Thiết lập file owner group (các số 0 -4 ,0 = không owner group )
Đặc tả:
Hiện/thiết lập các mode truy cập mặc định.Nếu không có tùy chọn được chỉ định ,mode
truy cập hiện hành được chỉ định
chmod
Định dạng: chmod [-o#] [-g#] [-p#] [-n#] [-a#] <path name>
Tùy chọn:
-o# Thiết lập mode truy cập owner (các số 0-7 ở dạng nhị phân)
0100: R quyền truy cập (0 :Không , 1:Được)
0010: W quyền truy cập (0 :Không , 1:Được)
0001: E quyền truy cập (0 :Không , 1:Được)
-g# Thiết lập mode truy cập group
-p# Thiết lập mode truy cập general
0x0*00 : R mức truy cập (0 - F) 0x00*0 : W mức truy cập (0 - F)
0x000* : E mức truy cập (0 - F) -n# Thiết lập file owner group (các số 0 -4 ,0 = không owner group )
-a# Thiết lập thuộc tính file truy cập ( các số 1-4)
1: Thiết lập thuộc tính bảo vệ ghi
2: Thiết lập lại thuộc tính bảo vệ ghi
Trang 353: Lập thuộc tính không thể xóa
4: Lập lại thuộc tính không thể xóa
Đặc tả:
Thay đổi mode truy cập file/Lập thuộc tính truy cập.Nếu không có tùy chọn được chỉ
định,mode truy cập / Thiết lập thuộc tính truy cập hiện hành được trình bày
chtime
Định dạng: chtime [-l#.#.#.#.#.#] [-a#.#.#.#.#.#] [-m#.#.#.#.#.#] <path name>
Tùy chọn:
-l#1.#2.#3.#4.#5.#6 Lập giới hạn save file
-a#1.#2.#3.#4.#5.#6 Lập thời gian truy cập file cuối cùng
-m#1.#2.#3.#4.#5.#6 Lập thời gian truy cập file cuối cùng
#1: Năm (lịch phương tây,2 số cuối)
Định dạng: touch <path name>
Tùy chọn:
Không
Đặc tả:
Lập ngày và giờ cập nhật file cuối cùng và truy cập cuối cùng đến thời gian hiện thời
.Nếu file không tồn tại,nó sẽ được tạo mới
tp
Show the file content
Định dạng: tp [-p#][-r#][-e][-a|-x|-b] <path name>
Tùy chọn:
-p# Hiện số dòng được chỉ định,sau đó hiển thị: more(y/n)?
Tiếp hiển thị nếu phím [Y] được nhấn,hay bỏ nếu nhấn phím khác.Số dòng được đếm bởi new-line marker,vì vậy có thể khác với số dòng hiển thị trên màn hình -r# Chỉ định số record (mặc định 0)
-e Biến đổi phần cuối
-a Hiển thị như ASCII/EUC text
-x hexadecimal dump (kích thước half-word)
-b hexadecimal dump (kích thước byte)
Đặc tả:
Hiển thị nội dung của file được chỉ định bởi <parth name>
Trang 36• Nhấn phím ESC để bỏ qua nội dung file hiển thị.Nhấn bất kì phím khác luân phiên
pauses và resume sự hiển thị.Có thể có một vài delay giữa nhấn một phím và kết
Hiển thị trạng thái tất cả các disk được gắn
PATH Tên đường dẫn đĩa
DEV Tên thiết bị (hda0,fda)
TOTAL Tổng kích thước(KB)
FREE Kích thước vùng trống (KB)
USED Phần trăM sử dụng (%)
UNIT Kích thước khối đĩa (KB)
MAXFILE Số tối đa của các file
Ví dụ: date 02 6 1 12 23 40 Lập ngày 1/6/2002 và thời gian 12:23:40
date , , , , 11 0 Lập thời gian 11 phút 00 giây (ngày vẫn như cũ)
Trang 37Ghi fie được chỉ định bởi <application path name> như là một chương trình ứng dụng
trên đĩa nơi mà file ở đó.Một file được ghi phải có cấu hình như sau:
• Loại file ứng dụng có thể thực thi được (MSB = 1)
• Record khởi tạo phải là một record chương trình có thể thực thi được (loại 9)
• File phải chứa đựng ít nhất một functional tag record (loại 7)
• Khi một file được ghi,một liên kết được tạo đến “/<disk attach name>/$$
PROGRAM.BOX” và số của đường dẫn ứng dụng tham khảo được tăng 1
• Nếu file được ghi trên menu Utility “/SYS/USR/in tools” hay “/<disk attach
name>/in tools” được thêm vào tag record trong <application path name>
Xóa ứng dụng ghi của file được chỉ định bởi <application path name>.Nếu nó được ghi
trên menu Utility,việc ghi này cũng được xóa
• Khi việc ghi được xóa,liên kết đến “/<disk attach name>/$$ PROGRAM.BOX”
được xóa,nếu không có tham khảo đến <application path name>,bản thân file sẽ bị
Chuyển đổi file ứng dụng được chỉ định bởi <application path name> đến file được chỉ ra
ở <transfer file path name>.Một <transfer file> là một file gồm có một TAD record có
thể truyền được bởi sự giao tiếp phần mềm Nó thể ghi như một tiện ích bằng cách kéo nó
đến version thể hiện window dưới cấu hình hệ thống
ps
Show process state
Định dạng: ps [-t][-l] [<starting process number> [<ending process number>]]
Tùy chọn:
-t Hiện thông tin trạng thái task
-l Hiện thông tin liên kết(LINK) tại thời điểm tạo process
Đặc tả:
Hiển thị thông tin về process với số process từ <starting process number> đến <ending
process number>
• Nếu <starting process number> không được chỉ định,bắt đầu từ process 1
• Nếu <ending process number> không được chỉ định,tiếp tục đến <starting process
number> + 999
Trang 38PID Process number
STAT Trạng thái process (W: WAIT, R: READY, *: RUN)
PRI Độ ưu tiên
PPID Parent process number
TIME Elapsed time (CPU usage time)
MEM Memory in use/memory required (KB)
POUT Page-out number
NAME Tên đường dẫn process
TSKID Task ID
FID File ID
ATR1-5 Thuộ tính liên kết
FSNAME Tên file hệ thống
Giết những process bởi <process number>
• Các process của hệ thống không thể bị giết
recv
Định dạng: recv [-d] [-c] <path name>
Tùy chọn:
-d Nếu một file cùng tên đã tồn tại,xóa file cũ
Nếu –d không được chỉ định,nếu có file cùng tên tồn tại,lỗi được trả về -c Tự động xóa Ctrl –Z cuối cùng
Đặc tả:
Tải một host file được chỉ định bởi <path name> trên giao diện RS (XMODEM),Lưu lại
nó trong thư mục active file mà không đặt tên lại
File tạo có những thuộc tính cố định:
Loại ứng dụng 0
Loại record 31
Loại subrecord 0
Trang 39Show/set command path
Định dạng: path [ <path name> ]
Tùy chọn :
Không
Đặc tả :
Hiện (nếu không có thông số được chỉ định) hay thiết lập file ở nơi lệnh được định
Một file lệnh là bất kì một file nào có chứa lệnh thực thi từ CLI.File có thể thực thi có thể
tìm và thực thi để đầu tiên active file sau đó command file
Lên đến 8 command file có thể thiết lập
Thiếp lập * như là <path name> nghĩa là dãy command file hiện hành
Ví dụ nếu đường dẫn /SYS/bin được thiết lập,sau đó “/SYS/bin/MyCmd” có thể được
thực thi đơn giản bằng cách nhấn “MyCmd”
Thông thường /SYS/bin được thiết lập
! Gọi lại dòng lệnh thực thi cuối cùng
!<number> Gọi lại dòng lệnh được chỉ định bởi <number>
!<string> Gọi lại dòng lệnh được thực thi gần đây nhất bắt đầu với một chuỗi được
chỉ định trong <string>
echo
Echo string
Định dạng: echo <string>
Trang 40Hiển thị một chuỗi các phần tử <item>
Lệnh này khác với echo ở chổ một kí tự “ * “ bên trong một <item> được sử lý như là
Ghi <string> như là một alias của <command name>
“ \ “ trong <string> được bỏ qua.Để bao gồm “ ; “ trong một chuỗi ,nó phải được viết
thành “ \ ; “
“ & “ trong <string > được thay thế bằng một biến array
Khi một lệnh bắt đầu với “ \ “, alias được truyền không được hình thành