Compiling method based on zero code
Through the zero-code-based compilation method, the embedded system development process is simplified, and the problems of long development cycle, high cost and high technical threshold in the traditional development model are solved, and a fast, low-cost and easy-to-use development process is achieved.
Patent Information
- Application Number
- CN202411523911.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-30
- Publication Date
- 2025-03-18
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The traditional embedded system development model requires professional developers to perform underlying programming, resulting in a long development cycle and high cost. For non-professional users, there are technical barriers to porting and customization of operating systems.
Using a zero-code-based compilation method, the development process is simplified by selecting compilation projects, program compilation, program burning and other steps, and providing graphical configuration interfaces and automation tools are provided, which lowers the technical threshold.
Improve development efficiency, reduce programming complexity and error rate, and enable non-professional users to easily configure program and system porting, shorten development cycles and reduce costs.
Smart Images

Figure CN119645375A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to a zero-code-based compilation method, and belongs to the field of system development. Background Art
[0002] In the field of embedded system development, with the rapid development of industrial automation and intelligence, the requirements for equipment flexibility and customizability are getting higher and higher. The traditional embedded software development model usually requires professional developers to deeply program the underlying software, which not only requires developers to have deep professional knowledge, but also has a long development cycle and high costs, which is not conducive to quickly responding to market changes and customer needs.
[0003] In response to these problems, the Chinese invention of CN116048550A proposes a new embedded device program configuration method and application method, as well as a corresponding configuration terminal. The core of this method is to achieve rapid deployment and debugging of the program through steps such as source code writing, compilation, simulation, downloading and debugging. Specifically, the developer first writes the source code in C / C++ or assembly language, and then compiles the source code into an executable file through a compiler. Then, the compiled program is run using simulation software in the software development kit (SDK) to verify the correctness of the program. After confirmation, the program is downloaded to the target device and debugged using debugging tools such as JTAG to ensure that the program can run normally on the actual hardware.
[0004] In addition, the invention also proposes a method for operating system porting, which allows designers to customize and port the operating system according to their specific needs. This means that developers can flexibly add or delete components of the operating system, as well as add corresponding hardware drivers, thereby providing necessary system call support for upper-level applications. This hierarchical software design method can improve the portability and scalability of the software to a certain extent.
[0005] However, although this method has improved development efficiency to a certain extent, it still has some limitations in practical applications. For example, developers still need to do a lot of editing work when porting systems and customizing components, which may take a lot of time in the later modification process. In addition, for non-professional users, porting and customizing operating systems may still have certain technical barriers.
[0006] In order to further improve development efficiency and lower technical barriers, a more modular and component-based software development approach can be considered. By modularizing functions, developers can quickly combine and reuse code modules like building blocks, thereby reducing duplication of work and increasing development speed. At the same time, by providing a graphical configuration interface and automated tools, non-professional users can also easily perform program configuration and system transplantation, further lowering technical barriers and expanding the application scope of embedded systems.
[0007] In short, with the development of technology and changes in market demand, embedded system development is gradually shifting from traditional low-level programming to a more flexible and efficient development model. By adopting new development methods and tools, the development cycle can be effectively shortened, costs can be reduced, and product competitiveness can be improved. At the same time, continuous exploration and innovation are also needed to adapt to the ever-changing industrial scenarios and customer needs. Summary of the invention
[0008] In order to overcome the defects of the prior art, the present invention provides a zero-code based compilation method, and the technical solution of the present invention is:
[0009] A zero-code compilation method, characterized in that it comprises the following steps:
[0010] (1) The user selects the compilation project according to the needs;
[0011] (2) Compiling a program based on the selected compilation project, where the executable program files required for the program compilation are provided through the project compilation warehouse;
[0012] (3) Burn the program and the user downloads the program.
[0013] The step (1) is specifically as follows: after logging into the main interface, click the Add button in the preset project, the user sets the project name, selects the product and the template project of the product, and clicks OK after the selection is completed.
[0014] In the step (2), specifically:
[0015] 2.1 In the programming interface, the user can freely drag and drop the logic program module. The upper part of the programming interface is provided with the homepage return module, the compilation module, the download module, the monitoring module and the burning module; the middle part of the programming interface is provided with all the executable program modules of the compilation project, which include the motor module, the input and output module, the time module, the logic operation module, the RS485 communication module, the control module, the CAN communication module and the OLED display module; the parameters of the RS485 communication module, the CAN communication module and the OLED display module are configurable;
[0016] 2.2 The user drags the program module to the operation interface. The RS485 communication module, CAN communication module and OLED display module belong to the configuration module. There is a logical relationship between the motor module, input and output module, time module and logic operation module.
[0017] In the step (3), when entering the burning interface, it includes a port connection module, a file upload module, a node detection module, a burning module and a monitoring module. The port connection module is used to perform port connection. When the port connection is successful, program A or program B is selected for downloading. The slave address defaults to FE, which is a universal slave address of the burning program. The FE address is prohibited from being used on the bus.
[0018] The file upload module is used to upload the files that users want to burn;
[0019] The query port and the change port are realized through a transfer board, which is used to burn the program on the bus;
[0020] The node detection module is used to check whether the connection is normal;
[0021] The burning module is used to download the update program when clicking to start burning the module;
[0022] When the monitoring module starts monitoring and the port is not connected, an unconnected interface pops up to facilitate the user to connect the port. The slave address is prohibited from using FE, and the established module is displayed in green.
[0023] The motor module includes a motor forward module, a motor reverse module, a motor stop module and a motor fault module. The motor forward module is used to control the forward rotation of the motor, the motor reverse module is used to control the reverse rotation of the motor, the motor stop module is used to control the motor stop, and the motor fault module is used to control the motor error release mode.
[0024] The input-output module includes an input module, an output closing module and an output opening module. The input module input port matches and serves as a trigger signal; the output closing module is used to control the output port to close; the output opening module is used to control the output port to open; and the time module is used for delay triggering.
[0025] The logic operation module includes a logic OR module and a logic AND module. The logic OR module is used to point to the two modules of this module. If one module is established, the output of this module is established; the logic AND module is used to point to the two modules of this module. If both modules are established, the output of this module is established.
[0026] The RS485 communication module includes an RS485 configuration module, an RS485 receiving module, an RS485 sending module and an RS485 status module. The RS485 configuration module is used to start the RS485 control program; the RS485 receiving module is used to receive the control instruction of the target address; the RS485 sending module is used to send the control instruction to the target address; and the RS485 status module is used to read the status of the target address and match it.
[0027] The CAN communication module includes a CAN configuration module, a CAN receiving module, a CAN sending module and a CAN reading module. The CAN configuration module starts the CAN control program; the CAN receiving module is used to receive control instructions of the target address, and the CAN sending module is used to send control instructions to the target address; the CAN reading module is used to read the status of the target address and match it.
[0028] The control module includes an emergency stop module, a status setting module and a pause module. The emergency stop module stops all running programs; the status setting module is used to set the current status of the machine; and the pause module is used to pause all running programs.
[0029] The advantages of the present invention are:
[0030] Ease of use: Users can select compile projects without writing code, which greatly lowers the threshold of programming and enables non-technical users to participate in the program compilation process.
[0031] Rapid development: Through preset compilation projects, users can quickly start the program compilation process, accelerating the beginning stage of the software development cycle.
[0032] Simplify the process: Simplify the compilation process into a few basic steps, reducing the complexity of traditional programming and compilation, making the entire development process clearer and easier to manage.
[0033] Reusability: The project compilation repository provides executable program files, which promotes code reuse. Users can use existing resources without having to write all the code from scratch.
[0034] Reduced Errors: Zero-code compilation-based approaches can reduce programming errors and improve software stability and reliability by reducing the need for manual coding.
[0035] Flexibility: Users can choose different compilation projects according to their needs and customize programs for specific application scenarios, providing higher flexibility.
[0036] Efficient program burning: Users can download and burn compiled programs. This step simplifies the deployment process and allows the software to run quickly on the target device. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] Figure 1 It is a schematic diagram of the process of the present invention. DETAILED DESCRIPTION
[0038] The present invention will be further described below in conjunction with specific embodiments, and the advantages and features of the present invention will become clearer as the description proceeds. However, these embodiments are exemplary only and do not constitute any limitation to the scope of the present invention. It should be understood by those skilled in the art that the details and forms of the technical solution of the present invention may be modified or replaced without departing from the spirit and scope of the present invention, but these modifications and replacements all fall within the scope of protection of the present invention.
[0039] See also Figure 1 The present invention relates to a zero-code based compilation method, comprising the following steps: (1) a user selects a compilation project according to needs; (2) a program is compiled based on the selected compilation project, and the executable program file required for the program compilation is provided through a project compilation warehouse; (3) the program is burned, and the user downloads the program.
[0040] In addition to the features described in the advantages section of the present invention, this step also has the following advantages:
[0041] Efficient program burning: Users can download and burn compiled programs. This step simplifies the deployment process and allows the software to run quickly on the target device.
[0042] Cross-platform support: Zero-code compilation method supports cross-platform program burning, allowing users to deploy applications on multiple devices or operating systems.
[0043] Centralized management: Executable program files are centrally managed through the project compilation warehouse, which facilitates version control and update maintenance, and improves the efficiency of software management.
[0044] Reduce costs: Simplified compilation and burning processes reduce dependence on professional developers, helping to reduce the cost of software development and maintenance.
[0045] Improved productivity: With automated and streamlined steps, developers can devote more time and energy to innovation and problem solving rather than tedious coding tasks.
[0046] Promote team collaboration: Zero-code tools make it easier for team members from different backgrounds to participate in the software development process, promoting team collaboration and communication.
[0047] The step (1) is specifically as follows: after logging into the main interface, click the Add button in the preset project, the user sets the project name, selects the product and the template project of the product, and clicks OK after the selection is completed.
[0048] In the step (2), specifically:
[0049] 2.1 In the programming interface, the user can freely drag and drop the logic program module. The upper part of the programming interface is provided with the homepage return module, the compilation module, the download module, the monitoring module and the burning module; the middle part of the programming interface is provided with all the executable program modules of the compilation project, which include the motor module, the input and output module, the time module, the logic operation module, the RS485 communication module, the control module, the CAN communication module and the OLED display module; the parameters of the RS485 communication module, the CAN communication module and the OLED display module are configurable;
[0050] 2.2 The user drags the program module to the operation interface. The RS485 communication module, CAN communication module and OLED display module belong to the configuration module. There is a logical relationship between the motor module, input and output module, time module and logic operation module.
[0051] In the step (3), when entering the burning interface, it includes a port connection module, a file upload module, a node detection module, a burning module and a monitoring module. The port connection module is used to connect the port. When the port connection is successful, select program A or program B for downloading. The slave address defaults to FE, which is the universal slave address of the burning program. The FE address is prohibited on the bus; the file upload module is used to upload the file that the user wants to burn; the query port and the change port are realized through the adapter board, and the adapter board is used to burn the program on the bus; the node detection module is used to check whether the connection is normal; the burning module is used to download the update program when clicking to start the burning module; when the monitoring module starts monitoring, if the port is not connected, an unconnected interface pops up to facilitate the user to connect the port, the slave address is prohibited to use FE, and the established module is displayed in green.
[0052] In steps (1) to (3) of the present invention, after logging into the main interface, the user can intuitively set the project name and select a product template by clicking a new button, thereby simplifying the project initialization process.
[0053] Personalized project settings: Users can select products and template projects according to their needs, providing personalization and flexibility.
[0054] Modular program design: In step 2.1, users design programs by dragging and dropping logical program modules. This modular approach makes program construction intuitive and easy to operate.
[0055] Feature-rich module library: provides a variety of modules including motors, input and output, time, logical operations, etc., covering a wide range of programming needs.
[0056] Advanced configuration capability: The parameters of RS485 communication module, CAN communication module and OLED display module are configurable, which increases the flexibility and adaptability of program design.
[0057] Clear logical relationship: There is a logical relationship between motor modules, input and output modules, etc., which helps users build structured and logically clear programs.
[0058] Integrated development environment: The programming interface integrates home page return, compilation, downloading, monitoring and burning modules, providing a one-stop program development experience.
[0059] The motor module includes a motor forward module, a motor reverse module, a motor stop module and a motor fault module. The motor forward module is used to control the forward rotation of the motor, the motor reverse module is used to control the reverse rotation of the motor, the motor stop module is used to control the motor stop, and the motor fault module is used to control the motor error release mode.
[0060] The parameters of the motor forward module are: motor number, target speed, acceleration time, deceleration time; parameter description: motor number refers to the number of motors (multiple motors are effective); target speed refers to the set speed of the motor; acceleration time refers to the time it takes for the motor to reach the maximum speed from rest; deceleration time refers to the time it takes for the motor to go from the maximum speed to the stopped state.
[0061] The parameters of the motor reversal module are: motor number, target speed, acceleration time, deceleration time; parameter description: motor number refers to the number of motors (multiple motors are effective); target speed refers to the set speed of the motor; acceleration time refers to the time it takes for the motor to reach the maximum speed from rest; deceleration time refers to the time it takes for the motor to go from the maximum speed to the stopped state.
[0062] The parameters of the motor stop module are: motor number, brake mode, deceleration time; parameter description: motor number refers to the number of motors (multiple motors are effective); brake mode includes dynamic brake, no brake, servo brake; deceleration time refers to the time it takes for the motor to go from the highest speed to the stop state.
[0063] The parameters of the motor fault module are: motor serial number, error release mode, release input port number, input port release condition; parameter description: motor serial number refers to the number of motors (multiple motors are effective); error release mode includes manual release and automatic release; release input port number refers to the port number of the error released in manual mode; input port release condition refers to the triggering condition of the error released by the port that releases the error.
[0064] The motor module has comprehensive functions: it includes modules for motor forward, reverse, stop and fault handling, providing users with comprehensive motor control functions.
[0065] Easy operation: Users can easily select the required motor control module and control the motor through simple drag and drop operations.
[0066] High flexibility: The modular design allows users to flexibly combine and use different motor control modules according to specific application scenarios.
[0067] Fast response: Special modules are designed for different operating states of the motor (forward, reverse, stop), which can achieve fast control response.
[0068] The input-output module includes an input module, an output closing module and an output opening module. The input module input port matches and serves as a trigger signal; the output closing module is used to control the output port to close; the output opening module is used to control the output port to open; and the time module is used for delay triggering.
[0069] The parameters of the input module are: port number and trigger condition; parameter description: port number refers to the input port number; trigger conditions include connection, disconnection, connection edge, disconnection edge, and the external input port state matches the trigger condition to output a signal to the next module.
[0070] Parameters of the output switch module: port number; parameter description: the port number refers to the output port number.
[0071] The parameters of the output opening module are: port number, output mode and pulse time; parameter description: port number refers to the output port; output mode includes level mode and pulse mode, level mode output is always on, pulse mode output is periodically switched on and off; pulse time refers to the alternating time of pulse output.
[0072] The logic operation module includes a logic OR module and a logic AND module. The logic OR module is used to point to the two modules of this module. If one module is established, the output of this module is established; the logic AND module is used to point to the two modules of this module. If both modules are established, the output of this module is established.
[0073] The RS485 communication module includes an RS485 configuration module, an RS485 receiving module, an RS485 sending module and an RS485 status module. The RS485 configuration module is used to start the RS485 control program; the RS485 receiving module is used to receive the control instruction of the target address; the RS485 sending module is used to send the control instruction to the target address; and the RS485 status module is used to read the status of the target address and match it.
[0074] The RS485 communication module configures the RS485 basic information parameters: baud rate, local address, master-slave mode; parameter description: baud rate refers to the communication rate; local address refers to the address of RS485 in communication; master-slave mode includes host mode and slave mode;
[0075] Features: If multiple boards are connected to each other via network cables, there is only one host, otherwise normal communication and control will not be possible.
[0076] The parameters of the RS485 receiving module include source address and function parameters;
[0077] Parameter description: The source address refers to where the data to be received comes from; the function parameter includes control on and control off. This parameter is used to match the function parameter of the sender and has no actual switching effect.
[0078] The parameters of the RS485 sending module include target address and function parameters;
[0079] Parameter description: The target address refers to where the data is to be sent; the function parameter includes control on and control off. This parameter is used to match the function parameter of the receiver and has no actual switching effect.
[0080] The parameters of the RS485 status module include target address and matching status;
[0081] Parameter description: The target address refers to where the data is to be sent; the matching status includes idle state, running state, and fault state.
[0082] The CAN communication module includes a CAN configuration module, a CAN receiving module, a CAN sending module and a CAN reading module. The CAN configuration module starts the CAN control program; the CAN receiving module is used to receive control instructions of the target address, and the CAN sending module is used to send control instructions to the target address; the CAN reading module is used to read the status of the target address and match it.
[0083] The parameters of the CAN receiving module include source address and function parameters;
[0084] Parameter description: The source address refers to where the data to be received comes from; the function parameter includes control on and control off. This parameter is used to match the function parameter of the sender and has no actual switching effect.
[0085] The parameters of the CAN sending module include target address and function parameters;
[0086] Parameter description: The target address refers to where the data is to be sent; the function parameter includes control on and control off. This parameter is used to match the function parameter of the receiver and has no actual switching effect.
[0087] The parameters of the CAN reading module include the target address and the matching status;
[0088] Parameter description: The target address refers to where the data is to be sent; the matching status includes idle state, running state, and fault state.
[0089] The control module includes an emergency stop module, a status setting module and a pause module. The emergency stop module stops all running programs; the status setting module is used to set the current status of the machine; and the pause module is used to pause all running programs.
[0090] The parameters of the emergency stop module include a port number and a trigger mode; parameter description: the port number refers to the input port number that triggers the emergency stop event; the trigger mode refers to the trigger condition of the input port number that triggers the emergency stop event.
[0091] The parameter of the setting status module is the current status; parameter description: the current status includes idle state, running state, and error state.
[0092] The parameters of the pause module include a port number and a trigger mode; parameter description: the port number refers to the input port number that triggers the pause event; the trigger mode refers to the trigger condition of the input port number that triggers the pause event.
[0093] In the present invention, the specific operating steps are as follows:
[0094] 1. Project selection and initialization:
[0095] The user logs in to the system main interface and enters the project settings by clicking the Add button.
[0096] The user sets the project name, selects a specific product and the corresponding template project, and creates the basic framework for compiling the project.
[0097] After completing the selection, the user clicks OK to initialize the compilation environment.
[0098] 2. Programming and module dragging:
[0099] The user enters the program design interface and selects and combines the required logic program modules by dragging and dropping.
[0100] The top of the interface provides modules such as home page return, compilation, downloading, monitoring and burning to facilitate users to perform different operations.
[0101] All available program modules are listed in the middle of the interface, including modules for various specific functions, such as motor control, input and output, time control, etc.
[0102] Users drag these modules to the operation interface according to their needs and build the required program logic.
[0103] 3. Establishment of logical relationships between modules:
[0104] Users can establish logical relationships between modules dragged on the operation interface, such as the control logic between the motor module and the input and output module.
[0105] Configuration modules (such as RS485 communication module, CAN communication module and OLED display module) allow users to customize parameters to suit specific communication and display needs.
[0106] 4. Preparation for program burning:
[0107] The user enters the burning interface, which includes modules such as port connection, file upload, node detection, burning execution and status monitoring.
[0108] The port connection module is used to ensure the physical and logical connection between the device and the computer.
[0109] The upload file module allows the user to select the program file to be burned.
[0110] 5. Burning process execution:
[0111] The user selects a specific program (such as A program or B program) and specifies the slave address (the default is FE, but it is prohibited on the bus).
[0112] The operations of querying and changing ports are realized through the adapter board so as to burn the program on the bus.
[0113] 6.Node detection and burning monitoring:
[0114] The node detection module is used to verify the connection status of the device to ensure that the device is ready before burning.
[0115] The burning module executes the download and update of the program after the user clicks to start burning.
[0116] The monitoring module provides real-time feedback during the burning process. If the port is not connected, a prompt interface will pop up to guide the user to connect.
[0117] 7. Error handling and user interface prompts:
[0118] If the slave address is set to the prohibited FE, the system will prompt the user to make changes through the module display (such as green display).
[0119] During the entire burning process, the user interface provides clear instructions and feedback to help users complete the burning operation smoothly.
[0120] The above description is only a preferred specific implementation manner of the present invention, but the protection scope of the present invention is not limited thereto. Any technician familiar with the technical field can make equivalent replacements or changes according to the technical scheme and inventive concept of the present invention within the technical scope disclosed by the present invention, which should be covered by the protection scope of the present invention.
Claims
1. A zero-code based compilation method, characterized in that: The following steps are involved: (1) The user selects the compilation project according to the needs; (2) Compiling a program based on the selected compilation project, where the executable program files required for the program compilation are provided through the project compilation warehouse; (3) Burn the program and the user downloads the program.
2. The zero-code based compilation method according to claim 1, characterized in that: The step (1) is specifically as follows: after logging into the main interface, click the Add button in the preset project, the user sets the project name, selects the product and the template project of the product, and clicks OK after completing the selection.
3. The zero-code based compilation method according to claim 2, characterized in that: In the step (2), specifically: 2.1 In the programming interface, the user can freely drag and drop the logic program module. The upper part of the programming interface is provided with the homepage return module, the compilation module, the download module, the monitoring module and the burning module; the middle part of the programming interface is provided with all the executable program modules of the compilation project, which include the motor module, the input and output module, the time module, the logic operation module, the RS485 communication module, the control module, the CAN communication module and the OLED display module; the parameters of the RS485 communication module, the CAN communication module and the OLED display module are configurable; 2.2 The user drags the program module to the operation interface. The RS485 communication module, CAN communication module and OLED display module belong to the configuration module. There is a logical relationship between the motor module, input and output module, time module and logic operation module.
4. The zero-code based compilation method according to claim 1 or 2, characterized in that: In the step (3), when entering the burning interface, it includes a port connection module, a file upload module, a node detection module, a burning module and a monitoring module. The port connection module is used to perform port connection. When the port connection is successful, program A or program B is selected for downloading. The slave address defaults to FE, which is a universal slave address of the burning program. The FE address is prohibited from being used on the bus. The file upload module is used to upload the files that users want to burn; The query port and the change port are realized through a transfer board, which is used to burn the program on the bus; The node detection module is used to check whether the connection is normal; The burning module is used to download the update program when clicking to start burning the module; When the monitoring module starts monitoring and the port is not connected, an unconnected interface pops up to facilitate the user to connect the port. The slave address is prohibited from using FE, and the established module is displayed in green.
5. The zero-code based compilation method according to claim 4, characterized in that: The motor module includes a motor forward module, a motor reverse module, a motor stop module and a motor fault module. The motor forward module is used to control the forward rotation of the motor, the motor reverse module is used to control the reverse rotation of the motor, the motor stop module is used to control the motor stop, and the motor fault module is used to control the motor error release mode.
6. The zero-code based compilation method according to claim 5, characterized in that: The input-output module includes an input module, an output closing module and an output opening module. The input module input port matches and serves as a trigger signal; the output closing module is used to control the output port closing; the output opening module is used to control the output port opening; and the time module is used for delay triggering.
7. The zero-code based compilation method according to claim 6, characterized in that: The logic operation module includes a logic OR module and a logic AND module. The logic OR module is used to point to the two modules of this module. If one module is established, the output of this module is established; the logic AND module is used to point to the two modules of this module. If both modules are established, the output of this module is established.
8. The zero-code based compilation method according to claim 7, characterized in that: The RS485 communication module includes an RS485 configuration module, an RS485 receiving module, an RS485 sending module and an RS485 status module. The RS485 configuration module is used to start the RS485 control program; the RS485 receiving module is used to receive the control instruction of the target address; the RS485 sending module is used to send the control instruction to the target address; and the RS485 status module is used to read the status of the target address and match it.
9. The zero-code based compilation method according to claim 8, characterized in that: The CAN communication module includes a CAN configuration module, a CAN receiving module, a CAN sending module and a CAN reading module. The CAN configuration module starts the CAN control program; the CAN receiving module is used to receive control instructions of the target address, and the CAN sending module is used to send control instructions to the target address; the CAN reading module is used to read the status of the target address and match it.
10. The zero-code based compilation method according to claim 9, characterized in that: The control module includes an emergency stop module, a status setting module and a pause module. The emergency stop module stops all running programs; the status setting module is used to set the current status of the machine; and the pause module is used to pause all running programs.