CN117992059A - 单片机软件开发方法、单片机、电子设备和存储介质 - Google Patents
单片机软件开发方法、单片机、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117992059A CN117992059A CN202410089585.2A CN202410089585A CN117992059A CN 117992059 A CN117992059 A CN 117992059A CN 202410089585 A CN202410089585 A CN 202410089585A CN 117992059 A CN117992059 A CN 117992059A
- Authority
- CN
- China
- Prior art keywords
- software
- singlechip
- hardware
- parameter data
- developing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000011161 development Methods 0.000 claims abstract description 40
- 230000006870 function Effects 0.000 claims description 72
- 230000008569 process Effects 0.000 claims description 22
- 238000012546 transfer Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了单片机软件开发方法、单片机、电子设备和存储介质,方法包括:在第一单片机的第一存储空间内存储有第一单片机的硬件参数数据,硬件参数数据至少包括以下任意一种:端口类型、端口参数;基于硬件参数数据开发得到各端口的硬件设置代码,通过编译软件对硬件设置代码进行编译得到BIN格式的硬件设置共享软件,将硬件设置共享软件烧录到第一单片机的第二存储空间;开发用户功能软件,通过编译软件对用户功能软件进行编译得到BIN格式的用户功能软件,将用户功能软件烧录到第一单片机中。本发明极大地提升了单片机软件开发流程的效率,大幅度降低了单片机软件开发的成本。
Description
技术领域
本发明涉及单片机软件开发技术领域,尤其是涉及单片机软件开发方法、单片机、电子设备和存储介质。
背景技术
当前的MCU产品,由于技术控制、厂商研发区别等原因,各厂家、各型号的参数等几乎都是不一样的。随着一些芯片的升级更新、市场的变化和政策的改变,导致应用厂家原来的型号的供应不确定。
因此,在需要更换不同品牌或者型号的MCU时,原有的软件大概率都需要进行移植以及重新编译;就算是功能完全一样,Pin对Pin置换的,因MCU内部脚位定义的可能不同,脚位输出也不一定相同,也需要软件修改以及重新编译调试。其中,最主要的原因是:各个型号、各个厂家相同规格的MCU,其MCU初始化设置、硬件结构、地址定义是不完全一样的,导致编译器编译时,地址数据、定义等不能完全通用。关键点是:A、硬件构建定义不同;B、地址分配不同;C、功能不同;D、初始化参数不同。
以上因素导致,不同型号以及同功能不同厂家,其所需要的MCU运行软件(BIN文档)不同,需要通过编译器编译,重新修改移植软件,编程后编译后,才能被不同的MCU使用。而单片机软件的开发需要大量专业的技术人员参与,研发时间长,调试过程多,导致单片机移植软件开发时间长,研发成本高。
目前,嵌入式单片机软件开发都是采用:在pc机上编码,然后在目标单片机上运行调试程序代码的方法。每次调试验证程序时,都必须按照如下操作进行:1、pc机上交叉编译待验证程序,生成目标单片机上的bin文件;2、通过工具软件将bin文件下载到单片机上;3、通过串口或仿真器调试验证程序的正确性;4、如果验证通过,则功能开发结束;否则需要重复上述步骤。由于不同的单片机的开发环境不同,单片机自身的性能和编程接口也是千差万别,使得嵌入式单片机软件在开发时,反复在单片机和PC机之间来回切换,下载调试,导致嵌入式单片机软件开发的难度较大,开发效率较低,对没有相关工作经验的程序员来说,面临的困难更大。
发明内容
本发明的目的在于克服上述技术不足,提出单片机软件开发方法、单片机、电子设备和存储介质,解决现有技术中单片机移植软件开发时间长,研发成本高的技术问题。
为达到上述技术目的,第一方面,本发明的技术方案提供一种单片机软件开发方法,包括以下步骤:
在第一单片机的第一存储空间内存储有所述第一单片机的硬件参数数据,所述硬件参数数据至少包括以下任意一种:端口类型、端口参数;
基于所述硬件参数数据开发得到各端口的硬件设置代码,通过编译软件对所述硬件设置代码进行编译得到BIN格式的硬件设置共享软件,将所述硬件设置共享软件烧录到第一单片机的第二存储空间;
开发用户功能软件,通过编译软件对所述用户功能软件进行编译得到BIN格式的用户功能软件,将所述用户功能软件烧录到第一单片机中。
与现有技术相比,本发明提供的单片机软件开发方法的有益效果包括:
本发明提供的单片机软件开发方法,在第一单片机的第一存储空间内存储有所述第一单片机的硬件参数数据,再基于所述硬件参数数据开发得到各端口的硬件设置代码,通过编译软件对所述硬件设置代码进行编译得到BIN格式的硬件设置共享软件,将所述硬件设置共享软件烧录到第一单片机的第二存储空间。
开发用户功能软件,通过编译软件对所述用户功能软件进行编译得到BIN格式的用户功能软件,将所述用户功能软件烧录到第一单片机中。用户仅仅需要开发特定功能的程序,而且在开发的这个程序中,相关需要调用这个“不同MCU”的硬件参数时,通过硬件设置共享软件按照第一存储空间的地址去读取调用,能够脱离具体的MCU型号而实现参数调用;也就是在不同的MCU中,只要开发特定功能的程序,这个功能就可以正常使用,而不需要再次开发、再次编译。
传统的单片机开发过程硬件设置和用户功能软件的开发是一体的,再经过烧录和验证测试,由于各个型号、各个厂家相同规格的MCU,其MCU初始化设置、硬件结构、地址定义等还是不完全一样,导致编译器编译时,地址数据、定义等不能完全通用,所以需要反复调试。
硬件参数数据分为可调整参数和不可调整参数,在开发过程中形成对应某个单片机的专用硬件驱动程序,在同一型号的单片机都可以使用上述的专用硬件驱动程序,可以直接调用专用硬件驱动程序,大幅度提升单片机软件开发效率。
本申请的单片机软件开发方法,开发流程仅有通过硬件设置软件调用并设置单片机的硬件参数数据,再开发用户功能软件;由于在第一单片机的第一存储空间内存储有所述第一单片机的硬件参数数据,那么硬件设置软件调用的硬件参数数据就直接是准确的,只需要根据具体项目进行硬件参数数据的设置。且本申请的硬件设置软件不受限于单片机的型号,可以应用于任意单片机的硬件参数设置过程,本申请的用户功能软件不涉及硬件部分,只需要进行功能性软件的开发,基于此,用户功能软件也不受限于单片机的具体型号,在移植软件过程中,若不涉及功能的变化,只需要在移植过程中通过硬件设置软件,对新的单片机的硬件参数数据进行调用并设置,即可完成硬件部分的设置过程,再直接将用户功能软件编译烧录即可,极大地提升了单片机软件开发流程的效率,大幅度降低了单片机软件开发的成本。
而且,本申请中的硬件参数数据是可以明文展示的,即在PC端通过txt文档、word文档等方式直接展示,那么即使是非专业程序员也可以对本申请的硬件设置共享软件进行硬件参数的修改,大幅度降低了单片机软件的开发难度,普通的技术人员经过简单的培训即可完成硬件参数的设置,若用户功能软件的功能未发生变动,普通的技术人员再将用户功能软件直接烧录到新的单片机中,普通的技术人员也可以完成原本十分困难的单片机软件移植的工作。本申请的单片机软件开发方法省去了大量的调试工作,极大地降低了单片机软件开发的难度,大幅度提升了单片机软件开发的效率,具有极高的推广使用价值。
根据本发明的一些实施例,在开发用户功能软件之前,包括步骤:
在第一单片机的第三存储空间内存储系统参数数据;
基于所述系统参数数据开发得到系统初始化代码,通过编译软件对所述系统初始化代码进行编译得到BIN格式的系统初始化共享软件,将所述系统初始化共享软件烧录到第一单片机的第四存储空间。
根据本发明的一些实施例,所述硬件参数数据包括:FLASH参数数据、UART参数数据、I2C参数数据和GPIO参数数据。
根据本发明的一些实施例,第一单片机还设置有第五存储空间,用于存储数据传递数据、用户必要数据、共享函数和子程序。
根据本发明的一些实施例,在将所述硬件设置共享软件烧录到第一单片机的第二存储空间之后,还包括步骤:
在第二单片机的第五存储空间内存储有所述第二单片机的硬件参数数据;
调用所述硬件设置共享软件,读取所述第二单片机的硬件参数数据,根据所述第二单片机的硬件参数数据,对硬件设置共享软件中第一单片机的硬件参数数据进行替换;
将所述硬件设置共享软件烧录到第二单片机的第六存储空间;
开发用户功能软件,通过编译软件对所述用户功能软件进行编译得到BIN格式的用户功能软件,将所述用户功能软件烧录到第二单片机中。
根据本发明的一些实施例,在基于所述硬件参数数据开发得到各端口的硬件设置代码之前,包括步骤:
通过查表得到所述第一存储空间的地址数据。
第二方面,本发明的技术方案提供一种单片机,在所述单片机的第一存储空间内存储所述单片机的硬件参数数据,所述硬件参数数据至少包括以下任意一种:端口类型、端口参数。
根据本发明的一些实施例,在所述单片机的第二存储空间存储有硬件设置共享软件,所述硬件设置共享软件的开发过程为:基于所述硬件参数数据开发得到各端口的硬件设置代码,通过编译软件对所述硬件设置代码进行编译得到BIN格式的硬件设置共享软件。
第三方面,本发明的技术方案提供一种包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面任一项所述的单片机软件开发方法。
第四方面,本发明的技术方案提供一种所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面任一项所述的单片机软件开发方法。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中摘要附图要与说明书附图的其中一幅完全一致:
图1为本发明一个实施例提供的单片机软件开发方法的流程图;
图2为本发明一个实施例提供的单片机软件开发方法的流程图;
图3为本发明一个实施例提供的单片机软件开发方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
需要说明的是,虽然在系统示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于系统中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
目前,嵌入式单片机软件开发都是采用:在pc机上编码,然后在目标单片机上运行调试程序代码的方法。每次调试验证程序时,都必须按照如下操作进行:1、pc机上交叉编译待验证程序,生成目标单片机上的bin文件;2、通过工具软件将bin文件下载到单片机上;3、通过串口或仿真器调试验证程序的正确性;4、如果验证通过,则功能开发结束;否则需要重复上述步骤。由于不同的单片机的开发环境不同,单片机自身的性能和编程接口也是千差万别,使得嵌入式单片机软件在开发时,反复在单片机和PC机之间来回切换,下载调试,导致嵌入式单片机软件开发的难度较大,开发效率较低,对没有相关工作经验的程序员来说,面临的困难更大。
主要的问题就是:A、硬件构建定义不同;B、地址分配不同;C、功能不同;D、初始化参数不同。由于硬件参数的不同,在单片机软件开发的过程中需要反复调试,最终才能得到可以运行的单片机软件。
下面结合附图,对本发明实施例作进一步阐述。
参照图1,图1为本发明一个实施例提供的单片机软件开发方法的流程图;单片机软件开发方法包括但是不仅限于步骤S110至步骤S130。
步骤S110,在第一单片机的第一存储空间内存储有第一单片机的硬件参数数据,硬件参数数据至少包括以下任意一种:端口类型、端口参数;
步骤S120,基于硬件参数数据开发得到各端口的硬件设置代码,通过编译软件对硬件设置代码进行编译得到BIN格式的硬件设置共享软件,将硬件设置共享软件烧录到第一单片机的第二存储空间;
步骤S130,开发用户功能软件,通过编译软件对用户功能软件进行编译得到BIN格式的用户功能软件,将用户功能软件烧录到第一单片机中。
在一实施例中,单片机软件开发方法包括步骤:在第一单片机的第一存储空间内存储有第一单片机的硬件参数数据,硬件参数数据至少包括以下任意一种:端口类型、端口参数;基于硬件参数数据开发得到各端口的硬件设置代码,通过编译软件对硬件设置代码进行编译得到BIN格式的硬件设置共享软件,将硬件设置共享软件烧录到第一单片机的第二存储空间;开发用户功能软件,通过编译软件对用户功能软件进行编译得到BIN格式的用户功能软件,将用户功能软件烧录到第一单片机中。
定义有一个规则:此规则面向开发者发布、统一定义、描述“硬件参数数据”所在地址的标准;开发者可以通过这个发布的规则,寻找到需要的地址或者数据,本申请中公开的是在第一单片机的第一存储空间内存储有第一单片机的硬件参数数据,即所有开发者可以在第一存储空间查找到硬件参数数据,第一存储空间可以是通过表格记录,也可以是厂家在出厂前就在说明书中载明,基于硬件参数数据是可以很方便地被开发者读取的前提下,开发者就可以将硬件参数数据应用到编程语言、软件代码中,通过编译软件编译后、成为MCU可以运行的文档(一般为BIN文档)。
并且,本发明公开了基于硬件参数数据开发得到各端口的硬件设置代码,通过编译软件对硬件设置代码进行编译得到BIN格式的硬件设置共享软件,创新性地将原本一体化的MCU软件分为了硬件设置共享软件和用户功能软件,在硬件设置共享软件对硬件参数进行编辑设置,在用户功能软件只需要对用户软件的功能进行开发,基于此,用户功能软件也不受限于单片机的具体型号,在移植软件过程中,若不涉及功能的变化,只需要在移植过程中通过硬件设置软件,对新的单片机的硬件参数数据进行调用并设置,即可完成硬件部分的设置过程,再直接将用户功能软件编译烧录即可,极大地提升了单片机软件开发流程的效率,大幅度降低了单片机软件开发的成本。
且基于本申请的硬件设置共享软件可以直接读取硬件参数数据,读取的硬件参数数据即为对应单片机准确的硬件参数数据,省去了由于硬件参数数据不明确而带来的反复调试的过程,极大地提升了单片机软件的开发效率。
如:MCU的UART端口的参数,放置在MCU的0x00001000地址,该地址具有UART设置所需要的参数内容(可编辑),比如:UART的比特率、端口硬件地址、通讯格式等参数;程序开发人员知道这个规则并可以利用遵循这个规则,开发出“初始化”这个UART端口的“硬件设置代码”;通过编译软件,把“硬件设置代码”,编译成固件BIN文档的硬件设置共享软件,并下载固化到MCU的可以存储的空间里面;这个硬件设置共享软件在MCU的空间,也是可以按照发布的规则所定义的地址;比如发布的定义规则:该程序所在地址为:0x00001200;那么,这个硬件设置共享软件,就可以共享给其他任何的开发人员所利用。
MCU的底层固件硬件设置共享软件,其所需要调用的相关MCU的系统参数、固件参数等数据部分,都可以存储在MCU的存储空间里面,在程序需要知道这些数据时,都可以在程序运行中,实时调用这些参数,而不需要编译器的参与,从而实现脱离编译器而存在,也就是实现了“脱离具体MCU的型号”,而共享底层固件程序的功能。
用户仅仅需要开发自己特定功能的程序,而且在开发的这个程序中,相关需要调用这个“不同MCU”的硬件参数、系统参数时,就按照发布的规则所规定的地址去读取调用,可以脱离具体的MCU而实现。
参照图2,图2为本发明一个实施例提供的单片机软件开发方法的流程图;单片机软件开发方法包括但是不仅限于步骤S210至步骤S220。
步骤S210,在第一单片机的第三存储空间内存储系统参数数据;
步骤S220,基于系统参数数据开发得到系统初始化代码,通过编译软件对系统初始化代码进行编译得到BIN格式的系统初始化共享软件,将系统初始化共享软件烧录到第一单片机的第四存储空间。
在一实施例中,单片机软件开发方法包括步骤:在第一单片机的第一存储空间内存储有第一单片机的硬件参数数据,硬件参数数据至少包括以下任意一种:端口类型、端口参数;基于硬件参数数据开发得到各端口的硬件设置代码,通过编译软件对硬件设置代码进行编译得到BIN格式的硬件设置共享软件,将硬件设置共享软件烧录到第一单片机的第二存储空间;在第一单片机的第三存储空间内存储系统参数数据;基于系统参数数据开发得到系统初始化代码,通过编译软件对系统初始化代码进行编译得到BIN格式的系统初始化共享软件,将系统初始化共享软件烧录到第一单片机的第四存储空间。开发用户功能软件,通过编译软件对用户功能软件进行编译得到BIN格式的用户功能软件,将用户功能软件烧录到第一单片机中。
进一步的,第一单片机还设置有第五存储空间,用于存储数据传递数据、用户必要数据、共享函数和子程序。
进一步的,硬件参数数据包括:FLASH参数数据、UART参数数据、I2C参数数据和GPIO参数数据。
进一步的,通过查表得到第一存储空间的地址数据,第一存储空间的地址数据可以在一个独立的数据表中记录,也可以是单片机厂家预先载明在说明书上,本实施例对其不构成限制。
参照图3,图3为本发明一个实施例提供的单片机软件开发方法的流程图;单片机软件开发方法包括但是不仅限于步骤S310至步骤320。
步骤S310,在第二单片机的第五存储空间内存储有第二单片机的硬件参数数据;
步骤S320,调用硬件设置共享软件,读取第二单片机的硬件参数数据,根据第二单片机的硬件参数数据,对硬件设置共享软件中第一单片机的硬件参数数据进行替换;
步骤S330,将硬件设置共享软件烧录到第二单片机的第六存储空间;
步骤S340,开发用户功能软件,通过编译软件对用户功能软件进行编译得到BIN格式的用户功能软件,将用户功能软件烧录到第二单片机中。
本申请将原本一体化的MCU软件分为了硬件设置共享软件和用户功能软件,在硬件设置共享软件对硬件参数进行编辑设置,在用户功能软件只需要对用户软件的功能进行开发,基于此,用户功能软件也不受限于单片机的具体型号,在移植软件过程中,若不涉及功能的变化,只需要在移植过程中通过硬件设置软件,对新的单片机的硬件参数数据进行调用并设置,即可完成硬件部分的设置过程,再直接将用户功能软件编译烧录即可,极大地提升了单片机软件开发流程的效率,大幅度降低了单片机软件开发的成本。
而且,基于硬件设置共享软件共享使用的特性,硬件设置共享软件在使用中还可以不断地完善功能。以往的单片机软件开发的过程,开发的单片机软件只能适用于特定型号的单片机,在需要更换单片机的情况下,只能将原有的软件重新编辑,没有软件开发过程的积累。本申请的单片机软件开发方法,硬件设置共享软件可以被不同型号的单片机使用,在更换单片机型号的情况下,只需要通过硬件设置共享软件读取新的单片机的硬件参数并设置,重新编译该MCU的公共设置软件、参数设置软件,而不需要重新改写用户应用软件,极大的提升了单片机软件开发的效率,大幅节省了开发成本,减少了开发时间,且对于开发者的专业度需求也大幅度降低。
在一实施例中,单片机的第一存储空间内存储单片机的硬件参数数据,硬件参数数据至少包括以下任意一种:端口类型、端口参数。
硬件参数数据包括:FLASH参数数据、UART参数数据、I2C参数数据和GPIO参数数据。
举例:
A、芯链微电子科技有限公司的CLM32L003以及灵动微的MM32F0020
CLM32L003 | MM32F0020 | |
FLASH起始地址 | 0x00000000 | 0x08000000 |
UART1偏移地址 | 0x4000_0400 | 0x40013800 |
I2C的偏移地址 | 0x4000_0C00 | 0x40005400 |
GPIOA偏移地址 | 0x4002_1000 | 0x48000000 |
进一步的,在单片机的第二存储空间存储有硬件设置共享软件,硬件设置共享软件的开发过程为:基于硬件参数数据开发得到各端口的硬件设置代码,通过编译软件对硬件设置代码进行编译得到BIN格式的硬件设置共享软件。
进一步的,在单片机的第三存储空间存储有系统参数数据;
在单片机的第四存储空间存储有系统初始化共享软件,系统初始化共享软件的开发过程为:基于系统参数数据开发得到系统初始化代码,通过编译软件对系统初始化代码进行编译得到BIN格式的系统初始化共享软件,将系统初始化共享软件烧录到单片机的第四存储空间。
进一步的,单片机还设置有第五存储空间,用于存储数据传递数据、用户必要数据、共享函数和子程序。
在一实施例中,电子设备包括处理器,存储器及存储在存储器上并可在处理器上运行的程序或指令,程序或指令被处理器执行时实现如上述的单片机软件开发方法。
在以下应用场景,如一个单片机控制4个电池单体,一个总数120个电池单体的电池组需要应用到30个单片机,那么可以其中一个单片机作为主控芯片,剩余的29个单片机作为从属芯片,则可以对30个单片机依次应用上述的单片机软件开发方法进行对应的单片机软件开发方法;也可以通过一个额外的CPU对30个单片机进行控制,通过CPU对30个单片机应用上述的单片机软件开发方法进行统一的单片机软件开发方法。
需要说明的是,本实施例不构成对单片机数量和应用场景的限制。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态型计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件,或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
此外,本发明的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被上述终端实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的单片机软件开发方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置,或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息传递介质。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。
以上所述本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所作出的各种其他相应的改变与变形,均应包含在本发明权利要求的保护范围内。
Claims (10)
1.一种单片机软件开发方法,其特征在于,包括以下步骤:
在第一单片机的第一存储空间内存储有所述第一单片机的硬件参数数据,所述硬件参数数据至少包括以下任意一种:端口类型、端口参数;
基于所述硬件参数数据开发得到各端口的硬件设置代码,通过编译软件对所述硬件设置代码进行编译得到BIN格式的硬件设置共享软件,将所述硬件设置共享软件烧录到第一单片机的第二存储空间;
开发用户功能软件,通过编译软件对所述用户功能软件进行编译得到BIN格式的用户功能软件,将所述用户功能软件烧录到第一单片机中。
2.根据权利要求1所述的单片机软件开发方法,其特征在于,在开发用户功能软件之前,包括步骤:
在第一单片机的第三存储空间内存储系统参数数据;
基于所述系统参数数据开发得到系统初始化代码,通过编译软件对所述系统初始化代码进行编译得到BIN格式的系统初始化共享软件,将所述系统初始化共享软件烧录到第一单片机的第四存储空间。
3.根据权利要求1所述的单片机软件开发方法,其特征在于,所述硬件参数数据包括:FLASH参数数据、UART参数数据、I2C参数数据和GPIO参数数据。
4.根据权利要求1所述的单片机软件开发方法,其特征在于,第一单片机还设置有第五存储空间,用于存储数据传递数据、用户必要数据、共享函数和子程序。
5.根据权利要求1所述的单片机软件开发方法,其特征在于,在将所述硬件设置共享软件烧录到第一单片机的第二存储空间之后,还包括步骤:
在第二单片机的第五存储空间内存储有所述第二单片机的硬件参数数据;
调用所述硬件设置共享软件,读取所述第二单片机的硬件参数数据,根据所述第二单片机的硬件参数数据,对硬件设置共享软件中第一单片机的硬件参数数据进行替换;
将所述硬件设置共享软件烧录到第二单片机的第六存储空间;
开发用户功能软件,通过编译软件对所述用户功能软件进行编译得到BIN格式的用户功能软件,将所述用户功能软件烧录到第二单片机中。
6.根据权利要求1所述的单片机软件开发方法,其特征在于,在基于所述硬件参数数据开发得到各端口的硬件设置代码之前,包括步骤:
通过查表得到所述第一存储空间的地址数据。
7.一种单片机,其特征在于,在所述单片机的第一存储空间内存储所述单片机的硬件参数数据,所述硬件参数数据至少包括以下任意一种:端口类型、端口参数。
8.根据权利要求7所述的单片机,其特征在于,在所述单片机的第二存储空间存储有硬件设置共享软件,所述硬件设置共享软件的开发过程为:基于所述硬件参数数据开发得到各端口的硬件设置代码,通过编译软件对所述硬件设置代码进行编译得到BIN格式的硬件设置共享软件。
9.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-6任一项所述的单片机软件开发方法。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-6任一项所述的单片机软件开发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410089585.2A CN117992059A (zh) | 2024-01-23 | 2024-01-23 | 单片机软件开发方法、单片机、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410089585.2A CN117992059A (zh) | 2024-01-23 | 2024-01-23 | 单片机软件开发方法、单片机、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117992059A true CN117992059A (zh) | 2024-05-07 |
Family
ID=90890518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410089585.2A Pending CN117992059A (zh) | 2024-01-23 | 2024-01-23 | 单片机软件开发方法、单片机、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117992059A (zh) |
-
2024
- 2024-01-23 CN CN202410089585.2A patent/CN117992059A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109933348B (zh) | 一种电子控制单元中Bootloader的更新方法和装置 | |
US9875442B2 (en) | Method, apparatus, and artificial intelligence editor for implementing artificial intelligence behavior | |
CN107506219A (zh) | 一种基于Android系统的通用版本升级方法 | |
CN106707848A (zh) | 一种控制系统的控制程序组织结构和下载方法 | |
CN109032631A (zh) | 应用程序补丁包获取方法、装置、计算机设备及存储介质 | |
CN108446224B (zh) | 移动端上应用程序的性能分析方法、存储介质 | |
US12008171B2 (en) | Program download method for intelligent terminal with memory card identifier and intelligent terminal with memory card identifier | |
CN107608663A (zh) | 一种移动应用插件及移动应用的开发方法及装置 | |
CN110543427A (zh) | 测试用例存储方法、装置、电子设备及存储介质 | |
CN108694049B (zh) | 一种更新软件的方法和设备 | |
CN108255735A (zh) | 关联环境测试方法、电子装置及计算机可读存储介质 | |
CN101267645B (zh) | 用于w基站业务流程软件开发的自动化测试方法和系统 | |
CN117149209A (zh) | 一种代码增量编译方法、装置、计算机设备及存储介质 | |
CN112230848A (zh) | 一种nvm自动配置方法、装置和设备 | |
CN117194230A (zh) | 不同版本板卡的fct匹配测试方法、装置、设备及介质 | |
CN117992059A (zh) | 单片机软件开发方法、单片机、电子设备和存储介质 | |
CN109144524B (zh) | 一种教育平台上学科游戏的版本发布方法及电子设备 | |
US20040204892A1 (en) | Testing of integrated circuits from design documentation | |
CN110806891A (zh) | 嵌入式设备软件版本的生成方法及装置 | |
CN108614704B (zh) | 代码编译方法及装置 | |
CN115470141A (zh) | 一种故障模拟方法、装置及相关设备 | |
CN110058876B (zh) | 扩展wireshark软件兼容性的方法、装置、服务器及存储介质 | |
CN111414194B (zh) | 一种接口信息生成方法、系统、电子设备及存储介质 | |
CN114385493A (zh) | 一种性能测试方法、装置、电子设备及存储介质 | |
CN112631599A (zh) | 编译方法、装置和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |