CodeWarrior编译器中编译目标的设置

在CodeWarrior编译器中,生成的map文件中TARGET SECTION(编译目标)中有一项时Memory Model选项,这个的改变影响生成的s19文件,最明显的地方在于生成的s19文件中位于0xFFFE开头的地址中的数据会被改变。

对于地址模型的介绍,摘抄自https://blog.youkuaiyun.com/lin_strong/article/details/78127072

编译器和链接器的默认行为

当使用项目向导创建一个新的CodeWarrior项目时,用户被要求选择一个地址模型,选项有:Small、banked和large地址模型。选择的地址模型将决定CodeWarrior的链接器会默认地会把你的代码以及变量放在哪里,以及决定CodeWarrior的编译器会怎么产生访问你的对象的指令。

这里描述了每个地址模型:

  • Small memory model:你的代码和变量都会默认放在non-banked位置。
  • Banked memory model:你的代码默认会放在banked地址中,但是你的变量会默认放在non-banked地址中。
  • Large memory model:你的代码和变量都会默认放在banked地址中。 
    .

选择地址模型将会影响你的项目中的三个元素:

  1. 编译器选项
  2. ANSI库
  3. 链接器参数文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值