Proj-2012-2013-arduino-stm32disco:SRS

= 1 Introduction =

1.1 Purpose
The purpose of this document is to present a detailed description of Arduino STM32 Discovery. It will explain the purpose and features of the Arduino system, what the system will do, how we use the STM32 cards in the Arduino environment, the constraints under which it must operate ,how the system will react to external stimuli. This document is intended for both the stakeholders and the developers of the system.

1.2 Scope of the project
Our objective is to use the STM32 Discovery cards, especially F3 and F0, with the same simplicity and an environment comparable to Arduino. So our system is based on Arduino, we added the library of STM32 and the Board of STM32 into it. We use this system to put some programmes into the cards of the arms, in order to realize some functions.

We hope that these cards can be used for TPs and project initiation technology embedded.

1.4 References

 * http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx
 * http://en.wikipedia.org/wiki/Software_requirements_specification
 * IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998
 * https://github.com/szczys/stm32f0-discovery-basic-template

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 sections of the document describe the same software product in its entirety, but are intended for different audiences and thus use different language.

= 2 General description =

2.1 Product perspective
We should know how to use the card Arduino and the environment Arduino, before we begin work on STM32. Then, we need to know how to use the card STM32 with OpenOCD.

2.2 Product functions
There are the functions of our system, as follows:


 * The environment Arduino can discriminate the card STM32.
 * When the user chooses whichever example in Arduino, it can be verified.
 * After being verified, we can upload the example which was verified into the card STM32.

2.3 User characteristics
The user characteristics are as follows:


 * educational level: certificate with computer and software
 * experience: no require
 * technical expertise: know some basic operates with the assembler language

2.4 General constraints
There are some general constraints as follows:

Operating System: Windows, Mac OS X,Linux
 * Hardware limitations:

USB port: 2.0
 * Higher-order language requirements : Java and C++

2.5 Assumptions and dependencies
Assumptions:

A specific operating system will be available on the hardware designated for the software product. If, in fact, the operating system is not available, the SRS would then have to change accordingly.

= 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.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 =

When the software has been modified, it should be used by the card of STM32 F3. We can use it to upload some programmes in STM32 F3 to realize some functions.

= 5 Appendices =

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

= 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], http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf