…
|
||
---|---|---|
.. | ||
EWARM | ||
Inc | ||
MDK-ARM | ||
SW4STM32 | ||
Src | ||
Release_Notes.html | ||
readme.txt |
readme.txt
/** @page Templates_LL Description of the Templates_LL example @verbatim ****************************************************************************** * @file Templates_LL/readme.txt * @author MCD Application Team * @brief Description of the Templates_LL example. ****************************************************************************** * @attention * * Copyright (c) 2016 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** @endverbatim @par Example Description This projects provides a reference template through the LL API that can be used to build any firmware application. This project LL template provides: - Inclusion of all LL drivers (include files in "main.h" and LL sources files in IDE environment, with option "USE_FULL_LL_DRIVER" in IDE environment) Note: If optimization is needed afterwards, user can perform a cleanup by removing unused drivers. - Definition of LEDs and user button (file: main.h) Note: User button name printed on board may differ from naming "user button" in code: "key button", ... - Clock configuration (file: main.c) This project LL template does not provide: - Functions to initialize and control LED and user button - Functions to manage IRQ handler of user button To port a LL example to the targeted board: 1. Select the LL example to port. To find the board on which LL examples are deployed, refer to LL examples list in "STM32CubeProjectsList.html", table section "Examples_LL" or AN4731: STM32Cube firmware examples for STM32F7 Series 2. Replace source files of the LL template by the ones of the LL example, except code specific to board. Note: Code specific to board is specified between tags: /* ============== BOARD SPECIFIC CONFIGURATION CODE BEGIN ============== */ /* ============== BOARD SPECIFIC CONFIGURATION CODE END ============== */ - Replace file main.h, with updates: - Keep LED and user button definition of the LL template under tags - Replace file main.c, with updates: - Keep clock configuration of the LL template: function "SystemClock_Config()" - Depending of LED availability, replace LEDx_PIN by another LEDx (number) available in file main.h - Replace file stm32f7xx_it.h - Replace file stm32f7xx_it.c @Note<74>If the user code size exceeds the DTCM-RAM size or starts from internal cacheable memories (SRAM1 and SRAM2),that is shared between several processors, <20><><A0><A0><A0>then it is highly recommended to enable the CPU cache and maintain its coherence at application level. <0A><><A0><A0><A0><A0>The address and the size of cacheable buffers (shared between CPU and other masters) must be properly updated to be aligned to cache line size (32 bytes). @Note It is recommended to enable the cache and maintain its coherence, but depending on the use case <0A><><A0><A0><A0> It is also possible to configure the MPU as "Write through", to guarantee the write access coherence. <0A><><A0><A0><A0><A0>In that case, the MPU must be configured as Cacheable/Bufferable/Not Shareable. <0A><><A0><A0><A0><A0>Even though the user must manage the cache coherence for read accesses. <0A><><A0><A0><A0><A0>Please refer to the AN4838 <20>Managing memory protection unit (MPU) in STM32 MCUs<55> <0A><><A0><A0><A0><A0>Please refer to the AN4839 <20>Level 1 cache on STM32F7 Series<65> @par Directory contents - Templates_LL/Inc/stm32f7xx_it.h Interrupt handlers header file - Templates_LL/Inc/main.h Header for main.c module - Templates_LL/Inc/stm32_assert.h Template file to include assert_failed function - Templates_LL/Src/stm32f7xx_it.c Interrupt handlers - Templates_LL/Src/main.c Main program - Templates_LL/Src/system_stm32F7xx.c STM32F7x system source file @par Hardware and Software environment - This template runs on STM32F769I devices. - This template has been tested with STM32F769I-DISCO board and can be easily tailored to any other supported device and development board. @par How to use it ? In order to make the program work, you must do the following : - Open your preferred toolchain - Rebuild all files and load your image into target memory - Run the example In order to load the Flash_ITCM configuration, you must follow the instructions below : - Open SW4STM32 toolchain - Rebuild all files - Open STM32 ST-Link Utility V4.1.0 - Connect the STM32xx board to PC with USB cable through CN1 - Use the hex file generated to program ITCM Flash using ST-Link Utility */