CN106598647B - Intelligent device development platform - Google Patents

Intelligent device development platform Download PDF

Info

Publication number
CN106598647B
CN106598647B CN201611035872.7A CN201611035872A CN106598647B CN 106598647 B CN106598647 B CN 106598647B CN 201611035872 A CN201611035872 A CN 201611035872A CN 106598647 B CN106598647 B CN 106598647B
Authority
CN
China
Prior art keywords
module
platform
function
application module
interface
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.)
Active
Application number
CN201611035872.7A
Other languages
Chinese (zh)
Other versions
CN106598647A (en
Inventor
应站煌
陈玉峰
段太钢
王旭宁
胡建斌
汪强
方正
王龙洋
徐涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
Xuji Group Co Ltd
XJ Electric Co Ltd
Xuchang XJ Software Technology Co Ltd
Original Assignee
State Grid Corp of China SGCC
Xuji Group Co Ltd
XJ Electric Co Ltd
Xuchang XJ Software Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, Xuji Group Co Ltd, XJ Electric Co Ltd, Xuchang XJ Software Technology Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201611035872.7A priority Critical patent/CN106598647B/en
Publication of CN106598647A publication Critical patent/CN106598647A/en
Application granted granted Critical
Publication of CN106598647B publication Critical patent/CN106598647B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Abstract

The invention relates to an intelligent device development platform, and belongs to the technical field of industrial control. The invention adopts the design idea of platform sub-modules, which comprises a platform module and an application module, wherein the platform module comprises a cyclic service processing start/end sub-module and an external interface resource sub-module; the application module comprises a cyclic service processing submodule; the platform module and the application module are mutually called to realize the whole function of the platform. According to the invention, the platform module and the application module are isolated through the design of the platform sub-modules and the control of the calling relation among the modules, the platform and the application are independently compiled and upgraded, the problem of the coupling of the application module and the platform module is reduced under the condition of small resource amount, the portability of the common module function in the application module and the hardware customization capability of the application module are improved, and the applicability of the development platform is improved.

Description

Intelligent device development platform
Technical Field
The invention relates to an intelligent device development platform, and belongs to the technical field of industrial control.
Background
In the existing intelligent device based on ARM Cortex-M4 architecture, a service function module and a hardware drive module in a device program are closely combined together, sampling data of the service function module and control outlet drive are all completed by directly calling a related device drive interface, the service function module is highly coupled with the hardware drive module, any one of small adjustments of the service function module and the drive module can cause the program of the whole device to need to be recompiled and downloaded, and the program development mode of the device can not meet the requirements of the market on the product development progress and the requirements of enterprises on product quality control.
In the field of industrial control devices, a device driver layer and a service function module are mixed and compiled to generate, any small change of the driver layer and the service function is carried out, and the whole program of the control device is recompiled and generated. The method has the following defects: the hardware driving layer can not be reused by other devices under the same framework ARM processor, and the portability of the reusable functional module in the service module is low, so that the product development efficiency and the product quality control are not favorably improved.
The patent document with the application number of CN201310063525.5 provides an embedded industrial control instrument software development platform, which comprises a hardware driving layer, a system platform scheduling layer, a product application layer and a product customization layer, wherein the hardware driving layer and the system platform scheduling layer form a platform core layer, and the product application layer and the product customization layer form a product layer; the hardware driving layer comprises driving codes of related hardware modules of the industrial control instrument, the system platform scheduling layer comprises codes of a basic scheduling management function of an embedded operating system and a basic processing function of the industrial control instrument, the product application layer comprises related public codes of different products of the industrial control instrument, and the product customizing layer comprises various customizing codes aiming at different specific products; and codes of the hardware driving layer and the system platform scheduling layer are compiled and encapsulated into LIB library files for calling codes of the product application layer and the product customization layer. Codes of a hardware driving layer and a system platform scheduling layer in the platform module are compiled and packaged into an LIB library file, but the problem of mixed storage of a driving and system platform machine instruction and an application function module machine instruction cannot be solved, any modification of a platform core layer requires a product application layer to be recompiled and linked to generate a new target object, and the platform and the application module cannot be independently compiled, managed and upgraded.
For the problem that the coupling degree of the hardware driving layer and the scheduling layer of the system platform is high, the hardware driving layer and the scheduling layer of the system platform can be reduced by adopting the mode of the existing operating system, although the independence between modules is strong in the existing operating system, more resources are needed, and the mode cannot be adopted for the system with fewer resources, so that a development platform is needed, the coupling degree of the hardware driving layer and the scheduling layer of the system platform can be reduced, and the limitation of small resource quantity can be met.
Disclosure of Invention
The invention aims to provide an intelligent device development platform, which aims to reduce the coupling degree of a hardware driving layer and a system platform layer under the condition of small resource quantity.
The invention provides an intelligent device development platform for solving the technical problems, which comprises a platform module and an application module, wherein the platform module comprises a cyclic service processing start/end sub-module and an external interface resource sub-module; the application module comprises a cyclic service processing submodule; the platform module and the application module are mutually called to realize the integral function of the platform;
the platform module and the application module are matched to complete service processing: the platform module carries out cycle service processing through a cycle service processing starting sub-module, calls a sub-cycle service processing module in the application module, the sub-cycle service processing module in the application module finishes processing, the sub-cycle service processing module in the application module calls a platform module external interface resource sub-module to provide a corresponding hardware interface for data receiving or sending when processing, after the data receiving or sending is finished, the sub-cycle service processing module returns to the application module, and returns to a cycle service processing finishing sub-module in the platform module through the application module after the service processing is finished, and the calling of the application module is finished.
Furthermore, the platform module and the application module occupy different memory spaces during compiling.
Further, the implementation of the calling relationship between the platform module and the calling module comprises the following steps:
1) presetting the interface form and definition of a calling module;
2) the called module is to perform the following processing on the called function: defining a data structure, wherein the members of the data structure are function pointers, and the types of the members are strictly consistent with the format of the called function; defining a constant variable, wherein a constant variable internal function pointer points to each called function; the address of the constant variable is stored in a certain data in the global special data area, and the relative position of the special data area and the certain data position relative to the initial position of the module program is fixed and known in advance by the calling module;
3) when the calling module calls the available interface of the called module, specific data in the special data area of the called module, namely the pointer of the data structure where the called function pointer is located, is obtained, further the pointer of the member function of the called structure body is obtained, the specific function execution body is accessed, and the function cross-module calling is realized.
Further, the platform also comprises a guiding module, the guiding module is used for completing the upgrade of the platform module and the application module, and the business process of the guiding module is as follows:
(1) after the system is started, initializing a system clock module, initializing an upgrade medium hardware drive and initializing a communication protocol required by an upgrade function;
(2) after initialization is finished, calculating a check code according to key information in the last bytes of the comparison platform module code storage area, comparing the check code with an original check code, and if the check code is consistent with the original check code, directly entering a platform module entry function address for execution;
(3) if not, entering an upgrading module under the platform upgrading control command, processing related services and finishing upgrading the platform module or the application module;
(4) and after the upgrade data of the last frame is received, storing the key information.
Further, if the upgrade object is the platform module, the key information is written into the last bytes of the platform module, and if the upgrade object is the application module, the key information is written into the last bytes of the application module.
Further, the key information includes a ROM area start address, an end address, an area size, and a CRC code of the module.
Furthermore, the platform module further comprises a hardware initialization sub-module, the application module further comprises an initialization sub-module, and the platform module and the application module cooperate to complete an initialization function.
Further, the steps of upgrading the platform module are as follows:
A. downloading the platform module target program into the device, and updating all data in the platform module area;
B. the device starts at the guide module and skips to the platform module entrance address when the platform information is effective;
C. when the application module calls the platform module interface to process the service, acquiring the relative offset of the called interface relative to the data structure of the interface function pointer by predefining the data structure and the members;
D. the application module obtains the content in the constant variable address of the platform module interface data structure, and obtains the ROM address storing the called interface function pointer according to the content and the called interface relative offset, and the obtained content in the address is the called function pointer;
E. and the application module transfers parameters and calls a corresponding function interface to process related data or related hardware operation according to the acquired function pointer.
Further, the application module upgrading steps are as follows:
a. downloading an application module target program into the device, and updating all data in the application module area;
b. the device starts at the guide module and skips to the platform module entrance address when the platform information is effective;
c. when the platform module calls an application module interface to process services, acquiring the relative offset of the called interface, which is equivalent to the data structure of an interface function pointer, by predefining the data structure and members;
d. the platform module acquires the content in the constant variable address of the interface data structure of the application module, and obtains a ROM address for storing a function pointer of a called interface according to the content and the relative offset of the called interface, wherein the acquired content in the address is the called function pointer;
e. and the platform module transfers parameters and calls a corresponding function interface to process related data or related hardware operation according to the acquired function pointer.
Further, the platform module determines whether to load the functional module in the application module according to the validity of the key information of the application module, and if so, jumps to the mapping entry address of the application module for execution, and returns to the platform module after execution.
The invention adopts the design idea of platform sub-modules, comprising a platform module and an application module, wherein the platform module comprises a circular service processing start/end sub-module and an external interface resource sub-module; the application module comprises a cyclic service processing submodule; the platform module and the application module are mutually called to realize the whole function of the platform. According to the invention, the platform module and the application module are isolated through the design of the platform sub-modules and the control of the calling relation among the modules, the platform and the application are independently compiled and upgraded, the problem of the coupling of the application module and the platform module is reduced under the condition of small resource amount, the portability of the common module function in the application module and the hardware customization capability of the application module are improved, and the applicability of the development platform is improved.
Drawings
FIG. 1 is a schematic diagram of a current embedded industrial control instrument software development platform framework;
FIG. 2 is a schematic diagram of the smart device development platform framework of the present invention;
FIG. 3 is a logic diagram of the implementation of the calling relationship of different modules;
FIG. 4 is a logic diagram of a business process in an embodiment of the invention.
Detailed Description
The following further describes embodiments of the present invention with reference to the drawings.
The intelligent device development platform comprises 2 independent modules including a platform module and an application module, wherein the modules are software including a series of processes and can realize corresponding functions by executing corresponding program instructions, and the platform module comprises a cyclic service processing start/end sub-module and an external interface resource sub-module; the application module comprises a cyclic service processing submodule; the platform module and the application module are mutually called to realize the integral function of the platform; the platform module and the application module are matched to complete service processing: the platform module starts to carry out cycle service processing through a cycle service processing starting sub-module, calls a sub-cycle service processing module in the application module, the sub-cycle service processing module in the application module finishes processing, calls a corresponding hardware interface provided by a platform module external interface resource sub-module to carry out data receiving and/or sending when the sub-cycle service processing module in the application module carries out processing, returns to the application module after the data receiving and/or sending is finished, returns to a cycle service processing finishing sub-module in the platform module through the application module, and finishes calling the application module.
Specifically, the intelligent device development platform is based on ARM Cortex-M4, the hardware is an embedded microprocessor which is based on a configurable hardware module and reusable ports, and the selection of the hardware module can be realized by a user through system configuration. The development platform of the intelligent device based on the ARM Cortex-M4 architecture in the invention is shown in fig. 2 and comprises a guide module, a platform module and an application module.
The guide module is used for completing the upgrading function of the platform module and the application module. In particular to a communication protocol required for finishing the initialization of a system clock module, the initialization of an upgrade medium hardware drive and the upgrade function. The communication medium CAN select serial port, Ethernet, USB and CAN related hardware, and the guide module also has the function of switching control to the platform module. The platform module is used for scheduling the system platform and providing a related data access interface of a related system layer so as to establish a platform module operation mechanism. The hardware port in the hardware drive provides corresponding configuration data by an application module, and completes the configuration function of the system port when the application module calls initialization hardware provided by a platform module, the platform module stores an interface opened to the outside by structure data, and stores a data structure address to a platform module fixed address data area so as to facilitate the identification and calling of the application module. The hardware driver includes the following hardware: AD sampling module, IO module, RTC module, ethernet module, serial ports module, CAN module, SPI bus module, IIC bus module, USB, module, interrupt module, timer module, decide consumption dormancy module, watchdog module and button module etc.. The application module can also be called a user module and is used for establishing a basic user development framework, the user development framework comprises a platform module for calling basic functions of the application module, the basic functions can be called by a platform module running mechanism to run, and when the application module calls the related hardware interfaces, the platform module is called to provide the related hardware driving interfaces for hardware operation and control.
The platform module is provided with the following 3 basic function modules:
(1) basic hardware initialization sub-modules, such as a clock module, communication medium hardware for external control upgrading and related protocols.
(2) And a circular service processing start/end submodule. The circulation processing function module can be added with a universal service process, such as Ethernet related protocol process, to reduce the coding workload when the user module is developed, after the self circulation service module is processed, the circulation service processing starting sub-module obtains the circulation processing service interface in the user module through a special switching and calling mechanism, and returns to the platform module after the user service is processed.
(3) And an external interface resource submodule. The resources not only comprise hardware driving interface resources, but also comprise system scheduling task functions, such as task creation, suspension, recovery and other related operation interfaces based on an operating system, so as to enrich platform resources required by the user module for developing application.
The application module provides a framework structure developed by a user, and calls a resource interface provided by the platform module under the condition that the user follows the basic structure of the application module, and completes the application development task of the user according to the business logic requirement. The application module comprises the following 2 basic modules:
(1) the initialization sub-module comprises hardware customization and hardware initialization, and also comprises other functional modules which are required to be initialized and are needed by a user for service development, in the initialization sub-module, the user can realize hardware object initialization through hardware configuration definition, and obtain an effective hardware object after initialization, thereby laying a foundation for calling hardware operation for other services.
(2) And a circular service processing submodule. The continuous processing service required by the user can be realized in the module. No matter the initialization module or the circulation processing module, the platform library can be called at any time to provide a resource library interface so as to realize other business functions.
The platform module and the application module mutually call each other to provide an interface to realize the integral function of the platform. Fig. 3 is a diagram of implementing call relationship logic between a platform module and an application module, and the specific logic is as follows:
1) and presetting the interface form and definition of the calling module.
2) The called module processes the function which can be called as follows: firstly, defining a data structure, wherein the members of the data structure are function pointers, and the types of the members are strictly consistent with the format of a function which can be called; secondly, defining a constant variable, wherein a function pointer in the variable points to each called function; and thirdly, storing the address of the constant variable into one data in the global special data area, wherein the relative positions of the special data area and the data position relative to the program starting position of the module are fixed and known by the calling module in advance.
3) When the calling module calls the available interface of the called module, specific data in the special data area of the called module, namely the pointer of the data structure where the called function pointer is located, is obtained first, and then the pointer of the member function of the called structure body can be obtained, and then a specific function execution body is accessed, so that the calling of the function cross module is realized.
Before the calling module calls the called module interface, the called module stores the function pointer data structure pointer of the secondary development interface in a fixed ROM address when compiling, and allocates separate ROM space and RAM space for the calling module and the called module, and the fixed ROM address can be realized by adopting a module interrupt vector table and the like to store the pointer data structure pointer of the secondary development interface.
The platform module and the application module are independently upgraded and updated, and the specific steps are as follows:
(1) and the upper computer downloads the platform module/application module target program into the device through downloading software, and all data in the platform/application area are updated.
(2) The device is started at the guide module, judges the validity of the platform information through the switching function module, and jumps to the entry address of the platform module.
(3) And by predefining a data structure and members, acquiring the relative offset of the called interface relative to the data structure of the interface function pointer, and updating the interactive information of the platform module and the application module.
The application module obtains the content in the ROM address unit, obtains the ROM address storing the function pointer of the called interface according to the unit content and the relative offset of the called interface, and further obtains the content in the unit, namely the called function pointer; the platform module obtains the ROM address as the content in the unit, obtains the ROM address storing the function pointer of the called interface according to the unit content and the relative offset of the called interface, and further obtains the content in the unit, namely the called function pointer.
(4) And transferring the parameters and calling a function interface to process related data or related hardware operation.
As long as the offset of the application module/platform module calling function interface in the data structure and the fixed ROM address for storing the data structure pointer do not change, the updating of the platform/application module does not bring any influence on the application module calling interface processing service.
A specific service will be described as an example. In this embodiment, ethernet is selected as the upgrade function operating hardware, the Uart hardware is customized by the application module, and the Uart is used to process the user application service. In this embodiment, the address of a boot module program flash (rom) is 0x 000000-0 x00BFFF, and the corresponding ram address is a memory space address of 0x 20000000-0 x 20040000; the false address of the platform module program is 0x00C 000-0 x07FFFF, and the corresponding ram address is the memory space address of 0x 20000000-0 x2001 FFFF; the false address of the application module program is 0x 080000-0 x0FFFFF, and the corresponding ram address is a memory space address of 0x 20020000-0 x2003 FFFF.
The service processing flow of the guide module is as follows:
1) after the system is started, the system is initialized with a module all the time, Flash hardware and Ethernet hardware are initialized.
2) After hardware initialization is finished, according to the last several bytes of contents (several are byte numbers matched with storage key information) of the platform module code storage area, the information comprises a platform module starting address, an ending address, a data area length and a corresponding CRC code, and is compared with the original CRC code, if the result is consistent, the platform module entry function address is directly jumped to for execution.
3) And when the CRC is inconsistent or the platform upgrading control command is issued, entering an upgrading module to process related services.
4) Under the control of the upper computer and the TFTP protocol, the upgrading of the platform module or the application module is completed.
5) After the last frame of upgrading data is received, calculating CRC from the upgrading starting address, the upgrading ending address and the data length, and storing the starting address, the upgrading ending address, the data length and the CRC as key information.
The platform module and the application module have the service processes:
1) after entering the platform system, the system is initialized with the module, Flash and Ethernet hardware.
2) Acquiring an entry pointer of an initialization submodule in an application module, transmitting description and related parameters of a serial device when initializing the serial device (mkdev _ open), calling through a platform resource library to complete initialization of Uart, acquiring an operating object of the Uart device, and ending initialization submodule in the application module and returning the initialized submodule to the platform module.
3) The platform module enters a cyclic processing service sub-module, which comprises a network protocol and a control upgrading operation XJDP protocol, and acquires an entry pointer of the cyclic processing module of the application module.
4) The application module calls Uart data receiving (mkdev _ read) provided by the platform module, returns to the application module after the data receiving is finished, processes the service, continues to call a hardware data sending function (mkdev _ write) of the platform module when the data is required to be sent, and returns to the application module after the data sending is finished.
5) And after the application module finishes processing the circular service, returning to the platform module and starting a new round of circular service processing.
The realization of the calling relation between the platform module and the application module:
1) and assigning an external interface function developed by the platform module to a member of the constant data structure, and storing the address of the constant data structure into a hardware interrupt vector table in the platform module, wherein the hardware interrupt vector table is an interrupt vector table corresponding to invalid hardware.
2) And assigning an external interface function developed by the application module to a member of the constant data structure, and storing the address of the constant data structure into a hardware interrupt vector table in the application module, wherein the hardware interrupt vector table is an interrupt vector table corresponding to invalid hardware.
3) The platform module and the application module are used for presetting the constant variable addresses of the interface data of the two parties and sharing the information. In this embodiment, the platform module interface data structure constant variable address is 0xC014, and the application module interface data structure constant variable address is 0x 80004.
4) In order to avoid the platform module and the application module from calling each other to destroy data in the ram of the other side, the platform module and the application module are distributed to occupy different ram and ROM data areas during compiling.
5) And implementing the execution of the called interface function according to the related service relation and logic.
The specific steps of the platform module upgrading and updating are as follows:
1) and the upper computer downloads the platform module target program into the device through downloading software, and all data in the platform area are updated.
2) The device is started at the guide module, judges the validity of the platform information through the switching function module, and jumps to the entry address of the platform module.
3) When the application module calls the platform module interface to process the service, the relative offset of the called interface relative to the data structure of the interface function pointer is obtained by predefining the data structure and the members (assuming that the offset is 0x 08).
4) The application module obtains the content in a unit with the ROM address of 0xC014 (assuming that the content of the unit is 0x10000), obtains the ROM address (0x10008) storing the function pointer of the called interface according to the relative offset of the unit content and the called interface, and obtains the content in the unit, namely the called function pointer.
5) And transferring the parameters and calling a function interface to process related data or related hardware operation.
The specific steps of upgrading and updating the application module are as follows:
1) and the upper computer downloads the application module target program into the device through downloading software, and all data in the application area are updated.
2) The device is started at a guide module, judges the validity of platform information through a switching function module, and jumps to an entry address of a platform module;
3) when the platform module calls the application module interface to process the service, the relative offset of the interface called by the application module relative to the data structure of the interface function pointer is obtained by predefining the data structure and the members (assuming that the offset is 0x 02).
4) The platform module obtains the content of the unit with the ROM address of 0x80004 (assuming that the unit content is 0x81000), and obtains the ROM address (0x81002) storing the function pointer of the called interface according to the unit content and the relative offset of the called interface, where the content in the unit corresponding to the address is the called function pointer.
5) And transferring the parameters and calling a function interface to process related data or related hardware operation.
As long as the offset of the platform module calling function interface in the data structure and the fixed ROM address for storing the pointer of the data structure are not changed, the updating of the application module does not bring any influence on the platform module calling interface processing service.
According to the invention, the platform sub-module design and the control of the calling relationship between the modules are adopted to realize the isolation of the platform module and the application module, the platform and the application are independently compiled and upgraded, and the problem of the coupling of the application module and the platform module is reduced under the condition of meeting the requirement of low resource consumption.

Claims (9)

1. An intelligent device development platform is characterized in that the development platform comprises a platform module and an application module, wherein the platform module comprises a cyclic service processing start/end sub-module and an external interface resource sub-module; the application module comprises a cyclic service processing submodule; the platform module and the application module are mutually called to realize the integral function of the platform;
the platform module and the application module are matched to complete service processing: the platform module carries out cycle service processing through a cycle service processing starting sub-module of the platform module, calls a sub-cycle service processing module in the application module, the sub-cycle service processing module in the application module completes the processing, the sub-cycle service processing module in the application module calls a platform module external interface resource sub-module to provide a corresponding hardware interface for data receiving or sending when the processing is carried out, returns to the application module after the data receiving or sending is finished, returns to a cycle service processing ending sub-module in the platform module through the application module after the service processing is finished, and ends the calling of the application module;
the implementation of the calling relationship between the platform module and the calling module comprises the following steps:
1) presetting the interface form and definition of a calling module;
2) the called module is to perform the following processing on the called function: defining a data structure, wherein the members of the data structure are function pointers, and the types of the members are strictly consistent with the format of the called function; defining a constant variable, wherein a constant variable internal function pointer points to each called function; the address of the constant variable is stored in a certain data in the global special data area, and the relative position of the special data area and the certain data position relative to the initial position of the module program is fixed and known in advance by the calling module;
3) when the calling module calls the available interface of the called module, specific data in the special data area of the called module, namely the pointer of the data structure where the called function pointer is located, is obtained, further the pointer of the member function of the called structure body is obtained, the specific function execution body is accessed, and the function cross-module calling is realized.
2. The intelligent device development platform of claim 1, wherein the platform module and the application module are allocated to occupy different memory spaces during compilation.
3. The intelligent device development platform according to claim 1, further comprising a boot module, wherein the boot module is configured to complete upgrading of the platform module and the application module, and the service flow of the boot module is as follows:
(1) after the system is started, initializing a system clock module, initializing an upgrade medium hardware drive and initializing a communication protocol required by an upgrade function;
(2) after initialization is finished, calculating a check code according to key information in the last bytes of the comparison platform module code storage area, comparing the check code with an original check code, and if the check code is consistent with the original check code, directly entering a platform module entry function address for execution;
(3) if not, entering an upgrading module under the platform upgrading control command, processing related services and finishing upgrading the platform module or the application module;
(4) and after the upgrade data of the last frame is received, storing the key information.
4. The intelligent device development platform of claim 3, wherein if the upgrade object is a platform module, key information is written to the last bytes of the platform module, and if the upgrade object is an application module, key information is written to the last bytes of the application module.
5. The intelligent device development platform of claim 3, wherein the key information comprises a ROM region start address, an end address, a region size, and a CRC code for the module.
6. The intelligent device development platform according to claim 3, wherein the platform module further comprises a hardware initialization submodule, the application module further comprises an initialization submodule, and the platform module and the application module cooperate to perform an initialization function.
7. The intelligent device development platform of claim 3, wherein the steps of platform module upgrade are as follows:
A. downloading the platform module target program into the device, and updating all data in the platform module area;
B. the device starts at the guide module and skips to the platform module entrance address when the platform information is effective;
C. when the application module calls the platform module interface to process the service, acquiring the relative offset of the called interface relative to the data structure of the interface function pointer by predefining the data structure and the members;
D. the application module obtains the content in the constant variable address of the platform module interface data structure, and obtains the ROM address storing the called interface function pointer according to the content and the called interface relative offset, and the obtained content in the address is the called function pointer;
E. and the application module transfers parameters and calls a corresponding function interface to process related data or related hardware operation according to the acquired function pointer.
8. The intelligent device development platform of claim 3, wherein the application module upgrade steps are as follows:
a. downloading an application module target program into the device, and updating all data in the application module area;
b. the device starts at the guide module and skips to the platform module entrance address when the platform information is effective;
c. when the platform module calls an application module interface to process services, acquiring the relative offset of the called interface, which is equivalent to the data structure of an interface function pointer, by predefining the data structure and members;
d. the platform module acquires the content in the constant variable address of the interface data structure of the application module, and obtains a ROM address for storing a function pointer of a called interface according to the content and the relative offset of the called interface, wherein the acquired content in the address is the called function pointer;
e. and the platform module transfers parameters and calls a corresponding function interface to process related data or related hardware operation according to the acquired function pointer.
9. The intelligent device development platform of claim 1, wherein the platform module determines whether to load a function module in the application module according to the validity of the key information of the application module, and if so, jumps to the application module image entry address for execution and returns to the platform module after execution.
CN201611035872.7A 2016-11-09 2016-11-09 Intelligent device development platform Active CN106598647B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611035872.7A CN106598647B (en) 2016-11-09 2016-11-09 Intelligent device development platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611035872.7A CN106598647B (en) 2016-11-09 2016-11-09 Intelligent device development platform

Publications (2)

Publication Number Publication Date
CN106598647A CN106598647A (en) 2017-04-26
CN106598647B true CN106598647B (en) 2020-10-30

Family

ID=58592693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611035872.7A Active CN106598647B (en) 2016-11-09 2016-11-09 Intelligent device development platform

Country Status (1)

Country Link
CN (1) CN106598647B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108037933B (en) * 2017-11-03 2020-07-21 贝壳找房(北京)科技有限公司 Method and system for configuring urban service in real estate service application program
CN109345796A (en) * 2018-09-14 2019-02-15 深圳世元云标识科技有限公司 A kind of advertising lamp box monitors and intelligent Compare System and method automatically
CN113190257A (en) * 2021-04-30 2021-07-30 深圳市华沃表计科技有限公司 Remote upgrading method for intelligent electric energy meter
CN116136770B (en) * 2023-04-20 2023-06-23 烟台东方威思顿电气有限公司 Singlechip program upgrading method based on module
CN116165352B (en) * 2023-04-23 2023-07-21 河北华清环境科技集团股份有限公司 Quality control system of flue gas on-line monitor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905553A (en) * 2014-04-04 2014-07-02 江苏林洋电子股份有限公司 Cloud architecture of energy efficiency management system and operation method thereof
CN104750475A (en) * 2013-12-31 2015-07-01 深圳航天东方红海特卫星有限公司 Micro satellite on-orbit reconstruction frame system and method
CN105338043A (en) * 2014-08-11 2016-02-17 国家电网公司 Electric power system dispatching automatic communication and plant station end online monitoring system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202583866U (en) * 2011-12-20 2012-12-05 天津市优耐特汽车电控技术服务有限公司 Automobile electric control element developing and testing platform
CN103617231A (en) * 2013-11-26 2014-03-05 国家电网公司 Large data management system
US20150268936A1 (en) * 2014-03-21 2015-09-24 Ptc Inc. System and method for testing computing devices in a heterogeneous environment
CN105930201B (en) * 2016-04-25 2019-03-22 南京大学 A kind of functional simulator of restructural application specific processor core

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750475A (en) * 2013-12-31 2015-07-01 深圳航天东方红海特卫星有限公司 Micro satellite on-orbit reconstruction frame system and method
CN103905553A (en) * 2014-04-04 2014-07-02 江苏林洋电子股份有限公司 Cloud architecture of energy efficiency management system and operation method thereof
CN105338043A (en) * 2014-08-11 2016-02-17 国家电网公司 Electric power system dispatching automatic communication and plant station end online monitoring system

Also Published As

Publication number Publication date
CN106598647A (en) 2017-04-26

Similar Documents

Publication Publication Date Title
CN106598647B (en) Intelligent device development platform
JP4050764B2 (en) Compilation system
CN109062617B (en) Application method of platform supporting multiple types of equipment and mobile terminal
CN105242962B (en) The quick triggering method of lightweight thread based on isomery many-core
CN103677807A (en) Customizing program logic for booting a system
JP2003508844A (en) Conversion and execution of object-oriented computer programs
CN103761088A (en) Multiple operation system switching method applicable to ARM (advanced risc machine) framework mobile equipment
CN113986515B (en) Method and device for creating sandbox environment for plug-in operation and computing equipment
WO2006009287A1 (en) Automatic converting program and program conversion server
WO2012142798A1 (en) Method and apparatus for loading application program
CN110851163B (en) Software updating method compatible with multi-equipment platform based on CAN communication
CN112015522B (en) System function expansion method, device and computer readable storage medium
CN106796521B (en) API version control independent of product release
US10452364B2 (en) Method and system for preparing code to be executed by programmable control devices
US7228527B1 (en) Method and system for structuring a procedure
CN115113922A (en) Method, device, equipment and storage medium for realizing stack-free coroutine
CN112214325A (en) FPGA task dynamic arrangement method, device, chip and storage medium
CN109753293A (en) A kind of processing method and relevant device of plug-in unit
CN114443083B (en) System upgrading method and device, electronic equipment and storage medium
CN112306539A (en) Method, system, terminal and medium for developing application layer of single chip microcomputer
CN113760244A (en) Method and system for realizing multiple entrances and multiple interfaces based on C language mode
CN112650512A (en) Hardware driving method and device, terminal and storage medium
CN108804236B (en) AIDL file sharing method and system
CN107220101B (en) Container creation method and device
CN116643778B (en) Application program optimization method and electronic equipment

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