Patentable/Patents/US-7086014
US-7086014

Automatic generation of application program interfaces, source code, interrupts, and datasheets for microcontroller programming

PublishedAugust 1, 2006
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A method to facilitate programming a microcontroller is disclosed. In one embodiment, after a user configures the circuit by selecting circuit parameters and pin-outs, various items are automatically generated to facilitate programming the microcontroller. The generated items may include: application programming interfaces (APIs) for programming the operation of one or more user modules; source code for realizing the user modules in hardware; interrupt vectors to call interrupt service routines for one or more modules; and a data sheet for the circuit.

Patent Claims
32 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method for facilitating circuit design, said method comprising: a) receiving inputs to configure said circuit, said circuit implementing a plurality of modules; and b) generating at least two elements selected from the group consisting of: an application programming interface (API) for programming an operation of a first of said modules, source code for realizing said plurality of modules in hardware, an interrupt vector table having a call to an interrupt service routine for said first of said modules, and a data sheet for said circuit, wherein said circuit comprises said plurality of modules, wherein said source code is operable to program a microcontroller to implement said modules.

2

2. The method of designing a circuit of claim 1 , wherein b) comprises: generating at least three elements selected from said group.

3

3. The method of designing a circuit of claim 1 , wherein b) comprises generating: said application programming interface (API) for programming said operation of said first of said modules, said source code for realizing said plurality of modules in said hardware, said interrupt vector table having said call to said interrupt service routine for said first of said modules, and said data sheet for said circuit, wherein said circuit comprises said plurality of modules.

4

4. The method of claim 1 , wherein said inputs to configure said circuit comprise parameters for said modules.

5

5. The method of claim 1 , wherein said inputs to configure said circuit comprise placements for said modules in a graphical user interface describing resources operable to implement said modules.

6

6. The method of claim 1 wherein said datasheet is a Hypertext Markup Language (HTML) document.

7

7. The method of claim 6 , wherein said datasheet is generated dynamically from a plurality of Extensible Markup Language (XML) files.

8

8. The method of claim 7 , wherein said plurality of Extensible Markup Language (XML) files comprise module files that describe said modules and a device description file that describes resources operable to implement said modules.

9

9. The method of claim 8 , wherein said resources are implemented in a microcontroller.

10

10. The method of claim 1 , wherein said source code is derived from the placement of said modules in a graphical user interface that describes resources operable to implement said modules.

11

11. The method of claim 1 , wherein said source code is derived from parameters of said modules, said parameters being inputs to configure said circuit.

12

12. A computer-readable medium having stored thereon instructions to implement a method of facilitating circuit design, said method comprising: a) receiving inputs to configure said circuit, said circuit implementing a plurality of modules; and b) generating at least two elements selected from the group consisting of: an application programming interface (API) for programming a function of a first of said modules, source code for realizing said plurality of modules in hardware, an interrupt vector to an interrupt service routine for said first of said modules, and a data sheet for said circuit, wherein said circuit comprises said plurality of modules, wherein said source code is operable to program a microcontroller to implement said modules.

13

13. The computer-readable medium of claim 12 , wherein b) of said method comprises generating at least three elements selected from said group.

14

14. The computer-readable medium of claim 12 , wherein b) of said method comprises generating: said application programming interface (API) for programming said function of said first of said modules, said source code for realizing said plurality of modules in said hardware, said interrupt to said interrupt service routine for said first of said modules, and said data sheet for said circuit, wherein said circuit comprises said plurality of modules.

15

15. The computer-readable medium of claim 12 , wherein said inputs to configure said circuit comprise parameters for said modules and placements for said modules in a graphical user interface describing resources operable to implement said modules.

16

16. The computer-readable medium of claim 12 , wherein said datasheet is a Hypertext Markup Language (HTML) document.

17

17. The computer-readable medium of claim 12 , wherein said datasheet is generated from a plurality of Extensible Markup Language (XML) files describing said modules and an XML device description file that describes resources operable to implement said modules.

18

18. The computer-readable medium of claim 12 , wherein b) of said method comprises conditionally compiling said API based on said inputs to configure said circuit.

19

19. The computer-readable medium of claim 12 , wherein said source code is derived from the placement of said modules in a graphical user interface that describes resources operable to implement said modules and parameters of said modules, said parameters being inputs to configure said circuit.

20

20. A system comprising a processor coupled to a bus and a computer-readable medium coupled to said bus, said computer readable medium having stored thereon instructions, which when run on said processor perform a method of designing a circuit, said method comprising: a) receiving inputs to configure said circuit, said circuit implementing a plurality of modules; and b) generating at least two elements selected from the group consisting of: application programming interfaces (APIs) for programming an operation of at least one of said modules, source code for realizing said plurality of modules in hardware, an interrupt vector table having a call to an interrupt service routine for at least one of said modules, and a data sheet for said circuit, wherein said circuit comprises said plurality of modules, wherein said source code is operable to program a microcontroller to implement said modules.

21

21. The system of claim 20 , wherein b) of said method comprises generating at least three elements selected from said group.

22

22. The system of claim 20 , wherein b) of said method comprises generating: said application programming interface (API) for programming said function of said first of said modules, said source code for realizing said plurality of modules in said hardware, said interrupt to said interrupt service routine for said first of said modules, and said data sheet for said circuit, wherein said circuit comprises said plurality of modules.

23

23. The system of claim 20 , wherein said inputs to configure said circuit comprise parameters for said modules and placements for said modules in a graphical user interface representing resources operable to implement said modules.

24

24. The system of claim 20 , wherein said datasheet is a Hypertext Markup Language (HTML) document.

25

25. The system of claim 20 , wherein said data sheet is generated from a plurality of Extensible Markup Language (XML) files describing said modules and an XML device description file that describes resources operable to implement said modules.

26

26. The system of claim 25 , wherein said resources are implemented in a microcontroller.

27

27. The system of claim 20 , wherein said source code is derived from the placement of said modules in a graphical user interface that describes resources operable to implement said modules and from parameters of said modules, said parameters being inputs to configure said circuit.

28

28. The system of claim 20 , wherein b) of said method comprises conditionally compiling a first of said APIs based on said inputs to configure said circuit.

29

29. The system of claim 20 , wherein said application programming interfaces comprise a function call, said call operable to cause a first module of said modules to perform a predetermined function.

30

30. The system of claim 20 , wherein said application programming interfaces comprise an interrupt service routine for a first of said modules.

31

31. The system of claim 20 , wherein said system comprises a graphical user interface for displaying representations of resources operable to implement said modules.

32

32. The system of claim 31 , wherein b) comprises automatically inserting, in said interrupt vector table, a call to said interrupt service routine, said interrupt service routine servicing a module placed in said graphical user interface, wherein said call is inserted in said interrupt vector table based on inputs to configure said circuit.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

November 19, 2001

Publication Date

August 1, 2006

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Automatic generation of application program interfaces, source code, interrupts, and datasheets for microcontroller programming” (US-7086014). https://patentable.app/patents/US-7086014

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.