The project is designed to familiarize you with serial communication on the STM32F446 Nucleo board.

User Generated

noqhyyn243

Programming

Description

Hi2C Says

The first project is designed to familiarize you with serial communication on the STM32F446 Nucleo board. To do this each student will be assigned a unique I2C slave address for their processor board. The instructor will have a “master” controller set up with an I2C bus that multiple students can connect to simultaneously. We will play a modified version of “Simon says,” where the master will signal a specific slave to respond. The game will be played with the following protocol:

1. The master will initiate communication by sending a start condition followed by a random

address.

2. If the master sends a “write” command the following data byte will a number between 1-15.

The owner of the address should then blink an LED the number of times indicated by the data byte sent. (Note: the frequency of blinks should be such that the number of blinks can be easily counted by a human).

3. If the master sends a “read” command the owner of the address should send back a list of all

data bytes received since the start of the game. For example:

a. If no data has been received by the owner of the address a zero should be returned.

b. If the owner of the address has received only a 7 then the owner should send only a 7.

c. If the owner of the address has received 7, 12, 2, 5 over the course of the game then all of those numbers should be sent in a 4-byte sequence.

Optional Features

1. Students may use an alternate method for displaying data. For example, students may use a

liquid crystal display, 7-segment LED display, etc.

2. Students may write a “master” routine to control the game. Be warned that the master routine

is much more sophisticated. Students must demonstrate the abilities outlined above in addition to controlling the game.

Grading and Verification:

1. This is an individual project. NO TEAMS.

2. Project verification (by Dr. Mitchell) is due by 2pm on the due date.

3. A penalty of 10% grade deduction per “school day” (MTWTF) will be assessed on late projects

(2pm is the cutoff time for each day).

4. Projects verified after 5 school days will be assessed a 50% grade deduction.

5. Final project grades are calculated as:

60% technical (based on verification of the project as outlined above)

10% refinement (i.e. error handling, user interface, packaging, etc.)

15% project description

15% code organization

6. Technical grade depends on quality of final project at time of verification.

Project description should include:

1. Statement of the project

2. Possible utility or purpose

3. Identification of specifications

4. Identification of design issues and solutions

5. Schematic of components external to the STM32F446 board

6. Code

7. Informational resource used (researching things online is allowed, just tell me about what you

find)

8. Be concise, don’t write a book

Code organization:

1. Code should be well documented

2. Use descriptive constant, variable, and function names

3. Use functions when appropriate

4. Minimize use of global variables

the slave address should be 0x04

note:- I use Kiel, C language,no Arduino pins


Unformatted Attachment Preview

UM1724 User manual STM32 Nucleo-64 boards Introduction The STM32 Nucleo-64 boards (NUCLEO-F030R8, NUCLEO-F070RB, NUCLEO-F072RB, NUCLEO-F091RC, NUCLEO-F103RB, NUCLEO-F302R8, NUCLEO-F303RE, NUCLEO-F334R8, NUCLEO-F401RE, NUCLEO-F410RB, NUCLEO-F411RE, NUCLEO-F446RE, NUCLEO-L010RB, NUCLEO-L053R8, NUCLEO-L073RZ, NUCLEO-L152RE, NUCLEO-L452RE, NUCLEO-L476RG) provide an affordable and flexible way for users to try out new concepts and build prototypes with the STM32 microcontrollers in LQFP64 package, choosing from the various combinations of performance, power consumption and features. The Arduino™ Uno V3 connectivity support and the ST morpho headers allow to expand easily the functionality of the Nucleo open development platform with a wide choice of specialized shields. The STM32 Nucleo boards do not require any separate probe as they integrate the ST-LINK/V2-1 debugger and programmer. The STM32 Nucleo boards come with the STM32 comprehensive software HAL library together with various packaged software examples, as well as direct access to the Arm® Mbed™ online resources at http://mbed.org/. Figure 1. STM32 Nucleo-64 board Picture is not contractual. December 2017 DocID025833 Rev 12 1/69 www.st.com 1 Content UM1724 Content 1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 Product marking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3 Ordering information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4 Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 5 Quick start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 6 5.1 Getting started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 5.2 System requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 5.3 Development toolchains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 5.4 NUCLEO-L476RG bootloader limitations . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.5 Hardware configuration variants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 Hardware layout and configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 6.1 Cuttable PCB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 6.2 Embedded ST-LINK/V2-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 6.3 2/69 6.2.1 Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 6.2.2 ST-LINK/V2-1 firmware upgrade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 6.2.3 Using the ST-LINK/V2-1 to program and debug the STM32 on board . 18 6.2.4 Using ST-LINK/V2-1 to program and debug an external STM32 application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Power supply and power selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 6.3.1 Power supply input from the USB connector . . . . . . . . . . . . . . . . . . . . . 20 6.3.2 External power supply inputs: VIN and E5V . . . . . . . . . . . . . . . . . . . . . 21 6.3.3 External power supply input: + 3.3V . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 6.3.4 External power supply output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 6.4 LEDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.5 Push-buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.6 JP6 (IDD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 6.7 OSC clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 6.7.1 OSC clock supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 6.7.2 OSC 32 kHz clock supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 DocID025833 Rev 12 UM1724 Content 6.8 USART communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 6.9 Solder bridges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 6.10 Extension connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 6.11 Arduino connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 6.12 ST morpho connector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Appendix A Electrical schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 DocID025833 Rev 12 3/69 3 List of Tables UM1724 List of Tables Table 1. Table 2. Table 3. Table 4. Table 5. Table 6. Table 7. Table 8. Table 9. Table 10. Table 11. Table 12. Table 13. Table 14. Table 15. Table 16. Table 17. Table 18. Table 19. Table 20. Table 21. Table 22. Table 23. Table 24. Table 25. Table 26. Table 27. Table 28. Table 29. Table 30. Table 31. Table 32. Table 33. Table 34. 4/69 Ordering information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Codification explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 ON/OFF conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Jumper states . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Debug connector CN4 (SWD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 JP1 configuration table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 External power sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Power-related jumper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 +3.3 V external power source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Solder bridges. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Arduino connectors on NUCLEO-F030R8, NUCLEO-F070RB, NUCLEO-F072RB, NUCLEO-F091RC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Arduino connectors on NUCLEO-F103RB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Arduino connectors on NUCLEO-F302R8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Arduino connectors on NUCLEO-F303RE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Arduino connectors on NUCLEO-F334R8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Arduino connectors on NUCLEO-F401RE and NUCLEO-F411RE . . . . . . . . . . . . . . . . . . 43 Arduino connectors on NUCLEO-L053R8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Arduino connectors on NUCLEO-L010RB and NUCLEO-L073RZ. . . . . . . . . . . . . . . . . . . 46 Arduino connectors on NUCLEO-F446RE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Arduino connectors on NUCLEO-F410RB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Arduino connectors on NUCLEO-L152RE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Arduino connectors on NUCLEO-L452RE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Arduino connectors on NUCLEO-L476RG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 ST morpho connector on NUCLEO-F030R8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 ST morpho connector on NUCLEO-F070RB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 ST morpho connector on NUCLEO-F072RB, NUCLEO-F091RC, NUCLEO-F303RE, NUCLEO-F334R8. . . . . . . . . 55 ST morpho connector on NUCLEO-F103RB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 ST morpho connector on NUCLEO-F302R8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 ST morpho connector on NUCLEO-F401RE, NUCLEO-F411RE, NUCLEO-F446RE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 ST morpho connector on NUCLEO-L010RB, NUCLEO-L053R8, NUCLEO-L073RZ, NUCLEO-L152RE . . . . . . . . . . . . . . . . . . . . . . . . . 59 ST morpho connector on NUCLEO-L452RE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 ST morpho connector on NUCLEO-L476RG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 ST morpho connector on NUCLEO-F410RB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 DocID025833 Rev 12 UM1724 List of Figures List of Figures Figure 1. Figure 2. Figure 3. Figure 4. Figure 5. Figure 6. Figure 7. Figure 8. Figure 9. Figure 10. Figure 11. Figure 12. Figure 13. Figure 14. Figure 15. Figure 16. Figure 17. Figure 18. Figure 19. Figure 20. Figure 21. Figure 22. Figure 23. Figure 24. Figure 25. Figure 26. Figure 27. Figure 28. Figure 29. Figure 30. STM32 Nucleo-64 board. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Hardware block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Top layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Bottom layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 STM32 Nucleo board mechanical dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Typical configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Updating the list of drivers in Device Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Connecting the STM32 Nucleo board to program the on-board STM32 . . . . . . . . . . . . . . 18 Using ST-LINK/V2-1 to program the STM32 on an external application . . . . . . . . . . . . . . 19 NUCLEO-F030R8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 NUCLEO-F070RB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 NUCLEO-F072RB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 NUCLEO-F091RC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 NUCLEO-F103RB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 NUCLEO-F302R8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 NUCLEO-F303RE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 NUCLEO-F334R8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 NUCLEO-F401RE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 NUCLEO-F411RE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 NUCLEO-L053R8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 NUCLEO-L073RZ and NUCLEO-L010RB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 NUCLEO-L152RE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 NUCLEO-L452RE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 NUCLEO-L476RG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 NUCLEO-F446RE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 NUCLEO-F410RB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 Top and Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 STM32 MCU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 ST-LINK/V2-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Extension connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 DocID025833 Rev 12 5/69 5 Features 1 UM1724 Features The STM32 Nucleo board offers the following features: • STM32 microcontroller in LQFP64 package • Three LEDs: – USB communication (LD1), user LED (LD2), power LED (LD3) • Two push-buttons: USER and RESET • Two types of extension resources – Arduino™ Uno V3 connectivity – ST morpho extension pin headers for full access to all STM32 I/Os • Flexible board power supply: – USB VBUS or external source (3.3 V, 5 V, 7 - 12 V) – Power management access point • On-board ST-LINK/V2-1 debugger and programmer with SWD connector – Selection-mode switch to use the kit as a standalone ST-LINK/V2-1 • USB re-enumeration capability. Three different interfaces supported on USB: – Virtual COM port – Mass storage – Debug port • Comprehensive free software HAL library including a variety of software examples • Arm® Mbed™ (see http://mbed.org) 2 Product marking Evaluation tools marked as "ES" or "E" are not yet qualified and therefore they are not ready to be used as reference design or in production. Any consequences deriving from such usage will not be at ST charge. In no event, ST will be liable for any customer usage of these engineering sample tools as reference design or in production. "E" or "ES" marking examples of location: • On the targeted STM32 that is soldered on the board (for illustration of STM32 marking, refer to the section “Package information” of the STM32 datasheet available at www.st.com). • Next to the evaluation tool ordering part number, that is stuck or silk-screen printed on the board. This board features a specific STM32 device version which allows the operation of any stack or library. This STM32 device shows a “U” marking option at the end of the standard part number and is not available for sales. 6/69 DocID025833 Rev 12 UM1724 3 Ordering information Ordering information Table 1 lists the order codes and the respective targeted STM32. Table 1. Ordering information Order code Targeted STM32 NUCLEO-F030R8(1) STM32F030R8T6 NUCLEO-F070RB(1) STM32F070RBT6 NUCLEO-F072RB(1) STM32F072RBT6 (1) STM32F091RCT6 (1) NUCLEO-F103RB STM32F103RBT6 NUCLEO-F302R8(1) STM32F302R8T6 (1) NUCLEO-F303RE STM32F303RET6 NUCLEO-F334R8(1) STM32F334R8T6 (1) NUCLEO-F401RE STM32F401RET6 NUCLEO-F410RB(1) STM32F410RBT6 NUCLEO-F411RE(1) STM32F411RET6 (1) STM32F446RET6 (1) STM32L010RBT6 NUCLEO-L053R8(1) STM32L053R8T6 (1) STM32L073RZT6 (1) STM32L152RET6 NUCLEO-F091RC NUCLEO-F446RE NUCLEO-L010RB NUCLEO-L073RZ NUCLEO-L152RE 1. Arm® NUCLEO-L452RE STM32L452RET6 NUCLEO-L476RG(1) STM32L476RGT6 Mbed Enabled™. The meaning of the NUCLEO-TXXXRY codification is explained in Table 2 with an example: Table 2. Codification explanation NUCLEO-TXXXRY Description Example: NUCLEO-L452RE TXXX STM32 product line STM32L452 R STM32 package pin count 64 pins Y STM32 Flash memory size (8 for 64 Kbytes, B for 128 Kbytes, C for 256 Kbytes, E 512 Kbytes for 512 Kbytes, G for 1 Mbyte, Z for 192 Kbytes) The order code is printed on a sticker placed at the top or bottom side of the board. DocID025833 Rev 12 7/69 68 Conventions 4 UM1724 Conventions Table 3 provides the conventions used for the ON and OFF settings in the present document. Table 3. ON/OFF conventions Convention Definition Jumper JP1 ON Jumper fitted Jumper JP1 OFF Jumper not fitted Solder bridge SBx ON SBx connections closed by solder or 0 ohm resistor Solder bridge SBx OFF SBx connections left open In this document the references are “STM32 Nucleo board” and “STM32 Nucleo boards” for all information that is common to all sale types. 8/69 DocID025833 Rev 12 UM1724 5 Quick start Quick start The STM32 Nucleo board is a low-cost and easy-to-use development platform used to quickly evaluate and start a development with an STM32 microcontroller in LQFP64 package. Before installing and using the product, accept the Evaluation Product License Agreement from the www.st.com/epla webpage. For more information on the STM32 Nucleo board and to access the demonstration software, visit www.st.com/stm32nucleo website. 5.1 Getting started Follow the sequence below to configure the STM32 Nucleo board and launch the demo software: 5.2 5.3 1. Check the jumper position on the board, JP1 off, JP5 (PWR) on U5V, JP6 on (IDD), CN2 on (NUCLEO) selected. 2. For correct identification of all device interfaces from the host PC, install the Nucleo USB driver available from the www.st.com/stm32nucleo webpage, prior to connecting the board. 3. Connect the STM32 Nucleo board to a PC with a USB cable ‘Type-A to Mini-B’ through USB connector CN1 to power the board. The red LED LD3 (PWR) and LD1 (COM) should light up. LD1 (COM) and green LED LD2 should blink. 4. Press button B1 (left button). 5. Observe the blinking frequency of the three LEDs LD1 to LD3, by clicking on the button B1. 6. The demonstration software and several software examples on how to use the STM32 Nucleo board features are available at the www.st.com/stm32nucleo webpage. 7. Develop the application using the available examples. System requirements • Windows® OS (7, 8 and 10), Linux® 64-bit or macOS® • USB Type-A to Mini-B cable Development toolchains • Arm® Keil®: MDK-ARM(a) • IAR™: EWARM(a) • GCC-based IDEs including free SW4STM32 from AC6®(a) • Arm® Mbed™ online(b) (see http://mbed.org) a. On Windows ® only. b. Refer to the http://mbed.com website and to Table 1: Ordering information, to determine which order codes are supported. DocID025833 Rev 12 9/69 68 Quick start 5.4 UM1724 NUCLEO-L476RG bootloader limitations Boot from system Flash memory results in executing bootloader code stored in the system Flash memory, protected against write and erase. This allows in-system programming (ISP), that is, flashing the STM32 user Flash memory. It also allows writing data into RAM. The data come in via one of the communication interfaces such as USART, SPI, I2C bus, USB or CAN. Bootloader version can be identified by reading Bootloader ID at the address 0x1FFF6FFE. The STM32L476RGT6 part soldered on the NUCLEO-L476RG main board is marked with a date code, corresponding to its date of manufacturing. STM32L476RGT6 parts with the date code prior or equal to week 22 of 2015 are fitted with bootloader V 9.0, affected by the limitations to be worked around, as described hereunder. Parts with the date code starting from week 23 of 2015 contain bootloader V 9.2 in which the limitations no longer exist. To locate the visual date code information on the STM32L476RGT6 package, refer to the section “Package information” of the datasheet (DS10198) available at www.st.com. Date code related portion of the package marking, takes Y WW format, where Y is the last digit of the year and WW is the week. For example, a part manufactured in week 23 of 2015 bares the date code 5 23. Bootloader ID of the bootloader V 9.0 is 0x90. The following limitations exist in the bootloader V 9.0: 1. RAM data get corrupted when written via USART/SPI/I2C/USB interface Description: Data write operation into RAM space via USART, SPI, I2C bus or USB results in wrong or no data written. Workaround: To correct the issue of wrong write into RAM, download STSW-STM32158 bootloader V 9.0 patch package from the www.st.com website and load "Bootloader V9.0 SRAM patch" to the STM32, following the information in readme.txt file available in the package. 2. User Flash memory data get corrupted when written via CAN interface Description: Data write operation into user Flash memory space via CAN interface results in wrong or no data written. Workaround: To correct the issue of wrong write into Flash memory, download STSW-STM32158 bootloader V 0.9 patch package from the www.st.com website and load "Bootloader V9.0 CAN patch" to the STM32, following the information in readme.txt file available in the package. 10/69 DocID025833 Rev 12 UM1724 5.5 Quick start Hardware configuration variants The board can be delivered with different configurations of the oscillator of the target STM32. For all the details concerning high-speed configurations of the oscillator refer to Section 6.7.1. For all the details concerning low-speed configurations of the oscillator refer to Section 6.7.2. DocID025833 Rev 12 11/69 68 Hardware layout and configuration 6 UM1724 Hardware layout and configuration The STM32 Nucleo board is designed around the STM32 microcontrollers in a 64-pin LQFP package. Figure 2 shows the connections between the STM32 and its peripherals (ST-LINK/V2-1, push-button, LED, Arduino connectors and ST morpho connector). Figure 3 and Figure 4 show the location of these features on the STM32 Nucleo board. Figure 5 shows the mechanical dimension of the STM32 Nucleo board. Figure 2. Hardware block diagram  67/,1.SDUW 0LQL 86% (PEHGGHG 67/,1.9 ,2 670 0LFURFRQWUROOHU  ,2 ,2 5(6(7 ,2 % 5(6(7 /(' /' 67PRUSKRH[WHQVLRQKHDGHU $UGXLQRFRQQHFWRU 67PRUSKRH[WHQVLRQKHDGHU % 86(5 $UGXLQRFRQQHFWRU 6:'  0&8SDUW 069 12/69 DocID025833 Rev 12 UM1724 Hardware layout and configuration Figure 3. Top layout   &1  67/,1.1XFOHR VHOHFWRU  &1  6:'FRQQHFWRU &1 67/,1.86% PLQL%FRQQHFWRU    /' 5HG*UHHQ/('   &20  %  5(6(7EXWWRQ  %86(5 EXWWRQ -3,''  PHDVXUHPHQW 6%  9UHJXODWRURXWSXW /'  5HG/(' SRZHU  /' *UHHQ/(' &1 $UGXLQR FRQQHFWRU  &1 $UGXLQRFRQQHFWRU &1  67PRUSKR FRQQHFWRU  &1 $UGXLQR  FRQQHFWRU &1  67PRUSKRFRQQHFWRU  &1  $UGXLQRFRQQHFWRU   .+] FU\VWDO   8  670 PLFURFRQWUROOHU  069 1. Crystal may be present or not depending on board version, refer to Section 6.7.2. DocID025833 Rev 12 13/69 68 Hardware layout and configuration UM1724 Figure 4. Bottom layout 4# 4# 45-*/,64"35 4# 4# 4# 4# 3&4&37&% 4# 4# 4# 4# %&'"6-5 4# 45-*/,480 6% 67/,1. 5(6(7 4# 45-*/,.$0 6% 86(5EXWWRQ 6% 86(5/(' 6% 67/,1.0&2 .47 14/69 DocID025833 Rev 12 UM1724 Hardware layout and configuration Figure 5. STM32 Nucleo board mechanical dimensions DocID025833 Rev 12 15/69 68 Hardware layout and configuration 6.1 UM1724 Cuttable PCB The STM32 Nucleo board is divided into two parts: ST-LINK part and target STM32 part. The ST-LINK part of the PCB can be cut out to reduce the board size. In this case the remaining target STM32 part can only be powered by VIN, E5V and 3.3V on ST morpho connector CN7 or VIN and 3.3V on Arduino connector CN6. It is still possible to use the ST-LINK part to program the main STM32 using wires between CN4 and SWD signals available on ST morpho connector (SWCLK CN7 pin 15 and SWDIO CN7 pin 13). 6.2 Embedded ST-LINK/V2-1 The ST-LINK/V2-1 programming and debugging tool is integrated in the STM32 Nucleo board. The ST-LINK/V2-1 makes the STM32 Nucleo boards Mbed Enabled™. The embedded ST-LINK/V2-1 supports only SWD for STM32 devices. For information about debugging and programming features refer to ST-LINK/V2 in-circuit debugger/programmer for STM8 and STM32 User manual (UM1075), which describes in details all the ST-LINK/V2 features. The changes versus ST-LINK/V2 version are listed below. • New features supported on ST-LINK/V2-1: – • • USB software re-enumeration – Virtual COM port interface on USB – Mass storage interface on USB – USB power management request for more than 100 mA power on USB Features not supported on ST-LINK/V2-1: – SWIM interface – Minimum supported application voltage limited to 3 V Known limitation: – Activating the readout protection on ST-LINK/V2-1 target prevents the target application from running afterwards. The target readout protection must be kept disabled on ST-LINK/V2-1 boards. There are two different ways to use the embedded ST-LINK/V2-1 depending on the jumper states (see Table 4 and Figure 6): • Program/debug the on-board STM32 (Section 6.2.2) • Program/debug an MCU in an external application board using a cable connected to SWD connector CN4 (Section 6.2.4). Table 4. Jumper states Jumper state 16/69 Description Both CN2 jumpers ON ST-LINK/V2-1 functions enabled for on board programming (default) Both CN2 jumpers OFF ST-LINK/V2-1 functions enabled for external CN4 connector (SWD supported) DocID025833 Rev 12 UM1724 Hardware layout and configuration Figure 6. Typical configuration ,ĂƌĚǁĂƌĞƌĞƋƵŝƌĞŵĞŶƚƐ͗ ͲŽŵƉƵƚĞƌǁŝƚŚtŝŶĚŽǁƐΠϳ͕ϴŽƌϭϬ Ͳh^ĐĂďůĞdLJƉĞͲƚŽDŝŶŝͲ ĞǀĞůŽƉŵĞŶƚƚŽŽůĐŚĂŝŶ͗ Ͳ/ZΡtZD Ͳ
Purchase answer to see full attachment
User generated content is uploaded by users for the purposes of learning and should be used following Studypool's honor code & terms of service.

Explanation & Answer

It's working as expected,...


Anonymous
Nice! Really impressed with the quality.

Studypool
4.7
Trustpilot
4.5
Sitejabber
4.4

Related Tags