我正在尝试创建一个二进制文件来刷新蓝牙板。不幸的是,由于某些原因我的二进制文件为空,因此编译时出错。我有很多代码,这些代码已正确链接。
关于我为什么会收到此错误的任何建议?
这是编译器的输出。如您所见,没有错误,只有一些警告,应该没有危险:
Info: Internal Builder is used for build
arm-atollic-eabi-gcc -c ..\..\..\src\hal.c -mthumb -mcpu=cortex-m0 -std=c99 -DBLUENRG2_DEVICE -DNO_SMART_POWER_MANAGEMENT -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\BLE_Application\OTA\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\CMSIS\Include -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\BlueNRG1_Periph_Driver\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\CMSIS\Device\ST\BlueNRG1\Include -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\Bluetooth_LE\library -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\BLE_Application\layers_inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\Bluetooth_LE\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\hal\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\MeshModel\Inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\PAL\BlueNRG1_2 -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\Inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\BSP\SDK_Eval_BlueNRG1\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\src -Os -ffunction-sections -fdata-sections -g -fstack-usage -Wall -mcpu=cortex-m0 -specs=nano.specs -o src\hal.o
arm-atollic-eabi-gcc -c ..\..\..\src\appli_nvm.c -mthumb -mcpu=cortex-m0 -std=c99 -DBLUENRG2_DEVICE -DNO_SMART_POWER_MANAGEMENT -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\BLE_Application\OTA\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\CMSIS\Include -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\BlueNRG1_Periph_Driver\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\CMSIS\Device\ST\BlueNRG1\Include -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\Bluetooth_LE\library -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\BLE_Application\layers_inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\Bluetooth_LE\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\hal\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\MeshModel\Inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\PAL\BlueNRG1_2 -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\Inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\BSP\SDK_Eval_BlueNRG1\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\src -Os -ffunction-sections -fdata-sections -g -fstack-usage -Wall -mcpu=cortex-m0 -specs=nano.specs -o src\appli_nvm.o
..\..\..\src\appli_nvm.c: In function 'AppliNvm_FlashProgram':
..\..\..\src\appli_nvm.c:117:22: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
|| (Address & 0x03 != 0))
^
arm-atollic-eabi-gcc -c ..\..\..\src\main.c -mthumb -mcpu=cortex-m0 -std=c99 -DBLUENRG2_DEVICE -DNO_SMART_POWER_MANAGEMENT -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\BLE_Application\OTA\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\CMSIS\Include -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\BlueNRG1_Periph_Driver\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\CMSIS\Device\ST\BlueNRG1\Include -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\Bluetooth_LE\library -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\BLE_Application\layers_inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\Bluetooth_LE\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\hal\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\MeshModel\Inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\PAL\BlueNRG1_2 -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\Inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\BSP\SDK_Eval_BlueNRG1\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\src -Os -ffunction-sections -fdata-sections -g -fstack-usage -Wall -mcpu=cortex-m0 -specs=nano.specs -o src\main.o
arm-atollic-eabi-gcc -c ..\..\..\src\BlueNRG1_it.c -mthumb -mcpu=cortex-m0 -std=c99 -DBLUENRG2_DEVICE -DNO_SMART_POWER_MANAGEMENT -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\BLE_Application\OTA\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\CMSIS\Include -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\BlueNRG1_Periph_Driver\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\CMSIS\Device\ST\BlueNRG1\Include -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\Bluetooth_LE\library -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\BLE_Application\layers_inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\Bluetooth_LE\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\hal\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\MeshModel\Inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\PAL\BlueNRG1_2 -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\Inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\BSP\SDK_Eval_BlueNRG1\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\src -Os -ffunction-sections -fdata-sections -g -fstack-usage -Wall -mcpu=cortex-m0 -specs=nano.specs -o src\BlueNRG1_it.o
arm-atollic-eabi-gcc -c ..\..\..\src\appli_light.c -mthumb -mcpu=cortex-m0 -std=c99 -DBLUENRG2_DEVICE -DNO_SMART_POWER_MANAGEMENT -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\BLE_Application\OTA\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\CMSIS\Include -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\BlueNRG1_Periph_Driver\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\CMSIS\Device\ST\BlueNRG1\Include -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\Bluetooth_LE\library -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\BLE_Application\layers_inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\Bluetooth_LE\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\hal\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\MeshModel\Inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\PAL\BlueNRG1_2 -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\Inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\BSP\SDK_Eval_BlueNRG1\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\src -Os -ffunction-sections -fdata-sections -g -fstack-usage -Wall -mcpu=cortex-m0 -specs=nano.specs -o src\appli_light.o
arm-atollic-eabi-gcc -c ..\..\..\src\appli_mesh.c -mthumb -mcpu=cortex-m0 -std=c99 -DBLUENRG2_DEVICE -DNO_SMART_POWER_MANAGEMENT -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\BLE_Application\OTA\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\CMSIS\Include -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\BlueNRG1_Periph_Driver\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\CMSIS\Device\ST\BlueNRG1\Include -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\Bluetooth_LE\library -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\BLE_Application\layers_inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\Bluetooth_LE\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\hal\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\MeshModel\Inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\PAL\BlueNRG1_2 -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\Inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\BSP\SDK_Eval_BlueNRG1\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\src -Os -ffunction-sections -fdata-sections -g -fstack-usage -Wall -mcpu=cortex-m0 -specs=nano.specs -o src\appli_mesh.o
arm-atollic-eabi-gcc -c ..\..\..\src\appli_sensor.c -mthumb -mcpu=cortex-m0 -std=c99 -DBLUENRG2_DEVICE -DNO_SMART_POWER_MANAGEMENT -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\BLE_Application\OTA\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\CMSIS\Include -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\BlueNRG1_Periph_Driver\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\CMSIS\Device\ST\BlueNRG1\Include -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\Bluetooth_LE\library -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\BLE_Application\layers_inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\Bluetooth_LE\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\hal\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\MeshModel\Inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\PAL\BlueNRG1_2 -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\Inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\BSP\SDK_Eval_BlueNRG1\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\src -Os -ffunction-sections -fdata-sections -g -fstack-usage -Wall -mcpu=cortex-m0 -specs=nano.specs -o src\appli_sensor.o
arm-atollic-eabi-gcc -c ..\..\..\src\models_if.c -mthumb -mcpu=cortex-m0 -std=c99 -DBLUENRG2_DEVICE -DNO_SMART_POWER_MANAGEMENT -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\BLE_Application\OTA\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\CMSIS\Include -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\BlueNRG1_Periph_Driver\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\CMSIS\Device\ST\BlueNRG1\Include -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\Bluetooth_LE\library -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\BLE_Application\layers_inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\Bluetooth_LE\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\hal\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\MeshModel\Inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\PAL\BlueNRG1_2 -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\Inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\BSP\SDK_Eval_BlueNRG1\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\src -Os -ffunction-sections -fdata-sections -g -fstack-usage -Wall -mcpu=cortex-m0 -specs=nano.specs -o src\models_if.o
..\..\..\src\models_if.c: In function 'BluenrgMesh_ModelsCommand':
..\..\..\src\models_if.c:324:16: warning: 'elementNumber' may be used uninitialized in this function [-Wmaybe-uninitialized]
elementIndex = elementNumber-1;
~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
arm-atollic-eabi-gcc -c ..\..\..\src\appli_generic.c -mthumb -mcpu=cortex-m0 -std=c99 -DBLUENRG2_DEVICE -DNO_SMART_POWER_MANAGEMENT -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\BLE_Application\OTA\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\CMSIS\Include -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\BlueNRG1_Periph_Driver\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\CMSIS\Device\ST\BlueNRG1\Include -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\Bluetooth_LE\library -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\BLE_Application\layers_inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\Bluetooth_LE\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\hal\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\MeshModel\Inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\PAL\BlueNRG1_2 -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\Inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\BSP\SDK_Eval_BlueNRG1\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\src -Os -ffunction-sections -fdata-sections -g -fstack-usage -Wall -mcpu=cortex-m0 -specs=nano.specs -o src\appli_generic.o
arm-atollic-eabi-gcc -c ..\..\..\src\appli_vendor.c -mthumb -mcpu=cortex-m0 -std=c99 -DBLUENRG2_DEVICE -DNO_SMART_POWER_MANAGEMENT -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\BLE_Application\OTA\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\CMSIS\Include -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\BlueNRG1_Periph_Driver\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\CMSIS\Device\ST\BlueNRG1\Include -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\Bluetooth_LE\library -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\BLE_Application\layers_inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\Bluetooth_LE\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\BlueNRG1\hal\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\MeshModel\Inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\PAL\BlueNRG1_2 -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Middlewares\ST\ST_BLE_Mesh\Inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\Library\Drivers\BSP\SDK_Eval_BlueNRG1\inc -IC:\Users\CA69912\Atollic\TrueSTUDIO\STM32_workspace_9.3\BLE_Mesh\src -Os -ffunction-sections -fdata-sections -g -fstack-usage -Wall -mcpu=cortex-m0 -specs=nano.specs -o src\appli_vendor.o
..\..\..\src\appli_vendor.c: In function 'Appli_Vendor_LEDControl':
..\..\..\src\appli_vendor.c:238:18: warning: unused variable 'delay_t' [-Wunused-variable]
tClockTime delay_t = Clock_Time();
^~~~~~~
..\..\..\src\appli_vendor.c:359:31: warning: 'intensityValue' may be used uninitialized in this function [-Wmaybe-uninitialized]
ResponseBuffer[2] = intensityValue ;
~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
arm-atollic-eabi-gcc -o BLE_Mesh.elf src\BlueNRG1_it.o src\appli_generic.o src\appli_light.o src\appli_mesh.o src\appli_nvm.o src\appli_sensor.o src\appli_vendor.o src\hal.o src\main.o src\models_if.o -mthumb -mcpu=cortex-m0 -T../BlueNRG2.ld -specs=nosys.specs -nostartfiles -nodefaultlibs -static -Wl,-cref,-u,Reset_Handler -Wl,-Map=BLE_Mesh.map -Wl,--gc-sections -Wl,--defsym=malloc_getpagesize_P=0x80 -Wl,--start-group -lc -lm -Wl,--end-group -specs=nano.specs
c:/program files (x86)/atollic/truestudio for stm32 9.3.0/armtools/bin/../lib/gcc/arm-atollic-eabi/6.3.1/../../../../arm-atollic-eabi/bin/ld.exe: warning: cannot find entry symbol RESET_HANDLER; defaulting to 10040000
C:\Program Files (x86)\Atollic\TrueSTUDIO for STM32 9.3.0\ide\jre\bin\java -jar C:\Program Files (x86)\Atollic\TrueSTUDIO for STM32 9.3.0\Tools\arm-atollic-reports.jar convert-hex sizeinfo list BLE_Mesh.elf
Generate build reports...
Converting build output to hex
Output sent to: BLE_Mesh.hex
Converting build output to hex done
Print size information
text data bss dec hex filename
0 0 2296 2296 8f8 BLE_Mesh.elf
Print size information done
Generate listing file
Output sent to: BLE_Mesh.list
Generate listing file done
Generate build reports done
arm-atollic-eabi-objcopy -O binary BLE_Mesh.elf BLE_Mesh.bin
10:24:31 Build Finished (took 7s.235ms)
这是主要代码:
#include "hal_common.h"
#include "appli_mesh.h"
#include "appli_light.h"
#include "models_if.h"
#include "mesh_cfg.h"
#include "PWM_config.h"
#include "PWM_handlers.h"
#include "LPS25HB.h"
#include "BlueNRG_x_device.h"
#include "miscutil.h"
const MOBLE_USER_BLE_CB_MAP user_ble_cb =
{
Appli_BleStackInitCb,
Appli_BleSetTxPowerCb,
Appli_BleGattConnectionCompleteCb,
Appli_BleGattDisconnectionCompleteCb,
Appli_BleUnprovisionedIdentifyCb,
Appli_BleSetUUIDCb,
Appli_BleSetProductInfoCB,
Appli_BleSetNumberOfElementsCb,
Appli_BleDisableFilterCb
};
/* This structure contains Mesh library Initialisation info data */
const Mesh_Initialization_t BLEMeshlib_Init_params = {
bdaddr,
&TrParams,
&FnParams,
&LpnParams,
&NeighborTableParams,
BLUENRG_MESH_FEATURES,
BLUENRG_MESH_PRVN_BEARER_INFO,
&DynBufferParam
};
/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/
/**
* @brief This function is the Main routine.
* @param None
* @retval None
*/
int main(void)
{
/* Device Initialization */
InitDevice();
/* Initialization of PWM value to 1 */
PWM_Init();
/* Get the information if code is crashed */
Get_CrashHandlerInfo();
/* Check for valid Board Address */
if (!Appli_CheckBdMacAddr())
{
TRACE_I(TF_INIT,"Bad BD_MAC ADDR!\r\n");
/* LED Blinks if BDAddr is not appropriate */
while (1)
{
Appli_LedBlink();
}
}
/* Set BLE configuration function callbacks */
BluenrgMesh_BleHardwareInitCallBack(&user_ble_cb);
/* Initializes BlueNRG-Mesh Library */
if (MOBLE_FAILED (BluenrgMesh_Init(&BLEMeshlib_Init_params) ))
{
TRACE_I(TF_INIT,"Could not initialize BlueNRG-Mesh library!\r\n");
/* LED continuously blinks if library fails to initialize */
while (1)
{
Appli_LedBlink();
}
}
/* Checks if the node is already provisioned or not */
if (BluenrgMesh_IsUnprovisioned() == MOBLE_TRUE)
{
BluenrgMesh_UnprovisionedNodeInfo(&UnprovNodeInfoParams);
BluenrgMesh_InitUnprovisionedNode(); /* Initalizes Unprovisioned node */
TRACE_I(TF_PROVISION,"Unprovisioned device \r\n");
#if PB_ADV_SUPPORTED
BluenrgMesh_SetUnprovisionedDevBeaconInterval(100);
#endif
}
else
{
BluenrgMesh_InitProvisionedNode(); /* Initalizes Provisioned node */
TRACE_I(TF_PROVISION,"Provisioned node \r\n");
}
/* Initializes the Application */
Appli_Init();
/* Check to manually unprovision the board */
Appli_CheckForUnprovision();
/* Set attention timer callback */
BluenrgMesh_SetAttentionTimerCallback(Appli_BleAttentionTimerCb);
/* Prints the MAC Address of the board */
TRACE_I(TF_INIT,"BlueNRG-Mesh Lighting Demo v%s\n\r", BLUENRG_MESH_APPLICATION_VERSION);
TRACE_I(TF_INIT,"BlueNRG-Mesh Library v%s\n\r", BluenrgMesh_GetLibraryVersion());
TRACE_I(TF_INIT,"BD_MAC Address = [%02x]:[%02x]:[%02x]:[%02x]:[%02x]:[%02x] \n\r",
bdaddr[5],bdaddr[4],bdaddr[3],bdaddr[2],bdaddr[1],bdaddr[0]);
/* Models intialization */
BluenrgMesh_ModelsInit();
/* Turn on Yellow LED */
#if (LOW_POWER_FEATURE == 1)
SdkEvalLedOn(LED1);
#endif
#ifdef CUSTOM_BOARD_PWM_SELECTION
Light_UpdatePWMValue((MOBLEUINT8)DEFAULT_STATE);
#endif
/* Main infinite loop */
while(1)
{
BluenrgMesh_Process();
BluenrgMesh_ModelsProcess(); /* Models Processing */
Appli_Process();
}
}
#ifdef USE_FULL_ASSERT /* USE_FULL_ASSERT */
/**
* @brief This function is the assert_failed function.
* @param file
* @param line
* @note Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @retval None
*/
void assert_failed(uint8_t* file, uint32_t line)
{
while (1)
{
SetLed(1);
Clock_Wait(100);
SetLed(0);
Clock_Wait(100);
}
}
#endif /* USE_FULL_ASSERT */
/******************* (C) COPYRIGHT 2017 STMicroelectronics *****END OF FILE****/
答案 0 :(得分:0)
抱歉@P__J__,这是链接描述文件(ld文件)的内容:
/*******************************************************************************
* Memory Definitions
*******************************************************************************/
/*
BlueNRG-2 memory map
+-----------------------+ 0x20005FFF
| RAM (24K) |
+-----------------------+ 0x20000000
| |
| |
+-----------------------+ 0x1007FFFF
| |
| FLASH (256K) |
+-----------------------+ 0x10040000
| |
+-----------------------| 0x100007FF
| ROM (2K) |
+-----------------------+ 0x10000000
*/
_MEMORY_RAM_BEGIN_ = 0x20000000;
_MEMORY_RAM_SIZE_ = 0x6000; /* 24KB */
_MEMORY_RAM_END_ = 0x20005FFF;
_MEMORY_FLASH_BEGIN_ = 0x10040000;
_MEMORY_FLASH_SIZE_ = 0x40000; /* 256KB */
_MEMORY_FLASH_END_ = 0x1007FFFF;
_MEMORY_ROM_BEGIN_ = 0x10000000;
_MEMORY_ROM_SIZE_ = 0x800; /* 2KB */
_MEMORY_ROM_END_ = 0x100007FF;
/* Reserved for BTLE stack non volatile memory */
FLASH_NVM_DATASIZE = (4*1024);
/* This configuration is intended for application not supporting OTA firmware upgrade */
/*
BlueNRG-2 standard application memory map
+-----------------------+ 0x20005FFF
| RAM (24K) |
+-----------------------+ 0x20000000
| |
| |
+-----------------------+ 0x10068000
| |
| NVM(4K) |
+-----------------------+ 0x1007F000
| |
| User app (252K) |
+-----------------------+ 0x10040000
| |
+-----------------------| 0x100007FF
| ROM (2K) |
+-----------------------+ 0x10000000
*/
_MEMORY_FLASH_OFFSET_ = DEFINED(MEMORY_FLASH_APP_OFFSET) ? (MEMORY_FLASH_APP_OFFSET) : (0) ;
MEMORY_FLASH_APP_SIZE = ( _MEMORY_FLASH_SIZE_ - FLASH_NVM_DATASIZE - _MEMORY_FLASH_OFFSET_);
RESET_SM_MANAGER_SIZE = 0;
RESET_MANAGER_SIZE = 0;
/*
*****************************
* ST_OTA_HIGHER_APPLICATION *
*****************************
*/
/* This configuration is intended for application supporting OTA firmware upgrade with 2-app scheme (app in the upper part of memory map) */
/*
BlueNRG-2 higher OTA firmware upgrade support higher application memory map
+-----------------------+ 0x20005FFF
| RAM (24K-4) |
+-----------------------+ 0x20000004
| |
| |
+-----------------------+ 0x10080000
| |
| NVM(4K) |
+-----------------------+ 0x1007E800
| |
| Higher app (124K) |
+-----------------------+ 0x1005F800
| |
| Lower app (124K) |
+-----------------------| 0x10040800
| Reset Manager (2K) |
+-----------------------+ 0x10040000
| |
+-----------------------| 0x100007FF
| ROM (2K) |
+-----------------------+ 0x10000000
*/
RESET_MANAGER_SIZE = DEFINED(ST_OTA_HIGHER_APPLICATION) ? 0x800 : RESET_MANAGER_SIZE ;
MEMORY_FLASH_APP_SIZE = DEFINED(ST_OTA_HIGHER_APPLICATION) ? ((_MEMORY_FLASH_SIZE_ - RESET_MANAGER_SIZE - FLASH_NVM_DATASIZE - 2048) / 2) : MEMORY_FLASH_APP_SIZE ;
_MEMORY_FLASH_OFFSET_ = DEFINED(ST_OTA_HIGHER_APPLICATION) ? (RESET_MANAGER_SIZE + MEMORY_FLASH_APP_SIZE) : _MEMORY_FLASH_OFFSET_ ;
/*
*****************************
* ST_OTA_LOWER_APPLICATION *
*****************************
*/
/* This configuration is intended for application supporting OTA firmware upgrade with 2-app scheme (app in the lower part of memory map) */
/*
BlueNRG-2 higher OTA firmware upgrade support lower application memory map
+-----------------------+ 0x20005FFF
| RAM (24K-4) |
+-----------------------+ 0x20000004
| |
| |
+-----------------------+ 0x10080000
| |
| NVM(4K) |
+-----------------------+ 0x1007E800
| |
| Higher app (124K) |
+-----------------------+ 0x10053800
| |
| Lower app (124K) |
+-----------------------| 0x10040800
| Reset Manager (2K) |
+-----------------------+ 0x10040000
| |
+-----------------------| 0x100007FF
| ROM (2K) |
+-----------------------+ 0x10000000
*/
RESET_MANAGER_SIZE = DEFINED(ST_OTA_LOWER_APPLICATION) ? 0x800 : RESET_MANAGER_SIZE ;
MEMORY_FLASH_APP_SIZE = DEFINED(ST_OTA_LOWER_APPLICATION) ? ((_MEMORY_FLASH_SIZE_ - RESET_MANAGER_SIZE - FLASH_NVM_DATASIZE - 2048) / 2) : MEMORY_FLASH_APP_SIZE ;
_MEMORY_FLASH_OFFSET_ = DEFINED(ST_OTA_LOWER_APPLICATION) ? (RESET_MANAGER_SIZE) : _MEMORY_FLASH_OFFSET_ ;
/*
******************************************
* ST_USE_OTA_SERVICE_MANAGER_APPLICATION *
******************************************
*/
/* This configuration is intended for application supporting OTA firmware upgrade with independent OTA firmware upgrade service manager
(app in the upper part of memory map) */
/*
BlueNRG-2 higher OTA firmware upgrade support higher application memory map
+-----------------------+ 0x20005FFF
| RAM (24K-4) |
+-----------------------+ 0x20000004
| |
| |
+-----------------------+ 0x10080000
| |
| NVM(4K) |
+-----------------------+ 0x1007F000
| |
| User app (168K) |
+-----------------------+ 0x10055000
| OTA Service |
| Manager (84K) |
+-----------------------+ 0x10040000
| |
+-----------------------| 0x100007FF
| ROM (2K) |
+-----------------------+ 0x10000000
*/
RESET_SM_MANAGER_SIZE = DEFINED(ST_USE_OTA_SERVICE_MANAGER_APPLICATION) ? 0x15800 : RESET_SM_MANAGER_SIZE ; /* Including OTA firmware upgrade service manager application */
MEMORY_FLASH_APP_SIZE = DEFINED(ST_USE_OTA_SERVICE_MANAGER_APPLICATION) ? (_MEMORY_FLASH_SIZE_ - RESET_SM_MANAGER_SIZE - FLASH_NVM_DATASIZE) : MEMORY_FLASH_APP_SIZE ;
_MEMORY_FLASH_OFFSET_ = DEFINED(ST_USE_OTA_SERVICE_MANAGER_APPLICATION) ? (RESET_SM_MANAGER_SIZE) : _MEMORY_FLASH_OFFSET_ ;
/* Entry Point */
ENTRY(RESET_HANDLER)
/* Generate a link error if heap and stack don't fit into RAM */
_Min_Heap_Size = 0x0; /* required amount of heap */
_Min_Stack_Size = 0xC00; /* required amount of stack */
/* Specify the memory areas */
MEMORY
{
REGION_RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 0x6000
REGION_FLASH (rx) : ORIGIN = 0x10040000, LENGTH = 0x40000
REGION_ROM (rx) : ORIGIN = 0x10000000, LENGTH = 0x800
}
/* Define output sections */
SECTIONS
{
/* The startup code goes first into FLASH */
.bootloader (ORIGIN(REGION_FLASH)) :
{
. = ALIGN(4);
/* . = _MEMORY_FLASH_OFFSET_ ; */
KEEP(*(.bootloader)) /* Startup code */
. = ALIGN(4);
} >REGION_FLASH
/* The startup code goes first into FLASH */
.intvec (ORIGIN(REGION_FLASH)+_MEMORY_FLASH_OFFSET_) :
{
. = ALIGN(4);
/* . = _MEMORY_FLASH_OFFSET_ ; */
KEEP(*(.intvec)) /* Startup code */
. = ALIGN(4);
} >REGION_FLASH
/* The program code and other data goes into FLASH */
.text :
{
. = ALIGN(4);
*(.text) /* .text sections (code) */
*(.text*) /* .text* sections (code) */
*(.rodata) /* .rodata sections (constants, strings, etc.) */
*(.rodata*) /* .rodata* sections (constants, strings, etc.) */
*(.glue_7) /* glue arm to thumb code */
*(.glue_7t) /* glue thumb to arm code */
. = ALIGN(4);
_etext = .;
} >REGION_FLASH
/* used by the startup to initialize data */
_sidata = LOADADDR(.data);
/* used by the startup to initialize data */
_sidata2 = LOADADDR(.ram_preamble);
/* RAM preamble */
.ram_preamble /*(NOLOAD)*/ :
{
. = ALIGN(4);
_sdata2 = .; /* create a global symbol at data start */
/* This is used by the startup in order to initialize the .bss section */
. = 0x04 ; /* There is a waste of RAM here */
KEEP(*(.ota_sw_activation))
. = 0x08 ; /* There is a waste of RAM here */
KEEP(*(.savedMSP))
. = 0x0C ; /* There is a waste of RAM here */
KEEP(*(.wakeupFromSleepFlag))
. = 0x10 ; /* There is a waste of RAM here */
KEEP(*(.app_base))
. = 0x30 ; /* There is a waste of RAM here */
KEEP(*(.__blueflag_RAM))
_edata2 = .; /* create a global symbol at data start */
. = 0x34 ; /* There is a waste of RAM here */
KEEP(*(.__crash_RAM))
. = 0xc0 ; /* There is a waste of RAM here */
} >REGION_RAM AT> REGION_FLASH
/* Uninitialized data section */
. = ALIGN(4);
.bss :
{
_sbss = .; /* define a global symbol at bss start */
KEEP(*(.bss.__blue_RAM))
*(.bss)
*(.bss*)
*(COMMON)
. = ALIGN(4);
_ebss = .; /* define a global symbol at bss end */
} >REGION_RAM
/* Initialized data sections goes into RAM, load LMA copy after code */
.data :
{
. = ALIGN(4);
_sdata = .; /* create a global symbol at data start */
*(.data) /* .data sections */
*(.data*) /* .data* sections */
. = ALIGN(4);
_edata = .; /* define a global symbol at data end */
} >REGION_RAM AT> REGION_FLASH
/**
* The last 2KB sector of FLASH is reserved for firmware to use. The BLE Host
* stores its security database in this area. The linker needs to make sure this
* 2KB sector is left empty.
*/
BLOCK_STACKLIB_FLASH_DATA (_MEMORY_FLASH_END_ - FLASH_NVM_DATASIZE + 1) (NOLOAD) :
{
. = ALIGN(2048);
KEEP(*(.noinit.stacklib_flash_data))
KEEP(*(.noinit.stacklib_stored_device_id_data))
} >REGION_FLASH
/* This is to emulate place at end of IAR linker */
CSTACK (ORIGIN(REGION_RAM) + LENGTH(REGION_RAM) - _Min_Stack_Size) (NOLOAD) :
{
. = ALIGN(4);
_estack = . + _Min_Stack_Size; /* define a global symbol at bss end */
. = ALIGN(4);
} > REGION_RAM
.rom_info (NOLOAD) :
{
. = ALIGN(4);
KEEP(*(.rom_info))
. = ALIGN(4);
} >REGION_ROM
/* Remove information from the standard libraries */
/DISCARD/ :
{
libc.a ( * )
libm.a ( * )
libgcc.a ( * )
}
.ARM.attributes 0 : { *(.ARM.attributes) }
}
答案 1 :(得分:0)
c:/ stm32 9.3.0 / armtools / bin /../ lib / gcc / arm-atollic-eabi / 6.3.1 / .. / ....的程序文件(x86)/ atollic / truestudio。 /../arm-atollic-eabi/bin/ld.exe:警告:找不到条目符号RESET_HANDLER;默认为10040000
检查此警告。链接器找不到RESET_HANDLER符号。看来您错过了项目中的文件system_bluenrg1.c。