Truestudio atollic(基于 Eclipse 的 IDE)创建空的二进制文件,尽管不是空的 elf 文件和大量代码

Posted

技术标签:

【中文标题】Truestudio atollic(基于 Eclipse 的 IDE)创建空的二进制文件,尽管不是空的 elf 文件和大量代码【英文标题】:Truestudio atollic (an IDE based on eclipse) creates empty binary file despite of not empty elf file and a lot of code 【发布时间】:2019-11-10 09:36:54 【问题描述】:

我正在尝试创建一个用于刷写蓝牙板的二进制文件。不幸的是,编译时出错,因为某些原因我的二进制文件是空的。我有很多代码,它们是正确链接的。

关于我为什么会收到此错误的任何建议?

这是编译器的输出。如您所见,没有错误,只是一些警告,应该没有危险:

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****/

【问题讨论】:

显示链接器文件和主代码] 在哪里?我没看到\ @P__J__ 主要代码现在在问题中 未初始化的变量警告值得您关注。谁能说出那个表达式的价值? 【参考方案1】:

对不起@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) 

【讨论】:

请不要在答案中添加其他信息。这不是一个答案,所以它不应该在这里。请通过editingit 将此信息添加到您的原始问题中。 @TarickWelling 没有足够的空间 嗯,你的问题里面有很多绒毛。如何删除版权声明并创建minimal reproducible example【参考方案2】:

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:警告:找不到条目符号 RESET_HANDLER;默认为 10040000

检查此警告。链接器找不到 RESET_HANDLER 符号。您似乎错过了项目中的文件 system_bluenrg1.c。

【讨论】:

以上是关于Truestudio atollic(基于 Eclipse 的 IDE)创建空的二进制文件,尽管不是空的 elf 文件和大量代码的主要内容,如果未能解决你的问题,请参考以下文章

关于atollic truestudio for stm32

在 Atollic TrueStudio、STM32CubeMX 中导入 C 库

Atollic TrueSTUDIO:如何从 C 转换为 C++?

STM32免费编译器--- TrueSTUDIO 9.0

将atollic项目导出为基于makefile的项目

如何从 TrueStudio 调试和烧写 Nucleo32 板?