AN1814 APPLICATION NOTE

Size: px
Start display at page:

Download "AN1814 APPLICATION NOTE"

Transcription

1 AN1814 APPLICATION NOTE USB Demonstration for DK3200 with µpsd3234a (Inside View of Windows Demo-Application) The µpsd32xx family, from ST, consists of Flash programmable system devices with a 8032 Microcontroller Core. Of these, the µpsd3234a and µpsd3254a are notable for having a complete implementation of the USB hardware directly on the chip, complying with the Universal Serial Bus Specification, Revision 1.1. This application note describes a demonstration program that has been written for the DK3200 hardware demonstration kit (incorporating a µpsd3234a device). It gives the user an idea of how simple it is to work with the device, using the HID class as a ready-made device driver for the USB connection. IN-APPLICATION-PROGRAMMING (IAP) AND IN-SYSTEM-PROGRAMMING (ISP) Since the µpsd contains two independent Flash memory arrays, the Micro Controller Unit (MCU) can execute code from one memory while erasing and programming the other. Product firmware updates in the field can be reliably performed over any communication channel (such as CAN, Ethernet, UART, J1850) using this unique architecture. For In-Application-Programming (IAP), all code is updated through the MCU. The main advantage for the user is that the firmware can be updated remotely. The target application runs and takes care on its own program code and data memory. IAP is not the only method to program the firmware in µpsd devices. They can also be programmed using In-System-Programming (ISP). A IEEE compliant JTAG interface is included on the µpsd. With this, the entire device can be rapidly programmed while soldered to the circuit board (Main Flash memory, Secondary Boot Flash memory, the PLD, and all configuration areas). This requires no MCU participation. The MCU is completely bypassed. So, the µpsd can be programmed or reprogrammed any time, any where, even when completely uncommitted. Both methods take place with the device in its normal hardware environment, soldered to a printed circuit board. The IAP method cannot be used without previous use of ISP, because IAP utilizes a small amount of resident code to receive the service commands, and to perform the desired operations. HID CLASS The Human Interface Device (HID) class is a standard classification for the USB. It was designed as a common device driver for interface devices such as the mouse, tablet and keyboard, and sports equipment, medical instruments, and various other measurement and audio/visual devices. This application note describes a demonstration program that utilizes the HID.DLL library, which Microsoft supports in its operation systems. It shows how simple it can all be, avoiding even the need to write a specific device driver. May /20

2 Initialization and De-initialization of HID Class Functions In the main program, the HID.DLL is initialized dynamically, using a call to the WinAPI function LoadLibrary(), and its functions are set up using GetProcAddress(). The LoadLibrary function maps the specified executable module into the address space of the calling process. If the function succeeds, the return value is a handle to the module. Otherwise, the return value is NULL, and an error message is generated. hhid = LoadLibrary("HID.DLL"); if (!hhid) OnError("Failed to load HID.DLL."); The GetProcAddress function returns the address of the specified exported dynamiclink library (DLL) function. We export only those functions that are needed. HidD_GetProductString = (PHidD_GetProductString) GetProcAddress(hHID, "HidD_GetProductString"); HidD_GetHidGuid = (PHidD_GetHidGuid) GetProcAddress(hHID, "HidD_GetHidGuid"); HidD_GetAttributes = (PHidD_GetAttributes) GetProcAddress(hHID, "HidD_GetAttributes"); HidD_SetFeature = (PHidD_SetFeature) GetProcAddress(hHID, "HidD_SetFeature"); HidD_GetFeature = (PHidD_GetFeature) GetProcAddress(hHID, "HidD_GetFeature"); A test then follows, to check that all the functions point to some valid address (not NULL). If any of them is set to NULL, it means that GetProcAddress() did not find the requested function in the DLL, and an error message is generated. if (!HidD_GetHidGuid!HidD_GetAttributes!HidD_GetProductString!HidD_SetFeature!HidD_GetFeature ) OnError("Couldn t find one or more HID entry points."); FreeLibrary(hHID); When the user closes the program, the HID.DLL is de-initialized, simply by closing the handle of the library. FreeLibrary(hHID); 2/20

3 Searching for the USB Device The typical Windows XP Hardware Insert sound, that you hear whenever you plug a USB device into your computer, is generated as an indication that the device has been recognized by the operating system in a process called enumeration. This process involves tasks such as: retrieving a standard set of descriptors from the device, and setting standard device parameters. The device supplies an HID class descriptor, which contains the HID specification information, and the length of the HID report descriptor. A report descriptor defines the format, and uses of the data, thereby defining the purpose of the device. When the demonstration device has correctly handled the requests and HID specific parameters, it is ready to be used by the application. But at first, it has to be found among a number of other devices that could be attached to the computer. The function OpenDeviceHandle() in the demonstration program takes care of this process. It browses through all the USB devices that are present, and requests their identification data (such as vendor ID and product ID). These two values are sufficient to determine whether it is the desired device or not. If none of the devices match the expected vendor and product ID, it probably means that the device we are searching for is not plugged in, or is powered off, or has failed the enumeration. Otherwise the application attempts to open the device. This is a multi-step process. 1. Obtain the Windows GUID (globally unique ID) for HID devices. The call to the HidD_GetHidGuid() function is used for this purpose. GUID guid; // GUID structure holds a globally unique identifier (GUID), (HidD_GetHidGuid)(&guid); // which identifies a particular object class and interface. 2. Get an array of structures containing information about all attached HIDs. The call to function Setup- DiGetClassDevs() is used. This step uses the previously obtained HID GUID to ensure that the list contains only HID devices. HDEVINFO hdevinfo;// Open handle to the set of all HID devices hdevinfo = SetupDiGetClassDevs( &guid, NULL, NULL, DIGCF_PRESENT DIGCF_INTERFACEDEVICE); if (hdevinfo == INVALID_HANDLE_VALUE) OnError("Failed to open handle to HID device set."); return 0; 3/20

4 3. Get information about each device in the list until one with the correct VID and PID is found. The call to the SetupDiEnumDeviceInterfaces() function is used. If this function returns false, it means that the end of the list has been reached without finding the desired device. DWORD dwindex = 0; bool success; while (1)// For each HID device... success = SetupDiEnumDeviceInterfaces(hDevInfo, 0, &guid, dwindex, &devdata); if (success == FALSE) return 0; // no more devices found dwindex++; // code for request informations (step 4) & opening a handle to device (step 5) goes here 4. Request detailed data using the function about the device indexed in the previous step. The DetailData structure contains parameter DevicePath, which will be used to open the device in the next step. The SetupDiGetDeviceInterfaceDetail() function serves for this purpose. DetailData.cbSize = 5; unsigned long BytesReturned; success = SetupDiGetDeviceInterfaceDetail(hDevInfo, &devdata, &DetailData, 256, &BytesReturned, NULL); if (success) //code for opening a handle to device (step 5) goes here 4/20

5 5. Call the Windows API function, CreateFile(), to open the device using the path obtained in the previous step. This function returns the handle to the device, or, if it failed, returns NULL. HANDLE hdevice = CreateFile(DetailData.DevicePath, GENERIC_READ GENERIC_WRITE, FILE_SHARE_READ FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL); if (hdevice!= INVALID_HANDLE_VALUE) // code for getting of vendor and product ID values goes here 6. Get and compare the Vendor ID and Product ID of the open device to determine whether this is the device we are searching for. If so, the handle and the path are stored in global variables. Otherwise, the handle is closed, and the test continues on next device in the list (steps 4 to 6). HIDD_ATTRIBUTES attr; attr.size = sizeof(attr); if ((g_phidd_getattributes)(hdevice, &attr)) if ((attr.vendorid == ST_VENDOR_ID) && (attr.productid == ST_PRODUCT_ID)) // Found our device! Store handle and device name. g_hdevice = hdevice; strcpy(g_devicepath, DetailData.DevicePath); SetupDiDestroyDeviceInfoList(hDevInfo); return 1; // otherwise close the handle and continue with next device in list CloseHandle(hDevice); Creating and Stopping the Mirror Thread The main application should stay responsive even while waiting for USB data transfers. Therefore, it is desirable to put the USB Reads and Writes in a separate thread. This feature allows the main application to continue processing messages while the USB transaction thread waits for transactions to complete. In the demonstration program, the mirror thread is a good example of this method. In the main dialogue window, it displays the copy of the demonstration kit s LCD display contents. In the CreateInputThread() function, the InputThreadProc() function is executed in a new thread. The WinAPI function, CreateThread(), serves for this purpose. On success, this function returns the handle to 5/20

6 the new thread. If the thread cannot be created, the function returns NULL, and an error message is generated. DWORD dwthreadid; HANDLE hthread = CreateThread(NULL, 0, InputThreadProc, NULL, 0, &dwthreadid); if (!hthread) OnError("Failed to create input thread."); return hthread; // The function returns handle to the created thread. The name of the function InputThreadProc() appears among the parameters of CreateThread() function. This is the code to be executed in the new thread. Because the USB connection will be shared between the main and mirroring threads, another handle to the device is needed. It will be opened with the CreateFile() function, too; but here, in addition, the FILE_FLAG_OVERLAPPED parameter is used. This allows the application to perform overlapped reading and writing. HANDLE hdevice = CreateFile(g_devicePath, GENERIC_READ GENERIC_WRITE, FILE_SHARE_READ FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL); The next step is the initialization of OVERLAPPED structure, which will be needed in asynchronous input and output. In every use of the ReadFile() and WriteFile() functions, this structure will be passed as a parameter. OVERLAPPED ol; memset(&ol, 0, sizeof(ol)); To indicate whether data transfer has been completed, we need to create an event. It is set to the signalled state by the ReadFile() and WriteFile() functions, and is reset by the calling thread before initiating the data transfer. ol.hevent = CreateEvent(NULL, TRUE, FALSE, NULL); Finally, we need the buffer for storing the received data. The whole image of the LCD cannot be transferred in one go; multiple consecutive packets have to be used. This is because only eight bytes can be transferred in one USB packet. The following code shows how the buffer is initialized and cleared. static char lcdbuffer[lcd_buffer_size + 1]; memset(lcdbuffer, 0, sizeof(lcdbuffer)); The body of the input thread is placed in an infinite loop. For better readability, some parts of code (especially those that are needed for synchronization) are bypassed. In the first half of following code, the input 6/20

7 report buffer is prepared, and using the ReadFile() function, the data is received. Then this data is stored in the LCD mirror buffer: at the position indicated by the first byte, the following seven bytes are written. Finally, the UpdateDisplay() function is called, to display the mirrored LCD data to the panel in the main form s window. while (TRUE) // Report buffer (Windows will put a report ID byte at the start) char report[input_report_size + 1]; // Read input report from device DWORD cbret; ResetEvent(ol.hEvent); BOOL bret; bret = ReadFile(hDevice, report, sizeof(report), &cbret, &ol); // Update LCD display mirror int bufindex = report[1]; int nbytes = INPUT_REPORT_SIZE - 1; // this is to protect from buffer overflow if (bufindex + nbytes > LCD_BUFFER_SIZE) nbytes = LCD_BUFFER_SIZE - bufindex; if (nbytes < 0) nbytes = 0; memcpy(lcdbuffer + bufindex, report + 2, nbytes); UpdateDisplay(lcdBuffer); The implementation of UpdateDisplay() function is very simple. void fastcall UpdateDisplay(char *src) src[lcd_buffer_size-1] = 0; mainform->lbdisplaymirror->caption = AnsiString(src); When user closes the program, or clicks the Stop Mirror button, the input thread is stopped in this way: SetEvent(g_hStopEvent);// set the state of the specified event object to signaled CloseHandle(hInputThread);// close the input thread s handle hinputthread = NULL;// clear the handle variable 7/20

8 INPUT AND OUTPUT REPORTS An input report was mentioned in previous section. This needs some further explanation. Using USB terminology, the report is synonymous with an elementary data transfer. Three types of reports exist: Input, Output or Feature. The host receives data in Input reports and sends data in Output reports. Feature reports may travel in either direction. All HID data must use a specific report format that defines the size and contents of the data in the report. A report descriptor in the device s firmware describes the report, and may also include information about how the receiver of the data should use it. The report can consist of one or several packets. For low-speed devices, like µpsd, the size of the packet is limited to eight bytes. In the demonstration, an input report fits into one packet, and output and feature reports are 64 bytes in length, and are sent in eight packets. See report sizes definition in app_intr.h: #define INPUT_REPORT_SIZE8 #define OUTPUT_REPORT_SIZE64 #define FEATURE_REPORT_SIZE(OUTPUT_REPORT_SIZE) #define CMD_SIZE(OUTPUT_REPORT_SIZE) Regarding the transfer rate, no more than one transaction per 10 milliseconds is guaranteed for low-speed devices. This gives a maximum of 800 bytes per second. Commands over the USB Connection The application needs to be able to read input reports and to write output reports. To perform these tasks as mentioned before, the ReadFile() and WriteFile() functions are used. Each of these functions uses the device handle that is created by CreateFile() function. In addition, the application uses overlapped transactions, which allows a low-cpu-overhead state to be entered while waiting for a requested USB transaction to occur. Otherwise, the application would have to wait until the USB transaction had finished before it could perform any additional tasks. This would not be desirable, because the application would spend most of its time waiting for data. The meaning of the individual bytes in a report is application-dependent. Feature and output report structures, as is defined in file app_intr.h, use the union construct to describe them. typedef struct union uchar cmd;// CMD_xxx code struct uchar cmd;// CMD_ERASE uchar flash;// PRIMARY_FLASH or SECONDARY_FLASH uint16 address;// Any address in any sector erase; struct uchar cmd;// CMD_READ or CMD_WRITE 8/20

9 uchar flash;// PRIMARY_FLASH or SECONDARY_FLASH uint16 address;// Target xdata address uint16 nbytes;// Num bytes to read/write rw; struct uchar cmd;// CMD_SET_xxx uchar page;// Desired page register value uchar vm;// Desired VM register value setregs; struct uchar cmd;// CMD_GET_STATUS uchar currentcmd;// Returns current command being processed uchar page;// Returns page register value uchar vm;// Returns VM register value uchar ret;// Return value from flash routine uchar checksum;// Check sum for write commands status; uchar buffer[cmd_size]; u; MCU_CMD, *PMCU_CMD; This is the most efficient way to define the output report buffer. It enables access to individual bytes, through names varying from command to command. For example, the second byte in CMD_ERASE, CMD_READ or CMD_WRITE indicates which Flash memory the operation concerns (primary or secondary), but in CMD_SET_VM or CMD_SET_PAGE this byte contains the page register value. The MCU_CMD structure is part of the REPORT_BUF structure, defined in the main source file USB_Demo.cpp. This is because the first byte of the report contains the Report ID value. The size of complete structure is 65 bytes, and it has to be exact, because the HID driver expects report buffers of this size, otherwise the call to WriteFile() will fail. typedef struct // The Microsoft HID driver expects a prefix report ID byte unsigned char reportid; MCU_CMD report; REPORT_BUF, *PREPORT_BUF; Be careful, while compiling your application, to use proper data types. Also be careful with the compiler options: data alignments other than single-byte may cause problems. 9/20

10 Eight commands are enough to support the IAP operations: #define CMD_RESET0x01 #define CMD_ERASE0x02 #define CMD_WRITE0x03 #define CMD_READ0x04 #define CMD_STATUS0x05 #define CMD_SET_REGS0x06 #define CMD_SET_PAGE0x07 #define CMD_SET_VM0x08 The mechanism of creating an output report, with the command and its embedded parameters, we will clarify on a SET_PAGE command. The function SetPage() serves for this purpose. BOOL SetPage(BYTE page); The function takes one argument: the new value for the PAGE register of the µpsd. The function returns TRUE if successful, FALSE if there is an error. (If the sending of the command fails, the error message is displayed in addition). First, the buffer needs to be initialized and its content cleared. REPORT_BUF reportbuf; memset(&reportbuf, 0, sizeof(report_buf)); Then, the individual bytes will be filled with the new values. The byte, at position zero, is cleared. The byte, at position one, contains the value of the command (CMD_SET_PAGE, defined to 07h), and the byte, at position two, identifies the destination sector (which can be 0 to 7 for primary, and 0 to 3 for secondary Flash memory). reportbuf.reportid = 0; reportbuf.report.u.setregs.cmd = CMD_SET_PAGE; reportbuf.report.u.setregs.page = page; Finally, the output report is sent to the device. If there is an error, the function WriteFile() returns FALSE and an error message is generated. DWORD cbwritten; if (!WriteFile(g_hDevice, &reportbuf, sizeof(report_buf), &cbwritten, NULL)) OnError("Error sending CMD_SET_PAGE command."); return FALSE; return TRUE; 10/20

11 The variable, cbwritten, contains the amount of data successfully written, but in this implementation there is no need to check it. Data Transfers over the USB Connection While SET_PAGE command needs only a few bytes to be transported, some other operations require larger amounts of data. The ReadFlash() function reads the given number of bytes from the selected Flash memory sector, starting at a specified offset, and stores it in a buffer. The function requires five parameters: flash selects between: 0: main, primary, Flash memory and 1: boot, secondary, Flash memory sector has the same meaning (destination sector) as was explained in SetPage(): 0 to 7 for primary Flash memory, and 0 to 3 for secondary Flash memory. offset contains the destination address for writing the data 0000h to 7FFFh for main Flash memory 0000h to 1FFFh for boot Flash memory *buffer is a pointer to the destination buffer, where the read data will be stored. nbytes sets the amount of data to be read. As usual, the function returns TRUE on successful completion, or FALSE if there is an error. BOOL ReadFlash(uchar flash, uchar sector, uint16 offset, uchar *buffer, uint16 nbytes); Inside the function, the output buffer is first prepared. Then, the sector offset is converted to xdata address using the OffsetToAddress() function. REPORT_BUF reportbuf; memset(&reportbuf, 0, sizeof(report_buf)); uint16 address = OffsetToAddress(flash, sector, offset); Now the desired command, with its parameters, is set up in the output report, and the command is sent in the usual way. reportbuf.reportid= 0; reportbuf.report.u.cmd= CMD_READ; reportbuf.report.u.rw.flash= flash; reportbuf.report.u.rw.address= SWAP_UINT16(address); reportbuf.report.u.rw.nbytes = SWAP_UINT16(nBytes); DWORD cbwritten; if (!WriteFile(g_hDevice, &reportbuf, sizeof(report_buf), &cbwritten, NULL)) 11/20

12 OnError("Error sending CMD_READ command."); LeaveCriticalSection(&g_crSection); return FALSE; After receiving of the command, the device answers almost immediately. The requested amount of data is sent sequentially, for which a while cycle is used. For the transfer from device to computer, a feature report is used. The HidD_GetFeature() function, from HID.DLL, serves for reading such reports from the device. uint16 cbremaining = nbytes; uint16 cbtemp = cbremaining; while (cbremaining) if (!(HidD_GetFeature)(g_hDevice, &reportbuf, sizeof(report_buf))) OnError("Error reading CMD_READ reply."); LeaveCriticalSection(&g_crSection); return FALSE; // code for processing of received data and displaying the status goes here The received data is then stored in a buffer, and the command byte, at position zero, is skipped. uint16 cbdata = min(cbremaining, CMD_SIZE - 1); memcpy(buffer, reportbuf.report.u.buffer + 1, cbdata); buffer += cbdata; cbremaining -= cbdata; When the value of cbremaining reaches zero, the reading cycle ends, and the function exits. Implementation of Other IAP Commands The implementation of WriteFlash(), SectorErase(), ResetBoard() and SetVM() is very similar to the two functions that are described above. Higher-level IAP functions use one or more basic IAP functions: WriteData() uses SelectFlash() and WriteFlash(). ReadData(), UploadToFile() and BlankCheck() use SelectFlash() and ReadFlash(). ProgramOrVerify() uses SelectFlash(), ReadFlash() and WriteFlash(). Some of the IAP functions can be directly mapped on to button-click events, and some need to display additional dialogues or message boxes. However, the functionality of the buttons is easy to understand, and obvious from the implementation. For example, the Program button executes the following code: 12/20

13 First, the user is prompted for a file name from which to read the data. Then, the IAP command is invoked. Finally, the text in the status panel is updated. if (OpenDialog1->Execute()) if (ProgramOrVerify(SELECTED_FLASH, SELECTED_SECTOR, FALSE, OpenDialog1->FileName.c_str())) mainform->sbstatus->panels->items[0]->text = "Program Sector is done."; The implementation of the other buttons is very similar. 13/20

14 OVERVIEW OF USB IAP DEMO APPLICATION After starting the demonstration application, you see that when the board is not connected, you can do almost nothing. The application now searches for the demonstration board on the USB ports. If the program remains in this state, it is probably because the board is not plugged in, or is not powered. Figure 1. Making a Connection to the Board When connection to the board is established, the mirroring thread runs immediately. Everything that appears on board s LCD is also shown (mirrored) on the demonstration application s window. If you change from Main to Boot Flash memory, and back again, you should see how firmware execution source is reported in the two places. Figure 2. Mirroring of LCD Content 14/20

15 Now, click on the Read button. See how the parameters are set: offset is 0000h, count is 10h, source Flash memory is Main, and the sector is 1. This will read the first 16 bytes (10h) from the start of the FS1 Flash memory sector. Figure 3 shows what will appear if the memory is empty. Figure 3. Reading Data from Memory Now try to write some bytes. Fill the Data field with several hexadecimal values. The Count field will be updated automatically. Set the destination offset to 0200h, for example, and press the Write button. The status message, in status bar, informs you whether the operation was successful. Figure 4. Writing Data to Memory 15/20

16 Another useful IAP function is Blank Check. If you want to write some data to Flash memory, the memory should first be empty (erased). Press the Blank Check button, and it will indicate that the memory is not empty, and that there is some data (at the address where you have just written it). Figure 5. Blank Checking To erase this sector, again, simply press the Erase button. Again, the status message, in status bar, informs you whether the operation was successful. Figure 6. Erasing the Sector Now you can press Read button again, and see that data were erased and the memory is, again, empty. Alternatively, run Blank Check again, and notice the result. 16/20

17 Figure 7. Reading Data from Memory again Now look at Sector 0: set offset to 0000h, count to 10h, change Sector to 0, and press the Read button. You can see some data there. This is the code of IAP demo firmware. Using the Upload button, you can save this code to a file. (The application will ask you for the file name to be given to it). Figure 8. Uploading the Sector Content The file is saved in IntelHEX format. It is a standard ASCII file, and can be opened in any editor or viewer. It starts with the data from the start of sector 0: : b727430f07f017e00d3ef9400ee6437 : e4fdfc0dbd00010cbc02f88d : bd58f5ef1f70e31e80e d2d2ea25 : ff0204ab902145ebf0a3eaf0a3e912 17/20

18 Now you can try to program this data to Sector 1 (which you have previously erased, in Figure 6). Change the sector selector to 1, and press the Program button. The application will ask for the file name from which it will load the data. Give it the file name that you used in the previous step. Figure 9. Programming Data to Sector After programming is finished, the application informs you of the fact, and how much time it took. Press the Read button, again, to see that the data are really there. Figure 10. Reading Data from Memory, yet again If you want to be sure that all data was written correctly, use the Verify button. Use the same file name that you used for the Program command. The verification result is displayed in a message box. 18/20

19 Figure 11. Verifying the Sector Content with a File Other Commands Feel free to try the other buttons. Reset sends an IAP command to reset the board. Disconnect stops the communication between the board and the application. (This is only software disconnect, though, so you do not hear the Windows XP s unplug sound). Stop Mirror can temporarily stop the mirroring thread. Finally, the Close button can be used to close the application. CONCLUSION This Windows-based IAP demonstration program for the µpsd3234a product is written using general purpose IAP routines that a customer could use in his or her own, applications. These routines are very flexible, with their configuration options, and can be used in a variety of configurations, and yet remain easy to work with. REVISION HISTORY Table 1. Document Revision History Date Version Revision Details 27-May First Issue 19/20

20 For current information on ST PSD products, please consult our pages on the world wide web: If you have any questions or suggestions concerning the matters raised in this document, please send them to the following electronic mail addresses: (for application support) (for general enquiries) Please remember to include your name, company, location, telephone number and fax number. Information furnished is believed to be accurate and reliable. However, STMicroelectronics assumes no responsibility for the consequences of use of such information nor for any infringement of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rights of STMicroelectronics. Specifications mentioned in this publication are subject to change without notice. This publication supersedes and replaces all information previously supplied. STMicroelectronics products are not authorized for use as critical components in life support devices or systems without express written approval of STMicroelectronics. The ST logo is a registered trademark of STMicroelectronics. All other names are the property of their respective owners 2004 STMicroelectronics - All rights reserved STMicroelectronics GROUP OF COMPANIES Australia - Belgium - Brazil - Canada - China - Czech Republic - Finland - France - Germany - Hong Kong - India - Israel - Italy - Japan - Malaysia - Malta - Morocco - Singapore - Spain - Sweden - Switzerland - United Kingdom - United States 20/20

PSDPRO Parallel Port Programmer for ST s Programmable System Device (PSD) Products

PSDPRO Parallel Port Programmer for ST s Programmable System Device (PSD) Products PSDPRO Parallel Port Programmer for ST s Programmable System Device (PSD) Products DATA BRIEFING FEATURES SUMMARY LOW COST PARALLEL PORT PROGRAMMER FOR ST'S ENTIRE PSD PRODUCT LINE PROGRAMS ALL PSD DEVICES

More information

AN1432 APPLICATION NOTE

AN1432 APPLICATION NOTE AN1432 APPLICATION NOTE Write Protection and Code Storage on the M25Pxx Serial Flash Memory Family Protection is one of the key features of a code storage memory. After all, the corruption of a single

More information

AN2737 Application note Basic in-application programming example using the STM8 I 2 C and SPI peripherals Introduction

AN2737 Application note Basic in-application programming example using the STM8 I 2 C and SPI peripherals Introduction Application note Basic in-application programming example using the STM8 I 2 C and SPI peripherals Introduction This application note is one of a set of application notes giving examples of how to use

More information

FlashLINK JTAG Programming Cable for PSD and upsd

FlashLINK JTAG Programming Cable for PSD and upsd USER MANUAL FlashLINK Programming Cable for PSD and upsd FEATURES Allows PC or Notebook parallel port to program upsd and PSD devices using PSDsoft Express software development tool. Supports IEEE 49.

More information

AN1576 APPLICATION NOTE

AN1576 APPLICATION NOTE INTRODUCTION AN1576 APPLICATION NOTE IN-APPLICATION PROGRAMMING (IAP) DRIVERS FOR ST7 HDFLASH OR XFLASH MCUs by Microcontroller Division Applications The In-Application Programming (IAP) architecture defined

More information

AN1823 APPLICATION NOTE

AN1823 APPLICATION NOTE AN1823 APPLICATION NOTE Error Correction Code in NAND Flash Memories This Application Note describes how to implement an Error Correction Code (ECC), in ST NAND Flash memories, which can detect 2-bit errors

More information

Title: Migrating to Delcom USB HID Chip Set (Generation 2) from the Delcom USB custom driver Chip Set (Generation 1).

Title: Migrating to Delcom USB HID Chip Set (Generation 2) from the Delcom USB custom driver Chip Set (Generation 1). Title: Migrating to Delcom USB HID Chip Set (Generation 2) from the Delcom USB custom driver Chip Set (Generation 1). Abstract: This document outlines the software changes that a user of generation 1 products

More information

AN3354 Application note

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

More information

STEVAL-PCC010V1. ST802RT1A Ethernet PHY demonstration board with STM32F107 controller add-on board. Features. Description

STEVAL-PCC010V1. ST802RT1A Ethernet PHY demonstration board with STM32F107 controller add-on board. Features. Description ST802RT1A Ethernet PHY demonstration board with STM32F107 controller add-on board Data brief Features ST802RT1A Ethernet PHY demonstration board: ST802RT1A fast Ethernet physical layer transceiver On-board

More information

AN3154 Application note

AN3154 Application note Application note CAN protocol used in the STM32 bootloader Introduction This application note describes the CAN protocol used in the STM32 microcontroller bootloader. It details each supported command.

More information

AN2667 Application note

AN2667 Application note Application note STM8A GPIO application examples Introduction This document is intended to provide two practical application examples of the GPIO peripheral use in the STM8A device. The examples are: Toggling

More information

AN3965 Application note

AN3965 Application note Application note STM32F40x/STM32F41x in-application programming using the USART 1 Introduction An important requirement for most Flash-memory-based systems is the ability to update firmware when installed

More information

ST19WR08 Dual Contactless Smartcard MCU With RF UART, IART & 8 Kbytes EEPROM Features Contactless specific features

ST19WR08 Dual Contactless Smartcard MCU With RF UART, IART & 8 Kbytes EEPROM Features Contactless specific features Dual Contactless Smartcard MCU With RF UART, IART & 8 Kbytes EEPROM Data Brief Features Enhanced 8-bit CPU with extended addressing modes 112 KBytes user ROM with partitioning 2 KBytes user RAM with partitioning

More information

AN2143 Application note

AN2143 Application note AN2143 Application note Programming the ST10F27X embedded Flash using the ST10FLASHER tool Introduction This document summarizes the different steps needed to program the internal Flash memory of the ST10F27x

More information

TN0189 Technical note

TN0189 Technical note Technical note STM8 bootloader frequently asked questions 1 Introduction All STM8A, STM8L, and STM8S devices with a Flash memory space greater than 16 Kbytes have a ROM bootloader: STM8AF51xx STM8AF61xx

More information

AN1070 APPLICATION NOTE

AN1070 APPLICATION NOTE AN1070 APPLICATION NOTE ST7 CHECKSUM SELFCHECKING CAPABILITY by Microcontroller Division Applications INTRODUCTION The goal of this application te is to present a software technique for determining if

More information

STEVAL-SPBT4ATV3. USB dongle for the Bluetooth class 1 SPBT2632C1A.AT2 module. Features. Description

STEVAL-SPBT4ATV3. USB dongle for the Bluetooth class 1 SPBT2632C1A.AT2 module. Features. Description USB dongle for the Bluetooth class 1 SPBT2632C1A.AT2 module Features Based on V3.0 Bluetooth class 1 module, SPBT2632C1A.AT2 USB interface and power supply Supported reprogrammability via USB interface

More information

STEVAL-CCM002V1. TFT-LCD panel demonstration board based on the STM32 as LCD controller. Features. Description

STEVAL-CCM002V1. TFT-LCD panel demonstration board based on the STM32 as LCD controller. Features. Description TFT-LCD panel demonstration board based on the STM32 as LCD controller Data brief Features Displays images on a TFT-LCD using the STM32 as LCD controller Includes a slideshow of images to demonstrate static

More information

AN4321 Application note

AN4321 Application note Application note Getting started with the SPC56L-Discovery Introduction SPC56L-Discovery evaluation kit is based on the 32-bit microcontrollers SPC56EL70L5. The SPC56L-Discovery is an evaluation board

More information

AN1839 APPLICATION NOTE How to Use a Small Page ST NAND Flash Memory in an Application Designed for a Toshiba Device

AN1839 APPLICATION NOTE How to Use a Small Page ST NAND Flash Memory in an Application Designed for a Toshiba Device AN1839 APPLICATION NOTE How to Use a Small Page ST NAND Flash Memory in an Application Designed for a Toshiba Device This Application Note describes how to use an STMicroelectronics Small Page (528 Byte/

More information

Description SPC564A-DISP. March 2014 DocID Rev 3 1/5

Description SPC564A-DISP. March 2014 DocID Rev 3 1/5 SPC564A-DISP: Discovery+ evaluation board Description Data brief - production data Features SPC564A70L7 32-bit 150 MHz e200z4 Power Architecture core, 2Mbyte on-chip in an LQFP176 package. Board Supply:

More information

TN0132 Technical note

TN0132 Technical note Technical note STM32 Serial Wire Viewer and ETM capabilities with EWARM 5.40 and MDK-ARM 3.70 Introduction This document presents Serial Wire Viewer (SWV) and Embedded Trace Macrocell (ETM) capabilities

More information

AN2261 APPLICATION NOTE

AN2261 APPLICATION NOTE APPLICATION NOTE GPIO ports configuration in ST30 devices INTRODUCTION The General Purpose IO (GPIO) Ports of ST30 devices are programmable by software in several modes:, Output, Alternate Function,, Output

More information

AN4113 Application note

AN4113 Application note Application note Managing the Driver Enable signal for RS-485 and IO-Link communications with the STM32F05x USART Introduction RS-485 and IO-Link are half-duplex communication protocols that offer easy

More information

STM3220G-SK/KEI. Keil starter kit for STM32F2 series microcontrollers (STM32F207IG MCU) Features. Description

STM3220G-SK/KEI. Keil starter kit for STM32F2 series microcontrollers (STM32F207IG MCU) Features. Description Keil starter kit for STM32F2 series microcontrollers (STM32F207IG MCU) Data brief Features The Keil MDK-Lite development tools: µvision 4 IDE/Debugger for application programming and debugging ARM C/C++

More information

AN2061 APPLICATION NOTE

AN2061 APPLICATION NOTE APPLICATION NOTE EEPROM Emulation with ST10F2xx Description External EEPROMs are often used in automotive applications to store adaptative/evolutive data. On the other hand, the Microcontroller used in

More information

AN2676 Application note

AN2676 Application note Application note STM8A reset application examples Introduction This document is one of a set of application notes giving examples of how to use the various blocks of the STM8A microcontroller family and

More information

AN2594 Application note

AN2594 Application note AN2594 Application note EEPROM emulation in STM32F101xx and STM32F103xx microcontrollers Introduction Many applications require EEPROM (electrically erasable programmable read-only memory) for non-volatile

More information

STM3210B-SK/KEIL STR91X-SK/KEI, STR7-SK/KEIL

STM3210B-SK/KEIL STR91X-SK/KEI, STR7-SK/KEIL STM3210B STR91X-SK/KEI, STR7 Keil starter kits for ST ARM core-based microcontrollers Data brief Features The ARM RealView Microcontroller Development Kit complete development software package with: µvision3

More information

STM32-SK/RAIS,STR91X-SK/RAI,STR7-SK/RAIS STM32-D/RAIS,STR9-D/RAIS,STR7-D/RAIS

STM32-SK/RAIS,STR91X-SK/RAI,STR7-SK/RAIS STM32-D/RAIS,STR9-D/RAIS,STR7-D/RAIS STM32-SK/RAIS,,STR7-SK/RAIS STM32-D/RAIS,STR9-D/RAIS,STR7-D/RAIS Raisonance REva starter kits for ST ARM core-based microcontrollers Data brief Features Raisonance software toolset with: GNU C compiler

More information

Getting started with DfuSe USB device firmware upgrade STMicroelectronics extension

Getting started with DfuSe USB device firmware upgrade STMicroelectronics extension User manual Getting started with DfuSe USB device firmware upgrade STMicroelectronics extension Introduction This document describes the demonstration user interface that was developed to illustrate use

More information

AN1369 APPLICATION NOTE

AN1369 APPLICATION NOTE AN1369 APPLICATION NOTE GETTING STARTED WITH RAISONANCE IDE FOR THE ST6 MICROCONTROLLER by Microcontroller Division Applications INTRODUCTION Ride is the development toolchain for ST62 developed by Raisonance.

More information

AN2672 Application note

AN2672 Application note Application note I²C application examples Introduction The I 2 C peripheral is very flexible, supporting standard interrupts in both 10-bit and 7-bit addressing modes. As a result, generated events are

More information

UM0792 User manual. Demonstration firmware for the DMX-512 communication protocol transmitter based on the STM32F103Zx.

UM0792 User manual. Demonstration firmware for the DMX-512 communication protocol transmitter based on the STM32F103Zx. User manual Demonstration firmware for the DMX-512 communication protocol transmitter based on the STM32F103Zx Introduction This document describes how to use the demonstration firmware for the DMX-512

More information

AN2430 Application note

AN2430 Application note Application note STR75x SystemMemory boot mode Introduction te: This application note describes the features of the SystemMemory boot mode developed for STR75x Flash microcontrollers providing all the

More information

STM8 I 2 C optimized examples

STM8 I 2 C optimized examples Application note STM8 I 2 C optimized examples Introduction This document describes how to use the following I 2 C optimized examples Hardware configuration example of a common I 2 C bus Master firmware

More information

AN1601 APPLICATION NOTE

AN1601 APPLICATION NOTE AN1601 APPLICATION NOTE SOFTWARE IMPLEMENTATION FOR ST7DALI-EVAL INTRODUCTION This application te describes a software example for driving a DALI slave board using an ST7DALI (ST7LITE2 family) microcontroller.

More information

UM0693 User manual. 1 Introduction. STM8L101-EVAL demonstration firmware

UM0693 User manual. 1 Introduction. STM8L101-EVAL demonstration firmware User manual STM8L101-EVAL demonstration firmware 1 Introduction Note: This document describes the demonstration firmware running on the STM8L101-EVAL evaluation board. You can use it to evaluate the capabilities

More information

STM32-SK/KEIL STR91X-SK/KEI, STR7-SK/KEIL

STM32-SK/KEIL STR91X-SK/KEI, STR7-SK/KEIL STM32 STR91X-SK/KEI, STR7 Keil starter kits for ST ARM core-based microcontrollers Data brief Features The ARM RealView Microcontroller Development Kit complete development software package with: µvision3

More information

STM32-MP3NL/DEC. STM32 audio engine MP3 decoder library. Description. Features

STM32-MP3NL/DEC. STM32 audio engine MP3 decoder library. Description. Features STM32 audio engine MP3 decoder library Data brief Features MPEG-1, 2 or 2.5 formats Layers 1, 2 and 3 Constant bit rate and variable bit rate Mono or stereo input streams PCM (Pulse Code Modulation) output

More information

AN2792 Application note

AN2792 Application note Application note STM8A easy programmer 1 Introduction This application note describes the easy programmer which is a low cost solution allowing the content of the STM8A Flash program memory to be updated

More information

UM1084 User manual. CR95HF development software user guide. Introduction. Reference documents

UM1084 User manual. CR95HF development software user guide. Introduction. Reference documents User manual CR95HF development software user guide Introduction The CR95HF development software is a PC software which allows to configure, evaluate, and communicate with ST CR95HF 13.56 MHz multiprotocol

More information

UM0401 User manual. User manual for eight bit port expander STMPE801 demonstration board. Introduction

UM0401 User manual. User manual for eight bit port expander STMPE801 demonstration board. Introduction User manual User manual for eight bit port expander STMPE801 demonstration board Introduction This document explains the functioning of the demo board for the port expander Chip STMPE801 with a PC GUI

More information

AN3155 Application note

AN3155 Application note Application note USART protocol used in the STM32 bootloader Introduction This application note describes the USART protocol used in the STM32 microcontroller bootloader. It details each supported command.

More information

For more information on this tool or if you need more help, please contact the nearest sales office, see Contact List below.

For more information on this tool or if you need more help, please contact the nearest sales office, see Contact List below. Release Notes ST6 Windows Epromer Release 4.0.3 1 Preface 1.1 About these release notes This is Version 1.0 of the release notes for Release 4.0.3 of the ST6 family device programming software which is

More information

OSPlus USB Extension. OSPlus USB 2.0 extension. Description. Features. Application. TCP/IP stack NexGenOS NexGenIP VFS. FAT Ext2 LVM Device layer

OSPlus USB Extension. OSPlus USB 2.0 extension. Description. Features. Application. TCP/IP stack NexGenOS NexGenIP VFS. FAT Ext2 LVM Device layer OSPlus USB 2.0 extension Data brief Application VFS FAT Ext2 LVM Device layer Device drivers TCP/IP stack NexGenOS NexGenIP NexGenRemote NexGenResolve NexGenBoot NexGenPPP USB stack OSPlus interface Class

More information

AN3996 Application Note

AN3996 Application Note Application Note Adjustable LED blinking speed using STM8SVLDISCOVERY Application overview This application note provides a short description of the demonstration firmware Discover which is preprogrammed

More information

AN1527 APPLICATION NOTE

AN1527 APPLICATION NOTE AN1527 APPLICATION NOTE DEVELOPING A USB SMARTCARD READER WITH ST7SCR by Microcontroller Division Applications INTRODUCTION This document describes a firmware implementation developed by STMicroelectronics

More information

ST33F1M. Smartcard MCU with 32-bit ARM SecurCore SC300 CPU and 1.25 Mbytes high-density Flash memory. Features. Hardware features.

ST33F1M. Smartcard MCU with 32-bit ARM SecurCore SC300 CPU and 1.25 Mbytes high-density Flash memory. Features. Hardware features. Smartcard MCU with 32-bit ARM SecurCore SC300 CPU and 1.25 Mbytes high-density Flash memory Data brief Features ST33F1M major applications include: Mobile communications (GSM, 3G and CDMA) Java Card applications

More information

AN4274 Application note

AN4274 Application note Application note The serial communication driver between the ST7580 and the STM32Fx By Vincenzo Mormina Introduction This document describes the serial communication driver between the ST7580 and the STM32Fx.

More information

AN2361 Application note

AN2361 Application note AN2361 Application note Interfacing with the STR91x software library using Configuration and Programming Software (CAPS) Introduction STR91x microcontrollers offer extremely flexible configuration of I/O

More information

ST6-SW SOFTWARE DEVELOPMENT TOOLS FOR ST6 MCU FAMILY

ST6-SW SOFTWARE DEVELOPMENT TOOLS FOR ST6 MCU FAMILY SOFTWARE DEVELOPMENT TOOLS FOR ST6 MCU FAMILY COMPLETE SOFTWARE DEVELOPMENT SUP- PORT The Macro-asssembler, LST6 linker and WGDB Windos GNU Debugger support the whole range of ST6 microconrolers including

More information

Making USB Device Drivers Easier Using the HID Class

Making USB Device Drivers Easier Using the HID Class Making USB Device Drivers Easier Using the HID Class Stuart Allman Cypress Semiconductor 15050 Avenue of Science San Diego, CA 92128 (858) 613-7900 One of the major barriers that exist in the adoption

More information

RN0046 Release note. 1 Introduction. SimpleMAC library for STM32W108xx kits. About this release note

RN0046 Release note. 1 Introduction. SimpleMAC library for STM32W108xx kits. About this release note Release note SimpleMAC library for STM32W108xx kits 1 Introduction About this release note This release note is related to the SimpleMAC library which supports all the available STM32W108xx kits. This

More information

AN3279 Application Note

AN3279 Application Note Application Note Adjustable LED blinking speed using STM8S-DISCOVERY touch sensing key Application overview This application note provides a short description of how to use the touch sensing key to change

More information

AN1752 APPLICATION NOTE

AN1752 APPLICATION NOTE AN1752 APPLICATION NOTE by Microcontroller Division Applications INTRODUCTION The purpose of this document is to give you a basic understanding of the ST72324 and to help you quickly get started with developing

More information

AN2557 Application note

AN2557 Application note Application note STM32F10x in-application programming using the USART Introduction An important requirement for most Flash-memory-based systems is the ability to update firmware when installed in the end

More information

AN3980 Application note

AN3980 Application note Application note STM32 firmware library for dspin L6470 1 Introduction This application note describes the implementation of the STM32 firmware library for the dspin stepper motor control product (L6470).

More information

STM8-SK/RAIS STM8-D/RAIS ST7-SK/RAIS ST7-D/RAIS

STM8-SK/RAIS STM8-D/RAIS ST7-SK/RAIS ST7-D/RAIS STM8-SK/RAIS STM8-D/RAIS ST7-SK/RAIS ST7-D/RAIS Features Raisonance s complete, low-cost starter kits for STM8 and ST7 Embedded RLink USB interface to host PC In-circuit debugging and programming Application

More information

ST10F271B/E, ST10F272B/E Errata sheet

ST10F271B/E, ST10F272B/E Errata sheet Errata sheet BAG silicon version Introduction Note: This errata sheet describes all the functional and electrical problems known in the BAG silicon version of ST10F271B, ST10F271E, ST10F272B and ST10F272E

More information

UM1572 User manual. STEVAL-IPE020V1: ST energy meter application based on the Android platform. Introduction

UM1572 User manual. STEVAL-IPE020V1: ST energy meter application based on the Android platform. Introduction User manual STEVAL-IPE020V1: ST energy meter application based on the Android platform Introduction The ST energy meter application is a user friendly Android based solution based on NFC technology that

More information

AN626 Application note

AN626 Application note Application note Serial EEPROM product numbering This application note provides a detailed description of the part numbering scheme of Serial EEPROM products. The part numbering scheme consists of a maximum

More information

AN2825 Application Note

AN2825 Application Note Application Note S-Touch STMPE811 resistive touchscreen controller advanced features Introduction This application note provides details on the advanced features of the S-Touch STMPE811 touchscreen controllers.

More information

UM1719 User manual. The STPM3x evaluation software. Introduction

UM1719 User manual. The STPM3x evaluation software. Introduction User manual The STPM3x evaluation software Introduction The STPM3x evaluation software is a graphical user interface to read, configure and calibrate the STPM3x energy metering ICs, suitable for parallel

More information

Main components USB charging controller with integrated power switch

Main components USB charging controller with integrated power switch DN0019 Design note Smart dual-port USB charger with STCC2540 Designs from our labs describe tested circuit designs from ST labs which provide optimized solutions for specific applications. For more information

More information

AN2781 Application note

AN2781 Application note Application note UART emulation software in STM8S and STM8A microcontrollers Introduction This application note describes how to emulate the UART behavior and functionality using routines in STM8S microcontrollers.

More information

AN2606 Application note

AN2606 Application note Application note STM32F101xx, STM32F102xx and STM32F103xx system memory boot mode Introduction This application note describes the bootloader stored in the system memory of the STM32F101xx, STM32F102xx

More information

STM8-SK/RAIS STM8-D/RAIS ST7-SK/RAIS ST7-D/RAIS

STM8-SK/RAIS STM8-D/RAIS ST7-SK/RAIS ST7-D/RAIS STM8-SK/RAIS STM8-D/RAIS ST7-SK/RAIS ST7-D/RAIS Raisonance s complete, low-cost starter kits for STM8 and ST7 Features Embedded RLink USB interface to host PC In-circuit debugging and programming Application

More information

DYNAMIC ENGINEERING 435 Park Dr., Ben Lomond, Calif Fax Est

DYNAMIC ENGINEERING 435 Park Dr., Ben Lomond, Calif Fax Est DYNAMIC ENGINEERING 435 Park Dr., Ben Lomond, Calif. 95005 831-336-8891 Fax 831-336-3840 http://www.dyneng.com sales@dyneng.com Est. 1988 PcBis3 & Bis3Chan Driver Documentation Win32 Driver Model Revision

More information

AN3975 Application note

AN3975 Application note Application note Transparent serial link over ST7590 OFDM PRIME modem 1 Introduction Nowadays, a lot of power meter manufacturers or smart grid providers are switching from simple networks like RS845 to

More information

ST33F1M, ST33F1M0, ST33F896, ST33F768, ST33F640, ST33F512

ST33F1M, ST33F1M0, ST33F896, ST33F768, ST33F640, ST33F512 ST33F1M, ST33F1M0, ST33F896, ST33F768, ST33F640, ST33F512 Secure MCU with 32-bit ARM SC300 CPU, SWP interface, NESCRYPT cryptoprocessor and high-density Flash memory Data brief Micromodule DFN8 package

More information

ST21NFCB. Near field communication controller. Features. RF communications. Hardware features. Communication interfaces. Electrical characteristics

ST21NFCB. Near field communication controller. Features. RF communications. Hardware features. Communication interfaces. Electrical characteristics Near field communication controller Data brief Features NFC operating modes supported: Card emulation Reader / Writer Peer-to-peer communication Hardware features FBGA WFBGA 64-pin 36 Kbytes of EEPROM

More information

AN2673 Application note

AN2673 Application note Application note STM8A SPI application examples Introduction This application note is one of a set of application notes giving examples of how to use the various blocks of the STM8A microcontroller family

More information

AN1656 APPLICATION NOTE

AN1656 APPLICATION NOTE AN1656 APPLICATION NOTE 6 CH VOLUME CONTROLLER PLUS SAM351 BASH AMPLIFIER by Luigi Pagotto & Marco Motta In this document is explained how to connect the Audio processor TDA7448 to the board BASH SAM351,

More information

STA bit single chip baseband controller for GPS and telematic applications. Features

STA bit single chip baseband controller for GPS and telematic applications. Features 32-bit single chip baseband controller for GPS and telematic applications Data Brief Features Suitable for automotive applications ARM7TDMI 16/32 bit RISC CPU based host microcontroller. Complete embedded

More information

STICE CF/Stice_Connect AD/Stice_Connect AS/Stice_Connect

STICE CF/Stice_Connect AD/Stice_Connect AS/Stice_Connect STICE CF/Stice_Connect AD/Stice_Connect AS/Stice_Connect Full-featured cost-effective emulation system for ST microcontrollers Data brief Features Emulation system Real-time emulation of STM8 MCUs (CPU

More information

AN3140 Application note

AN3140 Application note Application note How to configure the SPEAr3xx general purpose timers (GPTs) Introduction This application note provides information about how to configure the general purpose timers (GPTs) integrated

More information

AN1869 APPLICATION NOTE

AN1869 APPLICATION NOTE AN1869 APPLICATION NOTE UNDERSTANDING THE ST92x185 AND ST92x195 MEMORY MAP 1 INTRODUCTION The aim of this application note is to describe the representation of the memory map of ST92x185 and ST92x195 family

More information

AN2855 Application note

AN2855 Application note Application note Configuration for single-click and double-click detection using the FC30 Introduction This document is intended to provide application information for the click and double-click detection

More information

UM1488 User manual. STPMC1 evaluation software. Introduction

UM1488 User manual. STPMC1 evaluation software. Introduction User manual STPMC1 evaluation software Introduction STPMC1 evaluation software is a graphical user interface to read, configure and calibrate an STPMC1 energy metering device, suitable for parallel and

More information

ESDA6V1-4BC6 QUAD BIDIRECTIONAL TRANSIL SUPPRESSOR FOR ESD PROTECTION ASD

ESDA6V1-4BC6 QUAD BIDIRECTIONAL TRANSIL SUPPRESSOR FOR ESD PROTECTION ASD ASD ESDA6V1-4BC6 QUAD BIDIRECTIONAL TRANSIL SUPPRESSOR FOR ESD PROTECTION MAIN APPLICATIONS Where transient overvoltage protection in ESD sensitive equipment is required, such as: Computers Printers Communication

More information

Obsolete Product(s) - Obsolete Product(s)

Obsolete Product(s) - Obsolete Product(s) AN222 APPLICATION NOTE TV Hardware Design Rules: PCB Compatibility with ST9296/86 Introduction The purpose of this application note is to:. Describe how to design a printed circuit board (PCB) with optimum

More information

GENOVATION. Application Note: MiniTerm USB Low-Level Programming

GENOVATION. Application Note: MiniTerm USB Low-Level Programming GENOVATION Application Note: MiniTerm USB Low-Level Programming Revision B April 2008 DISCLAIMER The sample code is provided on an "as is" basis, and Genovation, Inc. expressly disclaims any or all warranties

More information

Description of STM8 LIN software package (STSW-STM8A-LIN) release 4.1. Table 1. Release information. STM8 LIN package

Description of STM8 LIN software package (STSW-STM8A-LIN) release 4.1. Table 1. Release information. STM8 LIN package Release note Description of STM8 LIN software package (STSW-STM8A-LIN) release 4.1 Introduction The STM8 LIN package implements the LIN 2.x (2.1 and 2.0) and LIN 1.3 protocols to drive USART/UART1 (named

More information

& WizChan. Driver Documentation

& WizChan. Driver Documentation DYNAMIC ENGINEERING 150 DuBois St. Suite C, Santa Cruz, CA 95060 831-457-8891 Fax 831-457-4793 http://www.dyneng.com sales@dyneng.com Est. 1988 PmcWiz & WizChan Driver Documentation Win32 Driver Model

More information

AN4440 Application note

AN4440 Application note Application note RFFE HVDAC control Pascal Paillet Introduction The purpose of this application note is to familiarize mobile phone designers with RFFE HVDAC control. Common tasks are explained and more

More information

ST19NP18-TPM-I2C Trusted Platform Module (TPM) with I²C Interface Features

ST19NP18-TPM-I2C Trusted Platform Module (TPM) with I²C Interface Features Trusted Platform Module (TPM) with I²C Interface Data brief Features Single-chip Trusted Platform Module (TPM) Embedded TPM 1.2 firmware I²C communication interface (Slave mode) Architecture based on ST19N

More information

AN2470 Application note TS4871 low voltage audio power amplifier Evaluation board user guidelines Features Description

AN2470 Application note TS4871 low voltage audio power amplifier Evaluation board user guidelines Features Description Application note TS4871 low voltage audio power amplifier Evaluation board user guidelines Features TS4871 low voltage audio power amplifier with active low standby mode Operating range from V CC =2.2V

More information

AN3250 Application note

AN3250 Application note Application note M24LR64-R Multi-bank reference design description and settings 1 Introduction The M24LR64-R multi-bank reference design has been created to help users increase the memory density of their

More information

DYNAMIC ENGINEERING 435 Park Dr., Ben Lomond, Calif Fax Est

DYNAMIC ENGINEERING 435 Park Dr., Ben Lomond, Calif Fax Est DYNAMIC ENGINEERING 435 Park Dr., Ben Lomond, Calif. 95005 831-336-8891 Fax 831-336-3840 http://www.dyneng.com sales@dyneng.com Est. 1988 PB3Oseh Driver Documentation Win32 Driver Model Revision A Corresponding

More information

STM32 embedded target for MATLAB and Simulink release 3.1. Summary for STM32 embedded target for MATLAB and Simulink release 3.1:

STM32 embedded target for MATLAB and Simulink release 3.1. Summary for STM32 embedded target for MATLAB and Simulink release 3.1: Release note STM32 embedded target for MATLAB and Simulink release 3.1 Introduction This release note is related to STM32 embedded target for MATLAB and Simulink (STM32- MAT/TARGET). It is updated periodically

More information

SOT23-6L ESDALCL6-2SC6

SOT23-6L ESDALCL6-2SC6 Very low capacitance and low leakage current ESD protection Features 2 data-line protection Datasheet production data Protects V BUS Very low capacitance: 2.5 pf typ. Very low leakage current: 10 na at

More information

STM8L-PRIMER STM32-PRIMER STMPRIMER

STM8L-PRIMER STM32-PRIMER STMPRIMER STM8L-PRIMER STM32-PRIMER STMPRIMER Raisonance STM32 and STM8 Primers for fun, easy evaluation and development with STM32 and STM8 Features Data brief The versatile EvoPrimer range includes: In-circuit

More information

MTC20174 AFE. PCI Phone Line. EEPROM (0-16KB) Optional

MTC20174 AFE. PCI Phone Line. EEPROM (0-16KB) Optional 1 DESCRIPTION The Unicorn II chipset is designed to simplify the development of low-cost ADSL CPE modems for Windows, Mac and Linux based environments and enables manufacturers to achieve a very competitive

More information

The following table provides a general information of the considered toolchains. Toolchain Company Version Release date Hardware emulator

The following table provides a general information of the considered toolchains. Toolchain Company Version Release date Hardware emulator TN0072 Technical note Introduction The documentation provides an overview of the STM32 devices and various toolchains. It provides information on the STM32 characteristics and how they are supported. Many

More information

AN3188 Application note

AN3188 Application note Application note Preparing custom devices for the STM32W108 platform 1 Introduction The STM32W108 chips are delivered to customers with only the Fixed Information Block (FIB) programmed. The FIB contains

More information

Using the HID class eases the job of writing USB device drivers

Using the HID class eases the job of writing USB device drivers designfeature By Stuart Allman, Cypress Semiconductor THE USB HID CLASS IS A POWERFUL AND VERSATILE WAY TO GET YOUR DEVICE ON THE USB. IF YOUR USB DEVICE CAN EXIST WITHIN THE BANDWIDTH LIMITS OF THE HID

More information

DYNAMIC ENGINEERING 435 Park Dr., Ben Lomond, Calif Fax Est

DYNAMIC ENGINEERING 435 Park Dr., Ben Lomond, Calif Fax Est DYNAMIC ENGINEERING 435 Park Dr., Ben Lomond, Calif. 95005 831-336-8891 Fax 831-336-3840 http://www.dyneng.com sales@dyneng.com Est. 1988 PmcB2B Driver Documentation Win32 Driver Model Revision A Corresponding

More information

AN3226 Application note

AN3226 Application note Application note STM32F107 In-Application Programming (IAP) over Ethernet Introduction This application note is intended for developers using the STM32F107 microcontroller. It provides implementation solutions

More information

STTS V memory module temperature sensor. Features

STTS V memory module temperature sensor. Features 2.3 V memory module temperature sensor Data brief Features is a 2.3 V memory module temperature sensor forward compatible with JEDEC standard TS3000 and backward compatible with STTS424 Operating temperature

More information