当前位置:首页 > 芯闻号 > 充电吧
[导读]1、DLIB,我猜应该是Dynamic Library。DLIB runtime environment就是运行时环境。2、什么是运行时环境。IAR给出的官方回答是:The runtime envir

1、DLIB,我猜应该是Dynamic Library。DLIB runtime environment就是运行时环境。


2、什么是运行时环境。IAR给出的官方回答是:

The runtime environment is the environment in which your applic ation executes. The 
runtime environment depends on the target ha rdware, the software environment, and the 
application code.

 

简单说,运行时环境为用户的应用程序(main函数)提供以下基础功能:

1)首先是实现C/C++标准库,比如常见的格式化输入/输出;

2)应用程序运行前的初始化,应用程序退出后的退出处理,比如全局静态变量的初始化、C++全局对象的创建、销毁等。


3、IAR同时提供库形式和源代码形式的C/C++标准库函数的实现,分别位于安装目录armlib以及armsrclib下。


4、C/C++标准库函数的实现依赖于具体的目标系统,比如标准输入/输出需要具体硬件的输入设备操作函数和输出设备操作函数。C/C++标准库函数使用基础(低级)函数集来和目标系统交换,将这些基础(低级)函数集合成为“库基础接口”。为实现真正的C/C++标准库,应用程序的开发者必须重新实现(定义)这些基础(低级)函数。可重写的基础(低级)函数位于IAR安装目录armsrclib下。


5、应用程序开发者重新实现基础(低级)函数的方法步骤:

1)将需要修改的、IAR提供的基础函数模板复制到一个新建的源文件;

2)按实际要求修改相应函数,一般不需要改动接口定义;

3)将新建的源文件加入工程中。

按照以上方法步骤及可实现基础(低级)函数的重新实现。因为用户重写了部分基础(低级函数),在工程编译链接时优先链接到用户定义实现的基础(低级)函数。


6、对于系统程序开发者而言,常常需要按照实际要求改变启动引导文件,如cstartup。在IAR中,可以将armsrclib目录下的cstartup.s文件复制到用户工程中,并加入工程,系统开发者可以根据需要修改此文件实现启动引导程序重写。


总结:作为系统开发者,最关心的是启动代码在哪里?如何修改并链接到实际的执行镜像中。在IAR IDE中,启动代码以DLIB库函数形式提供,系统开发者可以通过在工程中加入cstartup.s 文件并重新改写启动代码即可定制自己需要的启动方式。此外,系统开发者还可以重新定义格式化输入输出的基础(低级)函数,来实现输入输出重定向到LCD或者UART中。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

其实在 c++语言里面const修饰的才算是一个真正的常量,在 c 语言中 const 可以说是个“冒牌货”。为什么会这样?其实是 c++ 编译器对 const 进行了加强,当 c++ 编译器遇到常量声明时,不会像 c...

关键字: c++ C语言 const

返回函数的引用去初始化一个新的引用这个和前面一样,都是不会产生副本,但是现在是用返回值去初始化一个引用声明c,也就是说这时候变成了变量temp的别名,在c的生命周期内temp是一直有效的,这样做完全可以。

关键字: c++ 返回值 引用声明

C++是一种面向对象的高级程序设计语言,是C语言的超集。

关键字: c++ C语言

这篇文章想分享笔者在嵌入式开发过程中常用的库函数,他们的使用方法,使用场景,使用好处以及头文件位置。1#include一般我在写C代码的时候都会包含此头文件,因为一旦包含此文件后,你就可以畅快的使用bool数据类型,而不...

关键字: 库函数

关注、星标公众号,直达精彩内容来源:知乎作者:Clarence这篇文章想分享笔者在嵌入式开发过程中常用的库函数,他们的使用方法,使用场景,使用好处以及头文件位置。1#include一般我在写C代码的时候都会包含此头文件,...

关键字: 库函数

基本概念阐述memcpy和memmove都是C语言的库函数,相比于 strcpy和 strncpy只能针对于字符类型的数组(),这两个函数可以拷贝其他类型的数组,对于 memcpy和 memmove的区别是什么呢?这里,...

关键字: 库函数 ov

在嵌入式Linux的C语言开发中,C语言的基本编程依然是最重要的内容。

关键字: 嵌入式 C语言 库函数

单片机编程软件的使用频率极高,采用单片机编程软件,可制造诸多系统。对于单片机编程软件,小编做过诸多介绍。本文对于单片机编程软件的介绍基于Keil,主要在于介绍该单片机编程软件是如何处理库函数以及寄存器的关系的。

关键字: 单片机编程软件 库函数 指数

分析:这是Adobe 公司2007 年校园招聘的最新笔试题。这道题除了考察应聘者的C++ 基本功底外,还能考察反应能力,是一道很好的题目。 在Java 中定义了关键字final ,被final 修饰的

关键字: c++ class

泛型算法中的定制操作很多算法都会比较输入序列中的元素,通过定制比较动作,可以控制算法按照编程者的意图工作。本文以string排序为例进行说明,首先是缺省的排序动作: vector v{"This","

关键字: c++
关闭
关闭