※ 引述《tester.bbs@bbs.csie.ncu.edu.tw (try or test)》之銘言:
> > tester提到的Console I/O這個名詞怎麼來的?沒用過這個詞...
> > 我只聽過monitor而已,自己寫簡單的monitor及bootloader在玩MCU 的人來說應該
> > 算是基本能力吧!讓monitor有單步執行及除錯並不是什麼很困難的事,尤其在ICE
> > 還是夢幻逸品的時候。
> VLSI 的微處理機不同於大型或迷你電腦就是沒有能直通 processor register
VLSI-超大型積體電路
超大型積體電路(very-large-scale integration),或簡稱為VLSI。雖然沒有什麼很確
定的範圍,一般來講,超過十萬個電晶體的積體電路可以叫做VLSI。
"VLSI 的微處理機"?你知道你在說什麼嗎?
按照上面的定義,市面上一堆MCU(CPU)都可以叫做VLSI了。
> 的 console device (最老爺的就是 console switch 與 lamp) 可以隨時更改
> rregister 的內容. 若要 single step 只要到 console 轉個 switch 就可以
> 一步一步執行, 也能在執行時, 做 emergency stop. 舊稱的 Mornitor ROM
> program 就是讓附有 I/O (如 series line) 及 RAM 的微電腦可以拿 console
> tty 當 console (主控台) 來使用.
什麼叫"要 single step 只要到 console 轉個 switch 就可以一步一步執行"?
monitor只是提供有限度人機互動的簡單介面而已,單步執行,暫存器存取顯示都需要
動用內部資源。離所謂的console還有一段距離,通常console已經是硬體具備基本作業
系統的能力。不是所有的embedded system都有OS的。
> 有 console program 未必就附有 debug trace/inverse-ASM program ,
monitor可以有反組譯機械碼的能力,建立符號表也不會是難事。這些都要吃
target的資源。
> 而 single step 有些 CPU 也有外置訊號腳的 hardware support single
> step , 如果沒有這種訊號接腳, 就要用控制 IC clock 的 single cycle
> 來協助(如 JTAG 規範). Debug Mornitor ROM 通常是使用 software trap
> 來進行 single step 及 break point , 不依賴 hardware break , 因此需要
> 知道指令長度, 所以會附有 inverse ASM 於其上. 但使用 hardware break
> 的 ICE 通常附有外在接腳的 comparater 電路. 理論上, 能夠對 Access 的
> 外在 memory space 進行 address 或 data 比對, 然後用 stop clock 暫停
> 攔截.
Monitor 程式設計上可以使用硬體中斷點及硬體的單步執行。因為我寫過。
很多MCU根本沒有JTAG可以用。我沒瞭解過JTAG這東西,但是JTAG主要用途
不是你上面講的。
--
※ Origin: SayYA 資訊站 <bbs.sayya.org>
◆ From: h23-206.grad.ccit.edu.tw