FreeRTOS Trace STM32F407 SystemView

  • P0_447187
  • 5.3MB
  • zip
  • 0
  • VIP专享
  • 0
  • 2022-04-22 02:59
Freertos Trace可视化分析Segger SystemView代码包
FreeRTOS Port for Xtensa Configurable and Diamond Processors ============================================================ FreeRTOS Kernel Version 10.0.0 Introduction ------------ This document describes the Xtensa port for FreeRTOS multitasking RTOS. For an introduction to FreeRTOS itself, please refer to FreeRTOS documentation. This port currently works with FreeRTOS kernel version 10.0.0. Xtensa Configuration Requirements and Restrictions -------------------------------------------------- The Xtensa configurable architecture supports a vast space of processor features. This port supports all of them, including custom processor extensions defined in the TIE language, with certain minimum requirements. You must use Xtensa Tools to compile and link FreeRTOS and your application for your Xtensa configuration. The port uses the Xtensa Hardware Abstraction Layer (HAL) to adapt to your Xtensa configuration. NOTE: It may be possible to build and run this with the open-source xtensa-linux tools provided you have the correct overlay for your Xtensa configuration. However, this has not been tested and is currently not supported by Cadence. This port includes optional reentrancy support for the 'newlib' and 'xclib' C runtime libraries distributed with Xtensa Tools, providing thread-safety on a per task basis (for use in tasks only, not interrupt handlers). NOTE: At this time only 'newlib' and 'xclib' C libraries are supported for thread safety. The 'uclibc' library is not reentrant and does not provide thread safety at this time. However, if you are not concerned with reentrancy then you can use any of these libraries. This port also includes a simple example application that may run on a supported board or the Xtensa instruction set simulator (ISS). There are also a couple of test programs used in maintaining the port, which serve as additional examples. FreeRTOS for Xtensa configurable processors requires the following minimum processor configuration options: - Timer interrupt option with at least one interruptible timer. - Interrupt option (implied by the timer interrupt option). - Exception Architecture 2 (XEA2). Please note that XEA1 is NOT supported. All 'Diamond', 'Xtensa 6', 'Xtensa LX' and 'Xtensa LX2' processors and most 'Xtensa T1050' processors are configured with XEA2. All Diamond processor cores meet these requirements and are supported. Minimal support for certain evaluation boards is provided via a board independent XTBSP API implemented by a board specific library distributed with the Xtensa Tools. This provides the board clock frequency and basic polled drivers for the display and console device. Note that XTBSP is not a tradtional RTOS "board support package" with RTOS specific interrupt-driven drivers - it is not specific to any RTOS. Note that FreeRTOS can run on any Xtensa or Diamond board without this board support (a "raw" platform), but you will have to provide the clock frequency and drivers for any on-board devices you want to use. Installation ------------ The Xtensa port of FreeRTOS is available at this location: This download includes the core FreeRTOS source and include files needed to build the port. You can also download the official release of FreeRTOS version 1.0.0 or later from this location: The Xtensa port files are currently not included in the official package. All source is provided along with a Makefile that works for any host platform supported by Xtensa Tools (Windows, Linux). These instructions are written for Windows users, but can easily be understood and adapted to other host platforms. First install the FreeRTOS common package in a directory of your choosing. The structure of that package will look like this: <install directory> |-- demos | `-- cadence | `-- sim | |-- common | | |-- application_code | | | `-- cadence_code | | `-- config_files | `-- xplorer `-- lib |-- FreeRTOS | `-- portable | |-- Common | |-- MemMang | `-- XCC | `-- Xtensa `-- include `-- private The Xtensa Tools are available from Cadence as part of a processor license. Be sure you have installed the Xtensa Tools and your processor configuration. Building FreeRTOS for Xtensa ---------------------------- To build the FreeRTOS library and the example programs, go into the directory 'demos/cadence/sim' and use the makefile in that directory. "make all" will build all the examples. There is another makefile in the 'lib/FreeRTOS/portable/XCC/Xtensa' directory that builds just the FreeRTOS library. By default, you will build for the Xtensa instruction set simulator. If you have a supported emulation board, you can build to run on that. You can also build to run on a raw Xtensa core with no board support, a good starting point for supporting your own target platform. Cadence recommends doing functional development on the simulator because it is easier to debug with, then move to a board if/when you need to test hardware drivers or real-time performance. The provided makefile simplifies building FreeRTOS and the example for your Xtensa configuration and platform (ISS, board, etc.). There are detailed instructions in the comments at the top of the makefile. The makefiles work on Windows and Linux and support incremental builds. The build for each Xtensa configuration and target platform is placed in a subdirectory so several core and platform builds can co-exist even with incremental rebuilds. You may specify the root of the build area (if tou want it to be elsewhere than under the source tree) by defining BLDROOT either in the make command or your shell environment. Building the FreeRTOS Library ----------------------------- First, be sure you have installed Xtensa Tools and your processor configuration, and be sure that Xtensa Tools are in your search path. You can use xt-make, which comes with the Xtensa Tools, to run the makefiles. Change directories to the Xtensa port directory: > cd lib/FreeRTOS/portable/XCC/Xtensa Now build the FreeRTOS RTOS as a library (libfreertos.a) as follows: > xt-make which by default builds for the simulator (TARGET=sim), or: > xt-make TARGET=board which builds for a supported board. Note that the board type does not need to be specified when building the FreeRTOS library. If you are building for an Xtensa processor configuration that is not the default you selected when you installed Xtensa Tools, you need to define the environment variable XTENSA_CORE. If your configuration is not in the default registry you selected when you installed Xtensa Tools, you also need to define the environment variable XTENSA_SYSTEM. See tools manuals. You can avoid defining these in your environment if you pass the variables you need to redefine into xt-make as follows: > xt-make XTENSA_CORE=<your_config_name> XTENSA_SYSTEM=<your_registry> ... There are more details about build options in the comment in the Makefile. After the library has been built, you must link your application with this library in order to use FreeRTOS. Building the FreeRTOS Examples ------------------------------ The provided examples are designed to run on the Xtensa instruction set simulator (ISS) or a supported evaluation board programmed with your Xtensa processor configuration. To build the examples for the default platform (simulator): > cd demos/cadence/sim > xt-make all which is the same as > xt-make all TARGET=sim The boards currently supported are the Xilinx ML605 and KC705 FPGA development boards. To target these boards, type > xt-make all TARGET=ml605
    • STM32 程序
    • STM32
      STM32 该存储库用于容纳我的学习项目,以便使用STM32开发板进行嵌入式系统编程。
    • stm32f103
    • STM32
    • stm32 sim 7600
      stm32 ota sim 7600 stm32 ota sim 7600stm32 ota sim 7600stm32 ota sim 7600stm32 ota sim 7600stm32 ota sim 7600stm32 ota sim 7600stm32 ota sim 7600stm32 ota sim 7600stm32 ota sim 7600stm32 ota sim 7600...
    • STM32 SPWM
    • stm32 pack
      keil5 中使用的 STM32包 其中包括 STM32F0 STM32F1 STM32F3 STM32L0 STM32L1
    • stm32cubemx
      stm32cubemx st的代码生成器,安装后可以进行图形化的代码生成,项目生成!
    • STM32CubeMX
    • STM32 JoyStickMouse
      今天终于把 STM32 的例程 JoyStickMouse 跑起来了,上传一份备忘。 注意要根据 stm32f10x_conf.h 中的注释去掉一些没用到的文件