1、问题描述
用IAR for 8051 V9.3编译TI的蓝牙协议栈BLE 1.4.2的uti工程,出现报错:
Fatl Error[e72]:Segment BANKED_CODE must be defined in a segment definition option(-Z,-b or -P)
问题分析:
当我编译原工程时,是没有报错的。我将Device从CC2540F256该为CC2541F256后才出现此种报错。然后猜测可能是工程哪里的设置有问题,通过对比发现原工程的设置如下:
而,当我把Device改为CC2541F256时,Code model变为了Banked,因此编译时报错了。
问题的解决方法:
修改General Options中的设置,将Code model改为Near,即上图即可。