开发环境搭建


1. SDK下载

从FTP下载SDK开发包,包含有Mercury5、Toolchain、Documents、Tools等文件夹。

图 1‑1 SDK开发包

  • Mercury5文件夹包含软件开发代码

  • Toolchain文件夹包含Windows和Linux两个文件夹,分别包含两个系统开发环境所需工具

  • Documents文件夹包含SCH,Training文件夹

  • Tools文件夹包含GVP、UVC、EDOG等工具


2. Windows + Cygwin 环境开发

  1. 把Toolchain\Windows目录下压缩包CygwinIPC_20170316.zip解压缩到C:\

  2. 双击打开C:\Cygwin\CygwinPortable.exe,任务栏会显示Cygwin图标

    图 2‑1 Cygwin Icon

  3. 右键图标,选择"Open Bah(C:),弹出工作窗口

    图 2‑2 终端窗口

  4. 切换路径到代码包Mercury5/proj目录下,图示为解压SDK包文件位置

    图 2‑3 SDK终端窗口

  5. 或者打开Mercury5文件夹,右键proj,选择"OpenDirectoryInCygwin",也会弹出步骤4所示工作窗口。

    图 2‑4 启动Cygwin快捷方式

  6. 敲tng/configure.pl,选择 316d_32_128_msw,更新config.mak等配置

    图 2‑5 更新项目配置

  7. 敲 make clean;make 来编译项目

    图 2‑6 编译SDK

  8. 如果没有任何错误产生,编译完成你将会看到

    图 2‑7 编译成功界面


3. Linux (ver >= Ubuntu 16) 环境开发

  1. 把Toolchain\Linux目录下压缩包gcc-linaro-arm-none-eabi-4.8-2014.04_linux.tar.xz解压到linux环境home/toolchain目录下

    图 3‑1 Toolchain安装位置

  2. 在.bashrc文件最后一行配置环境变量,指向toolchain路径: /home/toolchain/gcc-linaro-arm-none-eabi-4.8-2014.04_linux/bin

    图 3‑2 Toolchain环境变量

    保存退出,在新的终端窗口输入"$PATH",确认修改有效。

    图 3‑3 查询环境变量

  3. 进入linux环境下Mercury5文件夹,右键proj,选择"Open in Terminal",打开新的终端窗口

    图 3‑4 打开终端窗口

  4. 敲tng/configure.pl,选择 316d_32_128_msw,更新config.mak等配置

    图 3‑5更新项目配置

  5. 敲 make clean;make 来编译项目

    图 3‑6 编译SDK


4. 其它事项

  • Linux环境下,如果gcc-linaro-arm-none-eabi-4.8-2014.04_linux.tar.xz解压在其它路径下,需要同步更新proj\Makefile文件下ARMGCC 路径

    图 4‑1 同步Toolchain文件位置

  • 如果只修改 .C文件,可以部分编译,具体步骤如下

    1. 查找包含此 .C文件的makefile文件,一般为.C文件的当前目录或上一级目录

    2. 终端窗口输入 make "makefile"名

    3. 终端窗口输入 make link

    比如更新了gps_nmea0183.c,查找后发现上一级目录vendor_gps.mak有包含此.C文件。那我们在终端窗口输入:make vendor_gps; make link 即可。

    图 4‑2 单独编译某个文件

  • 编译成功后会在proj\sc\project\Dvr_CarDV_SDK\tools\DownloadTool_M5生成3个新的文件:316d_32_128_msw.bin、316d_32_128_msw.bin.xz、SD_CarDV.bin(仅Windows环境下),其中316d_32_128_msw.bin.xz为316d_32_128_msw.bin的压缩档,生成BIN档时选择这两者中的一个即可

    图 4‑3 编译生成文件

  • Ubuntu切换默认sh为bash

  • Linux环境下需要给予开发包最少 755 权限