QCA4004X QCA401X 开发环境搭建
QCA4004X/QCA401X 开发环境搭建
2017.04.22
2017.11.13
初始版本
增加 FAQ
oliverzhang@fortune-co.com
QCA4004X QCA401X 开发环境搭建
1. 请 安 装 一 台 Linux 虚 拟 机 或 者 实 体 机 , 常 用 发 行 版 本
CentOS/Ubuntu 等均可。下面以 CentOS7(64-bit)虚拟机为示例,其他
的发行版本可能稍有差别。下面的示例中使用 root 超级用户登录,
使用非 root 用户登录未做过验证,可能稍有差别,建议使用 root 用
户登录,Ubuntu 默认不支持 root 直接登录,需要手动添加,可自行
上网查找解决方案。
2. 将 cad_kf_RD2012_4.tar.gz 文件拷贝到 Linux 虚拟机。
然后执行下面的 tar 命令解压缩到根目录下,注意-C 选项。
解压缩完毕后:
toolchain 安装在 /cad/tensilica 目录下面,而且必须安装在此目录下,
有系统全局变量会直接引用这个绝对路径。
3. 安装 License 文件。
oliverzhang@fortune-co.com
QCA4004X QCA401X 开发环境搭建
将 license.dat 文件拷贝到 Linux 虚拟机,此处示例放在/root/xtensa 目
录下。
4. 修改虚拟机的 eth0 以太网卡的 MAC 地址为 00:0C:29:01:02:03
这里面需要注意的地方:首先网卡的名称必须是 eth0, 像 centOS7 上
面由于 Linux 驱动架构的改变,默认的网卡名称不再是 eth0,因此需
要更改,方法请在网上搜索。如何更改虚拟机网卡的 MAC 地址也请
网络搜索解决方案。
5. 配置 bash 启动文件
把 set-env.sh 文件拷贝到 Linux 虚拟机. 此处示例是放在/root/xtensa/
目录下。
然后修改 shell 自启动脚本,此处以 centOS 上面的 bash 为例,其他
平台可能略有不同。
oliverzhang@fortune-co.com
QCA4004X QCA401X 开发环境搭建
在 .bashrc 文件的最后一行增加如下所示命令。然后保存文件退出。
然后 source 一下刚才修改的文件,或者退出 shell 重新进入以使得刚
才的修改生效。
测试一下环境变量是否已经设置好:
oliverzhang@fortune-co.com
QCA4004X QCA401X 开发环境搭建
从上面可以看出来,各个环境变量已经设置好。xt-xcc 命令执行会看
到正确的输出
至此,toolchain 安装完毕了,然后可以编译 sdk 了。
备注:有客户使用 64-bit 的 Linux 系统,但没有安装 32-bit 程序运行
兼容包,此处可能出现找不到文件之类的提示:
No such file or directory 解决方案请参考附录的 FAQ 部分。
6. 编译 sdk
将 QCA4004(QCA4010 和 QCA4004 类似)的 sdk
QCA4004_TX1.2_r00010.1.tgz 拷贝到 Linux 虚拟机上面。
然后解压缩:
oliverzhang@fortune-co.com
QCA4004X QCA401X 开发环境搭建
解压缩完毕后可以看到整个 sdk 的目录架构:
需要首先在此 target 目录下面执行 source sdkenv.sh 以配置和此项
目的目录相关的环境变量。
每次启动 shell 进入 sdk 目录的时候都需要执行此环境配置脚本,但
仅需要执行一次即可。
接下来就可以编译代码了:
demo 子目录下面有多个不同的工程,以 sdk_shell 为例:
oliverzhang@fortune-co.com
QCA4004X QCA401X 开发环境搭建
make clean 清空临时文件
make 编译
编译成功后会生成 iot_demo.out 文件。
7. 生成最终烧录的 bin 文件
编译成功后生成的 iot_demo.out 文件并不能直接烧录,需要经过
oliverzhang@fortune-co.com
QCA4004X QCA401X 开发环境搭建
qonstrcut 命令转成为可以烧录 Flash 的 bin 文件.
此命令在 target/tool 目录下,为此先进入此目录,再执行命令:
如上所示,首先切换到 target/tool 目录下,然后执行上述红色标识
的命令.
oliverzhang@fortune-co.com