CN112306539A - 一种单片机应用层开发方法、系统、终端及介质 - Google Patents
一种单片机应用层开发方法、系统、终端及介质 Download PDFInfo
- Publication number
- CN112306539A CN112306539A CN202011224309.0A CN202011224309A CN112306539A CN 112306539 A CN112306539 A CN 112306539A CN 202011224309 A CN202011224309 A CN 202011224309A CN 112306539 A CN112306539 A CN 112306539A
- Authority
- CN
- China
- Prior art keywords
- firmware
- layer
- application layer
- function
- application
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种单片机应用层开发方法、系统、终端及介质,解决了现有传感器开发重复、繁琐、接口不统一,导致开发周期长以及难以实现增量升级的问题,其技术方案要点是:按照单片机实现不同的功能代码、传感器驱动代码等,形成不同的代码模块或代码组件;根据用户的开发需求,将相应的代码模块或组件添加到固件层;根据用户对函数接口的需求,从固件工程中提取函数接口,并将函数接口的地址存储在FLASH固定地址;应用层工程通过固定地址定位到函数接口地址,以实现对固件层工程中的函数调用。能够满足硬件终端快速编程、增量升级的需求,降低了开发者的开发周期、企业开发成本,以及降低了入门门槛和以及企业的升级成本、硬件资源。
Description
技术领域
本发明涉及单边机开发技术领域,更具体地说,它涉及一种单片机应用层开发方法、系统、终端及介质。
背景技术
随着物联网技术和单片机技术的快速发展,智能终端数量和种类快速增长,已成为万物互联世界的核心,产品的开发周期越来越短。目前,智能终端设备的开发过程繁杂,尤其是驱动程序的编写,有些传感器寄存器众多,出现了开发周期长、问题多、硬件升级占用资源较多等问题,不能很好地满足物联网技术快速发展的需要。因此,对单片机开发技术进一步研究是我们目前急需解决的问题。
发明内容
为解决现有传感器开发重复、繁琐、接口不统一,导致开发周期长以及难以实现增量升级的问题,本发明的目的是提供一种单片机应用层开发方法、系统、终端及介质。
本发明的上述技术目的是通过以下技术方案得以实现的:
第一方面,提供了一种单片机应用层开发方法,包括以下步骤:
将单片机开发所需的底层代码模块化分类后形成不同的代码模块,创建由多个代码模块组成的代码库;
根据输入的固件参数加载并保存相应的代码模块后形成由固件工程组成的固件层;
根据输入的应用参数加载并保存相应的代码模块后形成至少一个由应用工程组成的应用层;
根据应用层与固定层的调用关系获取相应的固件工程中布置的API函数接口,以实现应用层通过API函数接口对固件层中函数的调用;
将固件层有序下载到MCU内FLASH存储空间的固件存储空间块,以及将应用层有序下载到MCU内FLASH存储空间的应用存储空间块进行存储。
优选的,所述API函数接口布置具体为:在固件层的启动文件中,通过汇编语言为所有固件工程的函数分配连续的4字节对齐空间,4字节对齐空间存储对应API函数接口的函数地址;在启动文件中的中断函数向量表的末尾有序添加固件工程的函数名,通过在中断函数结尾有序添加对应的函数接口以实现动态添加函数。
优选的,在固件层中,通过将应用层所需函数的函数地址存储在FLASH固定位置为应用层提供API函数接口;在应用层中,通过申明函数指针结构体以及创建函数指针结构体变量,将该变量指向固件层中函数地址的存储位置,应用层以函数地址的形式实现对固件层函数的调用,同时在应用层中按照固件工程的形式创建应用层的入口函数Appmain()和重定向函数FirmwareInit()。
优选的,所述函数指针结构体成员由应用层所需的全部函数地址指针组成;
在正常进入到应用层APPMian函数之前,固件层调用FirmwareInit函数将应用层的代码进行重定向,为应用层的正常运行创建相应的运行环境,具体为:
将FLASH中的RW段拷贝到RAM的RW段运行地址上以及将RAM中的ZI段清零进行重定向;固件层调用应用层的重定向函数实现重定向。
优选的,将固件层中的结构体定义、申明以及宏定义添加到应用层中相应的头文件中以实现一般函数的形参、实参、返回值使用,并且确定固件层和应用层的结构体定义、申明以及宏定义完全一致。
优选的,所述固件层、应用层中添加相应的分散加载文件,分散加载文件用于配置对应的固件层、应用层中编译后的二进制代码在单片机FLASH中的存储信息和RAM运行空间信息。
优选的,还包括创建由uvprojx文件和uvmpw文件组成的keil5工程文件;
uvprojx文件通过XML语法,将用到的源代码文件、路径、名称、类型等信息添加到工程中,同时还保存有单片机相关的配置信息;
uvmpw文件主要实现应用层和固件层的管理,主要记录uvprojx文件中工程的名称和路径等信息。
第二方面,提供了一种单片机开发系统,包括:
代码库模块,用于将单片机开发所需的底层代码模块化分类后形成不同的代码模块,创建由多个代码模块组成的代码库;
固件层生成模块,用于根据输入的固件参数加载并保存相应的代码模块后形成由固件工程组成的固件层;
应用层生成模块,用于根据输入的应用参数加载并保存相应的代码模块后形成至少一个由应用工程组成的应用层;
工程关联模块,用于根据应用层与固定层的调用关系获取相应的固件工程中布置的API函数接口,以实现应用层通过API函数接口对固件层中函数的调用;
下载模块,用于将固件层有序下载到MCU内FLASH存储空间的固件存储空间块,以及将应用层有序下载到MCU内FLASH存储空间的应用存储空间块进行存储。
第三方面,提供了一种计算机终端,包含存储器、处理器及存储在存储器并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面中任意一项所述的一种单片机应用层开发方法。
第四方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行可实现如第一方面中任意一项所述的一种单片机应用层开发方法。
与现有技术相比,本发明具有以下有益效果:
1、可以满足硬件终端快速编程和增量升级的需求,通过本发明只需要选择相应的单片机型号、传感器、单片机等硬件,即可直接生成固件层和应用层开发工程;同时固件层代码通过生成API接口,用于应用层调用,这样大大降低了开发者的开发周期、企业开发成本,降低了入门门槛和以及企业的升级成本、硬件资源;
2、采用新的编译技术实现应用层和固件层编译后的代码的隔离,即使更换硬件也几乎不需要修改应用层代码,只需要通过重新选择单片机、传感器等资源;
3、可以对硬件终端直接实现增量升级,相比于现在的差分升级具有非常大的优势,通过我们增量升级技术能给只需将修改的部分代码经过编译之后就能下载到终端设备,而无需将全部代码下载到终端,相比于全量升级,其增量升级代码量相比于全量升级,节约的数据量将缩小80%以上,能提高升级时通信的稳定性、降低通信成本和数据量、降低硬件的存储成本等。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1中的流程图;
图2是本发明实施例2中的功能框图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图1-2及实施例1-2,对本发明进行进一步详细说明。
实施例:一种单片机应用层开发方法,如图1所示,包括以下步骤:
步骤一、代码库构建
由于不同的单片机有不同的外设,例如ADC、定时器、中断、SPI、I2C、USB,例如:ADC、定时器、中断、SPI、I2C、USB等,以及不同的传感器驱动代码、操作系统代码、文件系统等。将单片机开发所需的底层代码模块化分类后形成不同的代码模块,创建由多个代码模块组成的代码库。
以一个LCD显示屏传感器的例子进行说明,其余外设和传感器的方法类似。准备一个LCD的驱动程序,由于这部分作为一个嵌入式开发者,是很容易获得的,一般购买模块就会提供相应的驱动程序。将LCD程序移植到一个空的工程中,得到一个LCD显示的工程。只需要在工程中初始化相应的外设和LCD就可以正常使用LCD模块了。
步骤二、固件层生成
在LCD驱动程序的头文件中可以看到相应的函数申明,而这些函数只能在目前的工程中使用,不能在应用层中使用,因此需要在固件工程中创建对外函数接口。根据输入的固件参数加载并保存相应的代码模块后形成由固件工程组成的固件层。
步骤三、应用层生成
根据输入的应用参数加载并保存相应的代码模块后形成至少一个由应用工程组成的应用层。
步骤四、工程关联
在每个固件工程中布置相应的API函数接口,以实现应用层通过API函数接口对固件层中函数的调用。
步骤五、工程下载
将固件层有序下载到MCU内FLASH存储空间的固件存储空间块,以及将应用层有序下载到MCU内FLASH存储空间的应用存储空间块进行存储。
在步骤四中,API函数接口布置具体为:在固件层的启动文件中,通过汇编语言为所有固件工程的函数分配连续的4字节对齐空间,4字节对齐空间存储对应API函数接口的函数地址;在启动文件中的中断函数向量表的末尾有序添加固件工程的函数名,通过在中断函数结尾有序添加对应的函数接口以实现动态添加函数。以LCD程序的2个函数进行举例说明:LCD初始化函数:void LCD_Init(void);字符串显示函数:void LCD_ShowString(u16x,u16 y,u16width,u16 height,u8 size,u8*p。通过DCD、EXPORT指令将这2个函数将函数地址存储到FLASH固定位置,若有其它外设和传感器的函数,只需要按照顺序将函数名按照以上格式排列即可。
在步骤四、五中,所述固件层、应用层中添加相应的分散加载文件,分散加载文件用于配置对应的固件层、应用层中编译后的二进制代码在单片机FLASH中的存储信息和RAM运行空间信息。其分散加载内容如下:LR_IROM1 0x080000000x10000;ER_IROM10x08000000 0x10000;RW_IRAM1 0x20002000 0xC000;其中0x08000000表示代码存储在单片机FLASH的起始地址,0x10000表示为该工程分配ROM空间的大小,这里2部分就表示为该工程分配的FLASH存储空间为0x08000000-0x08010000,共64k字节的空间。0x20002000表示代码程序运行时,单片机RAM的起始地址,0xC000表示为该工程分配RAM空间的大小,这里2部分就表示为该工程分配的RAM存储空间为0x20002000-0x2000c000,共40k字节的空间。
在步骤四、五中,在固件层工程中,通过将应用层会用到的函数的函数地址存储在FLASH固定的位置的形式,为应用层提供API函数接口;在应用层工程中,通过申明函数指针结构体,以及创建函数指针结构体变量,将该变量指向固件层工程中函数地址的存储位置,应用层以函数地址的形式实现对固件层函数的调用。
以LCD为例,在应用层中新建一个LCD.h文件,函数表依旧采用函数指针结构体的形式,列出LCD的全部函数,同时进行了对指针结构体宏定义,保证可以以普通函数名的形式调用固件层的函数,也可以不进行宏定义,那么需要通过指针的形式调用函数,但是需要保证结构体成员名称的顺序与启动文件中的顺序完全一致。
由于本身中断函数向量表占用了部分位置,因此需要进行适当的偏移,偏移计算方式是计算在启动文件中的中断向量表一共使用了多少个DCD指令来分配了4字节空间数量。假设DCD为76个,那么对应偏移量为76×4=304,转换为十六进制数为0x130,那么偏移地址就是0x08000000+0x130=0x08000130。
因此函数指针结构体变量初始化为:#define LCD_ADDR 0x08000130;LCD_Msg*LCD=(LCD_Msg*)(LCD_ADDR)。最后就可以通过函数名调用LCD的接口,例如:LCD_ShowString(0,32,48,16,16,"Humi:");LCD_ShowNum(48,32,Humi,3,16)。其余函数采用类似的方法实现。
若有像串口可能需要用到全局变量,那么可以将变量封装成函数进行数据的读取,或者通过类似函数接口设计的方法进行设计,不过与函数的设计有些许变化,主要变化如下:
还是通过4字节对齐的方式,在固件层中申请一片空间来存储变量的地址,但是不申明成弱函数类型,而是将变量名标签采用IMPORT指令导入工程中。在应用层的函数表中,格式也需要变化,例如下面的代码使用了一个类型为CMD_DateTypeDef的结构体变量CMD_Value和uint16_t类型的变量ReadIndex。
函数指针结构体由FirmwareInit、Appmain两个函数地址指针成员组成,FirmwareInit表示重定向函数,Appmain表示应用层入口函数,Appmain相当于普通工程的main()函数;启动文件中AREA指令后的APP1,表示段名,这里是用于在FLASH中定义一个新的段,段名为APP1,用于与分散加载文件关联,实现将该工程编译后的代码存储到FLASH指定地址段中。
在正常进入到应用层APPMian函数之前,将应用层的代码进行重定向,为应用层的正常运行创建相应的运行环境,具体为:将FLASH中的RW段拷贝到RAM的RW段运行地址上以及将RAM中的ZI段清零进行重定向;固件层调用应用层的重定向函数实现重定向。
由于一般函数的形参、实参、返回值可能会用到结构体或宏定义等,因此需要将结构体定义、申明以及宏定义添加到应用层中相应的头文件中以实现一般函数的形参、实参、返回值使用。
该方法还包括创建由uvprojx文件和uvmpw文件组成的keil5工程文件。uvprojx文件通过XML语法,将用到的源代码文件、路径、名称、类型等信息添加到工程中,同时还保存有单片机相关的配置信息。uvmpw文件主要实现应用层和固件层的管理,主要记录uvprojx文件中工程的名称和路径等信息。
实施例2:一种单片机开发系统,如图2所示,包括:
代码库模块,用于将单片机开发所需的底层代码模块化分类后形成不同的代码模块,创建由多个代码模块组成的代码库。
固件层生成模块,用于根据输入的固件参数加载并保存相应的代码模块后形成由固件工程组成的固件层。
应用层生成模块,用于根据输入的应用参数加载并保存相应的代码模块后形成至少一个由应用工程组成的应用层。
工程关联模块,用于根据应用层与固定层的调用关系获取相应的固件工程中布置的API函数接口,以实现应用层通过API函数接口对固件层中函数的调用。在每个应用层工程中需要一个重定向函数,在固件层中调用该函数,将应用层FLASH中的RW拷贝到RAM的RW段和FLASH中的RO拷贝到RAM的RO段并清零。
下载模块,用于将固件层有序下载到MCU内FLASH存储空间的固件存储空间块,以及将应用层有序下载到MCU内FLASH存储空间的应用存储空间块进行存储。
本发明创新性的将多工程独立编译技术应用到应用层开发中,解决了目前由于低成本硬件资源有限、无内存管理单元(MMU)而无法实现动态内存加载导致应用层开发主要只能在Windows、MacOS、Linux等系统上的应用的问题。降低了开发者的开发周期、难度以及开发成本等。
应用层开发主要是为用户产生固件层和应用层,其中固件层主要包含与硬件有关的代码,例如内核程序、HAL库程序、外设程序、传感器程序,由于设备在后期投入使用之后,硬件是不会改变的,因此可以将这些占比最大的程序提前下载到设备当中。同时固件层还为应用层提供了所需要用到的API函数接口,用户通过该函数接口就可以实现对硬件的控制。比如当我们想使用WIFI模块将数据上传到服务区,那么我们只需要初始化连接路由器和连接服务器,然后通过数据发送API函数接口,在应用层中仅仅只需2个API函数接口就可实现将数据上传到服务区的功能,大大降低了开发者的开发周期和难度。这样开发者可以更加专注于功能的开发。
由于所有的底层代码都由我们的工具提前完成了开发,并保证了系统的稳定性,因此后期开发者需要更换MCU平台,由于应用层采用了与硬件无关的开发方式,因此只需要重新选择硬件平台,通过我们的工具将直接生成固件工程,开发者只要保证使用的传感器一致,或者简单的修改应用层代码,就可实现更换MCU平台的目的。提高了产品的开发效率。
本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。
Claims (10)
1.一种单片机应用层开发方法,其特征是,包括以下步骤:
将单片机开发所需的底层代码模块化分类后形成不同的代码模块,创建由多个代码模块组成的代码库;
根据输入的固件参数加载并保存相应的代码模块后形成由固件工程组成的固件层;
根据输入的应用参数加载并保存相应的代码模块后形成至少一个由应用工程组成的应用层;
根据应用层与固定层的调用关系获取相应的固件工程中布置的API函数接口,以实现应用层通过API函数接口对固件层中函数的调用;
将固件层有序下载到MCU内FLASH存储空间的固件存储空间块,以及将应用层有序下载到MCU内FLASH存储空间的应用存储空间块进行存储。
2.根据权利要求1所述的一种单片机应用层开发方法,其特征是,所述API函数接口布置具体为:在固件层的启动文件中,通过汇编语言为所有固件工程的函数分配连续的4字节对齐空间,4字节对齐空间存储对应API函数接口的函数地址;在启动文件中的中断函数向量表的末尾有序添加固件工程的函数名,通过在中断函数结尾有序添加对应的函数接口以实现动态添加函数。
3.根据权利要求1所述的一种单片机应用层开发方法,其特征是,在固件层中,通过将应用层所需函数的函数地址存储在FLASH固定位置为应用层提供API函数接口;在应用层中,通过申明函数指针结构体以及创建函数指针结构体变量,将该变量指向固件层中函数地址的存储位置,应用层以函数地址的形式实现对固件层函数的调用,同时在应用层中按照固件工程的形式创建应用层的入口函数Appmain()和重定向函数FirmwareInit()。
4.根据权利要求3所述的一种单片机应用层开发方法,其特征是,所述函数指针结构体成员由应用层所需的全部函数地址指针组成;
在正常进入到应用层APPMian函数之前,固件层调用FirmwareInit函数将应用层的代码进行重定向,为应用层的正常运行创建相应的运行环境,具体为:
将FLASH中的RW段拷贝到RAM的RW段运行地址上以及将RAM中的ZI段清零进行重定向;固件层调用应用层的重定向函数实现重定向。
5.根据权利要求3所述的一种单片机应用层开发方法,其特征是,将固件层中的结构体定义、申明以及宏定义添加到应用层中相应的头文件中以实现一般函数的形参、实参、返回值使用,并且确定固件层和应用层的结构体定义、申明以及宏定义完全一致。
6.根据权利要求1所述的一种单片机应用层开发方法,其特征是,所述固件层、应用层中添加相应的分散加载文件,分散加载文件用于配置对应的固件层、应用层中编译后的二进制代码在单片机FLASH中的存储信息和RAM运行空间信息。
7.根据权利要求1所述的一种单片机应用层开发方法,其特征是,还包括创建由uvprojx文件和uvmpw文件组成的keil5工程文件;
uvprojx文件通过XML语法,将用到的源代码文件、路径、名称、类型等信息添加到工程中,同时还保存有单片机相关的配置信息;
uvmpw文件主要实现应用层和固件层的管理,主要记录uvprojx文件中工程的名称和路径等信息。
8.一种单片机应用层开发系统,其特征是,包括:
代码库模块,用于将单片机开发所需的底层代码模块化分类后形成不同的代码模块,创建由多个代码模块组成的代码库;
固件层生成模块,用于根据输入的固件参数加载并保存相应的代码模块后形成由固件工程组成的固件层;
应用层生成模块,用于根据输入的应用参数加载并保存相应的代码模块后形成至少一个由应用工程组成的应用层;
工程关联模块,用于根据应用层与固定层的调用关系获取相应的固件工程中布置的API函数接口,以实现应用层通过API函数接口对固件层中函数的调用;
下载模块,用于将固件层有序下载到MCU内FLASH存储空间的固件存储空间块,以及将应用层有序下载到MCU内FLASH存储空间的应用存储空间块进行存储。
9.一种计算机终端,包含存储器、处理器及存储在存储器并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1-7中任意一项所述的一种单片机应用层开发方法。
10.一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行可实现如权利要求1-7中任意一项所述的一种单片机应用层开发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011224309.0A CN112306539B (zh) | 2020-11-05 | 2020-11-05 | 一种单片机应用层开发方法、系统、终端及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011224309.0A CN112306539B (zh) | 2020-11-05 | 2020-11-05 | 一种单片机应用层开发方法、系统、终端及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112306539A true CN112306539A (zh) | 2021-02-02 |
CN112306539B CN112306539B (zh) | 2023-08-01 |
Family
ID=74325129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011224309.0A Active CN112306539B (zh) | 2020-11-05 | 2020-11-05 | 一种单片机应用层开发方法、系统、终端及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112306539B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116483397A (zh) * | 2023-06-25 | 2023-07-25 | 中储粮成都储藏研究院有限公司 | 单片机的固件切换方法及装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070215706A1 (en) * | 2003-11-13 | 2007-09-20 | Metrologic Instruments, Inc. | Digital image capture and processing system employing multi-layer software-based system architecture permitting modification and/or extension of system features and functions by way of third party code plug-ins |
KR20080039080A (ko) * | 2006-10-31 | 2008-05-07 | 에스케이 텔레콤주식회사 | 이종언어편집 라이브러리의 인터페이스 기능이 구비된단말장비, api호출방법 및 컴파일함수생성방법 |
CN101645745A (zh) * | 2009-08-19 | 2010-02-10 | 厦门敏讯信息技术股份有限公司 | 综测仪控制设备及测试方法 |
US20140149615A1 (en) * | 2012-11-28 | 2014-05-29 | Francois Fosse | Connecting multiple slave devices to a single master |
CN106909400A (zh) * | 2015-12-22 | 2017-06-30 | 中电科技(北京)有限公司 | 一种基于笔记本计算机的uefi固件实现方法 |
WO2017153796A1 (en) * | 2016-03-11 | 2017-09-14 | Intel Corporation | Technologies for indirectly calling vector functions |
CN109814939A (zh) * | 2017-11-20 | 2019-05-28 | 华为技术有限公司 | 一种动态加载方法、目标文件的制作方法及装置 |
CN110377523A (zh) * | 2019-07-24 | 2019-10-25 | 网易(杭州)网络有限公司 | 程序调试方法及装置、电子设备和存储介质 |
CN110569040A (zh) * | 2019-09-17 | 2019-12-13 | 深圳市优创亿科技有限公司 | 一种在嵌入式系统内安装、运行应用程序的方法 |
CN111552503A (zh) * | 2020-05-12 | 2020-08-18 | 重庆科技学院 | 工程文件处理方法、装置、计算机设备及存储介质 |
CN111580850A (zh) * | 2020-05-12 | 2020-08-25 | 重庆科技学院 | 增量升级方法、装置、计算机设备及存储介质 |
-
2020
- 2020-11-05 CN CN202011224309.0A patent/CN112306539B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070215706A1 (en) * | 2003-11-13 | 2007-09-20 | Metrologic Instruments, Inc. | Digital image capture and processing system employing multi-layer software-based system architecture permitting modification and/or extension of system features and functions by way of third party code plug-ins |
KR20080039080A (ko) * | 2006-10-31 | 2008-05-07 | 에스케이 텔레콤주식회사 | 이종언어편집 라이브러리의 인터페이스 기능이 구비된단말장비, api호출방법 및 컴파일함수생성방법 |
CN101645745A (zh) * | 2009-08-19 | 2010-02-10 | 厦门敏讯信息技术股份有限公司 | 综测仪控制设备及测试方法 |
US20140149615A1 (en) * | 2012-11-28 | 2014-05-29 | Francois Fosse | Connecting multiple slave devices to a single master |
CN106909400A (zh) * | 2015-12-22 | 2017-06-30 | 中电科技(北京)有限公司 | 一种基于笔记本计算机的uefi固件实现方法 |
WO2017153796A1 (en) * | 2016-03-11 | 2017-09-14 | Intel Corporation | Technologies for indirectly calling vector functions |
CN109814939A (zh) * | 2017-11-20 | 2019-05-28 | 华为技术有限公司 | 一种动态加载方法、目标文件的制作方法及装置 |
CN110377523A (zh) * | 2019-07-24 | 2019-10-25 | 网易(杭州)网络有限公司 | 程序调试方法及装置、电子设备和存储介质 |
CN110569040A (zh) * | 2019-09-17 | 2019-12-13 | 深圳市优创亿科技有限公司 | 一种在嵌入式系统内安装、运行应用程序的方法 |
CN111552503A (zh) * | 2020-05-12 | 2020-08-18 | 重庆科技学院 | 工程文件处理方法、装置、计算机设备及存储介质 |
CN111580850A (zh) * | 2020-05-12 | 2020-08-25 | 重庆科技学院 | 增量升级方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
杜楠: "基于单片机的AGC控制系统软件设计与开发", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116483397A (zh) * | 2023-06-25 | 2023-07-25 | 中储粮成都储藏研究院有限公司 | 单片机的固件切换方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112306539B (zh) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109976761B (zh) | 软件开发工具包的生成方法、装置及终端设备 | |
US7761701B2 (en) | Component firmware integration in distributed systems | |
US10949171B1 (en) | Tools, mechanisms, and processes for transforming modules for an application into pluggable modules | |
US20080301638A1 (en) | Method and Apparatus for a System Management Tool to Adapt Command Interface and Behavior Based on Installed Features | |
CN111880801A (zh) | 应用程序动态化方法、装置、电子设备 | |
CN113312046A (zh) | 子应用页面处理方法、装置和计算机设备 | |
Stilkerich et al. | Tailor‐made JVMs for statically configured embedded systems | |
US10452364B2 (en) | Method and system for preparing code to be executed by programmable control devices | |
CN115686511A (zh) | 基于跨平台语言的跨平台软件开发方法及装置 | |
CN112818176B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN112306539B (zh) | 一种单片机应用层开发方法、系统、终端及介质 | |
CN109558121A (zh) | 接口驱动程序的开发方法、装置、设备及存储介质 | |
CN106775916B (zh) | 减小应用安装包的方法、装置及电子设备 | |
CN114721647B (zh) | 一种基于无代码应用开发的面向对象编程方法 | |
RU2554509C2 (ru) | Система и способ распределенных вычислений | |
CN115390846A (zh) | 编译构建方法、装置、电子设备和存储介质 | |
US20210182041A1 (en) | Method and apparatus for enabling autonomous acceleration of dataflow ai applications | |
US20220261238A1 (en) | Method and system for deploying third-party application to microcontroller by means of edge assistance | |
CN110333870B (zh) | Simulink模型变量分配的处理方法、装置及设备 | |
Navas et al. | A component-based run-time evolution infrastructure for resource-constrained embedded systems | |
JP3051438B2 (ja) | 拡張グラフィック機能を与える方法 | |
Bouraqadi-Saâdani et al. | A reflective infrastructure for coarse-grained strong mobility and its tool-based implementation | |
US8135943B1 (en) | Method, apparatus, and computer-readable medium for generating a dispatching function | |
US11520597B2 (en) | Operating system architecture for microkernel generations support | |
CN117389567A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |