当前位置: 首页 > news >正文

韩国免费行情网站的推荐理由wordpress是什么语言开发的

韩国免费行情网站的推荐理由,wordpress是什么语言开发的,2018年做淘宝客网站需要备案嘛,泰州学习网站建设1、打印格式不对 一般都是因为日志中某个参数打印格式不匹配造成。 ESP_LOGI(TAG, "[APP] Free memory: %lu bytes", esp_get_free_heap_size());//将之前的%d 改为%lu 2、配置载不对 这里选择了蓝牙模块需要引入蓝牙组件才能编译通过 idf.py menuconfig Component…

1、打印格式不对

一般都是因为日志中某个参数打印格式不匹配造成。

ESP_LOGI(TAG, "[APP] Free memory: %lu bytes", esp_get_free_heap_size());//将之前的%d 改为%lu

2、配置载不对 这里选择了蓝牙模块需要引入蓝牙组件才能编译通过

  1. idf.py menuconfig Component config –> Bluebooth –> 消除使能 不添加蓝牙模块直接编译

3、未加载到blufi配网的功能函数,这里我在使用nimble模块后打开blufi功能编译

in function `example_event_callback':
/home/huqin/code/GS368/build/../components/sit_lib_network/src/sit_lib_network.c:275: undefined reference to `esp_blufi_adv_start'
/home/huqin/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/11.2.0/../../../../riscv32-esp-elf/bin/ld: /home/huqin/code/GS368/build/../components/sit_lib_network/src/sit_lib_network.c:312: undefined reference to `esp_blufi_send_wifi_conn_report'
/home/huqin/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/11.2.0/../../../../riscv32-esp-elf/bin/ld: /home/huqin/code/GS368/build/../components/sit_lib_network/src/sit_lib_network.c:255: undefined reference to `esp_blufi_send_error_info'
/home/huqin/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/11.2.0/../../../../riscv32-esp-elf/bin/ld: /home/huqin/code/GS368/build/../components/sit_lib_network/src/sit_lib_network.c:257: undefined reference to `esp_blufi_adv_start'
/home/huqin/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/11.2.0/../../../../riscv32-esp-elf/bin/ld: /home/huqin/code/GS368/build/../components/sit_lib_network/src/sit_lib_network.c:265: undefined reference to `esp_blufi_adv_stop'
/home/huqin/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/11.2.0/../../../../riscv32-esp-elf/bin/ld: /home/huqin/code/GS368/build/../components/sit_lib_network/src/sit_lib_network.c:265: undefined reference to `esp_blufi_send_custom_data'
/home/huqin/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/11.2.0/../../../../riscv32-esp-elf/bin/ld: /home/huqin/code/GS368/build/../components/sit_lib_network/src/sit_lib_network.c:291: undefined reference to `esp_blufi_send_error_info'
/home/huqin/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/11.2.0/../../../../riscv32-esp-elf/bin/ld: /home/huqin/code/GS368/build/../components/sit_lib_network/src/sit_lib_network.c:306: undefined reference to `esp_blufi_send_wifi_conn_report'
/home/huqin/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/11.2.0/../../../../riscv32-esp-elf/bin/ld: /home/huqin/code/GS368/build/../components/sit_lib_network/src/sit_lib_network.c:310: undefined reference to `esp_blufi_send_wifi_conn_report'

找不到组件库文件。

于子模块添加组件库(试过在主函数cmake中添加依然找不到)一般都是缺啥头文件找到IDF中对应的组件库添加进来即可。

df_component_register(SRCS "${component_srcs}"INCLUDE_DIRS "." "include"PRIV_INCLUDE_DIRS ""PRIV_REQUIRES ""REQUIRES  "mbedtls" #添加组件库"fatfs" "nvs_flash" "app_update" "bt" "esp_wifi" "freertos" "json" "esp_http_client" "app_update"  "lwip" "esp_netif" "esp_https_ota")

出现:若编译出现函数声明找不到可以查看对应头文件是否被宏隔断 一般需要通过配置使能宏才可以使用函数

经测试发现因为配置中未开放此宏导致函数声明找不到。

修改menuconfig后重新编译成功 如下:

4、函数冲突

../user/wifi/blufi_connect.c:391:9: error: implicit declaration of function 'blufiprph_advertise'; did you mean 'bleprph_advertise'? [-Werror=implicit-function-declaration]391 |         blufiprph_advertise();|         ^~~~~~~~~~~~~~~~~~~|         bleprph_advertise
../user/wifi/blufi_connect.c: At top level:
../user/wifi/blufi_connect.c:674:1: warning: conflicting types for 'blufiprph_advertise'; have 'void(void)'674 | blufiprph_advertise(void)| ^~~~~~~~~~~~~~~~~~~
../user/wifi/blufi_connect.c:674:1: error: static declaration of 'blufiprph_advertise' follows non-static declaration
../user/wifi/blufi_connect.c:391:9: note: previous implicit declaration of 'blufiprph_advertise' with type 'void(void)'391 |         blufiprph_advertise();|         ^~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors

跟组件中包含的函数冲突,修改函数名后未声明。

5、BLUFI_CUSTOM_DATA 结构体未定义,当时未使用typedef重命名导致找不到。

/user/wifi/blufi_connect.c:668:22: error: expected declaration specifiers or '...' before 'BLUFI_CUSTOM_DATA'

6、OTA固件升级错误 由于使用https下载未加证书验证导致服务器配置不对下载失败。

I (21099) advanced_https_ota_example: Starting Advanced OTA example
I (21109) advanced_https_ota_example: OTA started
E (21119) esp_https_ota: No option for server verification is enabled in esp_http_client config.
E (21129) advanced_https_ota_example: ESP HTTPS OTA Begin failed

7、snprintf入参指针类型不对, 修改uint8_t*改为 char*。

pointer targets in passing argument 1 of 'snprintf' differ in signedness

8、multiple definition of `device_data';多重定义问题

根本原因:由于结构体对象存在多个导致,(我这里因为在头文件中使用结构体类型定义对象,并头文件被多个模块包含,导致存在多个全局对象)

修改:对象定义在对于的源文件中,在其他文件中使用extern 访问对象。

9.undefined reference to `vTaskList'

原因:未找到函数 没有配置需要按照如下设置。

10、重复定义 在一个头文件中定义的全局变量被多个源文件包含 会出现多处定义。

/home/huqin/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/11.2.0/../../../../riscv32-esp-elf/bin/ld: esp-idf/main/libmain.a(sit_app_networkTask.c.obj):
/home/huqin/code/GS368/build/../components/sit_lib_network/include/sit_flash.h:21: multiple definition of `SerialNumber'; 
esp-idf/main/libmain.a(GS368_main.c.obj):/home/huqin/code/GS368/build/../components/sit_lib_network/include/sit_flash.h:21: first defined here
/home/huqin/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/../lib/gcc/riscv32-esp-elf/11.2.0/../../../../riscv32-esp-elf/bin/ld: esp-idf/main/libmain.a(sit_aws_iot_main.c.obj):
/home/huqin/code/GS368/build/../components/sit_lib_network/include/sit_flash.h:21: multiple definition of `SerialNumber'; 
esp-idf/main/libmain.a(GS368_main.c.obj):/home/huqin/code/GS368/build/../components/sit_lib_network/include/sit_flash.h:21: first defined here

11.mbedTLS未找到加密函数

解决:使能DMH的配置文件

12、连接服务器一直会在ssl创建会话验证证书时失败 内存申请失败

更改动态申请后有时也会出现 Dynamic Impl: alloc(zu bytes) failed

I (11916) coreMQTT: Establishing a TLS session to a22kpq659tmps7-ats.iot.us-west-2.amazonaws.com:8883.
E (14496) Dynamic Impl: alloc(zu bytes) failed
E (14496) esp-tls-mbedtls: mbedtls_ssl_handshake returned -0x7F00
I (14496) esp-tls-mbedtls: Certificate verified.
E (14506) esp-tls: Failed to open new connection

最后是因为蓝牙协议栈开启导致占用内存太多,配网后重启不初始化并开启蓝牙解决问题。(以上配置未使用)

13、内存使用检测方法

图形化检测内存使用情况

需要依靠 vscode 或者 eclipse 来实现。

vTaskList() 可以用来分析操作系统当前 task 状态:

FreeRTOS 接口: vTaskList() - 可优化内存和 task 栈溢出定位_乐鑫科技 Espressif的博客-CSDN博客

vTaskGetRunTimeStats() 可以用来分析操作系统当前 task CPU 占用状态:

FreeRTOS 接口: vTaskGetRunTimeStats() - 可解决 task watchdog 和调优 task 优先级_乐鑫科技 Espressif的博客-CSDN博客

14、使用memcpy给结构体赋值时C语言,结构体,打印某个结构体成员值会带有其它结构体成员的值!

结构体成员不是一个以\0结尾的字符串,而%s只能用来输出以\0结尾的字符串,因为它只有遇到\0才会停下来。

解决方法:将结构图成员大小进行增大,初始化为0时会默认赋值\0.

15、获取ESP设备信息方式

espefuse.py -p /dev/ttyUSB0 summary //efuse设备信息
使用esptool.py --no-stub get_security_info读取的信息

 16、固件太大使用内存变多

参考这个链接减少 heap 使用:Minimizing RAM Usage - ESP32-C3 - — ESP-IDF Programming Guide latest documentation"

http://www.yayakq.cn/news/812262/

相关文章:

  • 制作企业网站的新闻显示深圳网站开发企业
  • 女生做网站编辑好不好H5网站模板修改教程
  • 如何做网站销售凡科网网站建设
  • 常州网站建设工作室wordpress主题2019
  • 百度怎样收录网站宁波seo在线优化公司
  • 上海浦东医院网站建设常州做的网站的公司哪家好
  • 优化网站的软件网站建设论文提纲
  • 顶尖的设计网站贵阳网页设计培训学校
  • 制作网站软件作品o2o网站建设技术
  • 网站营销单页怎么设计方案企业推广费用占比多少合适
  • 网站建设北京个人网站切图是什么意思
  • 孝感网站设计摄影工作室网站源码
  • 贵州西能电力建设有限公司网站厦门网站开发公司哪家好
  • 企业网站的用户需求分析49you网页游戏平台
  • 怎么建设网站怎么样网站做子站点有什么用
  • 杭州网站的优化wordpress 最大上传
  • 建设生鲜网站价格wordpress 更改首页
  • 做网站电商云数据库有用吗株洲有名的网站
  • 网站空间和数据库的关系手机网页无法访问如何解决
  • 网站建设 镇江丹阳企业seo网站推广公司
  • 沈阳大型网站设计公司江苏省建设厅官方网站
  • 大庆商城网站建设创建网站需要备案吗
  • 重庆网络网站推广抖音代运营怎么取消
  • 电子商务网站栏目网站开发的路径是什么
  • 赣州网站设计有哪些网站开发项目预算表
  • 购物网站建设开发费用分析小馋网站建设书
  • 锦州网站制作购物网站哪个是正品
  • 我要做一个网站 需要营业范围吗互联网创业项目app
  • 做优化很好的网站夏天做哪个网站能致富
  • 如何网站推广如何做app软件开发