一种芯片的可视化编程方法、装置、设备及介质与流程

文档序号:26138964发布日期:2021-08-03 14:22阅读:86来源:国知局
一种芯片的可视化编程方法、装置、设备及介质与流程

本申请涉及计算机技术领域,具体涉及一种芯片的可视化编程方法、装置、设备及介质。



背景技术:

芯片等可编程逻辑器件被广泛运用于社会的各个领域,需求量大,投入者众,作为国家新型战略性产业,吸引了大量的人才与资源进行技术研发。

芯片应用往往需要进行芯片代码开发,例如芯片的初始化代码、嵌入式软件,但是芯片代码开发技术门槛较高,例如需要查阅有关芯片的数据手册,还需要再使用汇编、c语言等编程语言进行代码编写。

如何减低芯片代码开发技术门槛,减少芯片应用过程中的重复性代码开发,是本领域技术人员亟需解决的技术问题。



技术实现要素:

本申请的目的是提供一种芯片的可视化编程方法及装置、一种电子设备以及一种计算机可读介质。

本申请第一方面提供一种芯片的可视化编程方法,包括:

提供可视化编程平台并确定目标芯片,所述可视化编程平台中包括多个图形块,每一个所述图形块分别与所述目标芯片的至少一个功能模块相关联,每一个所述功能模块分别对应一个编码对象;

在所述可视化编程平台中,针对选定的图形块提供关联的编码对象;

基于选定的各个编码对象生成所述目标芯片的源码文件。

根据本申请的一些实施方式中,所述编码对象包括功能模块的初始化程序、配置数据、配置方法和事件。

根据本申请的一些实施方式中,所述基于选定的各个编码对象生成所述目标芯片的源码文件,包括:

针对每个编码对象,提供所述编码对象的初始化程序;

响应于所述编码对象的事件,根据所述编码对象的配置数据和配置方法对所述初始化程序进行配置,以完成对相应功能模块的配置;

根据配置完成后的所有编码对象的初始化程序,生成所述目标芯片的源码文件。

根据本申请的一些实施方式中,所述可视化编程平台的构建方法如下:

在可视化编程平台中生成多个图形块;

针对目标芯片的每个功能模块,生成所述功能模块的初始化程序;

将所述功能模块的配置数据和配置方法关联至一个所述图形块上;

在所述图形块上设置所述功能模块的事件,用于输出所述功能模块的配置数据和配置方法,以实现所述功能模块的不同配置。

本申请第二方面提供一种芯片的可视化编程装置,包括:

确定模块,用于提供可视化编程平台并确定目标芯片,所述可视化编程平台中包括多个图形块,每一个所述图形块分别与所述目标芯片的至少一个功能模块相关联,每一个所述功能模块分别对应一个编码对象;

选定模块,用于在所述可视化编程平台中,针对选定的图形块提供关联的编码对象;

生成模块,用于基于选定的各个编码对象生成所述目标芯片的源码文件。

根据本申请的一些实施方式中,所述编码对象包括功能模块的初始化程序、配置数据、配置方法和事件。

根据本申请的一些实施方式中,所述生成模块,具体用于:

针对每个编码对象,提供所述编码对象的初始化程序;

响应于所述编码对象的事件,根据所述编码对象的配置数据和配置方法对所述初始化程序进行配置,以完成对相应功能模块的配置;

根据配置完成后的所有编码对象的初始化程序,生成所述目标芯片的源码文件。

根据本申请的一些实施方式中,所述可视化编程平台的构建方法如下:

在可视化编程平台中生成多个图形块;

针对目标芯片的每个功能模块,生成所述功能模块的初始化程序;

将所述功能模块的配置数据和配置方法关联至一个所述图形块上;

在所述图形块上设置所述功能模块的事件,用于输出所述功能模块的配置数据和配置方法,以实现所述功能模块的不同配置。

本申请第三方面提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行以实现本申请第一方面所述的方法。

本申请第四方面提供一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现本申请第一方面所述的方法。

相较于现有技术,本申请提供的芯片的可视化编程方法、装置、设备及介质,通过提供可视化编程平台并确定目标芯片,所述可视化编程平台中包括多个图形块,每一个所述图形块分别与所述目标芯片的至少一个功能模块相关联,每一个所述功能模块分别对应一个编码对象;在所述可视化编程平台中,针对选定的图形块提供关联的编码对象;基于选定的各个编码对象生成所述目标芯片的源码文件。本申请实现了芯片的可视化编程,相比于现有技术,代码手写工作量减少,提高了工作效率;编程者只需要确定芯片各功能模块的功能,无需关注功能模块的具体代码实现,使芯片开发变得更高效、更安全、更直观可读。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本申请的一些实施方式所提供的一种芯片的可视化编程方法的流程图;

图2示出了对串口uart进行波特率设置的示意图;

图3示出了可视化编程平台的构建过程示意图;

图4示出了本申请的一些实施方式所提供的一种芯片的可视化编程装置的示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。

另外,术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

本申请实施例提供一种芯片的可视化编程方法及装置、一种电子设备以及计算机可读介质,下面结合附图进行说明。

请参考图1,其示出了本申请的一些实施方式所提供的一种芯片的可视化编程方法的流程图,如图1所示,所述芯片的可视化编程方法,可以包括以下步骤:

步骤s101:提供可视化编程平台并确定目标芯片,所述可视化编程平台中包括多个图形块,每一个所述图形块分别与所述目标芯片的至少一个功能模块相关联,每一个所述功能模块分别对应一个编码对象。

其中,目标芯片例如可以为51单片机、stm32单片机等。例如stm32单片机包括通用输入输出gpio、通用异步收发传输器uart、闪存flash、工作时钟、存储器、定时器、中断系统、模数转换器等功能模块。

本申请中,将芯片可设置、可查询的每个功能模块,编码成一个个不同的对象,称为编码对象,也就是将实际的功能模块通过程序编码为了虚拟的编码对象,所述编码对象包括功能模块的初始化程序、配置数据、配置方法和事件。然后将一个编码对象的配置数据、配置方法和事件等关联到一个指定的可视化图形块(block),每一个图形块与至少一个功能模块相关联,以实现可视化图形块与芯片功能模块一对一关系或一对多关系。

所述配置数据,即芯片功能模块的功能和工作状态的值列表;将芯片功能模块存在不同的查询值或者设置值等数据,设计成可视化图形块的输出列表或输入列表,通过选择查询、设置输入(或输出)列表中的一个(或以一个以上)的变量(或常量),以实现芯片功能模块的不同配置;以及查询、设置芯片功能模块的不同运行状态。如图2所示,对串口uart进行波特率设置。

所述配置方法,即用于设置芯片功能模块的程序指令或函数接口。将配置芯片功能模块的程序设计语言的执行语句,设计成可视化图形块的生成程序代码,通过使用可视化图形块,以实现对芯片功能模块的配置工作。

所述事件,即在使用可视化图形块时,由该图形块的事件输出被封装在该图形块的配置数据和配置方法,以实现可视化编码。事件是可以被控件识别的操作,如按下某个图形块的确定按钮,如选择某个单选按钮或者复选框,等等。

具体的,所述可视化编程平台的构建方法如下:

在可视化编程平台中生成多个图形块,具体可以使用web前端技术实现可视化图形块的图形元素生成;

针对目标芯片的每个功能模块,生成所述功能模块的初始化程序;

将所述功能模块的配置数据和配置方法关联至一个所述图形块上;也就是将设置芯片功能模块的程序指令或函数接口绑定到上述可视化图形块;将芯片功能模块的功能或状态的值列表,也绑定到上述可视化图形块,作为输入数据或变量。

在所述图形块上设置所述功能模块的事件,用于输出所述功能模块的配置数据和配置方法,以实现所述功能模块的不同配置。

如图3所示为可视化编程平台的构建过程示意图,图3示出了对目标芯片中功能模块编码成编码对象,以及将编码对象关联到可视化图形块的过程,图中配置方法可以是执行配置功能模块的程序指令或函数接口,配置数据可以是功能模块运行状态的配置参数输入数据。

上述可视化编程平台构建完成后,用户不仅不需要再使用汇编、c语言等文本进行程序编写,而且不需要查阅有关芯片的数据手册。

步骤s102:在所述可视化编程平台中,针对选定的图形块提供关联的编码对象。

本实施例中,在上述构建的可视化编程平台中,可以通过拖放、拼接上述的可视化图形块,形成目标芯片功能模块的可视化的初始化程序。如可以根据研发需求,采用拼接积木的方式使用多个可视化图形块配置需要使用的芯片功能模块。

步骤s103:基于选定的各个编码对象生成所述目标芯片的源码文件。

本实施例中,步骤s103具体可实现为:

针对每个编码对象,提供所述编码对象的初始化程序;

响应于所述编码对象的事件,根据所述编码对象的配置数据和配置方法对所述初始化程序进行配置,以完成对相应功能模块的配置;

根据配置完成后的所有编码对象的初始化程序,生成所述目标芯片的源码文件。

本实施例中,生成目标芯片的源码文件并输出至本地后,最后经过编译、链接生成可执行文件下载到目标芯片中进行验证,即可完成芯片功能模块可视化编程开发。

相较于现有技术,本申请实施例提供的上述芯片的可视化编程方法,通过提供可视化编程平台并确定目标芯片,所述可视化编程平台中包括多个图形块,每一个所述图形块分别与所述目标芯片的至少一个功能模块相关联,每一个所述功能模块分别对应一个编码对象;在所述可视化编程平台中,针对选定的图形块提供关联的编码对象;基于选定的各个编码对象生成所述目标芯片的源码文件。本申请实现了芯片的可视化编程,相比于现有技术,代码手写工作量减少,提高了工作效率;编程者只需要确定芯片各功能模块的功能,无需关注功能模块的具体代码实现,使芯片开发变得更高效、更安全、更直观可读。

在上述的实施例中,提供了一种芯片的可视化编程方法,与之相对应的,本申请还提供一种芯片的可视化编程装置。本申请实施例提供的芯片的可视化编程装置可以实施上述芯片的可视化编程方法,该芯片的可视化编程装置可以通过软件、硬件或软硬结合的方式来实现。例如,该芯片的可视化编程装置可以包括集成的或分开的功能模块或单元来执行上述各方法中的对应步骤。请参考图4,其示出了本申请的一些实施方式所提供的一种芯片的可视化编程装置的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

如图4所示,所述芯片的可视化编程装置10可以包括:

确定模块101,用于提供可视化编程平台并确定目标芯片,所述可视化编程平台中包括多个图形块,每一个所述图形块分别与所述目标芯片的至少一个功能模块相关联,每一个所述功能模块分别对应一个编码对象;

选定模块102,用于在所述可视化编程平台中,针对选定的图形块提供关联的编码对象;

生成模块103,用于基于选定的各个编码对象生成所述目标芯片的源码文件。

在本申请实施例的一些实施方式中,所述编码对象包括功能模块的初始化程序、配置数据、配置方法和事件。

在本申请实施例的一些实施方式中,所述生成模块103,具体用于:

针对每个编码对象,提供所述编码对象的初始化程序;

响应于所述编码对象的事件,根据所述编码对象的配置数据和配置方法对所述初始化程序进行配置,以完成对相应功能模块的配置;

根据配置完成后的所有编码对象的初始化程序,生成所述目标芯片的源码文件。

在本申请实施例的一些实施方式中,所述可视化编程平台的构建方法如下:

在可视化编程平台中生成多个图形块;

针对目标芯片的每个功能模块,生成所述功能模块的初始化程序;

将所述功能模块的配置数据和配置方法关联至一个所述图形块上;

在所述图形块上设置所述功能模块的事件,用于输出所述功能模块的配置数据和配置方法,以实现所述功能模块的不同配置。

本申请实施例提供的芯片的可视化编程装置10,与本申请前述实施例提供的芯片的可视化编程方法出于相同的发明构思,具有相同的有益效果。

本申请实施方式还提供一种与前述实施方式所提供的芯片的可视化编程方法对应的电子设备,所述电子设备可以是用于客户端的电子设备,例如手机、笔记本电脑、平板电脑、台式机电脑等,以执行上述芯片的可视化编程方法。

本申请实施例提供的电子设备与本申请实施例提供的芯片的可视化编程方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。

本申请实施方式还提供一种与前述实施方式所提供的芯片的可视化编程方法对应的计算机可读介质,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的芯片的可视化编程方法。

需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。

本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的芯片的可视化编程方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。

需要说明的是,附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围,其均应涵盖在本申请的权利要求和说明书的范围当中。

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