keil_4_目标工具选项详解 关于options 选项设置
源自网络——keil_4_目标工具选项详解.pdf
硬件目标设置选项卡(Target)
在图
中,各区或详细说明如下:
1:指定用晶振频率,可以用于模拟调试,仅反映外部振荡频率。
2:可以选择 KEIL 集成的实时操作系统 RTX Kernel。
针对复杂的嵌入式应用,MDK 内部集成了由 ARM 开发的实时操作系统(RTOS)内核 RTX,它可以帮助用户解决多时序安排、任务调度、定时等工作。值得
一提的是,RTX 可以无缝集成到 MDK 工具中,是一款需要授权的、无版税的RTOS。RTX 程序采用标准 C 语言编写,由 RVCT 编译器进行编译。
4:片外 ROM 设置,最多支持 3 块 ROM(Flash),在 Start 栏输入起始地址,在Size 栏输入大小。若是有多片片外 ROM,需要在 7 区域设置一个作为启动存
储块,程序从该块启动;有几块 ROM 需要选中对应的 3 区域。
6:片内 IROM 设置。设置方法同片外 ROM,只是程序的存储区在芯片内集成。
9:使用 Cross-Module 优化。
10:使用 MicroLib 库。它旨在与需要装入到极少量内存中的深层嵌入式应用程序配合使用. 这些应用程序不在操作系统中运行. MicroLib 进行了高度优
化以使代码变得很小. 它的功能比缺省 C 库少,并且根本不具备某些 ISOC 特性. 某些库函数的运行速度也比较慢,例如,memcpy(). 与缺省 C 库之
间的差异 MicroLib 与缺省 C 库之间的主要差异是: MicroLib 不符合 ISO C库标准. 不支持某些 ISO 特性, 并且其他特性具有的功能也较少.
MicroLib 不符合 IEEE 754 二进制浮点算法标准. MicroLib 进行了高度优化以使代码变得很小. 无法对区域设置进行配置. 缺省 C 区域设置是唯一
可用的区域设置. 不能将 main() 声明为使用参数,并且不能返回内容. 不支持 stdio,但未缓冲的 stdin,stdout 和 stderr 除外. MicroLib 对 C99
函数提供有限的支持. MicroLib 不支持操作系统函数. MicroLib 不支持与位置无关的代码. MicroLib 不提供互斥锁来防止非线程安全的代码.
MicroLib 不支持宽字符或多字节字符串. 与 stdlib 不同, MicroLib 不支持可选择的单或双区内存模型. MicroLib 只提供双区内存模 型,即单独的
堆栈和堆区. 可以合理地将 MicroLib 与 --fpmode=std 或 --fpmode=fast配合使用. MicroLib 中的函数负责: 创建一个可在其中执行 C 程序的环境.
这包括: 创建一个堆栈创建一个堆(如果需要) 初始化程序所用的库的部分组成内容.
11:指令集中也分为高字节结尾,大端模式。编译器默认都是小端模式,所以该项变成了灰色。三星的 S3C2440 既支持大端也支持小端,这样的处理器该项
就可以选择了。
16:利用交叉模块优化创建一个链接反馈文件以实现全局代码优化。
13:片外 RAM 设置。基本同片外 ROM,只是若选中 19、20 区域后,对应的 RAM
不会被默认初始化为 0。
15:片内 RAM 设置。设置方法与片外 RAM 相同,只是数据的存储区域在芯片内集
成。
通过设置 2,4,5,6,7,8 区域和 12,13,14,15,17,18 区域可以产生分散加载描述文件。必需设置 LinkeràUse Memory Layout for Target Dialog选项。
这个选项target 最重要的是IROM 地址和大小的设置,和配合程序代码里地址设置而定,也和后续用jlink烧录设置的地址有关。明白其中地址是统一的即可。