Difference between revisions of "Proj-2012-2013-arduino-stm32disco:SRS"

From air
Jump to navigation Jump to search
 
(40 intermediate revisions by the same user not shown)
Line 1: Line 1:
  +
This document describes the software requirements specification of the project [http://air.imag.fr/mediawiki/index.php/Arduino_STM32_Discovery_2013 Arduino et cartes STM32-Discovery].
  +
 
{|class="wikitable alternance"
 
{|class="wikitable alternance"
 
|+ Document History
 
|+ Document History
Line 11: Line 13:
 
|-
 
|-
 
!scope="row" |
 
!scope="row" |
| 1.0
+
| 1.0.0
 
| Feb. 11, 2013
 
| Feb. 11, 2013
 
| GU Minyi, FENG Xu, GUO Tianming
 
| GU Minyi, FENG Xu, GUO Tianming
 
| SRS of the project
 
| SRS of the project
| -
+
| FENG Xu
  +
| Feb. 17, 2013
| -
 
 
 
|}
 
|}
   
 
= 1 Introduction =
 
= 1 Introduction =
   
== 1.1 Purpose ==
+
== 1.1 Purpose of the requirements document ==
The purpose of this document is to present a detailed description of Arduino STM32 Discovery. It will explain the purpose and features of the system Arduino, what the system will do,how we use the carte STM32 in the environment Arduino, 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.
+
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 ==
 
== 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.
+
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.
   
We hope that these cards can be used for TPs and project initiation technology embedded.
+
It is hoped that these microcontrollers can be used for experiments and initiation projects using the embedded technology.
   
 
== 1.3 Definitions, acronyms and abbreviations ==
 
== 1.3 Definitions, acronyms and abbreviations ==
Line 35: Line 38:
 
|-
 
|-
 
|
 
|
!scope="col"| Term
+
!scope="col"| Terms
!scope="col"| Definition
+
!scope="col"| Definitions
 
|-
 
|-
 
!scope="row" |
 
!scope="row" |
 
| Arduino
 
| Arduino
| This is 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.
+
|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.
 
|-
 
|-
 
!scope="row" |
 
!scope="row" |
|STM32 Discovery
+
|STM32-Discovery
|It is an ultra-low-cost and convenient starter platform, the STM32 Discovery Kit is particularly suited to the STM32 Value Line microcontrollers.
+
|An ultra-low-cost and convenient starter platform, the STM32 Discovery Kit is particularly suited to the STM32 Value Line microcontrollers.
 
|-
 
|-
 
!scope="row" |
 
!scope="row" |
 
|F0, F3
 
|F0, F3
|They are the different types of STM32.
+
|They are the different types of STM32 microcontrollers.
|-
 
!scope="row" |
 
|TP
 
|It’s ‘Des Traveaux Pratiques’ in French. They are prepared for students to practice.
 
 
|-
 
|-
 
!scope="row" |
 
!scope="row" |
Line 75: Line 74:
 
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.
 
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.
+
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 General description =
 
== 2.1 Product perspective ==
 
== 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.
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 ==
 
== 2.2 Product functions ==
   
  +
* STM32 microcontrollers can be recognized by the product IDE.
There are the functions of our system, as follows:
 
  +
* 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.
* 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 ==
 
== 2.3 User characteristics ==
   
  +
* Educational level: certificate with computer and software
The user characteristics are as follows:
 
  +
* Experience: non-required
 
  +
* Technical expertise: some knowledge of basic assembly language
* educational level: certificate with computer and software
 
* experience: no require
 
* technical expertise: know some basic operates with the assembler language
 
   
 
== 2.4 General constraints ==
 
== 2.4 General constraints ==
   
  +
* Software limitations:
There are some general constraints as follows:
 
   
  +
Operating System: Linux
* Hardware limitations:
 
 
Operating System: Windows, Mac OS X,Linux
 
   
  +
* Hardware limitations: USB type A to mini-B cable
USB port: 2.0
 
  +
* Higher-order language requirements : Java and C++
 
  +
* Language requirements: Java and C++
   
 
== 2.5 Assumptions and dependencies ==
 
== 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 Specific requirements =
 
== 3.1 External interfaces ==
 
== 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 ==
 
== 3.2 Functions ==
  +
{|class="wikitable alternance"
  +
|+ Funciton: Verify the code
  +
|-
  +
!scope="row" |
  +
|Description
  +
|The programme which we choose should be verified before upload.
  +
|-
  +
!scope="row" |
  +
|Inputs
  +
|A programme in the examples.
  +
|-
  +
!scope="row" |
  +
|Source
  +
|They are in the document of the examples.
  +
|-
  +
!scope="row" |
  +
|Outputs
  +
|It is succeeded or not.
  +
|-
  +
!scope="row" |
  +
|Destination
  +
|The code must be verified if there are the errors.
  +
|-
  +
!scope="row" |
  +
|Action
  +
|Verification
  +
|}
  +
  +
{|class="wikitable alternance"
  +
|+ Funciton: Upload
  +
|-
  +
!scope="row" |
  +
|Description
  +
|To put the programme which is verified into the card.
  +
|-
  +
!scope="row" |
  +
|Inputs
  +
|The programme which is verified.
  +
|-
  +
!scope="row" |
  +
|Source
  +
|In the software.
  +
|-
  +
!scope="row" |
  +
|Outputs
  +
|It is succeeded or not.
  +
|-
  +
!scope="row" |
  +
|Destination
  +
|To put the programme into the card.
  +
|-
  +
!scope="row" |
  +
|Action
  +
|Upload
  +
|}
  +
 
== 3.3 Performance requirements ==
 
== 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 ==
 
== 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 ==
 
== 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 =
 
= 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 =
 
= 5 Appendices =
  +
  +
There are some UML schemes describing the functions of the project in the [[UML document]].
  +
 
= 6 Index =
 
= 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

Latest revision as of 01:45, 18 February 2013

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