顯示具有 NXP 標籤的文章。 顯示所有文章
顯示具有 NXP 標籤的文章。 顯示所有文章

2012年4月4日 星期三

semihosting


Semihosting(半主機)

What is semihosting?

使用ARM所開發的目標系統(target system),不一定會提供所有的輸入/輸出設備。因此ARM公司設計了Semihost這種機制,讓運行ARM debugger的主機可以與目標系統進行I/O溝通,以利產品開發。例如:可以透過呼叫printf()將資料列印到主機螢幕,而呼叫scanf()可以讀取主機鍵盤的輸入。如下圖:


2012年3月27日 星期二

UART

UART (Universal Asynchronous Receiver / Transmitter) 是通用非同步收發器(非同步串列通信口)的英文縮寫,它包括了RS232、RS449、RS423、RS422和RS485等介面標準規範和匯流排標準規範。 
現在PC的COM 接口均為RS232。若配有多個非同步串列通信口,則分別稱為COM1、COM2,COMxxx。

UART的工作就是從 CPU 一次接收8 bits的資料(parallel),然後將這些資料 1次 1bit 的送往周邊設備(serially)。同時,UART還可以接收周邊設備傳送來的資料,當組成 8 bits時,再將資料送往 CPU。


UART Frame

下圖是UART Frame格式,其構成為
  • 1 個起始位元(Start bit),TXD或RXD由高電位轉為低電位代表起始位元,此位元會通知receiver  將有資料送出,並且強制同步 receiver 和 transmitter 的時脈。
  • 5~9個資料位元(Data bit),以 LSB 的方式排列 (一般都是8個,為了相容較舊的規格才保留這些彈性)
  • 0~1個同位位元(Parity bit),若存在同位位元,可以設定為奇同位或偶同位。
  • 1, 1.5 或  2個停止位元(stop bit)


資料訊框長度介於7位元到12位元之間,長度則依照資料長度(Data)、是否有同位位元(Parity)和停止位元(Stop bit)的數量決定,這三個參數可以由使用者手動進行設定。