KEIL Target 详细注解

时间:2022-12-08 16:58:15


keil_4_目标工具选项详解  关于options 选项设置

源自网络——keil_4_目标工具选项详解.pdf

硬件目标设置选项卡(Target)



在图

KEIL 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烧录设置的地址有关。明白其中地址是统一的即可。