1 / 6

High-level Software Design

High-level Software Design. Context Diagram Connections between major components Synchronization with external events Polling or interrupts Major software structures Device drivers Bridge between HW and SW. Data Control. Context Diagram. Show software connections between components

shania
Download Presentation

High-level Software Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. High-level Software Design • Context Diagram • Connections between major components • Synchronization with external events • Polling or interrupts • Major software structures • Device drivers • Bridge between HW and SW

  2. DataControl Context Diagram • Show software connections between components • Indicate which drivers are needed • Indicate where interrupt handlers are needed Example for logging meter(Interrupt Driven) Buttons RS232 MCU I/H Driver Send Data toPC RTC Change Mode Set Clock LCD Driver Driver I/H Display Data Read Data A/D Driver EEROM Store Data Driver Reset(To all Drivers) Main Loop(Do nothing)

  3. External Synchronization • External events may be discovered in two ways • Polling • Check for new data on a regular basis • Main program has to integrate polls into the main loop • Interrupts • External events announce themselves • Must carefully write interrupt handlers • Main program doesn’t have to be aware of what is going on with interrupts • Choices • If your product is driven mostly by external events, use interrupt-driven • If your produce systematically goes through processes, use polling

  4. Device Drivers • Interface between hardware and software • Provide a package of easy-to-use subroutines to control and transfer data to external device • Main software never “touches” I/O ports – instead uses device driver subroutines • Benefits • If hardware changes, only the device driver changes, not the main software • Programmers don’t have to understand the details of all of the hardware • Consistent methods of accessing and controlling external devices

  5. Software Architecture Document • Introduction • Explain the role of software in your product • Context diagram • Draw a diagram showing how the major hardware components of your system are connected with software • Indicate where device drivers and interrupt handlers will be used • Software structure overview • Describe major control flow • Interrupt-driven, polling, hybrid, etc… • Include rationale for your choice

  6. Software Architecture Document • Main software routines • Describe main software routines • Purpose, inputs, outputs and effects • Include diagrams when useful • Device drivers (separate document, due later) • Describe software interface to each device driver • List all driver subroutines including parameters • Describe data structures needed • Indicate which MCU port pins/busses will be used for each hardware component

More Related