MicroLib小解一下
MicroLib的官方解释
MicroLib 是一个高度优化的库,用于用 C 编写的基于 ARM 的嵌入式应用程序。与 ARM 编译器工具链中包含的标准 C 库相比,MicroLib 提供了许多嵌入式系统所需的显著代码大小优势。
MicroLib 和标准 C 库之间的主要区别在于:
MicroLib 专为深度嵌入式应用而设计。
MicroLib 经过优化,与使用 ARM 标准库相比,使用更少的代码和数据存储器。
MicroLib 被设计为无需操作系统即可工作,但这并不妨碍它与任何操作系统或 RTOS(如 Keil RTX)一起使用。
MicroLib 不包含文件 I/O 或宽字符支持。
由于 MicroLib 已经过优化以最小化代码大小,因此某些函数的执行速度将比 ARM 编译工具中可用的标准 C 库例程慢。
MicroLib 和 ARM 标准库都包含在 Keil MDK-ARM 中。
我们如果要使用,直接在keil中使用即可。
MicroLib在启动文件中的作用。
如果定义__MICROLIB,声明__initial_sp、__heap_base 和__heap_limit
这三个标号具有全局属性,可被外部的文件使用。__initial_sp 表示栈顶地址,__heap_base表示堆起始地址,__heap_limit 表示堆结束地址。
没有定义__MICROLIB,实际的情况就是我们没有定义__MICROLIB,所以使用默认的 C 库运行。堆栈的初始化由 C 库函数__main 来完成。