使用FS_Hi3861鸿蒙开发板编译时常见的一些问题

本文档列举了在开发华清远见FS-Hi3861产品时遇到的编译错误和烧录问题,包括第三方库引入后编译失败、BUILD.gn文件错误、I2C初始化函数未定义、烧写工具检测不到板子、riscv32-unknown-elf-gcc命令找不到以及蜂鸣器自动启动等问题,并提供了相应的解决办法。
摘要由CSDN通过智能技术生成

本文档支持的是下面的产品

目录

在添加第三方库完成后,再次编译报错,提示“undefined reference to ******”

编译的时候,提示BUILD.gn文件错误。

编译的时候,提示“undefined reference to ‘hi_i2c_init’”

编译好之后烧写工具又检测不到板子

编译开发板程序时提示“/bin/sh: riscv32-unknown-elf-gcc : 未找到命令”

开发板上蜂鸣器一上电就开始响

提示缺少“hal_bsp_log.h”等类似的头文件


在添加第三方库完成后,再次编译报错,提示“undefined reference to ******”

现象描述

比如是移植了MQTT的库文件,然后再次编译工程的时候,会发现下面的问题:

可能原因

可能是移植完成之后,需要修改“device/hisilicon/hispark_pegasus/sdk_liteos/BUILD.gn”文件。

解决办法

移植完成之后,需要打开“device/hisilicon/hispark_pegasus/sdk_liteos/BUILD.gn”文件,在下图部分添加"//third_party/pahomqtt:pahomqtt_static",第三方库添加完成了,接下来就可以进行使用了。 

编译的时候,提示BUILD.gn文件错误。

现象描述

会有以下提示,说在某某路径下的BUILD.gn文件有错误。

可能原因

BUILD.gn文件内容可能不正确,需要检查一下两个BUILD.gn文件。

解决办法

以下面的例子为例,其他的类似。
这时需要仔细检查一下“//applications/sample/wifi-iot/app/”目录下的BUILD.gn文件,目录和对应的目标文件是否正确。

 再检查一下“base_01_key”目录下的BUILD.gn文件:

主要检查几个地方:
1.  Sources 源文件的路径是否正确;
2.  Include_dirs 头文件的路径是否正确;
3.  检查一下JSON的语法是否正确,是否少了“,”逗号;
4.  是否用#号注释或者取消注释相应的内容

编译的时候,提示“undefined reference to ‘hi_i2c_init’”

现象描述

在工程中使用到了I2C的相关接口,然后开始编译时出现下面的问题:

可能原因

可能是sdk_liteos源码中的usr_config.mk文件中没有把CONFIG_I2C_SUPPORT打开。

解决办法

打开“//device/hisilicon/hispark_pegasus/sdk_liteos/build/config/usr_config.mk”文件,在此文件中,将“CONFIG_I2C_SUPPORT”取消注释,并加上“=y”。

注意:比如今后可能还会用到SPI、PWM、DMA等,都需要在这个文件中进行修改。

编译好之后烧写工具又检测不到板子

现象描述

在下载程序的时候,发现有的时候连接不上开发板。

解决办法:

1.  检查是否安装CH340的串口驱动;
2.  检查开发板是否上电;
3.  检查USB转Type-C线是否支持数据传输功能;
4.  以上检查好了之后,点击Refresh按钮,进行刷新,找到串口的端口号;
5.  接好开发板之后,上电
6.  检查是否有串口端口号
7.  有端口号之后,配置烧写工具的串口波特率
8.  加载要烧写的bin文件,
9.  然后点击**connect**按钮
10.  再按下开发板上的复位按键
11.  这时看烧写工具的进度条
12.  直到提示烧写完成,然后点击**disconnect**按钮
13. 然后按下开发板中的复位按键,查看现象。

编译开发板程序时提示“/bin/sh: riscv32-unknown-elf-gcc : 未找到命令”

现象描述

在首次编译程序的时候,在终端中,提示“*****:未找到命令”。

可能原因 

在终端里面输入“ricv32-unknown-elf-gcc -v”命令,看看是否有正确的版本号,如果没有的话,大概应该是没有配置好环境。

解决办法

1.  在终端中输入“gedit ~/.bashrc”。
2.  在最后一行添加 riscv32-unknown-elf-gcc 工具的bin文件路径;

3.  修改完成之后,点击保存,然后在终端中输入命令 source ~/.bashrc 
4.  在终端里面输入 riscv32-unknown-elf-gcc -v 命令,看看是否有正确的版本号;
5.  如果有,说明可以解决这个问题。

开发板上蜂鸣器一上电就开始响

可能原因

这是因为开发板上电的时候,蜂鸣器引脚默认为低电平,所以蜂鸣器会响,如下原理图所示(开发板的版本号:FS_Hi3861DB_V3.2):

解决办法

打开【//device/hisilicon/hispark_pegasus/sdk_liteos/app/wifiiot_app/src/app_main.c】文件,修改app_main.c文件,在294行的#endif后面添加:

提示缺少“hal_bsp_log.h”等类似的头文件

可能原因

没有将硬件驱动源码复制到对应的目录。

解决方法

在光盘资料中找到如下文件夹:

将该文件夹内的文件复制到对应的编译目录中:

同时保证要编译的程序下面的BUILD.gn文件中包含此地址:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值