报错如上。
问题其实很简单,就是程序模型类型不同。
查询CHATGTP告知下面回答:
- Code Model(代码模型):
- Small: 适用于较小的程序,代码和数据共享同一段内存。
- Large: 适用于较大的程序,代码和数据分别存储在不同的内存段中。
Code Model的选择会影响程序的内存布局,尤其是代码和数据之间的关系。如果你的程序比较庞大,需要更好地组织代码和数据,可以选择Large模型。
- Data Model(数据模型):
- Small: 数据类型默认为int,适用于较小的数据集合。
- Medium: 支持更多的数据类型和数组长度。
- Large: 支持更大的数据类型和数组长度。
Data Model的选择会影响程序中各种数据类型的大小和范围,特别是对于较大的数组或结构体。根据程序中数据的规模和复杂程度,选择合适的数据模型可以有效地管理内存空间,并避免溢出或内存浪费。
通过合理设置Code Model和Data Model选项,可以优化程序的内存利用率,提高代码的执行效率。
下面是IAR切换 MODEL选项截图。