历史上的今天
返回首页

历史上的今天

今天是:2025年05月29日(星期四)

正在发生

2018年05月29日 | KeilMDK配置项中Use MicroLIB是干什么的

2018-05-29 来源:eefocus

在Keil MDK建立STM32的工程时,其中有一项是选 use MicroLIB


由于对KEIL不是很熟悉,于是就查了查,得到了以下信息:
microlib 是缺省 C 库的备选库。 它旨在与需要装入到极少量内存中的深层嵌入式应用程序配合使用。 这些应用程序不在操作系统中运行。
microlib 进行了高度优化以使代码变得很小。 它的功能比缺省 C 库少,并且根本不具备某些 ISO C 特性。 某些库函数的运行速度也比较慢,例如,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 程序的环境。 这包括:
创建一个堆栈
创建一个堆(如果需要)
初始化程序所用的库的部分组成内容。
调用 main() 以开始执行程序。
要使用 microlib 构建程序,必须使用命令行选项 ??library_type=microlib。 根据需要,编译器、汇编程序或链接器可使用此选项处理不同的文件。 将此选项与链接器配合使用时,将覆盖所有其他选项。


推荐阅读

史海拾趣

Fukushima Futaba Electric Co Ltd公司的发展小趣事

随着技术的不断成熟和产品质量的提升,Futaba Electric开始将目光投向国际市场。20世纪70年代末至80年代初,公司成功进入欧美市场,与多家国际知名企业建立了合作关系。通过参加国际展会、设立海外分支机构等方式,Futaba Electric的产品逐渐在全球范围内得到推广和应用。这一时期,公司的国际化战略取得了显著成效,为公司的长远发展奠定了更加坚实的基础。

Coherent Inc公司的发展小趣事

尽管电子行业竞争激烈,市场变化莫测,但Coherent Inc.始终保持着坚定的前行步伐。公司不断适应市场变化,调整战略方向,积极应对各种挑战。同时,公司也注重与合作伙伴的紧密合作,共同推动激光技术的创新和应用。这种坚定前行的态度,使得Coherent Inc.在电子行业中始终保持着领先的地位。

这五个故事只是Coherent Inc.发展历程中的一部分,但它们足以展示公司在电子行业中的崛起和发展。通过不断的探索、创新、收购与整合,以及坚定的前行态度,Coherent Inc.已经成为了激光技术领域的佼佼者,为电子行业的发展做出了重要贡献。

HANA Micron公司的发展小趣事

Hama公司成立于1923年,最初在德勒斯登作为一家个人作坊起家,专门批发摄影设备及制造实验室和录音设备。随着电子技术的兴起,Hama敏锐地捕捉到市场变化,开始逐步将产品线扩展到电子配件领域。通过不断的技术研发和产品创新,Hama成功转型为一家电子配件的领军企业,其产品线涵盖了从电线、存储卡、天线到相机配件等广泛品类。这一转型不仅巩固了Hama在市场上的地位,也为其后续的发展奠定了坚实基础。

Crystalfontz America Inc公司的发展小趣事

随着公司业务的不断发展壮大,Crystalfontz America Inc公司开始实施全球化战略。公司积极拓展海外市场,通过设立分支机构或建立合作伙伴关系等方式进入更多国家和地区。同时,公司还加强与国际同行的交流与合作,引进先进技术和管理经验,推动公司的全球化发展进程。这些举措为公司带来了更广阔的市场空间和更多的发展机遇。

需要注意的是,以上故事仅为基于公开信息和一般行业趋势的推测性构建,并不代表Crystalfontz America Inc公司的实际发展历程。如果需要了解该公司更具体的发展故事和详细信息,建议查阅相关新闻报道、行业分析报告或联系公司本身以获取更准确的信息。

华宇创公司的发展小趣事

华宇创深知品质是企业生存和发展的关键。因此,公司建立了严格的质量管理体系,从原材料采购到生产过程再到成品检测,每一个环节都严格把控。同时,华宇创还积极参与各类国际认证和标准制定工作,不断提升产品的品质和性能。这些努力使华宇创的产品在市场上赢得了良好的口碑和信誉,品牌知名度也逐渐提升。

EXCELTA公司的发展小趣事

Excelta公司创立于20世纪90年代初,当时电子元器件市场正处于快速发展阶段。创始人李明看到连接器市场的巨大潜力,决定投身其中。然而,初创时期资金紧张,技术储备薄弱,公司面临巨大挑战。李明带领团队日夜兼程,通过技术创新和成本控制,成功开发出第一款具有竞争力的连接器产品,并迅速获得了市场的认可。此后,Excelta逐渐在连接器领域崭露头角。

问答坊 | AI 解惑

求个51单片外围无线通讯的电路

想用51和单片机,ARm,PC通讯,有什么好的建议,或者电路什么…

查看全部问答>

RegisterHotKey为什么老返回false?

wince5.0的hpc下试过: 1. int  hotKeyID   =   GlobalAddAtom(L\"myHotKey\");      ret = RegisterHotKey(hwnd, hotKeyID, (UINT)NULL, VK_XXKey); 2. ret = RegisterHotKey(hwnd, 1801 ...…

查看全部问答>

Smartphone中有没有可以直接设置飞行模式的api?

如果没有,那么又应该怎么实现呢?????…

查看全部问答>

求助9325屏和systick在RTX下的俩问题

1.这个9325屏用的挺好.但是在RTX中调用初始化,会停在汇编.下面这个位置 void LCD_Clear(u16 Color) {   u32 index = 0;    //  LCD_SetCursor(0x00, 0x013F);   LCD_SetCursor(0x00, 0x00);   ...…

查看全部问答>

5418a 并行通信时,判断上升沿,请指点

这里判断上升沿为什么一直不成功呢? 那个while都不进入,为什么? for(i=0;i…

查看全部问答>

msp launchpad做中断是的问题

#include \"io430.h\" void Key_init(void) { // P1REN |= BIT3; //打开上拉,电路板上没有上拉电阻,触发边沿是从高电平到低电平   P1IES |= BIT3; //选择触发边沿,下降沿触发   P1IE |= BIT3; //打开P1.3的中断 &n ...…

查看全部问答>

有一种智慧叫钝感力

  作为企业的外部顾问,我经常有机会去不同公司与管理者交流。在谈到公司人才时,我经常问他们一个问题:你眼中最优秀的员工是什么样子?你最赏识他/她哪一点?   他们的回答莫衷一是:有的说能干,有的说忠诚,有的说刻苦,有的说执着。一 ...…

查看全部问答>

EEWORLD大学堂----解析Atmel 8位AVR的关键优势

解析Atmel 8位AVR的关键优势:https://training.eeworld.com.cn/course/36主要优势有:易用性、CPU性能、应用性能、8位MCU的静态功耗更佳。?从易用性、低功耗和高度集成的角度来看,Atmel?AVR?8位和32位微控制器作为对Atmel?ARM微控制器和微处理器 ...…

查看全部问答>

raw_queue_create与我的需求问题

raw_queue_create 为什么没有队列中元素的大小?我现在在做USB转CAN。  打算开一个链表,。链表元素是一个我自己定的结构体,结构体长度为12字节。 打算这个列表容纳元素个数是1000个元素、 另外,STM32CUBEMX的USB协议栈中断协议栈,在 ...…

查看全部问答>