AN2311 Freescale Semiconductor / Motorola, AN2311 Datasheet
![no-image](/images/no-image-200.jpg)
AN2311
Related parts for AN2311
AN2311 Summary of contents
Page 1
... Freescale Semiconductor, Inc. Application Note AN2311/D Rev. 0, 8/2002 Bootstrapping the MSC8101 Device Through the HDI16 Port by Joe Rebello The Motorola StarCore®-based MSC8101 device incorporates a communications processor module (CPM) with high-speed serial communications interfaces and a system integration unit (SIU). The SIU can connect to external memory, such as SRAM, Flash, SDRAM, and peripheral devices ...
Page 2
Hardware Implementation Figure 1. MSC8101 Host to HDI16 Hardware Interface At power-on reset, several pins that determine the boot source and chip mode of operation are sampled. Table 1 shows the pins that enable the MSC8101 for HDI16 operation in ...
Page 3
Freescale Semiconductor, Inc. Slave Figure 2. DSP Farm System The UPM-controlled HDI16 read and write accesses are illustrated in Figure 3 and Figure 4, respectively. Both the read and write accesses on the system bus operating in Single-Master MSC8101 mode ...
Page 4
Hardware Implementation CLKIN A[0–31 HCS BS = HWR D[0–15] PSDVAL NOTE: The txx numbers refer to the MSC8101 timing specification. For details, see the MSC8101 Technical Data sheet. To program the UPM with the memory ...
Page 5
Freescale Semiconductor, Inc. For the example driver, the register settings shown in Table 3 are required. Register OR6 MAMR BCR 2 Bootstrapping Process When the HDI16 mode of operation is selected, an external host must bootstrap the device. This section ...
Page 6
Bootstrapping Process Load Host Interface Write Reset Configuration Word 5 Read Size and Address From Array Size = 0? Write Two 16-Bit Words Length and Two 16-Bit Words Address Write Data and CRC No Data Complete? Yes 4 6 Yes ...
Page 7
Freescale Semiconductor, Inc. 3 Target Application Image The bootstrap process over the HDI16 port requires data to be transferred in blocks. Table 4 shows the block format. Word The MSC8101 ROM resident ...
Page 8
... The slave application files are compiled, assembled, and linked to produce an ELF object (.eld file) using the MetroWerks® Codewarrior® tools. This file is then converted to an S-record using the elfsrec.exe application provided with the Codewarrior tools. The application is invoked with the following DOS command: elfsrec.exe -w < ...
Page 9
Freescale Semiconductor, Inc. 4 MSC8101ADS Test Configuration Example A simple example of bootstrapping the MSC8101 through the HDI16 is provided to test the hardware interconnection and software driver functionality. The test software initializes the host memory controller so that the ...
Page 10
MSC8101ADS Test Configuration Example Switch SW10 SW1 Connect the two MSC8101ADS boards using the wiring description in Table 8. Host Board Pin (P1)C4 (P1)C5 (P1)A15 (P1)A14 (P1)A13 (P1)A12 (P1)D9 (P1)D4 (P1)C14 (P1)C15 (P1)C16 (P1)C17 (P1)C18 (P1)C19 (P1)C20 (P1)C21 (P1)C22 (P1)C23 ...
Page 11
... The slave image C file is created as follows: 1. Load the slave application project into the CodeWarrior tools by double clicking on the led_flash.mcp file in ...\hdi16_appnote\Led_flash\build\. 2. Build the project to create the .eld file, which is named starcore.eld. Close the project. 3. Execute the elfsrec utility in a DOS window using the command line: elfsrec -w starcore ...
Page 12
Related Documents /* ASCII characters */ #define CHAR_NUMBER0 #define CHAR_NUMBER1 #define CHAR_NUMBER2 #define CHAR_NUMBER3 #define CHAR_NUMBER4 #define CHAR_NUMBER5 #define CHAR_NUMBER6 #define CHAR_NUMBER7 #define CHAR_NUMBER8 #define CHAR_NUMBER9 #define CHAR_LETTER_A #define CHAR_LETTER_B #define CHAR_LETTER_C #define CHAR_LETTER_D #define CHAR_LETTER_E #define CHAR_LETTER_F void main(int ...
Page 13
Freescale Semiconductor, Inc. ucCh0 = getc(pfiIn); ucCh1 = getc(pfiIn); if ((ucCh0==’S’)&&(ucCh1==’0’)) { uliCounter = 0x0000; for (ulii=0; ulii < 2; ulii++) { uliCounter <<= 4; ucLength = getc(pfiIn); if (ucLength == CHAR_NUMBER1) uliCounter |= 0x0001; if (ucLength == CHAR_NUMBER2) uliCounter ...
Page 14
Related Documents for (ulii=0; ulii < 2; ulii++) { } uliSize = uliCounter-4; uliRemainder=(uliSize+4)%8; /* add 4 bytes for bootload crc and */ if (uliRemainder != uliSize = (uliSize+uliRemainder)/2; if (uliSize <= 0xF else { ...
Page 15
Freescale Semiconductor, Inc. for (ulii=0; ulii<((uliCounter-4)/2); ulii++) { putc(’,’,pfiOut); putc(’0’,pfiOut); putc(’x’,pfiOut); for (ulij=0; ulij<4; ulij++) { aucTemp[0] = getc(pfiIn); putc(aucTemp[0],pfiOut ucLength of block is not divisible by 8 bytes add padding words (uliRemainder != ...
Page 16
... StarCore are trademarks of Motorola, Inc. Metrowerks and CodeWarrior are registered trademarks of Metrowerks Corp. in the U.S. and/or other countries. All other product or service names are the property of their respective owners. Motorola, Inc Equal Opportunity/Affirmative Action Employer. © Motorola, Inc. 2002 AN2311/D For More Information On This Product, Go to: www.freescale.com ...