0
我是DAPLink的新會員。只要知道它可以將mortex芯片轉換成mbed接口,那麼我們就可以編程或調試它。但我發現mbed接口有大約8MB的USB磁盤。它是如何工作的?正如我們所知,一個mbed接口芯片(如11u24)只有8KB RAM和64KB閃存。DAPLink如何製作其虛擬文件系統?
我是DAPLink的新會員。只要知道它可以將mortex芯片轉換成mbed接口,那麼我們就可以編程或調試它。但我發現mbed接口有大約8MB的USB磁盤。它是如何工作的?正如我們所知,一個mbed接口芯片(如11u24)只有8KB RAM和64KB閃存。DAPLink如何製作其虛擬文件系統?
它不是其實在磁盤上有8MB的空間,virtual file system只是告訴操作系統它是8MB大。該變量保存在vfs_user.c中。
然後,虛擬文件系統劫持寫入設備,而是通過Debug Access Port將它們路由到目標MCU。所以在芯片上沒有運行DAPLink的緩存,也沒有閃存需要。安裝驅動器時顯示的文件(如mbed.htm)將被燒入ROM中。
感謝您的回答。但是我仍然感到困惑,如果vfs只是爲了我們的drap-n-drop,爲什麼它會顯示目標MCU的實際閃存大小(爲什麼它必須是4倍大?)而我的另一個問題 – JerryYip
你能解釋一下嗎?調試訪問端口和USB的速度? USB的速度是否比DAP慢,以便.bin文件不會存儲在mbed界面的緩存中? – JerryYip
它不一定是4倍大。這是一個設置變量,設置爲mbed支持的最大閃存的4倍。編程Cortex-M芯片最方便的是通過DAP,但它是一個編程接口,因此您需要一個外部探頭與DAP進行通信。這可以通過JLink或其他調試探針,或通過DAPLink集成在同一塊電路板上(還有一個帶有DAPLink的外部探針:[SWDAP](https://developer.mbed.org/teams/mbed/wiki/SWDAP ))。 Re:速度,USB設備只是延遲寫入確認,直到寫入DAP,因此不需要(或很少)緩存。 –