实现微处理器对外设硬件控制的方法技术

技术编号:20448295 阅读:24 留言:0更新日期:2019-02-27 02:43
本发明专利技术涉及到了实现微处理器对外设硬件控制的方法。利用第一类编程语言编写微处理器的启动代码和硬件初始化代码,提供基于第一类编程语言编写的控制外设硬件的接口代码模块和相应的启动代码入口模块,将基于第一类编程语言编写的代码编译为第一静态链接库,利用第二类编程语言编写调用接口代码模块的应用层代码,编译基于第二类编程语言编写的应用层代码,指定第一静态链接库为链接库,指定启动代码入口模块为应用层代码的启动代码入口函数,将应用层代码编译的二进制文件烧录到微处理器。结合第一类编程语言擅长控制硬件的能力和第二类编程语言可实现复杂逻辑的特征,提升整个系统的开发效率和降低出错率。

The Method of Microprocessor Controlling the Hardware of Peripheral Devices

The invention relates to a method for realizing microprocessor control over peripheral hardware. The startup code and hardware initialization code of microprocessor are compiled by the first programming language. The interface code module and corresponding startup code entry module of peripheral hardware are provided by the first programming language. The code compiled by the first programming language is compiled into the first static link library, and the corresponding interface code module is compiled by the second programming language. Using layer code, compile the application layer code based on the second programming language, specify the first static link library as the link library, specify the startup code entry module as the startup code entry function of the application layer code, and burn the binary files compiled by the application layer code to the microprocessor. Combining the ability of the first programming language to control hardware and the characteristics of the second programming language to realize complex logic, the development efficiency of the whole system is improved and the error rate is reduced.

【技术实现步骤摘要】
实现微处理器对外设硬件控制的方法
本专利技术主要涉及到微处理器系统领域,确切的说是涉及到基于混合语言开发而提供微处理器对所配置的周边外设硬件的控制实现方法。
技术介绍
微处理器面对不同的开发软件和运行环境,尤其是在当前的语言级别上无法真正利用微处理器特别是多核运算带来的性能提升,在嵌入到微处理器的开发语言和运行环境方面需要着重考虑安全和并发的特性。嵌入式微处理器的体系结构可以采用冯诺依曼体系或哈佛体系结构,指令系统可以选用精简指令系统和复杂指令系统。例如精简指令系统计算机在通道中只包含最有用的指令,确保数据通道快速执行每一条指令,从而提高了执行效率并使中央处理器硬件结构设计变得更为简单。微处理器种类至少包含微控制器和数字信号处理器以及嵌入式微处理器等等,消费电子、智能家电、网络设备和医疗仪器、航天设备及工业控制等广泛使用了微处理器作为控制核心,微处理器在整个完整的系统中往往和作为外设的其他硬件模块配合使用,起到核心的控制作用。在电子行业,嵌入式系统是执行专用功能并被内部计算机控制的设备或者系统,交叉融入了现代科学的多学科,以计算机技术为基础,以通信技术为载体,以消费类产品为对象和以应用技术产品为核心,部分引入了传感器技术,甚至在物联网的大潮下还趋于关联到互联网技术的应用。嵌入式系统的特点是:软件以固化态的形式出现,也称固件,顾名思义所谓固件就是一旦设计完成就很难更改。硬件的设计具有很强的针对性,正式可靠性高和成本低,且体积小且功耗少,使得嵌入式系统具有良好的应用前景。实质上嵌入式系统不仅和常规的台式机或笔记本等计算机上的应用系统不同,单就不同的具体应用而开发的不同嵌入式系统之间差别也很大。其功能单一,简单且在兼容性方面要求不高,但在体积和成本方面较为敏感。目的主要是用高度智能化的系统来提高宿主设备的功能。嵌入式系统位数可多可少,完全由能满足宿主设备的功能要求来决定。目前嵌入式系统的应用已经十分广泛:移动终端、智能卡、汽车、电梯、厨房卫浴设备、电视、录像机等,以及工业机器人、医药设备、卫星和飞行系统等都有嵌入式的应用。嵌入式系统在硬件构架上以微处理器为中心,配置存储器和输入输出设备、通信模块等必要的外设;软件部分以软件开发平台为核心,向上提供应用编程接口,向下屏蔽具体硬件特性的板级的支持包。由软件和硬件紧密配合从而相互协调工作,共同完成系统预定的功能。微处理器对硬件模块的控制很大程度上依赖于现今的软件系统开发,开发语言的简练容易执行和安全、精确的内存管理是关注的前沿和中心。在当前的技术限制下,安全的和确定的内存回收是困难的问题之一,虽然并不是唯一的问题,但是甚至在一个程序中最重要的问题。低级的开发语言容易兼容微处理器,灵活性强,具备极高的性能,因为往往低级的语言对于处理器本身而言最直接和容易执行,传统的嵌入式软件开发中通常使用汇编语言和C语言进行开发,这两种编程语言灵活强大,具备极高的性能,对开发者的技术素养要求较高,但是开发效率较低。正是因为汇编语言的复杂晦涩,目前C语言在嵌入式开发中占据了主流地位,使用C相比汇编语言是一大进步,但是C语言依旧有它的较大不足之处,在开发中极易发生难以克服的问题,例如它的类型检查不够严格,对于数组越界等情况没有内建的检查支持,极易导致系统在运行中发生崩溃等异常现象,微处理器的广大应用领域尤其是精尖细行业是无法容忍这一点。在微处理器对所配置的周边外设硬件的控制的实现过程中,这些崩溃等异常现象体现在但不限制于:微处理器崩溃、程序异常关闭、读取错误和写入错误或发生其他问题。现有技术的另一大缺陷是在使用多种语言时会存在语言之间的兼容特性差,因为不同风格和编程规则的代码集成在一起,对执行代码的处理器而言,在保证低的出错率的前提下是非常难以在不同规范之间的语言环境下顺畅切换,因为处理器并非是单方面自行运作的还须考虑到周边的硬件配合,这是本申请后文内容要解决的。
技术实现思路
在本专利技术的一个较佳的可选的实施方式中,披露了一种实现微处理器对外设硬件控制的方法,其中,该方法包括:利用第一类编程语言编写由微处理器执行的启动代码和初始化代码;提供基于第一类编程语言编写的访问外设硬件的接口代码模块和启动代码入口模块;将基于第一类编程语言编写的代码编译成第一静态链接库;利用第二类编程语言编写调用所述接口代码模块的应用层代码;编译基于第二类编程语言编写的应用层代码,指定所述第一静态链接库为链接库,指定所述启动代码入口模块为应用层代码的启动代码入口函数;将应用层代码编译生成的二进制文件烧录到微处理器。上述的方法,其中:第一类编程语言为C语言或汇编语言,第二类编程语言为RUST语言。上述的方法,其中:所述的接口代码模块至少包括能被所述微处理器执行的且被所述外设硬件所响应的指令,藉此实现所述微处理器对所述外设硬件的控制。上述的方法,其中:应用层代码经由调用所述接口代码模块,从而在应用层代码中实现所述微处理器操作所述外设硬件预设的硬件功能。上述的方法,其中:在编译应用层代码阶段,还将应用层代码所需要调用的所述接口代码模块合并到由应用层代码所编译的二进制文件中。上述的方法,其中:包括所述微处理器及外设硬件的系统的启动和初始化过程利用第一类编程语言编写的代码来执行;在系统完成初始化后,从基于第一类编程语言的运行环境中切换到基于第二类编程语言的运行环境中,以执行所述的应用层代码。上述的方法,其中:第一静态链接库具有基于第一类编程语言编写的系统引导部分所编译的部分;第二类编程语言编写的程序的入口地址定义为所述系统引导部分;以及将第一静态链接库链接到第二类编程语言编译生成的二进制文件中,生成可执行文件藉此该可执行文件由第一和第二类编程语言混合生成。在本专利技术的一个较佳的可选的实施方式中,还披露了一种带有微处理器和外设硬件的系统的运行方法,其中,该方法主要包括:提供基于第一类编程语言编写的访问外设硬件的接口代码模块和启动代码入口模块;将基于第一类编程语言编写的代码编译成第一静态链接库;利用第二类编程语言编写调用所述接口代码模块的应用层代码;编译基于第二类编程语言编写的应用层代码,指定所述第一静态链接库为链接库,指定所述启动代码入口模块为应用层代码的启动代码入口函数;执行系统的启动和初始化过程并且是利用所述第一类编程语言编写的代码来执行;在完成系统的初始化后,系统从第一类编程语言的运行环境切换到第二类编程语言的运行环境中,以执行所述应用层代码。上述的方法,其中:第一静态链接库具有基于第一类编程语言编写的系统引导部分所编译的部分;第二类编程语言编写的程序的入口地址设为外部地址,且该外部地址设为所述系统引导部分;以及将第一静态链接库链接到第二类编程语言编译生成的二进制文件中,生成可执行文件藉此该可执行文件由第一和第二类编程语言混合生成。上述的方法,其中:所述的接口代码模块至少包括能被所述微处理器执行的且被所述外设硬件所响应的指令,以及在应用层代码调用所述接口代码模块时,由第一类编程语言的接口代码模块来屏蔽第二类编程语言对外设硬件的直接访问。附图说明阅读以下详细说明并参照以下附图之后,本专利技术的特征和优势将显而易见:图1是本申请披露的实现微处理器对外设硬件控制的方法的流程示意图。具体实施方式下面将结合各实施例,对本专利技术的技本文档来自技高网
...

【技术保护点】
1.一种实现微处理器对外设硬件控制的方法,其特征在于,包括:利用第一类编程语言编写由微处理器执行的启动代码和初始化代码;提供基于第一类编程语言编写的访问外设硬件的接口代码模块和启动代码入口模块;将基于第一类编程语言编写的代码编译成第一静态链接库;利用第二类编程语言编写调用所述接口代码模块的应用层代码;编译基于第二类编程语言编写的应用层代码,指定所述第一静态链接库为链接库,指定所述启动代码入口模块为应用层代码的启动代码入口函数;将应用层代码编译生成的二进制文件烧录到微处理器。

【技术特征摘要】
1.一种实现微处理器对外设硬件控制的方法,其特征在于,包括:利用第一类编程语言编写由微处理器执行的启动代码和初始化代码;提供基于第一类编程语言编写的访问外设硬件的接口代码模块和启动代码入口模块;将基于第一类编程语言编写的代码编译成第一静态链接库;利用第二类编程语言编写调用所述接口代码模块的应用层代码;编译基于第二类编程语言编写的应用层代码,指定所述第一静态链接库为链接库,指定所述启动代码入口模块为应用层代码的启动代码入口函数;将应用层代码编译生成的二进制文件烧录到微处理器。2.根据权利要求1所述的方法,其特征在于:第一类编程语言为C语言或汇编语言,第二类编程语言为RUST语言。3.根据权利要求1所述的方法,其特征在于:所述的接口代码模块至少包括能被所述微处理器执行的且被所述外设硬件所响应的指令,藉此实现所述微处理器对所述外设硬件的控制。4.根据权利要求1所述的方法,其特征在于:应用层代码经由调用所述接口代码模块,从而在应用层代码中实现所述微处理器操作所述外设硬件预设的硬件功能。5.根据权利要求1所述的方法,其特征在于:在编译应用层代码阶段,还将应用层代码所需要调用的所述接口代码模块合并到由应用层代码所编译的二进制文件中。6.根据权利要求1所述的方法,其特征在于:包括所述微处理器及外设硬件的系统的启动和初始化过程利用第一类编程语言编写的代码来执行;在系统完成初始化后,从基于第一类编程语言的运行环境中切换到基于第二类编程语言的运行环境中,以执行所述的应用层代码。7.根据权利要求1所述的方法,其特征在于:第一静态链接库...

【专利技术属性】
技术研发人员:张永黄齐
申请(专利权)人:丰郅上海新能源科技有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1