adv_vendor_self_provision_with_peripheral例程打开睡眠模式报错

因为需要更低的功耗所以在adv_vendor_self_provision_with_peripheral的基础上去修改,但是在CONFIG.H的头文件里打开了HAL_SLEEP,编译报错,怎么解决呢?


10:43:15 **** Incremental Build of configuration obj for project adv_vendor_self_provision_with_peripheral ****

make -j8 all 

Memory region         Used Size  Region Size  %age Used

           FLASH:      126288 B       152 KB     81.14%

./APP/app.o: in function `vendor_model_srv_send':

E:\EVT\EXAM\BLE\MESH\adv_vendor_self_provision_with_peripheral\obj/../APP/app.c:532:(.text.vendor_model_srv_send+0x1a): relocation truncated to fit: R_RISCV_GPREL_I against `.LANCHOR4'

./APP/app.o: in function `prov_reset':

             RAM:       17284 B        18 KB     93.77%

E:\EVT\EXAM\BLE\MESH\adv_vendor_self_provision_with_peripheral\obj/../APP/app.c:356:(.text.App_ProcessEvent+0x14): relocation truncated to fit: R_RISCV_GPREL_I against `.LANCHOR15'

./APP/app.o: in function `prov_complete':

E:\EVT\EXAM\BLE\MESH\adv_vendor_self_provision_with_peripheral\obj/../APP/app.c:315:(.text.prov_complete+0x44): relocation truncated to fit: R_RISCV_GPREL_I against `.LANCHOR4'

./APP/app.o: in function `blemesh_on_sync':

E:\EVT\EXAM\BLE\MESH\adv_vendor_self_provision_with_peripheral\obj/../APP/app.c:748:(.text.blemesh_on_sync+0xe0): relocation truncated to fit: R_RISCV_GPREL_I against `.LANCHOR30'

./APP/app.o: in function `App_Init':

E:\EVT\EXAM\BLE\MESH\adv_vendor_self_provision_with_peripheral\obj/../APP/app.c:738:(.text.App_Init+0x26): relocation truncated to fit: R_RISCV_GPREL_I against `.LANCHOR4'

./APP/app.o: in function `App_trans_model_reveived':

E:\EVT\EXAM\BLE\MESH\adv_vendor_self_provision_with_peripheral\obj/../APP/app.c:1251:(.text.App_trans_model_reveived+0x760): relocation truncated to fit: R_RISCV_GPREL_I against `.LANCHOR4'

./APP/app_vendor_model_srv.o: in function `adv_srv_trans_send':

E:\EVT\EXAM\BLE\MESH\adv_vendor_self_provision_with_peripheral\obj/../APP/app_vendor_model_srv.c:591:(.text.adv_srv_trans_send+0x30): relocation truncated to fit: R_RISCV_GPREL_I against `.LANCHOR3'

./APP/app_vendor_model_srv.o: in function `ind_reset':

E:\EVT\EXAM\BLE\MESH\adv_vendor_self_provision_with_peripheral\obj/../APP/app_vendor_model_srv.c:495:(.text.ind_reset.constprop.4+0x4): relocation truncated to fit: R_RISCV_GPREL_I against `.LANCHOR6'

./APP/app_vendor_model_srv.o: in function `vendor_message_srv_send_trans':

E:\EVT\EXAM\BLE\MESH\adv_vendor_self_provision_with_peripheral\obj/../APP/app_vendor_model_srv.c:400:(.text.vendor_message_srv_send_trans+0xc): relocation truncated to fit: R_RISCV_GPREL_I against `.LANCHOR3'

./APP/app_vendor_model_srv.o: in function `vendor_message_srv_trans_reset':

E:\EVT\EXAM\BLE\MESH\adv_vendor_self_provision_with_peripheral\obj/../APP/app_vendor_model_srv.c:426:(.text.vendor_message_srv_trans_reset+0x4): relocation truncated to fit: R_RISCV_GPREL_I against `.LANCHOR3'

./APP/app_vendor_model_srv.o: in function `vendor_model_srv_reset':

E:\EVT\EXAM\BLE\MESH\adv_vendor_self_provision_with_peripheral\obj/../APP/app_vendor_model_srv.c:70:(.text.vendor_model_srv_rsp_recv+0x42): additional relocation overflows omitted from the output

collect2.exe: error: ld returned 1 exit status

make: *** [makefile:58: adv_vendor_self_provision_with_peripheral.elf] Error 1


您好,可以用新下载的EVT解压一份,只修改HAL_SLEEP看是否会有一样的报错。不推荐修改CONFIG.H中的宏,因为该头文件是公共文件,建议在工程配置Properties中添加宏。一般使能该宏是不会有问题的。
如果用EVT没有出现同样的报错,可以排查定位一下问题工程中的代码块。


只有登录才能回复,可以选择微信账号登录