Nordic 52832工程报错undefined reference to `__start_pwr_mgmt_data'解决办法

这个问题出现在移植官方的电源管理的例程的时候,最后出现两个报错:

一个是undefined reference to `__start_pwr_mgmt_data',

另一个是 undefined reference to `__stop_pwr_mgmt_data'

在第二条报错中还会提示.rodata+0x04之类的东西;这两个报错在代码工程中没有具体的指向,全局搜索也搜不到这两个关键词。

解决办法:将电源管理的官方例程工程 (我的路径:SDK_15_2/nRF5_SDK_15.2.0_9412b96/examples/peripheral/pwr_mgmt/pca10040/blank/ )中的sesflash_placement.xml,复制到我们自己的工程中的相同路径,或者用记事本打开官方例程的.xml文件,将第八行

<ProgramSection alignment="4" keep="Yes" load="Yes" name=".pwr_mgmt_data" inputsections="*(SORT(.pwr_mgmt_data*))" address_symbol="__start_pwr_mgmt_data" end_symbol="__stop_pwr_mgmt_data" />

复制到自己工程中的 sesflash_placement.xml中的对应行数即可。

看到这里就清晰了,就是代码地址分布的问题,在放置每个功能的时候,程序需要我们指定相应功能的代码位置。这个也是很神奇了

猜你喜欢

转载自blog.csdn.net/Behold1942/article/details/88883843