Hands-On Workshop: Developing with the Kinetis Software Development Kit

Size: px
Start display at page:

Download "Hands-On Workshop: Developing with the Kinetis Software Development Kit"

Transcription

1 Hands-On Workshop: Developing with the Kinetis Software Development Kit FTF-SDS-F0127 Michael Norman Technical Marketing Manager Chris Brown Applications Engineer A p r i l TM External Use

2 Hands-On Workshop: Developing with the *new* Kinetis Software Development Kit (SDK) FTF-SDS-F Hour Class Learn about the new Kinetis software development kit (Kinetis SDK) and how it will dramatically improve your ability to develop C-language embedded bare-metal and RTOS-based applications. External Use 1

3 Session Objectives After completing this session you will: Have a good grasp on what the Kinetis SDK is and how it will benefit you and your designs with Kinetis MCUs. Understand what the future holds for the Kinetis SDK Be able to develop bare-metal and RTOS-based applications using the 1.0-Beta release of the Kinetis SDK External Use 2

4 Agenda Introduction to the Kinetis Software Development Kit (SDK) Architectural review Source review Stack and middleware integration Configuration using Processor Expert Roadmap Hands-in with the Kinetis SDK External Use 3

5 Agenda Hands-on with the Kinetis SDK Building the HAL and Driver libraries Startup and clocking configurations Adding a new board configuration Pin Muxing Tool HAL and Driver Usage Examples Blink an LED LED in an interrupt (switch) Install I2C (use accel) Clock mode changes Vector relocation Handling interrupts including dynamic interrupt tables Bare metal vs. RTOS application External Use 4

6 Software and Hardware Evaluation & Dev Tools Stacks (TCP/IP, USB) Middleware Application Specific Microcontroller Software Taxonomy HW eval kits, compilers, IDEs, GUI layout editors, data profiling and visualization, etc. Customer Application Wide range of software including touch solutions, graphics suites, utilities, etc. e.g. Audio Solutions, Motor Control, Wireless Charging Communication stacks including TCP/IPv4/IPv6, ZigBee, BLE, WIFI, and USB Libraries (DSP, Math, Encryption) RTOS Real-time operating systems; e.g. MQX, uc/os, FreeRTOS, uvelocity, and more Pre-compiled software such as HW accelerator drivers, C libraries, and proprietary algorithms HAL & Drivers MCU Hardware Bootloader Initialization and configuration; HW abstraction layers; peripheral drivers External Use 5

7 Software and Hardware Evaluation & Dev Tools Stacks (TCP/IP, USB) Middleware TM Application Specific Kinetis Software Development Kit (SDK) Learn more at: SDK A complete software framework for developing applications across all Kinetis MCUs HAL, peripheral drivers, libraries, middleware, utilities, and usage examples; delivered in C source Customer Application Libraries (DSP, Math, Encryption) BSP, Drivers & HAL Operating System Bootloader Product Features Open source Hardware Abstraction Layer (HAL) provides APIs for all Kinetis hardware resources BSD-licensed set of peripheral drivers with easy-to-use C-language APIs Comprehensive HAL and driver usage examples and sample applications for RTOS and bare-metal. CMSIS-CORE compatible startup and drivers plus CMSIS-DSP library and examples RTOS Abstraction Layer (OSA) with support for Freescale MQX, FreeRTOS, Micrium uc/os, bare-metal and more Integrates USB and TCP/IP stacks, touch sensing software, encryption and math/dsp libraries, and more Support for multiple toolchains including GNU GCC, IAR, Keil, and Kinetis Design Studio Integrated with Processor Expert MCU Hardware External Use 6 The OSI logo trademark is the trademark of Open Source Initiative.

8 Kinetis Platform SDK Overview Hardware Abstraction Layer Abstracted IP level Basic operations Useable low level drivers System Services Clock Manager, Interrupt manager, Low power manager, HW timer Can be used with HAL, PD and Application FSL Peripheral Drivers Use case driven high level drivers OS Abstraction Layer (OSA) Adapt to different OS (MQX, FreeRTOS and uc/os) through corresponding OSA BSP & Configuration Board Configuration, Pin Muxing, GPIO Configuration Can be configured using Processor Expert Stacks & Middle Wares USB stack, TCP/IP stack, Connectivity Audio, Graphics, more... External Use 7

9 Kinetis SDK 2014 Release Schedule 1.0 GA - Mid July 2014 Finalized APIs for HAL and PD Add Keil, Atollic and KDS toolchains Add support for K22, KL03, KL43Z, more 1.1 GA TBD Q Additional stack and middleware integration MQX RTCS, MFS integration 1.0b 1.0-Beta - April 8, 2014 Support for K64F, K63F, and K24F via TWR-K64F120M and FRDM-K64F (new) Supports IAR and GCC w/ make Training at FTF Americas Released to web Stand-alone releases Based on 1.0 GA release Adds support for new Kinetis NPIs according to their launch schedule. External Use 8

10 Cortex Microcontroller Software Interface Standard (CMSIS) Software layers for all ARM Cortex -M processor based devices CMSIS-CORE : API for Cortex-M processor and core peripherals CMSIS-DSP : DSP library with over 60 functions for Cortex-M CMSIS-SVD : XML system view description for MCU peripherals CMSIS-RTOS : API for RTOS integration CMSIS-DAP : Standardize firmware for connecting to CoreSight DAP CMSIS-Pack : XML based package description for file collections (packs) CMSIS-Driver : defines generic peripheral driver interface for middleware External Use 9

11 CMSIS-CORE Compliant Header Files with IP Extensions The Kinetis SDK does use CMSIS-CORE API for peripheral access C macros, interrupt handler naming, etc. It also extends the peripheral headers to include Easier access to registers Use bit-banding where possible provide the CMSIS-DSP lib and source (for GCC, built-into other tools) and usage example The Kinetis SDK does not provide a CMSIS-Driver compatible layer this may be considered in a future release External Use 10

12 Peripheral IP Feature Header Files The Kinetis SDK uses feature header files to define IP specific features Helps abstract the drivers and provide common code base for variety of different IP or IP configurations Example: fsl_uart_features.h #if defined(cpu_mk10dn512vlk10) defined(cpu_mk10dn512vll10)... #define FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORT (0) fsl_uart_hal_transfer_functions.c void uart_hal_getchar(uint32_t uartinstance, uint8_t *readdata) { #if FSL_FEATURE_UART_HAS_LOW_POWER_UART_SUPPORT #endif } External Use 11

13 Hardware Abstraction Layer Licensed under BSD 3-clause open-source license Provides simple, stateless drivers with an API encapsulating the functions of Kinetis peripherals The layer closest to the hardware in our layered driver approach Designed to be run-time configurable by taking user defined configuration data through init function call Taking UART as an example: HAL offers low-level init and byte transfer operations Init, set baud rate, set parity, set stop bit, read byte, write byte HAL provides both blocking and non-blocking data transfers non-blocking write byte used by interrupt driven Peripheral Driver block write (polling) will make sure the byte can actually write to the data FIFO External Use 12

14 System Services Commonly used services Hardware / unified timer can be running on any of the timers in SoC Centralized Clock Manager Centralized Interrupt Manager Low Power Manager Can be built using SoC header files and HAL components Can be used by Peripheral Drivers or User Application User can just use HAL and System Services to build applications Alternatively, the Peripheral Drivers utilize the System Services and users do not need to use system services Can be used by OSA External Use 13

15 Peripheral Drivers Open-source, high-level peripheral drivers Built on top of the HAL layer May utilize one or more HAL drivers and can take advantage of System Services Shielded from the underlying hardware details by the HAL and System Services Drivers may be used as-is or as a reference for creating custom drivers Possibly combine one or multiple HALs and system services for a use case driven high level driver Peripheral Drivers are run-time configurable using configuration data structures passed into init() Examples: UART: PD can be built on top of the HAL to deal with interrupt driven buffer level of operation Composite drivers: ADC driven by using PDB NOTE: we do not encourage mixing the usage of HAL and Peripheral Drivers. The application should either using HAL, or PD, but not both at the same time. External Use 14

16 OSA: Real-Time Operating System Abstraction Kinetis SDK provides an operating system abstraction (OSA) layer for adapting applications for use with a real time operating system (RTOS) or bare metal (no RTOS) applications. OSAs are provided for: Freescale MQX RTOS FreeRTOS Micrium uc/os-ii Micrium uc/os-iii bare-metal (no RTOS) RTOS abstraction layer bridges KSDK to work with or without RTOS Supports key RTOS services Semaphores, Mutex, Memory Management, Event External Use 15

17 Top 3 MCU Real-Time Operating Systems #2 #3 #1 Top RTOSes 1. FreeRTOS 2. Micrium uc/os-ii & III 3. Freescale MQX Freescale MQX 65K+ Downloads 19K+ Unique Users External Use 16

18 Middleware and Stack Integration Middleware Integration runs on top of the Kinetis SDK drivers RTOS abstraction addresses the usage with or without RTOS Stacks and middleware in source or object formats including: USB Stack: comprehensive device and host stack with extensive USB class support CMSIS DSP: a suite of common signal processing functions Crypto software utilizing the mmcau hardware acceleration 1.0-GA release planning to support: Freescale MQX Real-Time TCP/IP Communication Suite (RTCS) Freescale MQX File System (MFS) FatFs, a FAT file system for small embedded systems unit More to come External Use 17

19 Board Configuration and Support Pin Muxing Kinetis SDK driver layer does not handle pin muxing It is handled at the board configuration level Pin muxing functions can be generated using Pin Muxing tool in PEx Board Specific configuration GPIO configuration Hardware Initialization code Function to initialize serial console for debug purposes. Drivers for common devices included in our evaluation boards provided for building demo applications ENET PHY SPI flash Accelerometer Codec External Use 18

20 Processor Expert Software A development system to create, configure, optimize, migrate, and deliver software and configuration details for Freescale silicon. Initialization CMSIS Headers CMSIS startup code Reset register values Vector Table setup Peripheral Initialization Pin Muxing initialization Configuration Reset configuration DDR configure/validate Pin Muxing Device Tree Editor Uboot configuration Processor Knowledge base >1000 Processors Supported Device Driver Components RTOS adaptive drivers Low power capabilities Configuration integrated NOW Kinetis Platform SDK Drivers supported API Factory Script-based build server CMSIS Header files 3 rd Party Tools NPI support Detailed Register files Si Validation scripts [Used by Common Register Repository initiative] External Use 19

21 Kinetis SDK and Processor Expert Processor Expert is a complimentary PChosted software configuration tool (Eclipse plugin) Processor Expert (PEx) provides a time-saving option for software configuration through a graphical user interface (GUI) Board configuration and driver tuning tasks include: Optional generation of low-level device initialization code for post-reset configuration Pin Muxing tools to generate pin muxing functions Components based on Kinetis SDK drivers Users configure the SoC and Peripherals in a GUI PEx creates the configuration data structures for driver config and init External Use 20

22 Demo Applications and Tool Chain Support Kinetis SDK includes software examples demonstrating the usage of the HAL, Peripheral Drivers, supported RTOS, and integrated middle wares The usage of HAL, System Services and Peripheral Drivers Demos work with or without RTOSs Demos to assemble a typical application or solution for specified vertical markets Tool chains supported: IAR Embedded Workbench GCC from ARM Embedded project with makefiles *Atollic TrueSTUDIO *ARM Keil MDK *Kinetis Design Studio External Use 21

23 Kinetis IDE Options Featured IDEs: Atollic TrueSTUDIO Professional ECLIPSE/GNU based IDE with a MISRA-C checker, code complexity analysis and source code review features. Advanced RTOS-aware debugger with ETM/ETB/SWV/ITM tracing, live variable watch view and fault analyzer. Dual-core and multi-processor debugging. Strong support for software engineering, workflow management, team collaboration and improved software quality. Green Hills MULTI Complete & integrated software and hardware environment with advanced multicore debugger Industry first TimeMachine trace debugging & profiler EEMBC certified top performing C/C++ compilers Complimentary Solutions: Kinetis Design Studio Complimentary basic capability integrated development environment (IDE) for Kinetis MCUs Eclipse and GCC-based IDE for C/C++ editing, compiling and debugging SDK 1.0-Beta SDK 1.0-GA Keil Microcontroller Development Kit Specifically designed for microcontroller applications, easy to learn and use, yet powerful enough for the most demanding embedded applications ARM C/C++ build toolchain and Execution Profiler and Performance Analyzer enable highly optimized programs Complete Code Coverage information about your program's execution IAR Embedded Workbench A powerful and reliable IDE designed for ease of use with outstanding compiler optimizations for size and speed The broadest Freescale ARM/Cortex MCU offering with dedicated versions available with functional safety certification Support for multi-core, low power debugging, trace,... mbed Development Platforms The fastest way to get started with Kinetis MCUs Online project management and build tools no installation required; option to export to traditional IDEs Includes comprehensive set of drivers, stacks and middleware with a large community of developers. Additional Ecosystem Partners: External Use 22

24 Kinetis SDK Directory Structure Demo applications Board specific code Integration guides, QSGs, RM, User s Guides Prebuilt libraries for each toolchain and board Common make files used for compiling with GCC Kinetis platform source CMSIS headers and DSP source/libs Peripheral Drivers Hardware Abstraction Linker files CMSIS startup Debug utilities, bare metal OSA OS abstraction layer code Freescale s new unified USB stack External Use 23

25 Software and Hardware Evaluation & Dev Tools Stacks (TCP/IP, USB) Middleware TM Application Specific Kinetis Software Development Kit (SDK) Learn more at: SDK A complete software framework for developing applications across all Kinetis MCUs HAL, peripheral drivers, libraries, middleware, utilities, and usage examples; delivered in C source Customer Application Libraries (DSP, Math, Encryption) BSP, Drivers & HAL Operating System Bootloader Product Features Open source Hardware Abstraction Layer (HAL) provides APIs for all Kinetis hardware resources BSD-licensed set of peripheral drivers with easy-to-use C-language APIs Comprehensive HAL and driver usage examples and sample applications for RTOS and bare-metal. CMSIS-CORE compatible startup and drivers plus CMSIS-DSP library and examples RTOS Abstraction Layer (OSA) with support for Freescale MQX, FreeRTOS, Micrium uc/os, bare-metal and more Integrates USB and TCP/IP stacks, touch sensing software, encryption and math/dsp libraries, and more Support for multiple toolchains including GNU GCC, IAR, Keil, and Kinetis Design Studio Integrated with Processor Expert MCU Hardware External Use 24 The OSI logo trademark is the trademark of Open Source Initiative.

26 Hands-on workshop In this portion of the presentation, you will learn how to: Add new board configurations Use the HAL and driver Configure startup and clocking configurations Install and implement your interrupt functions Build the HAL and driver libraries Setup your application for use with an RTOS External Use 25

27 Getting Started First, rules of the road 1. Every demo application workspace include a demo application project and the corresponding library project 1 2 1: Demo application project 2: KSDK driver library project Use these tabs to switch between the library project and the demo application project External Use 26

28 Getting Started 2. The KSDK demo applications include the driver library from a pre-built linkable library. 1 1: Pre-built linkable library External Use 27

29 Getting Started Applicable Exercises 3. This workshop is divided into multiple exercises with a banner above each section of code required for each exercise. Code to commented / uncommented. External Use 28

30 Getting Started 4. The KSDK demo applications use the PE micro as the default debugger 1 But is should be noted that the debugger should be the CMSIS- DAP 2 1: Current 2: But should be External Use 29

31 Getting Started Open the hello_world project Located at <SDK root>\apps\hello_world\<toolchain>\<board> Example: Kinetis_SDK\apps\hello_world\iar\frdmk64f120m External Use 30

32 Getting Started (Cont) Select the Demo Application Project Click the hello_world tab External Use 31

33 Getting Started Open the project options (Project->Options) Select the Debugger Category Select the setup tab. Change the driver to the CMSIS DAP. External Use 32

34 Getting Started - Now select CMSIS DAP from the Category selections - Select the JTAG/SWD Tab - Change the Interface to SWD External Use 33

35 Getting Started (Cont) Build the project Select Project->Rebuild All Verify that there were no errors or warnings. External Use 34

36 Getting Started (Cont) Connect your FRDM-K64F to your PC via the provided USB A to micro B cable. The USB cable should connect to J26 of the FRDM-K64F Now, connect a terminal program to the FRDM-K64F board using these terminal settings: Baud: 115,200 Data bits: 8 Parity: None Stop bits: 1 Flow Control: None External Use 35

37 Getting Started (Cont) Run the project Click the download and debug button Then click Go Now, Hello World!!! should be printed to the terminal screen and you should be able to type into the terminal External Use 36

38 Hands-on workshop In this portion of the presentation, you will learn how to: Add new board configurations Use the HAL and driver Configure startup and clocking configurations Install and implement your interrupt functions Build the HAL and driver libraries Setup your application for use with an RTOS External Use 37

39 Adding a New Board Configuration Browse to a board folder in explorer and copy it Board folders are located at <SDK root>\boards Example: Kinetis_SDK\boards\frdmk64f120m External Use 38

40 Adding a New Board Configuration (Cont) After copying the frdmk64f120m folder, paste it into the boards folder and rename it appropriately (myftfboard for the purposes of this exercise). External Use 39

41 Adding a New Board Configuration (Cont) Now to use the new board configuration, we simply change the path the in the project directory path list, and point IAR to the source files in the new location. Select Project->options Select C/C++ Compiler from the Categories, and then select the Preprocessor tab. Scroll down in the list until you find the link to the frdmk64f120m board External Use 40

42 Adding a New Board Configuration (Cont) Replace frdmk64f120m with the new board folder name (myftfboard) Once you have done that, click OK. External Use 41

43 Adding a New Board Configuration (Cont) Select the board files, right click and select Remove Now, right click on the board folder, select Add-> Add Files to add the new board files External Use 42

44 Adding a New Board Configuration (Cont) Navigate to the board folder we just created and select the source files. Then click Open. External Use 43

45 Adding a New Board Configuration (Cont) Open gpio_pins.h by double clicking it in the Workspace view. Change kgpioled1 to myftfled External Use 44

46 Adding a New Board Configuration (Cont) Open gpio_pins.c Change kgpioled1 in the ledpins structure to myftfled External Use 45

47 Getting Started (Cont) Build the project Select Project->Rebuild All Verify that there were no errors or warnings. External Use 46

48 Hands-on workshop In this portion of the presentation, you will learn how to: Add new board configurations Use the HAL and driver Configure startup and clocking configurations Install and implement your interrupt functions Build the HAL and driver libraries Setup your application for use with an RTOS External Use 47

49 Using the HAL and Drivers Let s add an LED blink routine while the application waits for characters. First, the original code should be commented out Open hello_world.c and find the original code and comment it out External Use 48

50 Using the HAL and Drivers Uncomment the code necessary for Exercise #1 (marked by the Exercise #1 banner) External Use 49

51 Using the HAL and Drivers To use enable the use of the GPIO, the GPIO initialization function must be called. Uncomment it (it is also marked with an Exercise #1 banner). External Use 50

52 Getting Started (Cont) Run the project Click the download and debug button (all modified files will be automatically saved and re-compiled). Then click Go Now, Hello World!!! should be printed to the terminal screen and you should be able to see the LED toggling approximately once per second. External Use 51

53 Hands-on workshop In this portion of the presentation, you will learn how to: Add new board configurations Use the HAL and driver Configure startup and clocking configurations Install and implement your interrupt functions Build the HAL and driver libraries Setup your application for use with an RTOS External Use 52

54 Using the HAL and Drivers Now let s make the LED toggle at a more accurate/consistent 1 Hz. To accomplish this: Use the PIT Toggle the LED in the PIT ISR First, the PIT driver paths need to be added Add platform\drivers\pit ($PROJ_DIR$\..\..\..\..\platform\drivers\pit) Add platform\hal\pit ($PROJ_DIR$\..\..\..\..\platform\hal\pit) Add platform\drivers\interrupt ($PROJ_DIR$\..\..\..\..\platform\drivers/interrupt) External Use 53

55 Using the HAL and Drivers Next, enable the PIT initialization structure by un-commenting the following structure definition (marked by Exercise 2 banner). External Use 54

56 Using the HAL and Drivers After making the configuration structure, uncomment the PIT_0_IRQCallback and its prototype (marked by Exercise #2 banner). External Use 55

57 Using the HAL and Drivers Now the PIT is setup. Simply call the initialization and interrupt enable functions as shown by un-commenting these sets of code (marked by Exercise #2 banners). External Use 56

58 Using the HAL and Drivers Uncomment the PIT callback register command so that the callback will be used. External Use 57

59 Using the HAL and Drivers When using new drivers, don t forget to include the necessary header files in the files that are using those particular drivers. In this case, we need to include the interrupt manager driver header file and the PIT driver header file. External Use 58

60 Using the HAL and Drivers Comment the code necessary for Exercise #1 (marked by the Exercise #1 banner) External Use 59

61 Using the HAL and Drivers Finally, uncomment the while loop in main for Exercises 2-4 (marked by the banners). External Use 60

62 Getting Started (Cont) Run the project Click the download and debug button (all modified files will be automatically saved and re-compiled). Then click Go Now, Hello World!!! should be printed to the terminal screen and you should be able to see the LED toggling once every three seconds. External Use 61

63 Using the HAL and Drivers Now let s suppose it is necessary to completely overwrite the default ISR. Uncomment the interrupt vector replacement instruction (marked by Exercise #3 banner). Re-comment out the callback register function (marked by the Exercise #3 statement. External Use 62

64 Using the HAL and Drivers Also need to uncomment the PIT_0_IRQHandler function and its prototype (marked by the Exercise #3 banner). External Use 63

65 Using the HAL and Drivers and re-comment the PIT_0_IRQCallback and its prototype (marked by the Exercise #2 banner). External Use 64

66 Getting Started (Cont) Run the project Click the download and debug button (all modified files will be automatically saved and re-compiled). Then click Go Now, Hello World!!! should be printed to the terminal screen and you should be able to see the LED toggling once per second. External Use 65

67 Hands-on workshop In this portion of the presentation, you will learn how to: Add new board configurations Use the HAL and driver Configure startup and clocking configurations Install and implement your interrupt functions Build the HAL and driver libraries Setup your application for use with an RTOS External Use 66

68 Startup and Clocking Configuration Now let s say that the application needs to operate at a different clock frequency. Change the CLOCK_SETUP macro in system_<device>.h to accomplish this. External Use 67

69 Startup and Clocking Configuration Change CLOCK_SETUP from 1 to 0. Next, add a statement to write the PIT LDVAL with the same value that should yield a 1s interval for a 60 MHz clock (this is so that we can more easily observe the changes in the clock). Simply uncomment the pit_hal_set_timer_period_counter statement marked by the Exercise #4 statement. External Use 68

70 Getting Started (Cont) Run the project Click the download and debug button (all modified files will be automatically saved and re-compiled). Then click Go Now, Hello World!!! should be printed to the terminal screen and you should be able to see the LED toggling once every three seconds. External Use 69

71 Hands-on workshop In this portion of the presentation, you will learn how to: Add new board configurations Use the HAL and driver Configure startup and clocking configurations Install and implement your interrupt functions Build the HAL and driver libraries Setup your application for use with an RTOS External Use 70

72 Building the HAL and Driver Libraries Copy the gpio toggle command Now let s modify the PIT driver to handle the blinking of the LED. Select the platform_lib in the project workspace to open it. External Use 71

73 Building the HAL and Driver Libraries (Cont) Once the platform_lib project is open, expand the platform, drivers, pit and src (under the pit directory) folder, and open the fsl_pit_irq.c file. External Use 72

74 Building the HAL and Driver Libraries (Cont) Find the PIT0_IRQHandler function and add the gpio toggle command. External Use 73

75 Building the HAL and Driver Libraries (Cont) The board.h file must be included for the library to be able to find the LED pin handle that was added. So add the following include. Next, rebuild the library by clicking the make button. Now go back to the hello_world project, and in hello_world.c, remove the interrupt register statement. External Use 74

76 Building the HAL and Driver Libraries (Cont) Rebuild the project by clicking the Make button again, and debug the project. Once in the debug session, it should stop at main. Place a breakpoint in the PIT_0_IRQHandler function that we previously used to toggle the gpio. (HINT: You should find that you can t). External Use 75

77 Building the HAL and Driver Libraries (Cont) Finally, click go (with no breakpoints set) and the LED should now be blinking approximately once every 3 seconds. External Use 76

78 Hands-on workshop In this portion of the presentation, you will learn how to: Add new board configurations Use the HAL and driver Configure startup and clocking configurations Install and implement your interrupt functions Build the HAL and driver libraries Setup your application for use with an RTOS External Use 77

79 Setup your application for use with an RTOS Now let s suppose we want to add an RTOS to our application. What to do?... First, we need to remove the baremetal library. Expand lib\debug in the workspace window Right click on the library (*.a) Click Remove External Use 78

80 Setup your application for use with an RTOS Next, we need to include the appropriate library. For this example, we will use the FreeRTOS library, located at <SDK root>\lib\iar\k64f12\output\debug. External Use 79

81 Setup your application for use with an RTOS Right click on the debug folder under the lib folder in the Workspace. Select Add-> Add Files In the pop-up navigate to lib\iar\k64f12\output\debug Note: Make sure you select All files in the dialog box. Otherwise, the libraries will not be visible. External Use 80

82 Setup your application for use with an RTOS Freertos will also require us to add source files to the project. For this, create a folder named FreeRTOS External Use 81

83 Setup your application for use with an RTOS Repeat the process we just performed, to add three sub-groups (under the FreeRTOS group) named: Config Ports src External Use 82

84 Setup your application for use with an RTOS The FreeRTOS kernel files are provided as a separate downloadable zip file which can be unzipped directly to your SDK installation. It is recommended that you download and unzip these files to <KSDK root>\rtos\freertos Navigate to <KSDK root>\rtos\freertos and save the KSDK FreeRTOS package to this folder. Unzip the package and you should see the following zip package and files: External Use 83

85 Setup your application for use with an RTOS Unzip the FreeRTOS_V7.5.0.zip file and the following folders should be added. External Use 84

86 Setup your application for use with an RTOS After unzipping the kernel files to the location specified, add the files to folders in the IAR project as indicated: Config -> <KSDK root>\rtos\freertos\config\k64f12 Ports -> <KSDK root>\rtos\freertos\port\iar Src -> <KSDK root>\rtos\freertos\src External Use 85

87 Setup your application for use with an RTOS Once this is done, we now need to modify the source files of our project to fit the structure of an RTOS. First, comment out the while loop that has been used for Exercises #2-4. External Use 86

88 Setup your application for use with an RTOS Next, uncomment the task_create command and task scheduler start command. External Use 87

89 Setup your application for use with an RTOS Uncomment the task_start function The task, task_create, will in turn create two tasks: one to sample the UART, the other to blink the LED. External Use 88

90 Setup your application for use with an RTOS Now, uncomment function to get the UART data and echo back to the terminal (marked with the Exercise #5 banner). External Use 89

91 Setup your application for use with an RTOS Also need to uncomment the LED blink routine (marked by an Exercise #5 banner). External Use 90

92 Setup your application for use with an RTOS For the compiler to find the appropriate tasks, the function prototypes should be uncommented out as well. External Use 91

93 Setup your application for use with an RTOS After creating the tasks, the PIT configuration code should be removed. Comment out the PIT interrupt and PIT enable statements used for Exercises #2, 3, and 4. External Use 92

94 Setup your application for use with an RTOS To use an RTOS task, the task needs to be defined using the provided RTOS abstraction definitions. This definition is defined in fsl_os_abstraction_free_rtos.h External Use 93

95 Setup your application for use with an RTOS In addition, the task handler variables need to be declared globally. The priorities and stack sizes should also be defined. External Use 94

96 Setup your application for use with an RTOS Finally, uncomment the inclusion of FreeRTOS.h. Now, the assembler Preprocessor path must be added for the tool to find all of the necessary definitions. Assembler Preprocessor paths External Use 95

97 Setup your application for use with an RTOS And C/C++ compiler defines and paths must be added. C/C++ compiler paths as defined symbols External Use 96

98 Setup your application for use with an RTOS Disable the MISRA-C checks FreeRTOS does not comply with the MISRA requirements that the SDK targets. External Use 97

99 Getting Started (Cont) Run the project Click the download and debug button (all modified files will be automatically saved and re-compiled). Then click Go Now, Hello World!!! should be printed to the terminal screen and you should be able to see the LED toggling once every three seconds. External Use 98

100 Freescale Semiconductor, Inc. External Use

Kinetis SDK Release Notes for the TWR-K24F120M Tower System Module

Kinetis SDK Release Notes for the TWR-K24F120M Tower System Module Freescale Semiconductor Document Number: KSDKK24FN256RN Release Notes 1.0.0, 08/2014 Kinetis SDK Release Notes for the TWR-K24F120M Tower System Module 1 Overview These are the release notes for the TWR-K24F120M

More information

Kinetis SDK v Release Notes for KV5x Derivatives

Kinetis SDK v Release Notes for KV5x Derivatives Freescale Semiconductor, Inc. Document Number: KSDK120MKV5XRN Release Notes Rev. 0, 08/2015 Kinetis SDK v.1.2.0 Release Notes for KV5x Derivatives 1 Overview These are the release notes for the Freescale

More information

Freescale Kinetis Software Development Kit Release Notes

Freescale Kinetis Software Development Kit Release Notes Freescale Semiconductor, Inc. Document Number: KSDKRN Release Notes Rev. 1.0.0, 07/2014 Freescale Kinetis Software Development Kit Release Notes 1 Overview These are the release notes for the Freescale

More information

Getting Started with Kinetis SDK (KSDK) v.1.3

Getting Started with Kinetis SDK (KSDK) v.1.3 Freescale Semiconductor Document Number: KSDK13GSUG User's Guide Rev. 1, 11/2015 Getting Started with Kinetis SDK (KSDK) v.1.3 1 Overview Kinetis SDK (KSDK) is a Software Development Kit that provides

More information

Hands-On Workshop: New Kinetis Development Platform

Hands-On Workshop: New Kinetis Development Platform Hands-On Workshop: New Kinetis Development Platform FTF-SDS-F0250 Michael Norman MCU Software and Tools Marketing Manager Mark Ruthenbeck Applications Engineering A P R. 2 0 1 4 TM External Use Agenda

More information

Kinetis SDK v Release Notes for the MK21DA5 and MKW24D5 Devices

Kinetis SDK v Release Notes for the MK21DA5 and MKW24D5 Devices Freescale Semiconductor, Inc. Document Number: KSDK110MK21DA5MKW24D5RN Release Notes Rev. 0, 02/2015 Kinetis SDK v.1.1.0 Release Notes for the MK21DA5 and MKW24D5 Devices 1 Overview These are the release

More information

Getting Started with Kinetis SDK (KSDK) v.1.2

Getting Started with Kinetis SDK (KSDK) v.1.2 Freescale Semiconductor Document Number: KSDK12GSUG User's Guide Rev. 0, 4/2015 Getting Started with Kinetis SDK (KSDK) v.1.2 1 Overview Kinetis SDK (KSDK) is a Software Development Kit that provides comprehensive

More information

Hands-On Workshop: ARM mbed

Hands-On Workshop: ARM mbed Hands-On Workshop: ARM mbed FTF-DES-F1302 Sam Grove - ARM Michael Norman Freescale J U N. 2 0 1 5 External Use Agenda What is mbed mbed Hardware mbed Software mbed Tools mbed Support and Community Hands-On

More information

Kinetis SDK Freescale Freedom FRDM-KL03Z Platform User s Guide

Kinetis SDK Freescale Freedom FRDM-KL03Z Platform User s Guide Freescale Semiconductor, Inc. KSDKKL03UG User s Guide Rev. 1.0.0, 09/2014 Kinetis SDK Freescale Freedom FRDM-KL03Z Platform User s Guide 1 Introduction This document describes the hardware and software

More information

Getting Started with MCUXpresso SDK

Getting Started with MCUXpresso SDK NXP Semiconductors Document Number: MCUXSDKGSUG User's Guide Rev. 3, 03/2017 Getting Started with MCUXpresso SDK 1 Overview The MCUXpresso Software Development Kit (SDK) provides comprehensive software

More information

Kinetis KE1xF512 MCUs

Kinetis KE1xF512 MCUs NXP Semiconductors Document Number: KE1XF512PB Product Brief Rev. 1.1, 08/2016 Kinetis KE1xF512 MCUs Robust 5V MCUs with ADCs, FlexTimers, CAN and expanding memory integration in Kinetis E-series. Now

More information

Getting Started with FreeRTOS BSP for i.mx 7Dual

Getting Started with FreeRTOS BSP for i.mx 7Dual Freescale Semiconductor, Inc. Document Number: FRTOS7DGSUG User s Guide Rev. 0, 08/2015 Getting Started with FreeRTOS BSP for i.mx 7Dual 1 Overview The FreeRTOS BSP for i.mx 7Dual is a Software Development

More information

Hands-On Workshop: ARM mbed : From Rapid Prototyping to Production

Hands-On Workshop: ARM mbed : From Rapid Prototyping to Production Hands-On Workshop: ARM mbed : From Rapid Prototyping to Production FTF-SDS-F0107 Michael Norman, Martin Kojtal A P R. 2 0 1 4 TM External Use Agenda What is mbed? mbed Hardware mbed Software mbed Tools

More information

NXP Semiconductors, 6501 William Cannon Drive West, Austin, Texas Kinetis SDK 2.0 Transition Guide Rev.

NXP Semiconductors, 6501 William Cannon Drive West, Austin, Texas Kinetis SDK 2.0 Transition Guide Rev. NXP Semiconductors, 6501 William Cannon Drive West, Austin, Texas 78735 www.nxp.com Kinetis SDK 2.0 Transition Guide Rev. 2 02/2016 Contents 1 Overview... 3 2 New Features in Kinetis SDK 2.0... 3 3 Kinetis

More information

Getting Started with MCUXpresso SDK CMSIS Packs

Getting Started with MCUXpresso SDK CMSIS Packs NXP Semiconductors Document Number: MCUXSDKPACKSGSUG User's Guide Rev. 1, 11/2017 Getting Started with MCUXpresso SDK CMSIS Packs 1 Introduction The MCUXpresso Software Development Kit (SDK) is a comprehensive

More information

GET STARTED FAST WITH THIS COMPREHENSIVE ENABLEMENT OFFERING FOR LPC800 MCUS

GET STARTED FAST WITH THIS COMPREHENSIVE ENABLEMENT OFFERING FOR LPC800 MCUS GET STARTED FAST WITH THIS COMPREHENSIVE ENABLEMENT OFFERING FOR LPC800 MCUS BRENDON SLADE DIRECTOR, LPC ECOSYSTEM JUNE 13, 2018 NXP and the NXP logo are trademarks of NXP B.V. All other product or service

More information

Freescale MQX RTOS for Kinetis SDK Release Notes version beta

Freescale MQX RTOS for Kinetis SDK Release Notes version beta Freescale Semiconductor Document Number: MQXKSDKRN Release Notes Rev 1.0.0, 07/2014 Freescale MQX RTOS for Kinetis SDK Release Notes version 1.0.0 beta 1 Read Me This is the release notes for Freescale

More information

Getting Started with Freescale MQX RTOS for Kinetis SDK and Kinetis Design Studio IDE

Getting Started with Freescale MQX RTOS for Kinetis SDK and Kinetis Design Studio IDE Freescale Semiconductor, Inc. Document Number: KSDKGSKDSUG User s Guide Rev. 1, 04/2015 Getting Started with Freescale MQX RTOS for Kinetis SDK and Kinetis Design Studio IDE 1 Overview This section describes

More information

Freescale MQX RTOS TWR-K64F120M Release Notes

Freescale MQX RTOS TWR-K64F120M Release Notes Freescale Semiconductor Document Number: MQXTWRK64RN Release Notes Rev. 2, 03/2014 Freescale MQX RTOS 4.1.0 TWR-K64F120M Release Notes 1 Introduction These are the Release Notes for the K64F120M standalone

More information

MCUXpresso SDK USB Stack User s Guide

MCUXpresso SDK USB Stack User s Guide NXP Semiconductors Document Number: USBSUG User s Guide Rev. 5, 03/2017 MCUXpresso SDK USB Stack User s Guide 1 Overview This document provides the following: Detailed steps to compile the USB examples,

More information

A brief intro to MQX Lite. Real work: hands-on labs. Overview, Main features and Code Size

A brief intro to MQX Lite. Real work: hands-on labs. Overview, Main features and Code Size October 2013 A brief intro to MQX Lite Overview, Main features and Code Size Real work: hands-on labs Create a new MQX-Lite project, add ConsoleIO and BitIO components Create tasks, watch the flashing

More information

Freescale Semiconductor Inc. Vybrid DS-5 Getting Started Guide Rev 1.0

Freescale Semiconductor Inc. Vybrid DS-5 Getting Started Guide Rev 1.0 Freescale Semiconductor Inc. Vybrid DS-5 Getting Started Guide Rev 1.0 1 Introduction... 3 2 Download DS-5 from www.arm.com/ds5... 3 3 Open DS-5 and configure the workspace... 3 4 Import the Projects into

More information

Getting Started with MQX RTOS for Kinetis SDK

Getting Started with MQX RTOS for Kinetis SDK Freescale Semiconductor Document Number: MQXKSDKGSUG User's Guide Rev. 1, 04/2015 Getting Started with MQX RTOS for Kinetis SDK 1 Introduction This document describes the steps required to configure supported

More information

RN2483_Silica Documentation

RN2483_Silica Documentation RN2483_Silica Documentation Release 0 Silica Dec 19, 2017 Contents 1 Embedded Vision NXP 3 2 INTRODUCTION 5 2.1 Development tools............................................ 6 i ii Version 1.00E Copyright

More information

Kinetis KV5x Real-Time Control MCUs with Ethernet Up to 1 MB Flash and 256 KB SRAM

Kinetis KV5x Real-Time Control MCUs with Ethernet Up to 1 MB Flash and 256 KB SRAM Freescale Semiconductor, Inc. Document Number: KV5xPB Product Brief Rev. 0, 02/2015 Kinetis KV5x Real-Time Control MCUs with Ethernet Up to 1 MB Flash and 256 KB SRAM 1. Kinetis V family introduction Kinetis

More information

MQX RTOS Release Notes for Kinetis SDK v1.2.0 for KL33Z64 for FRDM-KL43Z Freescale Freedom Development Platform

MQX RTOS Release Notes for Kinetis SDK v1.2.0 for KL33Z64 for FRDM-KL43Z Freescale Freedom Development Platform Freescale Semiconductor Document Number: MQXKSDK120KL33RN Release Notes Rev. 0, 4/2015 MQX RTOS Release Notes for Kinetis SDK v1.2.0 for KL33Z64 for FRDM-KL43Z Freescale Freedom Development Platform 1

More information

Quick Start Guide for mbed enabling Freescale FRDM-KL25z Freedom board

Quick Start Guide for mbed enabling Freescale FRDM-KL25z Freedom board Quick Start Guide for mbed enabling Freescale FRDM-KL25z Freedom board FRDM-KL25Z Freedom board is a low-cost evaluation and development platform to demonstrate the capability of the Kinetis-L family of

More information

Introduction to Embedded System Design using Zynq

Introduction to Embedded System Design using Zynq Introduction to Embedded System Design using Zynq Zynq Vivado 2015.2 Version This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able

More information

Kinetis KM3x Metrology MCUs based on ARM Cortex -M0+ Core

Kinetis KM3x Metrology MCUs based on ARM Cortex -M0+ Core Freescale Semiconductor, Inc. Document Number: KM3XPB Product Brief Rev. 0, 06/2015 Kinetis KM3x Metrology MCUs based on ARM Cortex -M0+ Core Up to 256 KB Flash and 32 KB SRAM 1. Kinetis M family Kinetis

More information

Getting Started with Freescale MQX RTOS for Kinetis SDK and MDK-ARM Keil

Getting Started with Freescale MQX RTOS for Kinetis SDK and MDK-ARM Keil Freescale Semiconductor, Inc. Document Number: KSDKGSKEILUG User s Guide Rev. 1, 04/2015 Getting Started with Freescale MQX RTOS for Kinetis SDK and MDK-ARM Keil µvision5 1 Read Me First This document

More information

S32 SDK for Power Architecture Release Notes Version EAR

S32 SDK for Power Architecture Release Notes Version EAR S32 SDK for Power Architecture Release Notes Version 0.8.0 EAR 2017 NXP Contents 1. DESCRIPTION...3 2. SOFTWARE CONTENTS...4 3. DOCUMENTATION...4 4. EXAMPLES...5 5. SUPPORTED HARDWARE AND COMPATIBLE SOFTWARE...6

More information

Kinetis KL1x General-Purpose Ultra-Low- Power MCUs Up to 256 KB Flash and 32 KB SRAM

Kinetis KL1x General-Purpose Ultra-Low- Power MCUs Up to 256 KB Flash and 32 KB SRAM Freescale Semiconductor, Inc. Product Brief Document Number: KL1XPB Rev. 1, 04/2015 Kinetis KL1x General-Purpose Ultra-Low- Power MCUs Up to 256 KB Flash and 32 KB SRAM 1. Kinetis L family introduction

More information

TWR-KV10Z32 Sample Code Guide for IAR Board configuration, software, and development tools

TWR-KV10Z32 Sample Code Guide for IAR Board configuration, software, and development tools Freescale Semiconductor User s Guide Doc Number: TWRKV10Z32IARUG Rev. 0.1, 01/2014 TWR-KV10Z32 Sample Code Guide for IAR Board configuration, software, and development tools by Freescale Semiconductor,

More information

UM1853 User manual. STM32CubeF1 Nucleo demonstration firmware. Introduction

UM1853 User manual. STM32CubeF1 Nucleo demonstration firmware. Introduction User manual STM32CubeF1 Nucleo demonstration firmware Introduction STMCube initiative was originated by STMicroelectronics to ease developers life by reducing development efforts, time and cost. STM32Cube

More information

Freescale MQX USB Stack for TWR-K24F120M GA User s Guide

Freescale MQX USB Stack for TWR-K24F120M GA User s Guide Freescale Semiconductor Document Number: USBTWRK24F120MUG User s Guide Rev. 1.0, 08/2014 Freescale MQX USB Stack for TWR-K24F120M GA User s Guide 1 Read Me First This document describes how to compile

More information

Processor Expert Software RAppID Suite Overview

Processor Expert Software RAppID Suite Overview Processor Expert Software RAppID Suite Overview FTF-AUT-F0074 Sudhakar Srinivasa Senior Software Engineer A P R. 2 0 1 4 TM External Use Session Introduction This one hour session covers: Overview of Processor

More information

NXP Semiconductors MCU Bootloader Demo Applications User's Guide

NXP Semiconductors MCU Bootloader Demo Applications User's Guide NXP Semiconductors MCU Bootloader Demo Applications User's Guide Document Number: MBOOTDEMOUG User's Guide Rev 3, 05/2018 Contents Contents Chapter 1 Introduction...3 Chapter 2 Overview...4 2.1 MCU bootloader...

More information

MQX RTOS Release Notes for Kinetis SDK FRDM- KV10Z Freescale Freedom Development Platform

MQX RTOS Release Notes for Kinetis SDK FRDM- KV10Z Freescale Freedom Development Platform Freescale Semiconductor Document Number: MQXKSDK120KV10RN Release Notes Rev. 0, MQX RTOS Release Notes for Kinetis SDK 1.2.0 FRDM- KV10Z Freescale Freedom Development Platform 1 Overview These are the

More information

Release Notes for ADuCM4x50 Device Family Pack 3.2.0

Release Notes for ADuCM4x50 Device Family Pack 3.2.0 Release Notes for ADuCM4x50 Device Family Pack 3.2.0 2018 Analog Devices, Inc. http://www.analog.com Contents 1 Introduction 3 2 4 2.1 Differences between version 3.2.0 and prior versions 4 2.1.1 ADC 4

More information

Kinetis KL2x Ultra-Low-Power MCUs with USB

Kinetis KL2x Ultra-Low-Power MCUs with USB NXP Semiconductors Product Brief Rev. 1, 04/2016 Document Number: KL2XPB Kinetis KL2x Ultra-Low-Power MCUs with USB Up to 512 KB of flash and 128 KB of SRAM 1. Kinetis L Family Introduction The Kinetis

More information

Copyright 2014 Xilinx

Copyright 2014 Xilinx IP Integrator and Embedded System Design Flow Zynq Vivado 2014.2 Version This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able

More information

Creating a New USB project with KSDK and Processor Expert support in KDS

Creating a New USB project with KSDK and Processor Expert support in KDS Freescale Semiconductor Creating a New USB project with KSDK and Processor Expert support in KDS By: Technical Information Center Developing an USB application can involve to include some extra features

More information

Quick Start Guide. TWR-KV10Z32 Development Kit for Kinetis KV1x Family TOWER SYSTEM

Quick Start Guide. TWR-KV10Z32 Development Kit for Kinetis KV1x Family TOWER SYSTEM TWR-KV10Z32 Development Kit for Kinetis KV1x Family TOWER SYSTEM Get to Know the TWR-KV10Z32 Thermistor RT4 User s Button SW1 Motor Control Auxiliary Connector Reset Button Thermistor RT1 UART Select Jumper

More information

UM2045 User manual. Getting started with the X-CUBE-NFC3 near field communication transceiver software expansion for STM32Cube.

UM2045 User manual. Getting started with the X-CUBE-NFC3 near field communication transceiver software expansion for STM32Cube. User manual Getting started with the X-CUBE-NFC3 near field communication transceiver software expansion for STM32Cube Introduction This document describes how to get started with the X-CUBE-NFC3 software

More information

BASICS OF THE RENESAS SYNERGY TM

BASICS OF THE RENESAS SYNERGY TM BASICS OF THE RENESAS SYNERGY TM PLATFORM Richard Oed 2018.11 02 CHAPTER 9 INCLUDING A REAL-TIME OPERATING SYSTEM CONTENTS 9 INCLUDING A REAL-TIME OPERATING SYSTEM 03 9.1 Threads, Semaphores and Queues

More information

TWR-KV10Z32 Sample Code Guide for CodeWarrior Board configuration, software, and development tools

TWR-KV10Z32 Sample Code Guide for CodeWarrior Board configuration, software, and development tools Freescale Semiconductor User s Guide Doc Number: TWRKV10Z32CWUG Rev. 0.1, 01/2014 TWR-KV10Z32 Sample Code Guide for CodeWarrior Board configuration, software, and development tools by Freescale Semiconductor,

More information

Release Notes for ADuCM302x EZ-KIT Board Support Package 1.0.6

Release Notes for ADuCM302x EZ-KIT Board Support Package 1.0.6 Release Notes for ADuCM302x EZ-KIT Board Support Package 1.0.6 2017 Analog Devices, Inc. http://www.analog.com Contents 1 ADuCM302x EZ-KIT Board Support Package v1.0.6 Release Notes 5 1.1 Release Testing

More information

Converting Firmware Projects to CoIde and IAR Embedded Workbench for ARM

Converting Firmware Projects to CoIde and IAR Embedded Workbench for ARM APPLICATION NOTE Converting Firmware Projects to CoIde and IAR Embedded Workbench for ARM TM Marc Sousa Senior Manager, Systems and Firmware www.active-semi.com Copyright 2015 Active-Semi, Inc. TABLE OF

More information

Getting started with X-CUBE-LED channel LED driver software expansion based on LED1642GW for STM32Cube

Getting started with X-CUBE-LED channel LED driver software expansion based on LED1642GW for STM32Cube User manual Getting started with X-CUBE-LED1642 16 channel LED driver software expansion based on LED1642GW for STM32Cube Introduction The X-CUBE-LED16A1 expansion software package for STM32Cube runs on

More information

Introducing StellarisWare

Introducing StellarisWare Introducing StellarisWare Slide 1: This PTM will introduce you to StellarisWare and provide you with a better understanding of its applications. StellarisWare is software that has been made to be used

More information

Release Notes for ADuCM302x Device Family Pack 3.2.0

Release Notes for ADuCM302x Device Family Pack 3.2.0 Release Notes for ADuCM302x Device Family Pack 3.2.0 2018 Analog Devices, Inc. http://www.analog.com Contents 1 Introduction 3 2 4 2.1 Differences between version 3.2.0 and prior versions 4 2.1.1 System

More information

Component validity and internal error checking functionality to ensure reliable operation

Component validity and internal error checking functionality to ensure reliable operation October 2013 Overview of Tower system, CodeWarrior v10.3 and MQX 4.0 Easy OS configuration with GUI based interface Using BSP clone wizard to start with BSP porting Kernel debugging with task aware debugger

More information

Getting started with the X-CUBE-IKA02A1 multifunctional software expansion for STM32Cube

Getting started with the X-CUBE-IKA02A1 multifunctional software expansion for STM32Cube User manual Getting started with the X-CUBE-IKA02A1 multifunctional software expansion for STM32Cube Introduction The X-CUBE-IKA02A1 expansion software package for STM32Cube runs on the STM32 microcontrollers

More information

Quick Start Guide (QSG) for - FRDM-KEAZ128 - FRDM-KEAZ64 - FRDM-KEAZN32

Quick Start Guide (QSG) for - FRDM-KEAZ128 - FRDM-KEAZ64 - FRDM-KEAZN32 Quick Start Guide (QSG) for - FRDM-KEAZ128 - FRDM-KEAZ64 - FRDM-KEAZN32 Ultra-Reliable MCUs for Industrial and Automotive www.freescale.com/frdm-kea External Use 0 Contents: Quick Start Package Get to

More information

Getting started with the X-CUBE-NFC5 high performance HF reader / NFC initiator IC software expansion for STM32Cube

Getting started with the X-CUBE-NFC5 high performance HF reader / NFC initiator IC software expansion for STM32Cube User manual Getting started with the X-CUBE-NFC5 high performance HF reader / NFC initiator IC software expansion for STM32Cube Introduction The X-CUBE-NFC5 software expansion for STM32Cube provides the

More information

Release Notes for ADuCM4x50 Device Family Pack 3.1.2

Release Notes for ADuCM4x50 Device Family Pack 3.1.2 Release Notes for ADuCM4x50 Device Family Pack 3.1.2 2018 Analog Devices, Inc. http://www.analog.com Contents 1 Introduction 3 2 4 2.1 Differences between version 3.1.2 and prior versions 4 2.1.1 Silicon

More information

UM2204. Getting started with STM32CubeH7 for STM32H7 Series. User manual. Introduction

UM2204. Getting started with STM32CubeH7 for STM32H7 Series. User manual. Introduction User manual Getting started with STM32CubeH7 for STM32H7 Series Introduction STM32Cube is an STMicroelectronics original initiative to make developers lives easier by reducing development effort, time

More information

Kinetis Bootloader v1.2.0 Release Notes

Kinetis Bootloader v1.2.0 Release Notes Freescale Semiconductor Document Number: KBTLDR120RN Release Notes Rev. 0, 07/2015 Kinetis Bootloader v1.2.0 Release Notes 1 Overview These are the release notes for the Kinetis bootloader v1.2.0. This

More information

Create an USB Application Using CMSIS-Driver. Klaus Koschinsky Senior Field Applications Engineer

Create an USB Application Using CMSIS-Driver. Klaus Koschinsky Senior Field Applications Engineer Create an USB Application Using CMSIS-Driver Klaus Koschinsky Senior Field Applications Engineer 1 Contents Project Overview CMSIS Technical Overview Development Tools Project Creation (Demo) 2 Create

More information

IoT Sensing SDK. Getting started with IoT Sensing SDK (ISSDK) v1.7 middleware. Document information. IoT Sensing SDK, ISSDK, MCUXpresso, middleware

IoT Sensing SDK. Getting started with IoT Sensing SDK (ISSDK) v1.7 middleware. Document information. IoT Sensing SDK, ISSDK, MCUXpresso, middleware Getting started with (ISSDK) v1.7 middleware Document information Information Content Keywords, ISSDK, MCUXpresso, middleware Abstract 1 Prerequisites This document assumes completion of the following

More information

Bare Metal User Guide

Bare Metal User Guide 2015.11.30 UG-01165 Subscribe Introduction This guide will provide examples of how to create and debug Bare Metal projects using the ARM DS-5 Altera Edition included in the Altera SoC Embedded Design Suite

More information

Offline Flash Programmer for Kinetis K- and L-series MCUs

Offline Flash Programmer for Kinetis K- and L-series MCUs NXP Semiconductors Document Number: AN5331 Application Note Rev. 0, 09/2016 Offline Flash Programmer for Kinetis K- and L-series MCUs By: Xi Yang 1 Introduction Effective and convenient tools for the flash

More information

MQX RTOS for Kinetis SDK Release Notes

MQX RTOS for Kinetis SDK Release Notes Freescale Semiconductor Document Number: MQXKSDK120RN Release Notes Rev. 0, 04/2015 MQX RTOS for Kinetis SDK 1.2.0 Release Notes 1 Read Me These are the release notes for the Freescale MQX RTOS for Kinetis

More information

User Manual Rev. 0. Freescale Semiconductor Inc. FRDMKL02ZUM

User Manual Rev. 0. Freescale Semiconductor Inc. FRDMKL02ZUM FRDM-KL02Z User Manual Rev. 0 Freescale Semiconductor Inc. FRDMKL02ZUM 1. Overview The Freescale Freedom development platform is an evaluation and development tool ideal for rapid prototyping of microcontroller-based

More information

NFC Framework and NT3H1201 Device Driver v1.1

NFC Framework and NT3H1201 Device Driver v1.1 NFC Framework and NT3H1201 Device Driver v1.1 Quickstart Guide for ARIS board All information contained in these materials, including products and product specifications, represents information on the

More information

Hands-On with STM32 MCU Francesco Conti

Hands-On with STM32 MCU Francesco Conti Hands-On with STM32 MCU Francesco Conti f.conti@unibo.it Calendar (Microcontroller Section) 07.04.2017: Power consumption; Low power States; Buses, Memory, GPIOs 20.04.2017 21.04.2017 Serial Interfaces

More information

mbed Hello World! Introduction to mbed

mbed Hello World! Introduction to mbed mbed Hello World 1 Agenda Introduction to mbed Lab 1: mbed registration and Hello World demo Lab 2: Other IO Lab 3: Interfacing with sensors Lab 4: Output devices, a TextLCD Lab 5: Rapid prototyping, Build

More information

ARM TrustZone for ARMv8-M for software engineers

ARM TrustZone for ARMv8-M for software engineers ARM TrustZone for ARMv8-M for software engineers Ashok Bhat Product Manager, HPC and Server tools ARM Tech Symposia India December 7th 2016 The need for security Communication protection Cryptography,

More information

μez Software Quickstart Guide

μez Software Quickstart Guide μez Software Quickstart Guide Copyright 2013, Future Designs, Inc., All Rights Reserved 1 Table of Contents 1. Introduction 3 2. Downloading uez 4 3. Project Configuration 5 Preparing the uez Source Code

More information

UM QN908x Quick Start. Document information. QN908x, Quick Start, Development Kit, QN9080 DK, QN9080 Development Kit

UM QN908x Quick Start. Document information. QN908x, Quick Start, Development Kit, QN9080 DK, QN9080 Development Kit QN908x Quick Start Rev.2.0 21 March 2018 User manual Document information Info Keywords Abstract Content QN908x, Quick Start, Development Kit, QN9080 DK, QN9080 Development Kit This Quick Start document

More information

Heterogeneous multi-processing with Linux and the CMSIS-DSP library

Heterogeneous multi-processing with Linux and the CMSIS-DSP library Heterogeneous multi-processing with Linux and the CMSIS-DSP library DS-MDK Tutorial AN290, September 2016, V 1.1 Abstract This Application note shows how to use DS-MDK to debug a typical application running

More information

SOMNIUM DRT Benchmarks Whitepaper DRT v3.4 release : August 2016

SOMNIUM DRT Benchmarks Whitepaper DRT v3.4 release : August 2016 SOMNIUM Benchmarks Whitepaper v release : August 2016 www.somniumtech.com SOMNIUM is a complete embedded software development environment which supports ARM Cortex M devices from major semiconductor vendors.

More information

STM32SnippetsL0. STM32L0xx Snippets firmware package. Features. Description

STM32SnippetsL0. STM32L0xx Snippets firmware package. Features. Description STM32L0xx Snippets firmware package Data brief Features Complete free C source code firmware examples for STM32L0xx microcontrollers Basic examples using direct-access registers as defined in CMSIS Cortex

More information

FRDM-KL03Z User s Guide

FRDM-KL03Z User s Guide Freescale Semiconductor User s Guide Document Number: FRDMKL03ZUG Rev. 0, 7/2014 FRDM-KL03Z User s Guide 1 Overview The Freescale Freedom development platform is an evaluation and development tool ideal

More information

Release Notes for ADuCM302x EZ-KIT Lite Board Support Package 1.0.3

Release Notes for ADuCM302x EZ-KIT Lite Board Support Package 1.0.3 Release Notes for ADuCM302x EZ-KIT Lite Board Support Package 1.0.3 2016 Analog Devices, Inc. http://www.analog.com processor.tools.support@analog.com Contents 1 ADuCM302x EZ-KIT Lite Board Support Package

More information

Freescale MKW40Z IEEE Software Quick Start Guide

Freescale MKW40Z IEEE Software Quick Start Guide Freescale Semiconductor, Inc. Document Number: MKW40Z802154SW523QSG User's Guide Rev. 0, 09/2015 Freescale MKW40Z IEEE 802.15.4 Software Quick Start Guide This document is a brief presentation of the Freescale

More information

Release Notes for ADuCM302x EZ-KIT Lite Board Support Package 1.0.2

Release Notes for ADuCM302x EZ-KIT Lite Board Support Package 1.0.2 Release Notes for ADuCM302x EZ-KIT Lite Board Support Package 1.0.2 2016 Analog Devices, Inc. http://www.analog.com processor.tools.support@analog.com Contents 1 ADuCM302x EZ-KIT Lite Board Support Package

More information

Kinetis Bootloader Demo Application User's Guide

Kinetis Bootloader Demo Application User's Guide Freescale Semiconductor Document Number: KBTLDRDEMOUG User's Guide Rev. 2, 04/2016 Kinetis Bootloader Demo Application User's Guide 1 Introduction This document describes how to use the Kinetis bootloader

More information

ASF4 API Reference Manual

ASF4 API Reference Manual ASF4 API Reference Manual 2018 Microchip Technology Inc. User Guide DS50002633B-page 1 Table of Contents 1. Advanced Software Framework Version 4 (ASF4 Introduction and Context...8 1.1. Introduction to

More information

BASICS OF THE RENESAS SYNERGY PLATFORM

BASICS OF THE RENESAS SYNERGY PLATFORM BASICS OF THE RENESAS SYNERGY PLATFORM TM Richard Oed 2017.12 02 CHAPTER 9 INCLUDING A REAL-TIME OPERATING SYSTEM CONTENTS 9 INCLUDING A REAL-TIME OPERATING SYSTEM 03 9.1 Threads, Semaphores and Queues

More information

esi-risc Development Suite Getting Started Guide

esi-risc Development Suite Getting Started Guide 1 Contents 1 Contents 2 2 Overview 3 3 Starting the Integrated Development Environment 4 4 Hello World Tutorial 5 5 Next Steps 8 6 Support 10 Version 2.5 2 of 10 2011 EnSilica Ltd, All Rights Reserved

More information

Quick Start Guide. Stepper motor driver expansion board based on L6474 for STM32 Nucleo (X-NUCLEO-IHM01A1) Version 1.

Quick Start Guide. Stepper motor driver expansion board based on L6474 for STM32 Nucleo (X-NUCLEO-IHM01A1) Version 1. Quick Start Guide Stepper motor driver expansion board based on L6474 for STM32 Nucleo (X-NUCLEO-IHM01A1) Version 1.1 (July 07, 2015) Overview 2 1 Introduction to the STM32 Open Development Environment

More information

Developing a simple UVC device based on i.mx RT1050

Developing a simple UVC device based on i.mx RT1050 NXP Semiconductors Document Number: AN12103 Application Note Rev. 0, 12/2017 Developing a simple UVC device based on i.mx RT1050 1. Introduction USB Video Class (UVC) describes the capabilities and characteristics

More information

Component-based Software Development for Microcontrollers. Zhang Zheng FAE, ARM China

Component-based Software Development for Microcontrollers. Zhang Zheng FAE, ARM China Component-based Software Development for Microcontrollers Zhang Zheng FAE, ARM China 1 1 Agenda The Challenge in embedded software creation The Software Pack concept Implementation in MDK Version 5 Consistent

More information

Note that FLIP is an Atmel program supplied by Crossware with Atmel s permission.

Note that FLIP is an Atmel program supplied by Crossware with Atmel s permission. INTRODUCTION This manual will guide you through the first steps of getting the SE-8051ICD running with the Crossware 8051 Development Suite and the Atmel Flexible In-System Programming system (FLIP). The

More information

Develop Made For ipod (MFi) Accessories

Develop Made For ipod (MFi) Accessories Develop Made For ipod (MFi) Accessories FTF-CON-F0019 Rudan Bettelheim Business Development Manager A P R. 2 0 1 4 TM External Use Agenda Introduction to the Made For ipod (MFi) Program Freescale MFi Solution

More information

Release Notes for ADSP-CM41x EZ-Kit Lite Board Support Package For Keil MDK

Release Notes for ADSP-CM41x EZ-Kit Lite Board Support Package For Keil MDK Release Notes for ADSP-CM41x EZ-Kit Lite Board Support Package 1.0.0 For Keil MDK 2016 Analog Devices, Inc. http://www.analog.com processor.tools.support@analog.com Contents 1 Release Dependencies 4 2

More information

Leading Performance - Low Power - Scalability - Industrial-grade reliability & temp

Leading Performance - Low Power - Scalability - Industrial-grade reliability & temp October 2013 Performance ARM Cortex-M4 powered Kinetis L Series Ultra-low power/cost ARM Cortex-M0+ MCU families from 32MHz / 8KB with mixedsignal, connectivity & HMI features in low pin-count packages.

More information

mbed OS Update Sam Grove Technical Lead, mbed OS June 2017 ARM 2017

mbed OS Update Sam Grove Technical Lead, mbed OS June 2017 ARM 2017 mbed OS Update Sam Grove Technical Lead, mbed OS June 2017 ARM mbed: Connecting chip to cloud Device software Device services Third-party cloud services IoT device application mbed Cloud Update IoT cloud

More information

Quick Start Guide TWR-S08PT60. 5-Volt S08P Family of 8-bit MCUs for Industrial and Appliance Applications TOWER SYSTEM

Quick Start Guide TWR-S08PT60. 5-Volt S08P Family of 8-bit MCUs for Industrial and Appliance Applications TOWER SYSTEM TWR-S08PT60 5-Volt S08P Family of 8-bit MCUs for Industrial and Appliance Applications TOWER SYSTEM Get to Know the TWR-S08PT60 Primary Connector Force BDM Infrared Port Reset Switch Motor Control Daughter

More information

BASICS OF THE RENESAS SYNERGY TM

BASICS OF THE RENESAS SYNERGY TM BASICS OF THE RENESAS SYNERGY TM PLATFORM Richard Oed 2018.11 02 CHAPTER 8 HELLO WORLD! HELLO BLINKY! CONTENTS 8 HELLO WORLD! HELLO BLINKY! 03 8.1 Your First Project Using e 2 studio 04 8.1.1 Creating

More information

Emulating Dual SPI Using FlexIO

Emulating Dual SPI Using FlexIO Freescale Semiconductor, Inc. Document Number: AN5242 Application Note Rev. 0, 01/2016 Emulating Dual SPI Using FlexIO 1. Introduction This application note discusses one example of how to use FlexIO module

More information

User Manual Rev. 0. Freescale Semiconductor Inc. FRDMKL02ZUM

User Manual Rev. 0. Freescale Semiconductor Inc. FRDMKL02ZUM FRDM-KL02Z User Manual Rev. 0 Freescale Semiconductor Inc. FRDMKL02ZUM 1. Overview The Freescale Freedom development platform is an evaluation and development tool ideal for rapid prototyping of microcontroller-based

More information

Fujitsu 2010 FAE Training Lab Sunnyvale, CA

Fujitsu 2010 FAE Training Lab Sunnyvale, CA Sunnyvale, CA Introduction This lab will familiarize you with the IAR Embedded Workbench for ARM and will utilize the Fujitsu KSK MB9BF506 evaluation board. EWARM has the ability to simulate a generic

More information

GDFLIB User's Guide. ARM Cortex M0+

GDFLIB User's Guide. ARM Cortex M0+ GDFLIB User's Guide ARM Cortex M0+ Document Number: CM0GDFLIBUG Rev. 4, 11/2016 2 NXP Semiconductors Contents Section number Title Page Chapter 1 Library 1.1 Introduction... 5 1.2 Library integration into

More information

How to Select Hardware forvolume IoT Deployment?

How to Select Hardware forvolume IoT Deployment? How to Select Hardware forvolume IoT Deployment? Peter.Aldworth@arm.com 1 How to Select Hardware forvolume IoT Deployment Very broad topic! Let s start by focusing on MCU selection: 8/16-bit vs ARM Cortex-M

More information

BASICS OF THE RENESAS SYNERGY PLATFORM

BASICS OF THE RENESAS SYNERGY PLATFORM BASICS OF THE RENESAS SYNERGY PLATFORM TM Richard Oed 2017.12 02 CHAPTER 5 WORKING WITH THE DEVELOPMENT ENVIRONMENTS FOR SYNERGY CONTENTS 5 WORKING WITH THE DEVELOPMENT ENVIRONMENTS FOR SYNERGY 03 5.1

More information

Kinetis EA Ultra-Reliable Microcontrollers. Automotive and Industrial Applications

Kinetis EA Ultra-Reliable Microcontrollers. Automotive and Industrial Applications Kinetis EA Ultra-Reliable Microcontrollers Automotive and Industrial Applications Agenda Introducing Kinetis EA Proposition Value Features Overview Application Examples Enablement Useful Links 1 Kinetis

More information

UM1862 User manual. Getting started with STM32F411E Discovery software Development Tools. Introduction

UM1862 User manual. Getting started with STM32F411E Discovery software Development Tools. Introduction User manual Getting started with STM32F411E Discovery software Development Tools Introduction This document describes the software environment required to build an application around the STM32F411E Discovery

More information

PDK (Platform Development Kit) Getting Started. Automotive Processors

PDK (Platform Development Kit) Getting Started. Automotive Processors PDK (Platform Development Kit) Getting Started Automotive Processors 1 Agenda PDK Overview PDK Software Architecture PDK Directory structure PDK Pre-requisite and Build instructions Running Examples Important

More information