下载SDK之后,搭建自己的工程。
比较了好久,最终决定还是采用Keil进行开发。(吐槽一下,NXP提供的SDK库不太好的地方:不同SDK版本,采用的工具链(Keil或者IAR)的版本居然不一样)。
IAR的问题:我使用的IAR版本是9.30,SDK版本SDK_2_12_0_MIMXRT1061xxxxB还能打开;等下了最新的SDK版本SDK_2_14_1_MIMXRT1061xxxxB后,居然就打不开了,提示工程的版本更高。换版本安装太麻烦,果断放弃了。
Keil的问题:
SDK_2_6_2_MIMXRT1061xxxxA版本和之后的版本之间有个我没搞懂的差异。
SDK_2_6_2_MIMXRT1061xxxxA版本,hello_world工程编译完ZI-data=2112
SDK_2_6_2_MIMXRT1061xxxxA之后版本,比如SDK_2_14_1_MIMXRT1061xxxxB,hello_world工程编译完ZI-data=788508。整整788K。
从.map文件中也可以看到差别:
◆ Object Totals :显示链接到一起以生成映像的对象占用了多少字节。
◆ (incl. Generated):链接器会生成的映像内容,例如,交互操作中间代码。 如果 Object Totals 行 包含此类型的数据,则会显示在该行中。
◆ (incl. Padding) :链接器根据需要插入填充,以强制字节对齐。
最终也没找到造成差异的原因,也不知道新的SDK这样设置有什么用。但是从生成文件来看,ZI-data相差极大。按理说最新SDK编译完会多占用大量RAM资源。
哪位大神知道的话,可以指点一下。