最近手头上准备拿Marell MW300芯片开发,但是由于Marevell 官方提供的资料有限,针对编译环境很是无奈。在网上查了很多资料,发现关于Marvell的资料少之又少,并且也发现Marvell都没有技术论坛,瞬间无语!
以下是对Marvell MW300 在Ubuntu Linux 和Windows 7编译环境搭建的详解。
1.Windows 7 编译环境详解。
a.官方SDK源码。
b.Windows 下 安装ARM GCC 编译工具。下载地址:https://launchpad.net/gcc-arm-embedded。安装自己适用的编译工具后,记得配置系统环境变量,环境变量配置可参考http://jingyan.baidu.com/article/d5a880eb6aca7213f047cc6c.html。
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”。问题解决!
以上编译环境搭建就完成了。