今天晚上又有tinyOS課程的助教,結果發現同學們遇到了一些比較相似的問題,下面我寫一個彙總,方便大家一起學習。
1. 虛擬機無法識別USB問題
很多同學在今天的實驗中碰到了虛擬機無法識別USB設備的問題,導致無法正常的燒寫,其實這和TinyOS或是linux系統根本就沒有任何關係(至少大部分情況下是這樣的),這個問題一般都是由於windows與VMware相關的服務項沒有啓動造成的,建議按照下面的方法進行一些嘗試:
(1)首先檢查VMware設置,看看有沒有勾選USB controller中的幾個選項,如果沒有USB controller這個設置選項的甚至需要自己添加一下,這裏就只介紹怎樣勾選了,具體見下圖:
(2)檢查完第一項以後,就該檢查windows服務項VMUSBArbService了,計算機->右鍵->管理->服務和應用程序->服務,找到VMware USB Arbitration Service,看一下這個服務項的狀態,沒打開的話就開啓一下,注意,這個服務項是依存於VMware Workstation Server的,也就是說還需要保證VMware Workstation Server開啓,具體如圖:
(3)經過上面兩步,你可能會發現還是無法識別USB(即使是重啓了VMware和虛擬機以後),這時候就只能建議你檢查下你的安全防護軟件了,以騰訊的電腦管家爲例,你很可能爲了提升開機速度關閉了很多的服務項,注意下VMware USB Arbitration Service,其實也就是第二條中讓你開啓的服務,原理也很簡單,就是你在windows系統設置中開啓了這個服務,但是電腦管家又將這玩意兒關閉了,導致你的虛擬機無法識別USB設備,所以把它開啓就好了,如圖:
當然啦,我也就是考慮了一部分的問題,大家可能遇到各種各樣的不同問題,還不能識別USB的就上網搜吧,要相信,木有解決不了的問題。
最後,注意下,修改了這些設置以後要重啓VMware哦~~~
2.切換到root以後No rule to make target 'telosb'
具體問題見下圖:
這個問題很簡單,就拿我作爲例子,在安裝tinyos的時候我是用steve這個用戶安裝的,當然在steve用戶的情況下make telosb是沒有任何問題的,但是切換到root用戶下就出現了這個問題,因爲它確實找不到rules,其實這個時候只需要簡單的告訴它用什麼rules去編譯就可以了,即將tinyos2.1.1目錄下的support/make/Makerules指定給MAKERULES。
具體命令爲:export MAKERULES=/opt/tinyos-2.1.1/support/make/Makerules
截圖如下:
最後告訴一下大家查看節點是否被識別的命令motelist
燒寫命令是make telosb install bsl,/dev/ttyUSB0