System providing automatic source code generation for personalization and parameterization of user modules
First Claim
1. A method for configuring a microcontroller, the method comprising:
- displaying a first graphical user interface on a display device of a computer system, the first graphical user interface comprising a collection of virtual blocks in a design system;
receiving at the computer system a selection of a user module, wherein the user module comprises information for implementing a function using a programmable physical block, and wherein the user module is represented by first data that includes information defining how configuration registers for the microcontroller are to be programmed in order to implement the function, and wherein the programmable physical block is represented by second data that includes information defining physical addresses of the configuration registers;
displaying on the display device a second graphical user interface operable for receiving user-specifiable information about the user module;
assigning a first virtual block taken from the collection to the user module, wherein the first virtual block corresponds to the programmable physical block; and
constructing computer-generated source code, wherein constructing the computer-generated source code comprises;
linking the first data and the second data;
substituting the user-specifiable information comprising information specific to the user module, information specific to the function and information specific to a control parameter of the function for generic information in a template file to produce assembly, include and header files.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and system of automatically generating source code for configuring a programmable microcontroller. The method involves displaying virtual blocks in a computerized design system where the virtual blocks correspond to programmable circuit blocks in a microcontroller chip. The user selects a user module that defines a particular function to be performed on the microcontroller. The user assigns the virtual blocks to the user module. The design system then automatically generates source code for configuring the programmable blocks to perform the desired function. The source code can then be assembled, linked and loaded into the microcontroller'"'"'s memory system. When executed on the microcontroller, the executable code will then set registers within the blocks to implement the function. Source code is automatically generated for: (1) realizing the user module in a hardware resource; and also (2) to configure the user module to behave in a prescribed manner.
1171 Citations
20 Claims
-
1. A method for configuring a microcontroller, the method comprising:
-
displaying a first graphical user interface on a display device of a computer system, the first graphical user interface comprising a collection of virtual blocks in a design system; receiving at the computer system a selection of a user module, wherein the user module comprises information for implementing a function using a programmable physical block, and wherein the user module is represented by first data that includes information defining how configuration registers for the microcontroller are to be programmed in order to implement the function, and wherein the programmable physical block is represented by second data that includes information defining physical addresses of the configuration registers; displaying on the display device a second graphical user interface operable for receiving user-specifiable information about the user module; assigning a first virtual block taken from the collection to the user module, wherein the first virtual block corresponds to the programmable physical block; and constructing computer-generated source code, wherein constructing the computer-generated source code comprises; linking the first data and the second data; substituting the user-specifiable information comprising information specific to the user module, information specific to the function and information specific to a control parameter of the function for generic information in a template file to produce assembly, include and header files. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of configuring a microcontroller comprising a programmable physical block, the method comprising:
-
receiving, at a computer system, a selection of a user module defining a circuit design, wherein the user module comprises information for implementing a function using the programmable physical block, wherein the user module is represented by first data that includes information defining how configuration registers for the microcontroller are to be programmed in order to implement the function and wherein the programmable physical block is represented by second data that includes information defining physical addresses of the configuration registers; displaying a graphical user interface on a display device of the computer system, the graphical user interface operable for receiving user-specifiable information about the user module, wherein the user-specifiable information comprises configuration information that is used to establish a value for a programmable characteristic of the programmable physical block; assigning a virtual block in a design system where the virtual block corresponds to the programmable physical block; and automatically constructing assembly code comprising the configuration information for the programmable physical block to implement the circuit design, wherein automatically constructing the assembly code further comprises linking the first data and the second data, wherein the assembly code is constructed from template assembly code by substituting the user-specifiable information and information specific to the circuit design for generic information in the template assembly code, and wherein the assembly code contains configuration information for the programmable physical block, wherein the configuration information is based on the user-specifiable information and comprises information that when loaded into a register of the programmable physical block causes the programmable physical block to perform the function. - View Dependent Claims (13, 14, 15)
-
-
16. A computer system comprising a processor coupled to a bus, a display device coupled to the bus, and a memory coupled to the bus, the memory containing instructions to implement a method for configuring a microcontroller, the method comprising:
-
displaying on the display device a first graphical user interface comprising a collection of virtual blocks in a design system; receiving at the computer system a selection of a user module, wherein the user module comprises information for implementing a function using a programmable physical block, the user module represented by first data that includes information defining how configuration registers for the microcontroller are to be programmed in order to implement the function, the programmable physical block represented by second data that includes information defining physical addresses of the configuration registers; displaying on the display device a second graphical user interface operable for receiving user-specifiable information about the user module; assigning a virtual block taken from the collection to the user module, wherein the virtual block corresponds to the programmable physical block; and automatically constructing assembly code holding configuration information for the programmable physical block, wherein the configuration information is based on the user-specifiable information and comprises information that is loaded into a register of the programmable physical block to cause the programmable physical block to perform the function, the automatically constructing comprising; linking the first data and the second data; determining a symbolic name corresponding to the user module and the function; computing a register address for a register within the programmable physical block; assigning the symbolic name to the register address; placing the symbolic name into the assembly code; reading template files; substituting the user-specifiable information comprising the information specific to the user module, information specific to the function and information specific to a control parameter of the function for generic information in the template files to produce assembly, include and header files; compiling the assembly, include and header files to produce an executable file; downloading the executable file as a code block to a memory of the microcontroller; and executing the code block to configure the programmable physical block. - View Dependent Claims (17, 18, 19, 20)
-
Specification