一种用于集成芯片的可视化编程方法与流程

文档序号:11176843阅读:757来源:国知局
一种用于集成芯片的可视化编程方法与流程

本发明涉及集成芯片编程的开发方法技术领域,特别涉及一种用于集成芯片的可视化编程方法。



背景技术:

由于汽车电子控制系统由多个ecu组成,各ecu之间功能独立开发过程独立,而彼此之间又存在联合工作和相互制约。然而目前嵌入式软件开发主要是手写代码,工作量大、出错率高、规范性和可读性差,从而导致开发成本和周期在不断的增加。因此,为了保证各ecu的主控芯片编程的高效性和稳定性应规避以上问题,应开发一种更先进的集成芯片编程方法。

ecu的软件部分总体上可以分为三层,即应用层、rte层和微控制器层。应用层主要功能是对微控制器的实时数据进行处理,rte层是微控制器层与应用层的接口层。微控制器层是对微控制器各个资源当前状态、资源信息的采集和输出的控制层。mcal是微控制器抽象层的缩写,是细化微控制器层的控制层,他与微控制器寄存器直接相关。只有正确的编写mcal的配置才能实现硬件资源的正确控制从而实现整车的正常运行。因此mcal的编程方法,是根据用户的需求对微控制器资源的寄存器进行的软件的操作。操作过程包括对寄存器的读、写和复位。

本发明提供了一种利用面向对象设计的理念,编程者无需关注mcal的具体的寄存器组成和控制方法而直接按照对mcal的需求进行功能选择的编程方法,从而减少编写代码量、降低出错率并增加了代码的规范性。



技术实现要素:

为了解决背景技术中所述问题,本发明提供一种用于集成芯片的可视化编程方法,该方法采用面向对象设计的理念,实现了快捷、规范的编程方式,而且出错率为零。

为了达到上述目的,本发明采用以下技术方案实现:

一种用于集成芯片的可视化编程方法,采用面向对象的设计理念,在对某一款芯片进行编程时采用人机对话的方式让编程者只需要选择芯片所要使用的功能,无需面对微控制器的寄存器;在该方法中集成芯片的编程部分使用预编译语句进行功能和寄存器的读写数据的选择,适用于任何嵌入式软件开发项目;具体包括如下步骤:

步骤一、设定上位机mcal功能配置界面,用户在上位机的可视化界面中对芯片功能进行配置;

步骤二、对芯片的mcal功能进行分类,按mcal功能设定不同的mcal功能模块界面,根据步骤一中用户设定的mcal功能确定mcal需要配置的功能模块界面,在此界面中进行与本功能相关的具体信息配置;

步骤三、查找寄存器列表,根据mcal的所选功能和相关信息遍历所有寄存器以确定该功能的寄存器列表,每一个硬件资源的功能或工作状态都需要正确地配置一个或多个寄存器来实现,在这一阶段按照已选择的功能查找并确定与该功能相关的寄存器,并将这些寄存器保存到寄存器列表中;

步骤四、确定寄存器配置,在这阶段中,需要对寄存器列表中所有的寄存器配置进行判断并选择正确的寄存器配置,每一个寄存器的配置都保存在该寄存器的配置文件中;

步骤五、配置寄存器,配置寄存器,即完成对寄存器的读写操作,在这一阶段,已经根据用户的功能选择确定了相关寄存器,并确定了这些寄存器的最终操作值和操作方法;在这一阶段,根据硬件本身的控制流程和硬件资源的操作方法,将所有存在于寄存器列表中的寄存器分别写入其对应的已确定的配置数据;

步骤六、根据已配置的寄存器自动生成程序代码。

步骤三具体过程为:首先遍历每一个寄存器并进行判断,根据编程者已选择的功能判断该寄存器是否与该功能相关,如果相关,那么将该寄存器保存到寄存器列表中,否则返回,继续查找寄存器直到遍历所有寄存器结束,以确定完整的寄存器列表;换言之,每一个硬件资源的每一种功能每一种工作状态都对应唯一的寄存器列表,而寄存器列表所包含的寄存器必须要完整,缺一不可。

步骤四具体过程为:寄存器的配置文件由芯片供应商提供,主要以预编译语句的方式进行编写,并以标准库的形式引入到可视化编程软件中,每一条预编译语句的判断条件都是根据该寄存器的不同配置实现这个硬件资源的不同功能和不同工作模式的唯一表现形式,系统从第一个预编译条件开始进行判断,通过判断条件来确定该条件是否与所要实现的功能配置相匹配,如果匹配系统会使用该配置作为寄存器的操作值,否则系统进入下一个判断条件,直到找到与该功能相符的配置数据,最终确定寄存器的控制方案。

步骤五中考虑不同硬件的读写时序和操作流程不尽相同的因素。

与现有技术相比,本发明的有益效果是:

1、代码手写工作量减少,提高了工作效率。

2、降低了代码编写的出错率,出错率为零。

3、规范了代码编写格式和寄存器的配置方法。

4、编程者只需要确定硬件资源的功能,无需关注硬件资源的具体使用方法和其对应的寄存器配置方法。

5、该编程方法只与用户的不同配置相关,与编程者自身无任何关联,增加了程序的可读性。

附图说明

图1为本发明的一种用于集成芯片的可视化编程方法的流程图;

图2为本发明的具体实施例的功能配置界面图;

图3为本发明的具体实施例的can功能模块界面图。

具体实施方式

以下结合附图对本发明提供的具体实施方式进行详细说明。

如图1所示,一种用于集成芯片的可视化编程方法,采用面向对象的设计理念,在对某一款芯片进行编程时采用人机对话的方式让编程者只需要选择芯片所要使用的功能,无需面对微控制器的寄存器;在该方法中集成芯片的编程部分使用预编译语句进行功能和寄存器的读写数据的选择,适用于任何嵌入式软件开发项目;具体包括如下步骤:

步骤一、设定上位机mcal功能配置界面,用户在上位机的可视化界面中对芯片功能进行配置;

步骤二、对芯片的mcal功能进行分类,按mcal功能设定不同的mcal功能模块界面,根据步骤一中用户设定的mcal功能确定mcal需要配置的功能模块界面,在此界面中进行与本功能相关的具体信息配置;

步骤三、查找寄存器列表,根据mcal的所选功能和相关信息遍历所有寄存器以确定该功能的寄存器列表,每一个硬件资源的功能或工作状态都需要正确地配置一个或多个寄存器来实现,在这一阶段按照已选择的功能查找并确定与该功能相关的寄存器,并将这些寄存器保存到寄存器列表中;

步骤四、确定寄存器配置,在这阶段中,需要对寄存器列表中所有的寄存器配置进行判断并选择正确的寄存器配置,每一个寄存器的配置都保存在该寄存器的配置文件中;

步骤五、配置寄存器,配置寄存器,即完成对寄存器的读写操作,在这一阶段,已经根据用户的功能选择确定了相关寄存器,并确定了这些寄存器的最终操作值和操作方法;在这一阶段,根据硬件本身的控制流程和硬件资源的操作方法,将所有存在于寄存器列表中的寄存器分别写入其对应的已确定的配置数据;

步骤六、根据已配置的寄存器自动生成程序代码。

步骤三具体过程为:首先遍历每一个寄存器并进行判断,根据编程者已选择的功能判断该寄存器是否与该功能相关,如果相关,那么将该寄存器保存到寄存器列表中,否则返回,继续查找寄存器直到遍历所有寄存器结束,以确定完整的寄存器列表;换言之,每一个硬件资源的每一种功能每一种工作状态都对应唯一的寄存器列表,而寄存器列表所包含的寄存器必须要完整,缺一不可。

步骤四具体过程为:寄存器的配置文件由芯片供应商提供,主要以预编译语句的方式进行编写,并以标准库的形式引入到可视化编程软件中,每一条预编译语句的判断条件都是根据该寄存器的不同配置实现这个硬件资源的不同功能和不同工作模式的唯一表现形式,系统从第一个预编译条件开始进行判断,通过判断条件来确定该条件是否与所要实现的功能配置相匹配,如果匹配系统会使用该配置作为寄存器的操作值,否则系统进入下一个判断条件,直到找到与该功能相符的配置数据,最终确定寄存器的控制方案。

步骤五中考虑不同硬件的读写时序和操作流程不尽相同的因素。

具体实施例:

目标:配置can通讯,实现标准帧,波特率500k,引脚使用p3.12和p3.13。

1、如图2所示,首先使用上位机进入can配置界面,在这里根据我们的实际需求进行勾选和配置。

2、点击“确定”按钮后即确认当前模块为需要mcal进行编辑的模块,如图3所示。

3、上位机内部开始搜索列表,确定哪些寄存器需要被配置。具体方法为上位机的每一个控件对应几个固定的寄存器。

4、当需要配置的寄存器列表确定后,根据上位机控件中的数据配置,查找需要写入寄存器的值。

比如波特率配置为500k,那么检索到的需要配置的寄存器为can_nbtr0和can_nfcr0,再根据其数值为500000,对每个寄存器配值列表进行检索,当查到对应的寄存器配值为0x0000164f和0x00000000后判定符合该配值(数据存储结构为一个二维表),则该寄存器配值结束。

5、生成对应的代码:

can_nbtr0.reg=0x0000164f;

can_nfcr0.reg=0x00000000;

本发明方法代码手写工作量减少,提高了工作效率;降低了代码编写的出错率。规范了代码编写格式和寄存器的配置方法,编程者只需要确定硬件资源的功能,无需关注硬件资源的具体使用方法和其对应的寄存器配置方法。该编程方法只与用户的不同配置相关,与编程者自身无任何关联,增加了程序的可读性。

以上实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于上述的实施例。上述实施例中所用方法如无特别说明均为常规方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1