杰理可视化SDK--使用makefile编译及固件输出


不少小伙伴在后台私信提问,不安装杰理可视化工具的情况,是否可以进行基于杰理SDK的应用开发。

杰理可视化SDK支持在Windows系统环境和Linux系统环境使用makefile进行编译。默认情况下,SDK支持在Windows系统环境下进行编译和下载,而在Linux系统只支持编译。SDK发布的时候, 默认除了发布了cbp后缀的Code::Blocks工程。此外,还同时发布了 Makefile以及VSCode的配置。所以在不使用杰理可视化工具的情况下也可以正常进行杰理SDK应用的开发。

使用makefile编译SDK

makefile文件用于定义软件项目的构建和编译规则。它是GNU Make工具的配置文件,通过一系列规则指定哪些文件需要先编译、哪些文件需要后编译,以及哪些文件需要重新编译。
Makefile主要由以下三部分内容组成:
目标(Target):需要生成的文件,例如可执行文件或目标文件。
依赖(Dependencies):生成目标所依赖的文件或其他目标。
命令(Commands):构建目标时需要执行的命令。

SDK根目录下有一个Makefile文件。此外,为了支持SDK使用make进行编译。SDK额外附带了一个tools目录, 里面放置了必要的编译工具。
杰理makefile文件
打开工程目录下的Makefile文件可以查看有那些目标。如下图。
在终端中输入make all -j16或者输入make -j可以进行编译。参数-j代表使用编译的线程数量。
make -j:默认makefile中的第一个目标,没有指定线程默认cpu最大线程
makefile目标
方式一: 在SDK根目录下直接使用命令行打开tools/utils目录工具中的make编译,终端中输入make -j编译。
编译方式一

方式二(官方推荐方式):

  1. 打开SDK目录下的tools目录内的make_prompt.bat脚本, 如下图所示。
    make_prompt脚本

  2. make_prompt.bat文件是设置环境变量的批处理脚本。在弹出的命令行窗口后脚本会自动设置编译所使用到的PATH设置,在窗口中输入make -j并输入回车,可以自动启动编译程序。
    make_prompt脚本编译过程

  3. 编译完成之后makefile脚本后处理会自动调用cpu\brxx\tools\download.bat这个路径下的download脚本文件进行下载烧录。download.bat脚本同时会自动打包生成fw或ufw烧录文件。
    生成固件

排查makefile编译出错步骤

在SDK使用makefile编译过程中如发现有编译出错的情况,可以使用以下步骤进行排查:

  1. 检查SDK所在的路径中是否有空格或中文(不能带有空格和中文路径)
  2. 检查SDK所在的路径,是否层次过深
  3. 检查SDK根目录中的tools文件夹,是否与转换工具中的tools文件夹一致。检查是否有缺失的文件。
  4. 检查对应的Code::Blocks工程是否能够编译,确认工具链环境是否有问题,能编译则杰理工具链没有问题。

生成带KEY的烧录固件

由于杰理芯片一般在代理商购买,芯片中需要烧录带KEY的固件。所以我们在生成烧录固件时一般需要将KEY文件填入。
这里我们打开SDK目录下cpu\brxx\tools\download.bat这个脚本代码可以看到,在找到需要的bin文件之后实际上调用的还是download\earphone路径下的download.bat脚本。
download.bat
打开download/earphone/download.bat脚本可以看到,脚本调用使用了isd_download.exe加上bin和参数进行下载烧录。默认参数是不带KEY来对bin文件做组合生成烧录固件。
调用isd_download.exe
如需要加入key参数, 可以直接修改此脚本, 在后面增加修改为即可。
脚本填入key参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小的代码里面挖呀挖呀挖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值