AN2361 Application note

Similar documents
AN2667 Application note

STEVAL-SPBT4ATV3. USB dongle for the Bluetooth class 1 SPBT2632C1A.AT2 module. Features. Description

STEVAL-CCM002V1. TFT-LCD panel demonstration board based on the STM32 as LCD controller. Features. Description

AN2672 Application note

AN4113 Application note

AN2676 Application note

STEVAL-PCC010V1. ST802RT1A Ethernet PHY demonstration board with STM32F107 controller add-on board. Features. Description

AN3996 Application Note

STM3210B-SK/KEIL STR91X-SK/KEI, STR7-SK/KEIL

STM32-SK/KEIL STR91X-SK/KEI, STR7-SK/KEIL

AN3354 Application note

AN3279 Application Note

AN626 Application note

AN2143 Application note

UM1572 User manual. STEVAL-IPE020V1: ST energy meter application based on the Android platform. Introduction

UM0693 User manual. 1 Introduction. STM8L101-EVAL demonstration firmware

EV-VNQ5E050AK VNQ5E050AK evaluation board

UM0401 User manual. User manual for eight bit port expander STMPE801 demonstration board. Introduction

AN3980 Application note

AN2470 Application note TS4871 low voltage audio power amplifier Evaluation board user guidelines Features Description

AN2202 Application note

STM32-SK/RAIS,STR91X-SK/RAI,STR7-SK/RAIS STM32-D/RAIS,STR9-D/RAIS,STR7-D/RAIS

UM0792 User manual. Demonstration firmware for the DMX-512 communication protocol transmitter based on the STM32F103Zx.

OSPlus USB Extension. OSPlus USB 2.0 extension. Description. Features. Application. TCP/IP stack NexGenOS NexGenIP VFS. FAT Ext2 LVM Device layer

AN3965 Application note

STM32-MP3NL/DEC. STM32 audio engine MP3 decoder library. Description. Features

STM3220G-SK/KEI. Keil starter kit for STM32F2 series microcontrollers (STM32F207IG MCU) Features. Description

STM8 I 2 C optimized examples

AN2855 Application note

ST19WR08 Dual Contactless Smartcard MCU With RF UART, IART & 8 Kbytes EEPROM Features Contactless specific features

AN2673 Application note

EVAL6235PD. L6235 three-phase brushless DC motor driver demonstration board. Features. Description

STA bit single chip baseband controller for GPS and telematic applications. Features

STTS V memory module temperature sensor. Features

Description SPC564A-DISP. March 2014 DocID Rev 3 1/5

AN2261 APPLICATION NOTE

AN2737 Application note Basic in-application programming example using the STM8 I 2 C and SPI peripherals Introduction

AN2825 Application Note

TN0132 Technical note

AN2734 Application note S-Touch design procedure Introduction

AN2240 Application note

UM1488 User manual. STPMC1 evaluation software. Introduction

AN2557 Application note

STM32 embedded target for MATLAB and Simulink release 3.1. Summary for STM32 embedded target for MATLAB and Simulink release 3.1:

STM8-SK/RAIS STM8-D/RAIS ST7-SK/RAIS ST7-D/RAIS

ST19NP18-TPM-I2C Trusted Platform Module (TPM) with I²C Interface Features

STLC2500D. Bluetooth V2.1 "Lisbon" + EDR. Features. Description

AN2474 Application note

AN3250 Application note

SOT23-6L ESDALCL6-2SC6

AN3154 Application note

AN4321 Application note

ST33F1M. Smartcard MCU with 32-bit ARM SecurCore SC300 CPU and 1.25 Mbytes high-density Flash memory. Features. Hardware features.

STICE CF/Stice_Connect AD/Stice_Connect AS/Stice_Connect

AN3362 Application note

STEVAL-IHM028V1. 2 kw 3-phase motor control demonstration board featuring the IGBT intelligent power module STGIPS20K60. Features.

STMicroelectronics. STxP70-4 assembler. User manual Rev A. October

EMIF01-SMIC01F2 IPAD. Single line EMI filter including ESD protection. Main application. Description. Benefits. Pin configuration (Bump side view)

Getting started with DfuSe USB device firmware upgrade STMicroelectronics extension

Obsolete Product(s) - Obsolete Product(s)

RN0046 Release note. 1 Introduction. SimpleMAC library for STM32W108xx kits. About this release note

AN2592 Application note

AN3988 Application note


UM1084 User manual. CR95HF development software user guide. Introduction. Reference documents

AN2430 Application note

AN3265 Application note

AN2594 Application note

EMIF02-SPK02F2. 2-line IPAD, EMI filter and ESD protection. Features. Application. Description. Complies with the following standards

ST21NFCB. Near field communication controller. Features. RF communications. Hardware features. Communication interfaces. Electrical characteristics

EMIF02-MIC01F2 2-line IPAD, EMI filter including ESD protection Features Application Description Complies with the standards:

AN2781 Application note

Main components USB charging controller with integrated power switch

AN4274 Application note

AN4152 Application note

AN3001 Application note

SMP75. Trisil for telecom equipment protection. Features. Description. Applications. Benefits

AN2408 Application note

Description of STM8 LIN software package (STSW-STM8A-LIN) release 4.1. Table 1. Release information. STM8 LIN package

Main components 1 A, high efficiency adjustable single inductor dual mode buckboost DC-DC converter

AN4464 Application note

AN3140 Application note

ST10F271B/E, ST10F272B/E Errata sheet

STM8L-PRIMER STM32-PRIMER STMPRIMER

ST33F1M, ST33F1M0, ST33F896, ST33F768, ST33F640, ST33F512

TN0189 Technical note

AN2548 Application note

AN4440 Application note

LD A very low drop adjustable positive voltage regulator. Description. Features

How to interpret the LPS331AP pressure and temperature readings. Main components mbar absolute barometer with digital output

EMIF03-SIM06F3. 3-line IPAD, EMI filter including ESD protection. Description. Features. Application. Complies with the following standards:

AN3174 Application note

STM8L-PRIMER STM32-PRIMER STMPRIMER

L6460. SPI configurable stepper and DC multi motor driver. Features. Description

UM0592 User manual. STEVAL-PCC006V1, HDD bridge extension board. board for mass storage applications. Introduction

UM1719 User manual. The STPM3x evaluation software. Introduction

AN2442 Application note

AN3099 Application note

AN2768 Application note LIS331DL 3-axis digital MEMS accelerometer: translates finger taps into actions Introduction

AN3991 Application note

Transcription:

AN2361 Application note Interfacing with the STR91x software library using Configuration and Programming Software (CAPS) Introduction STR91x microcontrollers offer extremely flexible configuration of I/O routing and clock structures to optimize the use of each I/O pin and provide fine control of system clocks. The contents of a number of STR91x control registers are initialized by firmware at runtime to configure the I/O switch matrix on I/O Ports 0 through 9, and to set the initial values of system clock divisors. STMicroelectronics provides the Configuration and Programming Software (CAPS) utility to graphically assist users in the selection of pin functions and clock divisors, and to generate a C header file with all the correct settings to integrate into the STR91x standard software library. CAPS makes it very easy to visualize the optimum mapping of communication interfaces on the I/O pins, reduces the chance of error and reduces the need to study the datasheet definitions of these control registers in detail. CAPS is also an in-system programming tool that, via an external JTAG adapter, allows fast programming of STR9 in both development and production environments. Although this application note does not explore this topic, it describes the fundamental steps needed to interface with the STR91x Standard Library (STR91x StdLib). For more details about CAPS software functionality, please refer to UM0225 - CAPS User Manual. The first part of this document focuses on how to use CAPS with the STR91x StdLib. The second part provides an example of how to change the clock frequencies and the GPIO pin configurations. The source file, 91x_caps.c, which allows the interface between CAPS and the STR91x StdLib is provided with this application note. Glossary This section gives a brief definition of acronyms and abbreviations used in this document: CAPS_project directory: refers to CAPS project directory. By default it is located at: [CAPS Install directory\caps\projects] PPP or ppp: in the notation for file names, is used as a placeholder to stand for any peripheral acronym, such as ADC, CAN, DMA, etc. StdLib_project directory: is the project directory in the STR91x StdLib package user_project directory: refers to user project directory July 2006 Rev 1 1/17 www.st.com

Related documents The following topic related documents are available at www.st.com/mcu: UM0225 - CAPS User Manual for STR9 UM0216 - STR91xF Reference Manual This is only a select list of supporting documents. Refer to www.st.com/mcu for a complete list of STR91xF application notes. 2/17 Rev 1

Contents Contents 1 Interfacing CAPS with the STR91x StdLib....................... 4 1.1 STR91x StdLib.............................................. 4 1.2 Using the STR91x StdLib with CAPS............................. 5 1.2.1 Source file definitions........................................ 5 1.2.2 General procedure for Interfacing with the STR91x StdLib........... 6 2 Example................................................... 8 2.1 Clock setting............................................... 10 2.2 Pin assignments............................................ 12 3 Revision history........................................... 16 Rev 1 3/17

Interfacing CAPS with the STR91x StdLib 1 Interfacing CAPS with the STR91x StdLib This section provides an overview of the tools you will need and the procedure for interfacing CAPS with the STR91xStdLib. Complete installation and user instructions for all software are found in their respective user manuals. All software, files and documentation are available for free download at www.st.com/mcu. You will need to have downloaded and installed the following: STR91x StdLib of the STR91x Standard Software Library CAPS - Configuration and Programming Software (version 2.0 or later) 91x_caps.c provided with this application note. For installation, see Section 1.2. 1.1 STR91x StdLib The STR91x software library software package is composed of three different libraries: 1. STR91x StdLib consisting of device drivers for all standard STR91x peripherals 2. STR91x USB library consisting of USB driver and sample application 3. STR91x Ethernet library consisting of Ethernet driver and sample application This application note deals only with the STR91x StdLib. To clearly understand the use of CAPS with the STR91x StdLib, it is important to understand the library architecture. The STR91x StdLib contains the subdirectories shown in Figure 1. Figure 1. StdLib directory structure 4/17 Rev 1

Interfacing CAPS with the STR91x StdLib The example directory has a sub-directory for each peripheral containing the minimum set of files needed to run a typical example on how to use the peripheral. These files are: Readme.txt: a brief text file describing the example and how to make it work 91x_conf.h: the header file to configure the used peripherals and miscellaneous defines 91x_it.c: the source file containing the interrupt handlers (the function bodies may be empty if not used) main.c: the sample program All examples are independent of any software toolchain. Note: In the notation for file names, ppp is used as a placeholder for any peripheral acronym, such as ADC, CAN, DMA, etc. The Library directory contains all the subdirectories and files that form the core of the library: inc sub-directory contains the software library header files that do not need to be modified by the user: 91x_type.h: contains the common data types and enumeration used in all other files 91x_map.h: contains the peripheral memory mapping and register data structures 91x_lib.h: is the main header file including all other headers 91x_ppp.h (one header file per peripheral): contains the function prototypes, data structures and enumeration src sub-directory contains the software library source files that do not need to be modified by the user: 91x_ppp.c (one source file per peripheral): contains the function bodies of each peripheral. All library files are coded in Strict ANSI-C and are independent from any software toolchain The project directory contains a standard template project program for each supported software toolchain, which compiles all library files and also all the user modifiable files needed to create a new project: 91x_conf.h: the configuration header file with all peripherals defined by default 91x_it.c: the source file containing the interrupt handlers (the function bodies are empty in this template) main.c: the main program body For more details, please refer to UM0233 -Standard Library User Manual 1.2 Using the STR91x StdLib with CAPS 1.2.1 Source file definitions This section introduces the source files that are referred to in the procedure in Section 1.2.2 on page 6. Rev 1 5/17

Interfacing CAPS with the STR91x StdLib CAPS interfaces with the STR91x StdLib using the 91x_caps.c source file and the header file generated by CAPS containing the entries specified by the user. The 91x_caps.c source file is provided with this application note. The following table describes these files. File Description C header file generated by CAPS CAPS generates a C header file with all the correct settings to integrate into the STR91x standard library. By default, the filename is that of the CAPS project. For efficiency, this filename name should be changed to 91x_conf.h. 91x_caps.c The 91x_caps.c is a configuration file. It should be included in the StdLib\library\src subdirectory to be linked with the application source files. It describes: 1. The clock settings: clock sources and dividers (AHB, APB, EMI, FMI) 2. The GPIO matrix configuration 3. EMI wait state configuration 4. The clocks enabled for the peripherals used in the application 1.2.2 General procedure for Interfacing with the STR91x StdLib 1. Add the 91x_caps.c source file to the StdLib\library\src subdirectory to be linked with the final project, as shown in Figure 2, step 1. 2. Run the CAPS utility and choose/change the clock and/or the GPIO settings and assignment. In the Select folder and file field choose the user_project directory and name the C header file to 91x_conf.h, as shown in Figure 2, step 2 (For a detailed example, refer to Section 2). 3. Add "Device_Init()" function, defined in 91x_caps.c, in the main.c source file at the beginning of the main function, as shown in Figure 2, step 3. 4. Include all C source files in the StdLib_project\library\src subdirectory and C header files in the StdLib_project\library\inc subdirectory to your project. Note: Including all C source and header files to the user application reduces the risk of error. Nevertheless, for optimization reasons, at least the following source and header files should be compiled: * 91x_emi.c & 9 1x_emi.h * 91x_fmi.c & 9 1x_fmi.h * 91x_gpio.c & 9 1x_gpio.h * 91x_dma.c & 9 1x_dma.h. * 91x_scu.c & 9 1x_scu.h. 6/17 Rev 1

Interfacing CAPS with the STR91x StdLib Figure 2. General procedure for interfacing with the STR91x StdLib STEP 1 Add 91x_caps.c to the src subdirectory StdLib\library\src subdirectory ppp.c source file ppp.h header file STEP 2 CAPS tool Run CAPS to generate a C header file with all the correct settings for integration into the STR91x standard library main.c 91x_it.c user_project directory STEP 3 Add Device_Init (); at the beginning of the main function of the main.c source file STEP 4 Rebuild and Run the application Rev 1 7/17

Example 2 Example This section provides a step-by-step example of how to use CAPS to select pin functions and clock divisors, and to generate a C header file with all the correct settings to integrate into the STR91x standard software library. To run CAPS tool: Select Start>Programs>STMicroelectronics-CAPS>CAPS. CAPS starts and the following window appears: Figure 3. CAPS project window By default the Project folder is [CAPS Install directory]\projects\new and the defaultproject name is new. To create new project: Use the Browse button to select a working directory, this opens a dialog box that asks you for the new project file name (see Figure 4). Enter project _name as the project space name in the File name field. 8/17 Rev 1

Example Figure 4. Specifying the project folder and name Click on the Open button to validate your entries. The Target Device for Target window allows you to select the microcontroller that you will use in your application. This window shows the CAPS device database for the STR9 and µpsd families. Select the STR9 MCU you plan to use. In this example, the STR912FW44 microcontroller is used. Click to expand the STR912FW44 device and choose the package. The device overview will appear in the right panel (see Figure 5). Figure 5. Specifying the target device Rev 1 9/17

Example Click on Create to confirm your entry. The following dialog appears: Figure 6. LVD Voltage window This dialog contains several tabs for specifying the desired configurations. Only the use of the Clocks tab and the Peripheral/Pin Assignment tab are described in this example. 2.1 Clock setting In the Clocks tab, you can specify clock settings in two steps. The first step allows the specification of the clock source, the master clock frequency, the OSC frequency and the PLL value with just a few simple and point-and-click operations (see Figure 7). 10/17 Rev 1

Example Figure 7. Clock source Master clock frequency The second part shows the clock control diagram and lets users choose the clock divider that is used to obtain the desired frequency from the selection lists. Figure 8. Clock divisors Rev 1 11/17

Example 2.2 Pin assignments On the Peripheral/Pin Assignment tab, you need to: 1. Specify peripherals fin the List of available peripheral(s) pane for GPIO assignment. 2. Specify the folder and file name in order to save the entries to a C header file. Figure 9. Peripheral / Pin assignment tab In this example, configuration of the Timer 0 (TIM0) and I2C0 peripherals is described. To configure Timer 0 (TIM0) Select the Timer 0 (TIM0) item from the List of the available peripheral(s) pane. Click on the Assign button. The Peripheral Assignment-Timer window appears automatically, allowing you to select the desired timer/counter clock and mode. In this example, the internal timer clock is chosen as timer clock and the input capture A is the selected mode. (see Figure 10). Figure 10. Peripheral assignment window 12/17 Rev 1

Example Click on the Pin Assignment button. The Pin Assignment-Timer0 window appears automatically allowing you to assign the desired pin to its respective function. In this example, the port 0 pin 4 (P0_4) is used (see Figure 11). Figure 11. Pin Assignment - Timer0 window Click on Apply to confirm your entry. The TIM0 is automatically added to the List of assigned peripheral(s) pane. To configure I2C0 Select the I2C0 peripheral from the List of the available peripheral(s) pane Click on the Assign button. The following window appears: Figure 12. Prompt window Click on Yes to confirm. The Pin Assignment-I2C0 dialog box in Figure 13 appears: Rev 1 13/17

Example Figure 13. Pin Assignment I2C0 window The Pin Assignment-I2C0 window allows you to assign the desired pin to its respective function. In this example, the port 0 pin 0 (p0_0) is used for clock in and port 0-pin1 (p0_1) is used for the data out. Click on Apply to confirm your entry. The I2C0 is automatically added to the List of assigned peripheral(s) pane. Save entries to a C header file To save the entries in this session to a C header file, you have to specify the folder and file name. Click on the Save button in the Peripheral/Pin Assignment tab. This opens a Save As window that allows you to specify the C header file name and directory. Choose the user_project directory and enter 91x_conf.h in the File name field. Figure 14. Save As window 14/17 Rev 1

Example Click on Save to confirm your entry. A message indicating that the save was successful appears in the Output window. Now that you have output the header file from CAPS, follow the remaining two steps described in Section 1.2.2 and run your application successfully. Rev 1 15/17

Revision history 3 Revision history Date Revision Changes 21-June-2006 1 Initial release. 16/17 Rev 1

Please Read Carefully: Information in this document is provided solely in connection with ST products. STMicroelectronics NV and its subsidiaries ( ST ) reserve the right to make changes, corrections, modifications or improvements, to this document, and the products and services described herein at any time, without notice. All ST products are sold pursuant to ST s terms and conditions of sale. Purchasers are solely responsible for the choice, selection and use of the ST products and services described herein, and ST assumes no liability whatsoever relating to the choice, selection or use of the ST products and services described herein. No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted under this document. If any part of this document refers to any third party products or services it shall not be deemed a license grant by ST for the use of such third party products or services, or any intellectual property contained therein or considered as a warranty covering the use in any manner whatsoever of such third party products or services or any intellectual property contained therein. UNLESS OTHERWISE SET FORTH IN ST S TERMS AND CONDITIONS OF SALE ST DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY WITH RESPECT TO THE USE AND/OR SALE OF ST PRODUCTS INCLUDING WITHOUT LIMITATION IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE (AND THEIR EQUIVALENTS UNDER THE LAWS OF ANY JURISDICTION), OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. UNLESS EXPRESSLY APPROVED IN WRITING BY AN AUTHORIZED ST REPRESENTATIVE, ST PRODUCTS ARE NOT RECOMMENDED, AUTHORIZED OR WARRANTED FOR USE IN MILITARY, AIR CRAFT, SPACE, LIFE SAVING, OR LIFE SUSTAINING APPLICATIONS, NOR IN PRODUCTS OR SYSTEMS WHERE FAILURE OR MALFUNCTION MAY RESULT IN PERSONAL INJURY, DEATH, OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE. ST PRODUCTS WHICH ARE NOT SPECIFIED AS "AUTOMOTIVE GRADE" MAY ONLY BE USED IN AUTOMOTIVE APPLICATIONS AT USER S OWN RISK. Resale of ST products with provisions different from the statements and/or technical features set forth in this document shall immediately void any warranty granted by ST for the ST product or service described herein and shall not create or extend in any manner whatsoever, any liability of ST. ST and the ST logo are trademarks or registered trademarks of ST in various countries. Information in this document supersedes and replaces all information previously supplied. The ST logo is a registered trademark of STMicroelectronics. All other names are the property of their respective owners. 2006 STMicroelectronics - All rights reserved STMicroelectronics group of companies Australia - Belgium - Brazil - Canada - China - Czech Republic - Finland - France - Germany - Hong Kong - India - Israel - Italy - Japan - Malaysia - Malta - Morocco - Singapore - Spain - Sweden - Switzerland - United Kingdom - United States of America www.st.com Rev 1 17/17