From air
Revision as of 00:45, 18 February 2013 by Xu.Feng (talk | contribs) (→‎2.5 Assumptions and dependencies)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This document describes the software requirements specification of the project Arduino et cartes STM32-Discovery.

Document History
Version Date Authors Description Validator Validation Date
1.0.0 Feb. 11, 2013 GU Minyi, FENG Xu, GUO Tianming SRS of the project FENG Xu Feb. 17, 2013

1 Introduction

1.1 Purpose of the requirements document

The purpose of this document is to present a detailed description of the Arduino and STM32-Discovery project. It explains in detail what the product is like, what features the product has, how the product functions, as well as the constraints and some specific requirements of the project.

This document is intended for both the stakeholders and the developers of the project.

1.2 Scope of the project

The objective of the project is to make it possible in the near future to use the STM32-Discovery microcontrollers, especially F3 and F0, with the same simplicity and an environment comparable to that of Arduino. The project is based on Arduino IDE into which the STM32 libraries are integrated afterwards together with corresponding entries for the different microcontrollers. The IDE is then able to compile and burn programs into these microcontrollers.

It is hoped that these microcontrollers can be used for experiments and initiation projects using the embedded technology.

1.3 Definitions, acronyms and abbreviations

Terms Definitions
Arduino An open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.
STM32-Discovery An ultra-low-cost and convenient starter platform, the STM32 Discovery Kit is particularly suited to the STM32 Value Line microcontrollers.
F0, F3 They are the different types of STM32 microcontrollers.
Stakeholder Any person with an interest in the project who is not a developer.
Software Requirements Specification A document that completely describes all of the functions of a proposed system and the constraints under which it must operate. For example, this document.

1.4 References

1.5 Overview of the document

The next chapter, the General Description section, of this document gives an overview of the functionality of the product. It describes the informal requirements and is used to establish a context for the technical requirements specification in the next chapter.

The third chapter, Requirements Specification section, of this document is written primarily for the developers and describes in technical terms the details of the functionality of the product.

Both the two sections of the document describe the same software product in its entirety, but are intended for different audiences and thus use different languages.

2 General description

2.1 Product perspective

The product is an integration of STM32 libraries into the Arduino IDE. It makes it possible to compile and burn programs into STM32 microcontrollers in a simple way instead of compiling manually with the libraries and burning with other software like OpenOCD. The product can be enriched in the future with entries for other microcontrollers and will be able to simplify the work of some experiments and developments.

2.2 Product functions

  • STM32 microcontrollers can be recognized by the product IDE.
  • Example programs are provided and can be chosen by users to be verified/compiled.
  • After being verified, programs can then be burnt into the STM32 microcontrollers.

2.3 User characteristics

  • Educational level: certificate with computer and software
  • Experience: non-required
  • Technical expertise: some knowledge of basic assembly language

2.4 General constraints

  • Software limitations:

Operating System: Linux

  • Hardware limitations: USB type A to mini-B cable
  • Language requirements: Java and C++

2.5 Assumptions and dependencies

  • The Arduino IDE is of good quality with few bugs.
  • The libraries are compatible with different STM32 microcontrollers.
  • The libraries cover all the functions of the STM32 microcontrollers.
  • The compilation for STM32 is in the same way as for Arduino microcontrollers.

3 Specific requirements

3.1 External interfaces

The only link to an external software is the link to the cards STM32 to upload the programmes in it. The environment Arduino use this link to discriminate the card is belong to which board. The user chooses the board and upload a programme in a card to realize some functions.

3.2 Functions

Funciton: Verify the code
Description The programme which we choose should be verified before upload.
Inputs A programme in the examples.
Source They are in the document of the examples.
Outputs It is succeeded or not.
Destination The code must be verified if there are the errors.
Action Verification
Funciton: Upload
Description To put the programme which is verified into the card.
Inputs The programme which is verified.
Source In the software.
Outputs It is succeeded or not.
Destination To put the programme into the card.
Action Upload

3.3 Performance requirements

Dynamic numerical requirements:

  • 90% of the operations shall be processed in less than 15s.
  • There should be 2 programmes which are verifying at the same time.

Static numerical requirements:

  • The number of terminals to supported : 1
  • The number of simultaneous users : 1
  • There are more than 1 programme to be handled.

3.4 Design constraints

We suppose to use Linux for installing the environment Arduino. And USB port should more than 2.0.

3.5 Non-Functional requirements

The software developed here assumes the use of a tool such as USB for connection between the card STM32 and the environment Arduino. The environment Arduino will run on the editor’s PC and will contain a library of STM32 which is already added into this software.

4 Product evolution

Once modifications and integration are done, the Arduino IDE allows the compilation of the STM32 boards. It then can be used to write programs into STM32 microcontrollers.

5 Appendices

There are some UML schemes describing the functions of the project in the UML document.

6 Index

[1] Ian Sommerville, Software Engineering 9th edition,[M] Pub. Pearson.

[2] Software Engineering Standards Committee of the IEEE Computer Society, IEEE Recommended Practice for Software Requirements Specifications [EB/OL],