本文档支持的是下面的产品
- 华清远见 FS-Hi3861https://gitee.com/HiSpark/hi3861_hdu_iot_application/blob/master/src/vendor/hqyj/fs_hi3861/doc/%E5%8D%8E%E6%B8%85%E8%BF%9C%E8%A7%81%20FS_Hi3861%E5%BC%80%E5%8F%91%E6%8C%87%E5%AF%BC.md
目录
在添加第三方库完成后,再次编译报错,提示“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文件中包含此地址: