Marvell MW300 編譯環境詳解
Marvell MW300編譯環境詳解
最近手頭上準備拿Marvell MW300晶片開發,但是由於Marvell 官方提供的資料有限,針對編譯環境很是無奈。在網上查了很多資料,發現關於Marvell的資料少之又少,並且也發現Marvell都沒有技術論壇,瞬間無語!
以下是對Marvell MW300 在Ubuntu Linux 和Windows 7編譯環境搭建的詳解。
1.Windows 7 編譯環境詳解。
a.官方SDK原始碼。
b.Windows 下 安裝ARM GCC 編譯工具。下載地址:https://launchpad.net/gcc-arm-embedded
c.安裝Cygwin。網上搜索下載。使用Cygwin安裝:
make
如圖:
binutils
gcc
openssl-devel
patch
d.安裝Python。下載地址:https://www.python.org/downloads/
e.安裝WinUSB Driver。
注意:MW300燒錄工具可以使用串列埠、或者Jlink、或者MLink(Marvell自己的)。這個WinUSB Driver驅動是虛擬的將Jlink 或者RS232串列埠轉成USB口。
f.安裝IAR或者Eclipse。我搭建了一下IAR的環境,Eclipse沒有試,應該也是可以的。
安裝IAR好之後,需要在SDK中找到IAR環境檔案來替換自己安裝的IAR環境檔案。
這時候Windows編譯環境搭建完成了,試著開啟工程編譯一下吧。
1.開啟工程,編譯:
2.設定驅動。使用Zdig,將Jlink驅動轉換成winUSB。
3.燒錄各個分割槽檔案。執行成功!
注意:
如果提示,燒錄失敗。可能存在以下問題:
a.Jlink驅動沒有安裝好,或者驅動未虛擬替換。
b.硬體上面外掛Flash不是程式碼庫中的Flash硬體,Flash不識別造成燒錄失敗。
c.Jlink上電異常。
確切問題,看出錯log。常常會碰到b問題。如果出現這個問題,需要將自己的外觀Flash新增到code中,重新“編譯Code”。問題解決!
2.Ubuntu編譯環境詳解。
我的Ubuntu版本是Ubuntu 14.04。
相對Windows 編譯環境,Linux環境環境更加簡單,並且大部分人都喜歡在Linux下開發。
a.安裝ARM-GCC編譯工具鏈。地址同上(不同版本的SDK對ARM-GCC編譯工具鏈版本要求,具體看SDK要求)。配置Linux環境變數,可以在.profile或者在.bashrc中配置。詳細環境變數配置略!
b.安裝OpenOcd。OpenOcd相關資料請查閱資料。主要是用來燒錄程式碼使用!
c.安裝Python.
此時,先編譯程式碼,看是否能編譯通過,如果提示缺少庫檔案什麼的,按照提示安裝。我好想沒遇到問題。
d.燒錄程式碼。(我使用的是Jlink)
注意,這個命令很關鍵:
先燒錄分割槽檔案:
sudo $PWD/sdk/tools/OpenOCD/flashprog.py -i jlink -l $PWD/sdk/tools/OpenOCD/mw300/layout.txt -r
同理燒錄各個分割槽檔案。
燒錄完成,reset即可執行啦。
注意:
同樣,如果提示,燒錄失敗。可能存在以下問題:
a.Jlink驅動沒有安裝好,或者驅動未虛擬替換。
b.硬體上面外掛Flash不是程式碼庫中的Flash硬體,Flash不識別造成燒錄失敗。
c.Jlink上電異常。
確切問題,看出錯log。常常會碰到b問題。如果出現這個問題,需要將自己的外觀Flash新增到code中,重新“編譯Code”。問題解決!
以上編譯環境搭建就完成了。