Robust Over-the-Air Firmware Updates Using Program Flash Memory Swap on Kinetis Microcontrollers
|
|
|
- Julian Page
- 9 years ago
- Views:
Transcription
1 Freescale Semiconductor Document Number:AN4533 Application Note Robust Over-the-Air Firmware Updates Using Program Flash Memory Swap on Kinetis Microcontrollers by: Maclain Lobdell Automotive, Industrial, & Multi-Market Solutions Group 1 Introduction The program flash swap feature available on Kinetis microcontrollers provides a robust means for remote over-theair system software upgrades. This application note describes how to take advantage of the swap feature. Common questions are addressed and an application example is provided. This application note is targeted toward system programmers developing applications that can utilize flash swap. Methods for over-the-air communications are mentioned, but are not the focus of this application note. For additional important information on flash swap, review the reference manual for the respective devices discussed in this application note. Contents 1 Introduction Application requirements Program flash swap overview Swap steps Swap details Multitasking application overview Software example Conclusion References Application requirements A reliable over-the-air system update process is required for many applications. A mechanism is needed to update system software/firmware remotely to fix bugs and make important software improvements. Critical applications, such as electrical metering, require extremely minimal system downtime during updates, must be tolerant of communication errors, and should have no risk of problems causing the system to cease to operate. The update process must be tolerant of 2012 Freescale Semiconductor, Inc. General Business Information
2 Application requirements difficult environments. In many applications with unreliable electrical power, the system update process must provide consistent operation in the presence of power loss. Updating system software remotely requires new code to be transmitted through a communication interface (for example, Wi-Fi, Zigbee, UART, SPI, I2C, USB, Ethernet, and so on). A software uploader program executing on the system must receive and program the code to local memory. Typically, in-factory programming is accomplished with a local debug connection like JTAG or Background Debug Mode (BDM), however these connections are not possible remotely. It is economically infeasible to send a technician out to a system in the field for reprogramming. Therefore, a reliable over-the-air update process is mandatory. 2.1 Remote firmware update systems Traditional remote update systems Traditional remote firmware updating systems rely on a bootloader application that executes on a system reset and selects the application to run or executes an application update routine. A remote server sends new firmware to the system to program into its local memory. In most cases, when the system update process is started, the main application is halted. The main application code is then erased and reprogrammed. There is only one copy of the main application, therefore if there were undetected errors when the new code was received and programmed, the system may not operate correctly and could stop operating until a new application is downloaded. The worst case scenario is when the system is unresponsive and unable to be forced into bootloader mode for system updates. Advantages Simple to implement Less flash memory is required because no backup copy of application is maintained Disadvantages The main application must stop during the update process Not possible to go back to known working application May not be tolerant of power loss during the update process Systems with code back-up A system can be implemented with a complete software backup held in memory. If a serious error is detected, the system can revert to the backup copy of the main application. A bootloader could be used to select the correct copy of the main application to execute. Advantages In a multitasking operating system it is possible to continue to execute the main application tasks while background tasks are running to update the new copy of the application. Backup copy of code. Possible to revert back to the known working application. Disadvantages Additional memory space required to store backup copy. Requires a bootloader (startup routine that selects which application to run). 2 Freescale Semiconductor, Inc.
3 2.1.3 Systems using flash memory swap In devices with two or more internal flash blocks that support swap, the memory base address of each flash block can be exchanged. The address location of each flash block will thus be swapped in the logical memory map of the device. After a reset, the built-in flash swap system essentially selects which software executes by the location of the flash block in the logical memory map. This allows a code back-up system with the added ease of programming. You can execute out of one block while erasing/programming the other block. On Kinetis devices, the flash swap system monitors/controls all the steps of switching from the old application to new; there is an added assurance of reliable operation in the case of a power loss during one of those steps. Advantages Ease of programming. Application always executes out of the lower block in the memory map. Power loss tolerant. No bootloader required. No delay to the start of the main application. Well suited for a multi-tasking OS. Minimal application downtime. In a multi-tasking system it is possible to continue to execute the main application tasks while background tasks are running to update the new copy of the application. Backup copy of code. Possible to revert to the known working application. Disadvantages Additional flash memory space required to store backup copy. Program flash swap overview 3 Program flash swap overview Kinetis devices are available with internal flash memory for program and data storage. For devices with two or more program flash (p-flash) memory blocks that have the p-flash swap feature, the system programmer can configure the logical memory map of the p-flash space such that either of the two physical p-flash blocks can exist at relative address 0x0000. The flash swap feature is not mandatory. This is particularly useful because on Kinetis devices the default vector table is located at address 0x0000. When the processor exits reset, it fetches the initial stack pointer (SP) from address 0x0000 and the program counter (PC) from address 0x0004. Thus, swapping the base address of the two p-flash blocks allows the system to either boot from p-flash block 0 or p- flash block 1 because either block can be located at base address 0x0000. The swap system is controlled by issuing swap control commands that are similar to other flash commands on Kinetis devices. The swap system requires initialization before swap is possible. 3.1 Key facts about p-flash swap The block that is currently located at relative address 0x0000 is known as the active block. This is also referred to as the lower block. The other block is known as the nonactive block or upper block. The typical use-case is for the system to execute from one block (active block) while reprogramming the other block (nonactive block). In most applications, the system application code is limited to fit within one flash block (active block). After reprogramming the nonactive block and when it is ready for execution, the user can complete the swap process to swap the blocks. The nonactive block becomes the active block and vice versa. A system reset begins code execution from the active block (the block located at base address 0x0000). The same procedure for swapping back and forth between blocks is used. Freescale Semiconductor, Inc. 3
4 Program flash swap overview Kinetis (100 MHz) swap details Kinetis 100 MHz devices with two p-flash blocks support swapping of the two blocks. The SWAP bit of the FTFL_FCNFG register indicates which p-flash block is located at address 0x0000. The state of the SWAP flag is set by the swap system within the flash module during the reset sequence. The SWAPPFLSH bit in the SIM_FCFG2 register indicates if the swap system has been initialized and thus potentially ready to be swapped. Figure 1. P-flash swap (Kinetis 100 MHz) Kinetis (120/150 MHz) swap details Kinetis 120/150 MHz devices have two flash configuration options that support swap. Each are discussed below. The SWAP bit of the FTFL_FCNFG register indicates which p-flash block/half is located at address 0x0000. The state of the SWAP flag is set by the swap system within the flash module during the reset sequence KB p-flash option Kinetis 120/150 MHz devices with two p-flash blocks (512 KB p-flash) support swapping between the two p-flash blocks. This is similar to the 100 MHz Kinetis devices with 512 KB. Figure 2. P-flash swap (Kinetis 120/150 MHz, 512K p-flash) 4 Freescale Semiconductor, Inc.
5 Program flash swap overview MB p-flash option Kinetis 120/150 MHz devices with four p-flash blocks (1 MB) support swapping between two 2-block halves (p-flash blocks 0 1 and 2 3). Figure 3. P-flash swap (Kinetis 120/150 MHz, 1M p-flash) 3.2 Swap command overview There are four options to the swap command. 1. Set Swap Indicator Address (Initialize Swap system) 2. Set Swap in Update (Prepare) Mode 3. Set Swap in Complete Mode 4. Report Swap Status Set Swap Indicator Address Command This command initializes the swap system. When issuing this command, you must provide an address for the flash swap indicators (discussed below). This command sets the swap enable word and swap indicator address which is used by the swap system. This step is required only once when for the first time a swap is performed. Set Swap in Update Mode This command programs the flash swap indicator value to indicate to the system that content updates of the upper block has been planned. Additionally, it un-protects the sector holding the flash swap indicator within the nonactive block to allow it to be erased. Erasing this sector during the Update (or Update-Erased) state is a requirement of the swap process. Set Swap in Complete Mode This command programs the flash swap indicator value to indicate to the system that reprogramming the nonactive block is complete and is ready to swap the flash blocks. This command is to be issued after the contents of the nonactive (upper) block are erased/reprogrammed as required to update the system software. This includes erasing the sector in the nonactive block that contains the flash swap indicator. Report Swap Status Freescale Semiconductor, Inc. 5
6 Swap steps This command checks the status of the swap system. It returns the current swap state, current swap block status (which block is currently located at address 0x0000), the next swap block status (which block will be located at 0x0000 after a system reset), and if there are any errors. It is recommended to issue this command in the system initialization code that executes on a system reset. This will help the system software identify if there were any errors with the swap system that could potentially be caused by power loss during a swap command execution. See Error handling for more details Execute Swap command from internal SRAM The Swap command must be executed from an SRAM routine to avoid a read-while-write violation. A read-while-write violation is possible if code is executing out of a flash block in which an erase or program operation is taking place. Since the flash swap system programs the flash swap indicators located in both flash blocks, it is necessary that the code is not executing out of the flash when the swap commands are issued. See example software that accompanies this application note for details Address passed to all swap commands The address required by all the swap commands is the active block swap indicator address that was set by the initialization command. The same address must be used for each swap command. It does not matter whether you are swapping from block 0 to 1 or block 1 to 0, and so on. See Flash swap indicators for more details. 4 Swap steps 4.1 Swap procedure The procedure for swapping the flash blocks is simple. The same procedure for swapping back and forth between the blocks is used First swap 1. First initialize the system by issuing the initialization command. This step is required only once when for the first time a swap is performed. When first initialized, the swap system goes straight to Update-Erased. 2. Erase the nonactive (upper) block. 3. Reprogram the nonactive (upper) block with new software. 4. Issue the command to set the system to the Complete state. The swap will take effect after a reset (including a software reset). 5. After a reset, the blocks are swapped and the swap system comes up in the Ready state. 6 Freescale Semiconductor, Inc.
7 Swap steps Procedure for additional swaps After the first swap has been completed, the process starts with the Ready state. 1. Issue the command to set the system to the Update state. 2. Erase the nonactive (upper) block. Once the erase is complete, the system will automatically move to the Update- Erased state. 3. Reprogram the software in the nonactive block. 4. Issue the command to set the system to the Complete state. 5. Reset the microcontroller (any reset including software reset). 6. After a reset, the blocks are swapped and the swap system comes up in the Ready state. 4.2 Erasing the nonactive upper block You can use block erase or sector erases. It is only specifically required to erase the flash swap indicator sector in the nonactive block. However, to update the software in the nonactive block, you must first erase it. Once the erase is complete, the system will automatically move to the Update-Erased state. Swapping between blocks without erasing/reprogramming the entire nonactive block is possible. You just need to erase the sector with the flash swap indicator (when in the Update state). This is useful for swapping back to a known good application in the nonactive block. See Flash swap indicators for more details. 4.3 Order of the steps Freescale recommends that the new code be uploaded to the nonactive (upper) block when the swap system is in the Update- Erased state and before the system is moved to the Complete state. Thus, if there is a power loss during the process, the swap system will know that it was in the middle of updating and it should revert to the previous swap state that was known to be good. The order that the flash swap command options are issued is important. The command options cannot be issued out of sequence or an error can occur. See the section Error handling for details. 4.4 Summary of typical procedure to swap (after the first swap) 1. Check Status 2. Ready -> Update 3. Erase upper block (or just sector with flash swap indicator in the nonactive upper block) 4. Update -> Update-Erased (automatic) 5. Reprogram upper block check contents of upper block (skip over swap indicator location when programming) 6. Swap Update-Erased -> Complete 7. Reset 8. Complete -> Ready (automatic) Freescale Semiconductor, Inc. 7
8 Swap steps Figure 4. Flash Swap (Kinetis 120/150 MHz, 1M p-flash) 8 Freescale Semiconductor, Inc.
9 Swap details 5 Swap details 5.1 Flash swap indicators The flash swap indicators (indicator0 and indicator1) are two locations within the p-flash memory space. One is within the lower half and the other in the upper half of the total p-flash. The two flash swap indicators are located at the same address offset relative to the base of each p-flash half. The system programmer specifies where the flash swap indicators are to be located when initializing the flash swap system. What is the purpose of the flash swap indicators? The flash swap indicators are used by the swap system to store codes that the system uses to ensure robust operation in the presence of potential power losses during swap operations. The swap system programs the flash swap indicators with specific codes at each step of the swap process. This provides the system with a tracking mechanism so that it can reliably determine the swap status on a system reset. On a reset, the swap system interrogates the swap indicators to determine the swap state and whether there was any interruption during a swap flow. You have to do nothing with the swap indicators other than erase them during the Update stage of the swap process. How big are the flash swap indicators? 2 bytes within each p-flash block What should be programmed to the flash swap indicators? The system programmer does not need to program the flash swap indicators or scrutinize their contents because the flash swap system handles this automatically. However, the swap state report mapping table in the reference manual provides details of the codes programmed into the swap indicators. The table describes codes during each step in the swap process or in cases where an error was detected (possible power loss during a swap). Where to locate the flash swap indicators? The system programmer specifies where the flash swap indicators are to be located when initializing the flash swap system. Any flash sector can be used except the first two sectors which contain the vectors and flash configuration fields. Depending on the device, the swap indicator must be 32-bit, 64-bit, or 128-bit aligned. Consider for example a device that contains two p-flash blocks of 256 KB (block 0: 0x x3FFFF, block 1: 0x x7FFFF) and sector size of 2 KB (0x800). If the swap indicators are placed in the last sector of the flash blocks, the flash swap system will designate 0x3F800 as the swap indicator location for block 0 and 0x7F800 as the swap indicator location for block 1. In this example, the address provided to the swap system is simply 0x3F800. NOTE It is recommended to place the flash swap indicators in the last sector of the p-flash block. This will allow the largest contiguous flash area for the application code. Where is the flash swap indicator address (offset) stored? The address of the flash swap indicators (offset address from the base of each block) is stored in an area of flash called the program flash block 1 IFR. Can the flash swap indicator location be changed? Freescale Semiconductor, Inc. 9
10 Swap details The flash swap indicator address cannot be modified unless the Erase All Blocks command is issued that clears the swap system back to uninitialized (on supported devices). Therefore, it is important not to forget the address provided to the swap system during swap initialization. Flash Swap Indicator Protection Once set, the flash swap indicator locations cannot be programmed by the user. Additionally, the sector containing the flash swap indicator in the active block cannot be erased. The sector containing the flash swap indicator in the nonactive block can only be erased when the swap system is in the Update or Update-Erased state. Be sure not to program over the swap indicators as this causes an error. Figure 5. When it is allowable to erase the flash swap indicator sector Figure 6. When it is allowable to erase sectors other than the flash swap indicator sectors * You can erase any sector other than the swap indicator sectors at any time. However, you must not erase within the block that you are currently executing. In rare cases in which you want to erase the active block, jump to a subroutine in RAM and execute from RAM. 10 Freescale Semiconductor, Inc.
11 Swap details 5.2 Swap enable field (word) A swap enable field also known as swap enable word is also stored in the Program Flash Block 1 IFR. This location is programmed by the swap system when the swap initialization command is issued. The contents of this location simply tell the swap system that swap has been initialized and that a valid flash swap indicator address has been specified. 5.3 Common questions Why is swap so complicated? - Power Loss Tolerance Reading the swap documentation may lead you to the question, why is swap so complicated? The answer is power loss tolerance. In less robust systems, if the power is lost at a vulnerable time, the system could become corrupted. For systems using the flash memory swap feature, if a power loss occurs during the swap process, the built-in system detects errors and reliably determines the last known valid flash block configuration. Are systems using swap limited to applications that fit within one of the two flash blocks (half the total flash memory size)? In most use cases, the system application will be limited to executing within one flash block (active block). However, the swap system does not restrict code from executing in the nonactive block. Therefore, code can execute from either block at any time. It is possible to use advanced techniques to expand the size of the application over the size of half the p-flash and still use flash swap. This would sacrifice some protection against problems, but gain more room for code. This is outside the scope of this application note. Can the sector with the flash swap indicator be used for data/program storage? Typically, the user specifies an unused flash sector to place the flash swap indicators. However, the swap system will not disturb the other data in the flash sector containing the indicators. So, that space can be used for program or data storage. The space should be designated in the linker file accordingly. See Important considerations for details. 5.4 Important considerations Always program the vector table and flash configuration fields You must program the interrupt vector table and flash configuration fields (FSEC, FOPT, and so on) to the nonactive upper block before swapping. If not, the vector table and flash configuration will not be set correctly in the new active block after the swap. This will result in unwanted configurations and could potentially secure the device. Project linker file considerations No special considerations are required in the code. Just link your code as it would normally fill the lower block. It is recommended to allocate a section in the linker file for the active (lower) flash swap indicator location to avoid the application attempting to overwrite it. 5.5 Error handling There are two main situations you should check for errors. Freescale Semiconductor, Inc. 11
12 Multitasking application overview Issue Swap Status command option after a reset Run the Swap Status command option to report the swap status after any reset to detect the following potential conditions. 1. Possible power loss during firmware update / swap process: Swap state not Ready A reset occurred in the middle of the firmware update process. This is evident if the system is in the Update or Update- Erased state after a reset. Typically, the system will be in the Ready state unless in process of updating the firmware. If this happens, continue the swap process from the current swap state. It is recommended to erase and reprogram firmware in the nonactive block to ensure that it is programmed fully. 2. Possible power loss during swap command: Error flag set A reset occurred in the middle of the firmware update process that resulted in corrupted flash swap indicator values. This condition is reported by the MGSTAT0 error flag in the FSTAT register after running the Swap Status command option. The swap system has been designed to be fully tolerant of this condition. However, the flash swap indicators need to be cleaned up. This is accomplished by running through the swap procedure once Check error flags after issuing a swap command Check error flags ACCERR and MGSTAT0 in the FSTAT register for errors documented in the Swap Control Command Error Handling table found in the reference manual for the device. It is recommended to check for errors after any command, not just swap. 6 Multitasking application overview In a multitasking operating system, the main tasks can continue running while new firmware is being loaded by a separate uploader/programmer task. The software uploader task sets the swap system to Update mode, receives new application code (from a communication interface), programs it to the non-active upper program flash block, then sets the swap system to complete the swap. After the system is reset, the flash blocks are swapped and the new application boots up. Thus the application downtime is very minimal. The process can be repeated again as long as the new application also has the uploader/programmer/swap task. The requirements for the application would be that it fits within half the program flash and that the software has a task that can receive and program the new application and perform the swap. Main Application Tasks Continue running during new firmware upload Uploader Task When activated, the uploader task performs the following: Issues command to put swap system to the Update state Erases the upper block sectors to be reprogrammed Receive new line of application code (from SCI, TCP/IP, and so on) Programs new line of code to the upper flash block Checks the code for errors Issues command to put swap in Complete state Performs software reset After the system is reset, the flash blocks are swapped and the new application boots up The process can be repeated again with the exact same steps 12 Freescale Semiconductor, Inc.
13 Software example 7 Software example A software example is provided with this application note to demonstrate the swap feature. The example is not based on a multi-tasking operating system. 7.1 Software components Flash Driver Software The example uses the Flash Driver Software for Kinetis Microcontrollers (C90TFS_FLASH_DRIVER). The drivers are useful for compiling into an embedded application to add flash control capability. The example uses version (beta) which has updated flash swap support Kinetis sample code The Kinetis sample code for the K MHz version (KINETIS512_SC) was used as the basis for the example. Both an IAR and CodeWarrior project is provided. The flash drivers were added into the projects. Supported Integrated Development Environments (IDE) IAR Embedded Workbench for ARM version 6.30 or later CodeWarrior for MCUs version Hardware Kinetis K MHz MCU Module (TWR-K60N512) with MCU device marked 4N30D or later required. See note below. NOTE Kinetis 100 MHz revision 1.4 or later required. The mask set number marked on the package is 4N30D. Subsequent revisions may be marked 5N30D, and so on. Revisions earlier than revision 1.4, may not support swap or may disable the Erase-All-Blocks command after swap initialized. Thus, on those early revisions, some debuggers will not be able to re-download to flash if they rely on the Erase-All-Blocks command to preerase the flash. Additionally, it was not possible to set the swap system back to uninitialized on those early devices. 7.3 Anatomy of the software Flash driver swap functions The flash driver provides two functions. Freescale Semiconductor, Inc. 13
14 Software example PFlashGetSwapStatus Located in the file PFlashGetSwapStatus.c. This function returns the swap state details and checks whether any errors were detected in the swap state determination PFlashSwap These are located in the files: PFlashSwap.c. This function performs the swap control commands Callback function The calling application has the ability to pass a callback function to the PFlashSwap function. This callback function is then called by the PFlashSwap driver function after each time it advances the swap state. When the PFlashSwap function calls the callback function, it passes the swap state back to the calling application. Using this information, the application can determine whether to continue to the next swap state. Additionally, this provides an excellent place to perform the firmware update. When the swap driver reports to the callback function that the swap system is in the Update state, the callback function downloads new system software (firmware), and erases/reprograms the upper block as needed. 7.4 Running the demo NOTE The following instructions assume previous installation and basic knowledge of the IDE and terminal utility. See Quick Start Guide for TWR-K60N512 for details available in Instructions 1. Download and install the demo software. Install to a directory of your choice. This directory will be referred to <Install Dir>. 2. Plug in the USB cable between your computer and the board to provide power and debugger connection. 3. Open the PE Terminal Utility as described in the Quick Start Guide. Ensure the baud rate is , no parity, and 8 bits. Click Open Serial Port. 4. Open IAR or CodeWarrior. 5. Open the swap demo project IAR Open the workspace <Install Dir>\build\iar\swap_demo\swap_demo.eww CodeWarrior Set the workspace to <Install Dir>\ Import the project in the folder <Install Dir>\build\cw\swap_demo\ 6. Select the target configuration IAR Select the FLASH_512KB_PFLASH configuration. CodeWarrior Select the MK60N512VMD100_INTERNAL_FLASH configuration 7. Compile the project 8. Download and Debug IAR Click the Download and Debug button 14 Freescale Semiconductor, Inc.
15 Software example CodeWarrior Open Debug Configurations Select k60-swap_demo_mk60n512vmd100_internal_flash_pne_osjtag Figure 7. Debug configurations Click Debug 9. In the PE Terminal Utility, the output will be displayed to the screen. First, the code checks which block is located at address 0x0000. Next, the code issues the swap command to check the swap system status. The first time you execute the code, the swap system will report Uninitialized. Figure 8. Terminal utility output: before first swap 10. The code executes a command line interface. Type swap to start the swap demo. The swap driver will sequence the swap system through each swap state and call a callback function that reports the swap state back to the calling function. 11. When the swap system is in the Update state, the callback function simulates a firmware update, by erasing and reprogramming the nonactive (upper) block by copying the contents of the active (lower) block to the nonactive (upper) block. Freescale Semiconductor, Inc. 15
16 Software example NOTE This example places the flash swap indicator in the last sector of each block. Programming the flash swap indicator is not allowed, so when programming the nonactive (upper) block, this location is avoided. Figure 9. Terminal utility output: during first swap 12. The code executes a software reset in 3 s to complete the swap. Figure 10. Terminal utility output: after first swap 13. When the reset occurs, the code will boot up again. The flash blocks are now swapped. Block 1 is located at address 0x0000. The swap state is now in the Ready state. Type the swap command again to swap back to block 0. NOTE If the debugger is connected when the software reset occurs, the debugger will halt. Either, resume the debugger or disconnect it and press the reset button on the board. 16 Freescale Semiconductor, Inc.
17 Software example Setting up Remote System (CW 10.1) The first time you run the demo in CodeWarrior 10.1, it may ask you to set up a Remote System. This is not required with later versions of CodeWarrior. 1. Open Debug Configurations, under Remote System, click New 2. The New Connection window will open. Under CodeWarrior Bareboard Debugging, select Hardware or Simulator. 3. Write in a name of your choice (e.g. K60_OSJTAG) for the Connection name and select K60DN512Z for System type. Click Finish. Freescale Semiconductor, Inc. 17
18 Software example Recovering connection problem after running demo There is a potential issue in which CodeWarrior cannot erase/reprogram the device after the flash swap demo is executed. This is not related to the silicon revision. To work around this, use the Flash File to Target tool to erase the flash. The Flash File to Target tool uses the Erase-All command which will erase the entire flash and clear the swap system back to uninitialized. 1. Open the Flash File to Target too by clicking the arrow next to the lightning bolt icon. 18 Freescale Semiconductor, Inc.
19 Conclusion 2. Select Flash File to Target 3. Click Erase Device 8 Conclusion Program Flash Memory Swap is one of the many attractive features of Freescale s Kinetis microcontrollers. The Swap feature is ideal for systems that require a very robust firmware update mechanism that provides the safety of a backup copy and minimal application downtime. Program Flash Swap is simple to use and reduces software complexity. It is well suited for multi-tasking operating systems such as Freescale s complimentary MQX RTOS. For further resources, please review the software example provided with this application note as well as the References section. 9 References 1. Kinetis Microcontroller documentation, software, and tools available at 2. Flash Driver Software for Kinetis Microcontrollers. Keyword search C90TFS_FLASH_DRIVER at Kinetis Sample Code. Keyword search KINETIS512_SC at Freescale Semiconductor, Inc. 19
20 How to Reach Us: Home Page: Web Support: USA/Europe or Locations Not Listed: Freescale Semiconductor Technical Information Center, EL East Elliot Road Tempe, Arizona or Europe, Middle East, and Africa: Freescale Halbleiter Deutschland GmbH Technical Information Center Schatzbogen Muenchen, Germany (English) (English) (German) (French) Japan: Freescale Semiconductor Japan Ltd. Headquarters ARCO Tower 15F 1-8-1, Shimo-Meguro, Meguro-ku, Tokyo Japan or [email protected] Asia/Pacific: Freescale Semiconductor China Ltd. Exchange Building 23F No. 118 Jianguo Road Chaoyang District Beijing China [email protected] Information in this document is provided solely to enable system and software implementers to use Freescale Semiconductors products. There are no express or implied copyright licenses granted hereunder to design or fabricate any integrated circuits or integrated circuits based on the information in this document. Freescale Semiconductor reserves the right to make changes without further notice to any products herein. Freescale Semiconductor makes no warranty, representation, or guarantee regarding the suitability of its products for any particular purpose, nor does Freescale Semiconductor assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any liability, including without limitation consequential or incidental damages. "Typical" parameters that may be provided in Freescale Semiconductor data sheets and/or specifications can and do vary in different applications and actual performance may vary over time. All operating parameters, including "Typicals", must be validated for each customer application by customer's technical experts. Freescale Semiconductor does not convey any license under its patent rights nor the rights of others. Freescale Semiconductor products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which failure of the Freescale Semiconductor product could create a situation where personal injury or death may occur. Should Buyer purchase or use Freescale Semiconductor products for any such unintended or unauthorized application, Buyer shall indemnify Freescale Semiconductor and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claims alleges that Freescale Semiconductor was negligent regarding the design or manufacture of the part. RoHS-compliant and/or Pb-free versions of Freescale products have the functionality and electrical characteristics as their non-rohs-complaint and/or non-pb-free counterparts. For further information, see or contact your Freescale sales representative. For information on Freescale's Environmental Products program, go to Freescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective owners Freescale Semiconductor, Inc. Document Number: AN4533
Windows 7: Using USB TAP on a Classic CodeWarrior Installation (MGT V9.2 DSC V8.3)
Freescale Semiconductor Document Number: AN4338 Application Note Rev. 1.0, 12/2011 Windows 7: Using USB TAP on a Classic CodeWarrior Installation (MGT V9.2 DSC V8.3) Technical Information & Commercial
Using WinUSB in a Visual Studio Project with Freescale USB device controller
Freescale Semiconductor Document Number: AN4378 Application Note Rev. 0, 10/2011 Using WinUSB in a Visual Studio Project with Freescale USB device controller by: Paolo Alcantara Microcontroller Solutions
Using the Kinetis Security and Flash Protection Features
Freescale Semiconductor Document Number:AN4507 Application Note Rev. 1, 6/2012 Using the Kinetis Security and Flash Protection Features by: Melissa Hunter Automotive and Industrial Solutions Group 1 Introduction
How To Build A Project On An Eclipse Powerbook For Anarc (Powerbook) On An Ipa (Powerpoint) On A Microcontroller (Powerboard) On Microcontrollers (Powerstation) On Your Microcontroller 2 (Powerclock
Freescale Semiconductor Document Number: AN4819 Application Note Rev. 1, 10/2013 Building a Project using IAR Eclipse Plugin Processor Expert Microcontrollers Driver Suite Processor Expert Microcontrollers
etpu Host Interface by:
Freescale Semiconductor Application Note AN2821 Rev. 2, 08/2007 etpu Host Interface by: David Paterson Ming Li MCD Applications 1 Introduction This application note discusses the enhanced Time Processing
Software Real Time Clock Implementation on MC9S08LG32
Freescale Semiconductor Document Number: AN4478 Rev. 0, 03/2012 Software Real Time Clock Implementation on MC9S08LG32 by: Nitin Gupta Automotive and Industrial Solutions Group 1 Introduction The MC9S08LG32
IRTC Compensation and 1 Hz Clock Generation
Freescale Semiconductor Document Number: AN4257 Application Note Rev. 0, January 2011 IRTC Compensation and 1 Hz Clock Generation by: Derek Liu Applications Engineering Shanghai 1 Introduction The MC9S08GW64
Connecting Low-Cost External Electrodes to MED-EKG
Freescale Semiconductor Document Number: AN4223 Application Note Rev. 0, 11/2010 Connecting Low-Cost External Electrodes to MED-EKG by: Carlos Casillas RTAC Americas Guadalajara Mexico 1 Introduction This
USB HID bootloader for the MC9S08JM60
Freescale Semiconductor Document Number: AN4252 Application Note Rev. 0, 4/2011 USB HID bootloader for the MC9S08JM60 by: Derek Lau System and Solution Engineering, Microcontroller Solutions Group Hong
Installation of the MMA955xL CodeWarrior Service Pack Author: Fengyi Li Application Engineer
Freescale Semiconductor Application Note Document Number: AN4128 Rev. 0, 10/2011 Installation of the MMA955xL CodeWarrior Service Pack Author: Fengyi Li Application Engineer 1 Overview The Freescale MMA955xL
How To Control A Motor Control On An Hvac Platform
Freescale Semiconductor Document Number:AN4616 Application Note Rev. 0, 10/2012 Flap Motor Control Based On HVAC Platform by: Shawn Shi, Albert Chen, Alex Liu 1 Introduction According to the world market
Connecting to an SMTP Server Using the Freescale NanoSSL Client
Freescale Semiconductor Document Number: AN4363 Application Note Rev. 0, 10/2011 Connecting to an SMTP Server Using the Freescale NanoSSL Client by: Paolo Alcantara Microcontroller Solutions Group 1 Introduction
Flexible Active Shutter Control Interface using the MC1323x
Freescale Semiconductor Document Number: AN4353 Application Note Rev. 0, 9/2011 Flexible Active Shutter Control Interface using the MC1323x by: Dennis Lui Freescale Hong Kong 1 Introduction This application
Cyclic Redundant Checker Calculation on Power Architecture Technology and Comparison of Big-Endian Versus Little-Endian
Freescale Semiconductor Document Number:AN4657 Application Note Rev. 0, 01/2013 Cyclic Redundant Checker Calculation on Power Architecture Technology and Comparison of Big-Endian Versus Little-Endian by:
Avoiding Read While Write Errors When Developing In-Software Flash Programming Applications for Kinetis and ColdFire+ MCUs
Freescale Semiconductor Document Number:AN4695 Application Note Rev. 0, 04/2013 Avoiding Read While Write Errors When Developing In-Software Flash Programming Applications for Kinetis and ColdFire+ MCUs
MCF54418 NAND Flash Controller
Freescale Semiconductor Application Note Document Number: AN4348 Rev. 0, 09/2011 MCF54418 NAND Flash Controller by: Liew Tsi Chung Applications Engineer 1 Introduction The ColdFire MCF5441x family is the
Freescale Embedded GUI Converter Utility 2.0 Quick User Guide
Freescale Semiconductor User Guide Document Number: EGUICUG Rev. 1, 08/2010 Freescale Embedded GUI Converter Utility 2.0 Quick User Guide 1 Introduction The Freescale Embedded GUI Converter Utility 2.0
Using the Performance Monitor Unit on the e200z760n3 Power Architecture Core
Freescale Semiconductor Document Number: AN4341 Application Note Rev. 1, 08/2011 Using the Performance Monitor Unit on the e200z760n3 Power Architecture Core by: Inga Harris MSG Application Engineering
Blood Pressure Monitor Using Flexis QE128 Gabriel Sanchez RTAC Americas
Freescale Semiconductor Application Note Document Number: AN3500 Rev. 0, 08/2007 Blood Pressure Monitor Using Flexis QE128 by: Gabriel Sanchez RTAC Americas 1 Introduction Product designers and developers
Initializing the TSEC Controller
Freescale Semiconductor Application Note Document Number: AN2925 Rev. 0, 11/2005 Initializing the TSEC Controller by Ahsan Kabir Digital Systems Division Freescale Semiconductor, Inc. Austin, TX This application
Point-of-Sale (POS) Users Guide Lech José Olmedo Guerrero Jaime Herrerro Gallardo RTAC Americas
Freescale Semiconductor Users Guide Document Number: POSUG Rev. 0, 03/2007 Point-of-Sale (POS) Users Guide by: Lech José Olmedo Guerrero Jaime Herrerro Gallardo RTAC Americas 1 Introduction This quick
Hardware Configurations for the i.mx Family USB Modules
Freescale Semiconductor Application Note Document Number: AN4136 Rev. 0, 06/2010 Hardware Configurations for the i.mx Family USB Modules by Multimedia Applications Division Freescale Semiconductor, Inc.
Understanding LCD Memory and Bus Bandwidth Requirements ColdFire, LCD, and Crossbar Switch
Freescale Semiconductor Application Note Document Number: AN3606 Rev. 0, 03/2008 Understanding LCD Memory and Bus Bandwidth Requirements ColdFire, LCD, and Crossbar Switch by: Melissa Hunter TSPG Applications
Local Interconnect Network (LIN) Physical Interface
Freescale Semiconductor Engineering Bulletin EB215 Rev. 1.0, 03/2005 Local Interconnect Network (LIN) Physical Interface Difference Between MC33399 and MC33661 Introduction This engineering bulletin highlights
How to Convert 3-Axis Directions and Swap X-Y Axis of Accelerometer Data within Android Driver by: Gang Chen Field Applications Engineer
Freescale Semiconductor Application Note Document Number: AN4317 Rev. 0, 08/2011 How to Convert 3-Axis Directions and Swap X-Y Axis of Accelerometer Data within Android Driver by: Gang Chen Field Applications
Processor Expert Software Microcontrollers Driver Suite Getting Started Guide
Freescale Semiconductor Document Number: PEXDRVSGETSTARTEDUG Rev. 2, 09/2012 Processor Expert Software Microcontrollers Driver Suite Getting Started Guide This document introduces Microcontrollers Driver
Performance Monitor on PowerQUICC II Pro Processors
Freescale Semiconductor Application Note Document Number: AN3359 Rev. 0, 05/2007 Performance Monitor on PowerQUICC II Pro Processors by Harinder Rai Network Computing Systems Group Freescale Semiconductor,
Programming Audio Applications in the i.mx21 MC9328MX21
Freescale Semiconductor Application Note Document Number: AN2628 Rev. 1, 10/2005 Programming Audio Applications in the MC9328MX21 by: Alfred Sin 1 Abstract The MC9328MX21 () processor has two dedicated
Emulated EEPROM Implementation in Dual Flash Architecture on MC9S08LG32 With Demo Description
Freescale Semiconductor Application Note Document Number: AN3822 Rev. 0, 2/2009 Emulated EEPROM Implementation in Dual Flash Architecture on MC9S08LG32 With Demo Description by: Saurabh Jhamb Reference
Generate Makefiles from Command Line Support in Eclipse-Based CodeWarrior Software
Freescale Semiconductor Document Number: AN4272 Application Note Rev. 0, 03/2011 Generate Makefiles from Command Line Support in Eclipse-Based CodeWarrior Software by Devtech Customer Engineering Freescale
PowerQUICC II Pro (MPC83xx) PCI Agent Initialization
Freescale Semiconductor Application Note Document Number: AN3373 Rev. 0, 04/2007 PowerQUICC II Pro (MPC83xx) PCI Agent Initialization by: David Smith Field Application Engineering Raleigh, NC In many designs,
USB Mass Storage Device Host Bootloader
Freescale Semiconductor Document Number:AN4368 Application Note Rev. 1, 12/2012 USB Mass Storage Device Host Bootloader by: Derek Lau 1 Introduction Bootloader is a small program put into a device that
MC13783 Buck and Boost Inductor Sizing
Freescale Semiconductor Application Note Document Number: AN3294 Rev. 0.1, 01/2010 MC13783 Buck and Boost Inductor Sizing by: Power Management Application Team 1 Introduction The purpose of this application
Improving Embedded Software Test Effectiveness in Automotive Applications
Improving Embedded Software Test Effectiveness in Automotive Applications Author, D Brook Document Number: CODETESTTECHWP Rev. 0 11/2005 As the automotive industry introduces more and more safety-critical,
User Interface Design using CGI Programming and Boa Web Server on M5249C3 Board
Freescale Semiconductor Application Note AN3238 Rev. 0, 02/2006 User Interface Design using CGI Programming and Boa Web Server on M5249C3 Board by: H.K. Au MCD Applications 1 Introduction This application
Developing an Application for the i.mx Devices on the Linux Platform
Freescale Semiconductor Application Note Document Number: AN3870 Rev. 0, 08/2010 Developing an Application for the i.mx Devices on the Linux Platform by Multimedia Applications Division Freescale Semiconductor,
Handling Freescale Pressure Sensors
Freescale Semiconductor Application Note Rev 3, 11/2006 Handling Freescale Pressure by: William McDonald INTRODUCTION Smaller package outlines and higher board densities require the need for automated
Freescale Semiconductor. Integrated Silicon Pressure Sensor. On-Chip Signal Conditioned, Temperature Compensated and Calibrated MPX4080D.
Freescale Semiconductor Integrated Silicon Pressure Sensor + On-Chip Signal Conditioned, Temperature Compensated and Calibrated The series piezoresistive transducer is a state-of-the-art monolithic silicon
Freescale Variable Key Security Protocol Transmitter User s Guide by: Ioseph Martínez and Christian Michel Applications Engineering - RTAC Americas
Freescale Semiconductor User s Guide VKSPTXUG Rev. 0, 06/2008 Freescale Variable Key Security Protocol Transmitter User s Guide by: Ioseph Martínez and Christian Michel Applications Engineering - RTAC
CodeWarrior Development Studio for Freescale S12(X) Microcontrollers Quick Start
CodeWarrior Development Studio for Freescale S12(X) Microcontrollers Quick Start SYSTEM REQUIREMENTS Hardware Operating System Disk Space PC with 1 GHz Intel Pentum -compatible processor 512 MB of RAM
Using eflexpwm Module for ADC Synchronization in MC56F82xx and MC56F84xx Family of Digital Signal Controllers
Freescale Semiconductor Document Number:AN4675 Application Note Rev. 0, 01/2013 Using eflexpwm Module for ADC Synchronization in MC56F82xx and MC56F84xx Family of Digital Signal Controllers by: Pavel Grasblum
Techniques and Tools for Software Analysis
Techniques and Tools for Software Analysis Freescale Semiconductor Document Number: CODETESTTECHWP Rev. 0 11/2005 Understanding how software development can be optimized through the use of software analysis
Production Flash Programming Best Practices for Kinetis K- and L-series MCUs
Freescale Semiconductor Document Number:AN4835 Application Note Rev 1, 05/2014 Production Flash Programming Best Practices for Kinetis K- and L-series MCUs by: Melissa Hunter 1 Introduction This application
Data Movement Between Big-Endian and Little-Endian Devices
Freescale Semiconductor Application Note AN2285 Rev. 2.2, 3/2008 Data Movement Between Big-Endian and Little-Endian Devices by Kyle Aubrey, Field Technical Leader Ashan Kabir, System Engineering Freescale
Detecting a CPM Overload on the PowerQUICC II
Freescale Semiconductor Application Note Document Number: AN2547 Rev. 1, 11/2006 Detecting a CPM Overload on the PowerQUICC II by Qiru Zou NCSD Applications Freescale Semiconductor, Inc. Austin, TX This
How To Measure Power Of A Permanent Magnet Synchronous Motor
Freescale Semiconductor Document Number:AN4680 Application Note Rev. 0, 02/2013 PMSM Electrical Parameters Measurement by: Viktor Bobek 1 Introduction The vector control, also known as the field-oriented
MSC8156 and MSC8157 PCI Express Performance
Freescale Semiconductor Application Note Document Number: AN3935 Rev. 1, 11/2011 MSC8156 and MSC8157 PCI Express Performance This application note presents performance measurements of the MSC8156 and MSC8157
MLPPP in the Evolving Radio Access Network
Freescale Semiconductor White Paper Document Number: MLPPPWP Rev. 0, 09/2010 MLPPP in the Evolving Radio Access Network by Networking and Multimedia Group Freescale Semiconductor, Inc. East Kilbride, Scotland
TWR-KV31F120M Sample Code Guide for IAR Board configuration, software, and development tools Rev.0
TWR-KV31F120M Sample Code Guide for IAR Board configuration, software, and development tools Rev.0 Freescale TWR-KV31F120M Sample Code Guide for IAR KL25_LAB Contents 1 Purpose... 3 2 Getting to know the
VGA Output using TV-Out Extension Solution i.mx21
Freescale Semiconductor Application Note Document Number: AN3378 Rev. 0, 11/2006 VGA Output using TV-Out Extension Solution i.mx21 by: Tatiana Orofino 1 Abstract Freescale first thought of a TV-Out Extension
i.mx28 Ethernet Performance on Linux
Freescale Semiconductor Document Number:AN4544 Application Note Rev. 0, 6/2012 i.mx28 Ethernet Performance on Linux 1 Introduction The aim of this document is to show how to measure the ENET "Ethernet
Installing Service Pack Updater Archive for CodeWarrior Tools (Windows and Linux) Quick Start
Installing Service Pack Updater Archive for CodeWarrior Tools (Windows and Linux) Quick Start SYSTEM REQUIREMENTS Hardware Operating System Intel Pentium 4 processor, 2 GHz or faster, Intel Xeon, Intel
CodeWarrior Development Studio Floating Licensing Quick Start
CodeWarrior Development Studio Floating Licensing Quick Start This quick start guide explains how to set up a floating license server of Freescale software products licensed with FLEXlm (e.g. CodeWarrior).
VLE 16-bit and 32-bit Instruction Length Decode Algorithm
Freescale Semiconductor Document Number: AN4648 Application Note Rev. 1, 3/2013 VLE 16-bit and 32-bit Instruction Length Decode Algorithm by: Pavel Bohacik 1 Introduction The Qorivva MPC56xx 32-bit microcontroller
Installing Service Pack Updater Archive for CodeWarrior Tools (Windows and Linux) Quick Start
Installing Service Pack Updater Archive for CodeWarrior Tools (Windows and Linux) Quick Start SYSTEM REQUIREMENTS Processor Windows OS: Intel Pentium 4 processor, 2 GHz or faster, Intel Xeon, Intel Core,
Getting Started with the Student Learning Kit Featuring the Freescale HCS12 Microcontroller Application Module
Freescale Semiconductor SLKS12QSG Quick Reference Guide Rev. 0, 2/2008 Getting Started with the Student Learning Kit Featuring the Freescale HCS12 Microcontroller Application Module Freescale Semiconductor,
Using XGATE to Implement LIN Communication on HCS12X Daniel Malik 8/16-Bit Products Division East Kilbride, Scotland
Freescale Semiconductor Application Note Document Number: AN2732 Rev. 0, 05/2004 Using XGATE to Implement LIN Communication on HCS12X By Daniel Malik 8/16-Bit Products Division East Kilbride, Scotland
Adding SDIO Wi-Fi Solution to i.mx Windows CE 5.0/Windows CE 6.0
Freescale Semiconductor Application Note Document Number: AN3981 Rev. 0, 04/2010 Adding SDIO Wi-Fi Solution to i.mx Windows CE 5.0/Windows CE 6.0 by Multimedia Applications Division Freescale Semiconductor,
Using Program Memory As Data Memory. 1. Introduction. 2. 56800 Program Memory and Data. Contents. Memory. Freescale Semiconductor Application Note
Freescale Semiconductor Application Note AN1952 Rev. 0, 9/2005 Using Program Memory As Data Memory William Jiang 1. Introduction Microcontrollers with Harvard architecture have separate program and data
How to Do EEPROM Emulation Using Double Flash Array on MC9S08LC60 Ronald Gonzalez and Tatiana Orofino RTAC Americas
Freescale Semiconductor Application Note Document Number: AN3404 Rev. 1, 03/2007 How to Do EEPROM Emulation Using Double Flash Array on MC9S08LC60 by: Ronald Gonzalez and Tatiana Orofino RTAC Americas
Efficient Low-Level Software Development for the i.mx Platform
Freescale Semiconductor Application Note Document Number: AN3884 Rev. 0, 07/2009 Efficient Low-Level Software Development for the i.mx Platform by Multimedia Applications Division Freescale Semiconductor,
Configuring the FlexTimer for Position and Speed Measurement with an Encoder
Freescale Semiconductor Application Note Document Number: AN4381 Rev. 0, 12/2011 Configuring the FlexTimer for Position and Speed Measurement with an Encoder by: Matus Plachy System Application Engineer,
MPC8245/MPC8241 Memory Clock Design Guidelines: Part 1
Freescale Semiconductor AN2164 Rev. 4.1, 03/2007 MPC8245/MPC8241 Memory Clock Design Guidelines: Part 1 by Esther C. Alexander RISC Applications, CPD Freescale Semiconductor, Inc. Austin, TX This application
How To Develop A Toolstick
TOOLSTICK BASE ADAPTER USER S GUIDE 1. Handling Recommendations To enable development, the ToolStick Base Adapter and daughter cards are distributed without any protective plastics. To prevent damage to
Freescale Semiconductor. Integrated Silicon Pressure Sensor. On-Chip Signal Conditioned, Temperature Compensated and Calibrated MPX5500.
Freescale Semiconductor Integrated Silicon Pressure Sensor + On-Chip Signal Conditioned, Temperature Compensated and Calibrated Series Pressure Rev 7, 09/2009 0 to 500 kpa (0 to 72.5 psi) 0.2 to 4.7 V
NOT RECOMMENDED FOR NEW DESIGN
Technical Data RF Power Field Effect Transistor N- Channel Enhancement- Mode Lateral MOSFET Designed for broadband commercial and industrial applications with frequencies up to 00 MHz. The high gain and
3-Phase BLDC Motor Control with Hall Sensors Using 56800/E Digital Signal Controllers
Freescale Semiconductor Application Note AN1916 Rev. 2.0, 11/2005 3-Phase BLDC Motor Control with Hall Sensors Using 56800/E Digital Signal Controllers Leonard N. Elevich Contents 1. Application Benefits...1
UART Boot Loader Design on the Kinetis E Series
Freescale Semiconductor Application Note Document Number: AN4767 Rev. 0, 7/2013 UART Boot Loader Design on the Kinetis E Series by Wang Peng Many applications and products need to upgrade the firmware
Comparison of MC9S08QE128 and MCF51QE128 Microcontrollers Scott Pape and Eduardo Montanez Systems Engineering, Freescale Microcontroller Division
Freescale Semiconductor White Paper Document Number: QE128COMPWP Rev. 0, 05/2007 Comparison of MC9S08QE128 and MCF51QE128 Microcontrollers by: Scott Pape and Eduardo Montanez Systems Engineering, Freescale
Genesi Pegasos II Setup
Freescale Semiconductor Application Note AN2666 Rev. 0, 07/2004 Genesi Pegasos II Setup by Maurie Ommerman CPD Applications Freescale Semiconductor, Inc. Austin, TX This application note is the first in
PC Base Adapter Daughter Card UART GPIO. Figure 1. ToolStick Development Platform Block Diagram
TOOLSTICK VIRTUAL TOOLS USER S GUIDE RELEVANT DEVICES 1. Introduction The ToolStick development platform consists of a ToolStick Base Adapter and a ToolStick Daughter card. The ToolStick Virtual Tools
Real Time Development of MC Applications using the PC Master Software Visualization Tool. 1. Introduction. 2. Development of Motor Control.
Freescale Semiconductor Application Note AN1948 Rev. 1, 11/2005 Real Time Development of MC Applications using the PC Master Software Visualization Tool The PC Master Software Visualization Tool Simplifies
ColdFire Security SEC and Hardware Encryption Acceleration Overview
Freescale Semiconductor Application Note Document Number: AN2788 Rev. 1, 05/2008 ColdFire Security SEC and Hardware Encryption Acceleration Overview by: Melissa Hunter MSG Applications This application
Enhanced Serial Interface Mapping
Freescale Semiconductor Application Note Document Number: AN3536 Rev. 1, 11/2007 Enhanced Serial Interface Mapping 16 E1/T1 QUICC Engine Solution for TDM Connectivity by Netcomm Applications Networking
White Paper. Freescale s Embedded Hypervisor for QorIQ P4 Series Communications Platform
White Paper Freescale s Embedded for QorIQ P4 Series Communications Platform Document Number: EMHYPQIQTP4CPWP Rev 1 10/2008 Overview Freescale Semiconductor s QorIQ communications platform P4 series processors
Implementing Positioning Algorithms Using Accelerometers
Freescale Semiconductor Application Note Rev 0, 02/2007 Implementing Positioning Algorithms Using Accelerometers by: Kurt Seifert and Oscar Camacho OVERVIEW This document describes and implements a positioning
AND8336. Design Examples of On Board Dual Supply Voltage Logic Translators. Prepared by: Jim Lepkowski ON Semiconductor. http://onsemi.
Design Examples of On Board Dual Supply Voltage Logic Translators Prepared by: Jim Lepkowski ON Semiconductor Introduction Logic translators can be used to connect ICs together that are located on the
A Utility for Programming Single FLASH Array HCS12 MCUs, with Minimum RAM Overhead
Freescale Semiconductor Application Note AN2720 Rev. 2, 04/2008 A Utility for Programming Single FLASH Array HCS12 MCUs, with Minimum RAM Overhead By Jim Williams 8/16-Bit Applications Engineering Austin,
How To Fit A 2Mm Exposed Pad To A Dfn Package
EVERSPIN s New 2mm Exposed Pad DFN Package Meets Both SOIC-8 and DFN8 PCB Layouts This Application Note is to inform Everspin customers that a new, DFN8 package with a 2mm bottom exposed pad has been added
UG103.8 APPLICATION DEVELOPMENT FUNDAMENTALS: TOOLS
APPLICATION DEVELOPMENT FUNDAMENTALS: TOOLS This document provides an overview of the toolchain used to develop, build, and deploy EmberZNet and Silicon Labs Thread applications, and discusses some additional
HVP-KV31F120M Quick Start Guide
HVP-KV31F120M Quick Start Guide Freescale Controller Card High Voltage Development Platform Quick Start Guide Get to Know the HVP-KV31F120M USB Mini for Communication, Debugging and Power Supply Isolated
NOT RECOMMENDED FOR NEW DESIGN
Technical Data RF Power Field Effect Transistor N-Channel Enhancement-Mode Lateral MOSFET Designed for broadband commercial and industrial applications with frequencies up to 00 MHz. The high gain and
Building and Debugging a project using Keil MDK-ARM Eclipse plug-in
Freescale Semiconductor Document Number: AN4913 Building and Debugging a project using Keil MDK-ARM Eclipse plug-in Processor Expert Microcontrollers Driver Suite 1. Introduction Processor Expert Microcontrollers
QSG105 GETTING STARTED WITH SILICON LABS WIRELESS NETWORKING SOFTWARE
GETTING STARTED WITH SILICON LABS WIRELESS NETWORKING SOFTWARE This quick start guide provides basic information on configuring, building, and installing applications using the Thread, EmberZNet RF4CE,
Ref Parameters Symbol Conditions Min Typ Max Units. Standby 3.5 10 μa. 3 Range 50 115 kpa. 4 Resolution 0.15 kpa. 5 Accuracy -20ºC to 85ºC ±1 kpa
Freescale Semiconductor Miniature I 2 C Digital Barometer The is an absolute pressure sensor with digital output for low cost applications. A miniature 5 x 3 x 1.2 mm LGA package ideally suits it for portable
Using the HC08 SCI Module
Freescale Semiconductor Application Note AN3035 Rev. 0, 09/2005 Using the HC08 SCI Module By Jorge Zambada Tinoco Oscar Luna González RTAC Americas Mexico 2005 Overview This document is intended to serve
AN10866 LPC1700 secondary USB bootloader
Rev. 2 21 September 2010 Application note Document information Info Content Keywords LPC1700, Secondary USB Bootloader, ISP, IAP Abstract This application note describes how to add a custom secondary USB
32-bit AVR UC3 Microcontrollers. 32-bit AtmelAVR Application Note. AVR32769: How to Compile the standalone AVR32 Software Framework in AVR32 Studio V2
AVR32769: How to Compile the standalone AVR32 Software Framework in AVR32 Studio V2 1. Introduction The purpose of this application note is to show how to compile any of the application and driver examples
PQ-MDS-T1 Module. HW Getting Started Guide. Contents. About This Document. Required Reading. Definitions, Acronyms, and Abbreviations
HW Getting Started Guide PQ-MDS-T1 Module April 2006: Rev. 0.3 Contents Contents................................................................................. 1 About This Document.......................................................................
AN3354 Application note
Application note STM32F105/107 in-application programming using a USB host 1 Introduction An important requirement for most Flash-memory-based systems is the ability to update firmware installed in the
Quick Start Guide. MRB-KW01 Development Platform Radio Utility Application Demo MODULAR REFERENCE BOARD
Quick Start Guide MRB-KW01 Development Platform Radio Utility Application Demo MODULAR REFERENCE BOARD Quick Start Guide Get to Know the MRB-KW01x Module UART Selector ANT 1 RFIO (TX/RX) USB 2.0 Serial
USBSPYDER08 Discovery Kit for Freescale MC9RS08KA, MC9S08QD and MC9S08QG Microcontrollers User s Manual
USBSPYDER08 Discovery Kit for Freescale MC9RS08KA, MC9S08QD and MC9S08QG Microcontrollers User s Manual Copyright 2007 SofTec Microsystems DC01197 We want your feedback! SofTec Microsystems is always on
Bootloader with AES Encryption
...the world's most energy friendly microcontrollers Bootloader with AES Encryption AN0060 - Application Note Introduction This application note describes the implementation of a bootloader capable of
Quick Start Guide. USB Packet Sniffer/Dongle for Kinetis MKW22D and MKW24D Wireless MCUs USB-KW24D512
Quick Start Guide USB Packet Sniffer/Dongle for Kinetis MKW22D and MKW24D Wireless MCUs USB-KW24D512 Quick Start Guide Get to Know the USB-KW24D512 USB Connector Reset Button Application Button LEDs Antenna
MED-AFEs Design Reference Manual
Freescale Semiconductor Design Reference Manual Document Number: DRM141 Rev. 0, 8/2013 MED-AFEs Design Reference Manual By: Alejandra Guzman This document explains how to test all Analog Front Ends using
Getting Started with Kinetis SDK (KSDK)
Freescale Semiconductor, Inc. Document Number: KSDKGSUG User s Guide Rev. 0, 12/2014 Getting Started with Kinetis SDK (KSDK) 1 Overview Kinetis SDK (KSDK) is a Software Development Kit that provides comprehensive
APPLICATION NOTE. AT07175: SAM-BA Bootloader for SAM D21. Atmel SAM D21. Introduction. Features
APPLICATION NOTE AT07175: SAM-BA Bootloader for SAM D21 Atmel SAM D21 Introduction Atmel SAM Boot Assistant (Atmel SAM-BA ) allows In-System Programming (ISP) from USB or UART host without any external
Freescale Semiconductor, Inc. Product Brief Integrated Portable System Processor DragonBall ΤΜ
nc. Order this document by MC68328/D Microprocessor and Memory Technologies Group MC68328 MC68328V Product Brief Integrated Portable System Processor DragonBall ΤΜ As the portable consumer market grows
3-Phase BLDC Motor Control with Hall Sensors Using the MC56F8013
3-Phase BLDC Motor Control with Hall Sensors Using the MC56F8013 Targeting User Guide 56F8000 16-bit Hybrid Controllers 56F8013BLDCUG Rev. 1 11/2005 freescale.com TABLE OF CONTENTS About This Book Audience.............................................................
