INDEX

A CreateFile, 398, 409 DeviceIOControl, 397, 398, 409, 462, accept function, 548 511, 516, 517, 518, 519, 520 accessing registry. See also web server ReadFile, 398, 409 application WriteFile, 398, 409 during development process, 136 message queue, 378–379 web server application, 550–561 CloseMsgQueue(), 378, 384, 538 ActivateDevice, 398 CreateMsgQueue(), 378, 382, 538, ActivateDeviceEx, 398, 405, 462 539, 543 Active Template Library. See ATL ReadMsgQueue(), 378, 379, 506, 538, ADC (Analog to Digital Converter), 340, 369, 539, 541 604, 615, 628 WriteMsgQueue(), 378, 505, 539, Adobe Flash Player 10.1, 39 542 advanced application development, 485–574. power management, 414–415 See also managed code; real-time Stream Driver, 449–466 applications; USB camera application; web stream IO, 409 server application CloseHandle, 397, 398, 409 Advanced Build Commands, 82, 143, 144, 145, CreateFile, 398, 409 153, 225, 228 DeviceIOControl, 397, 398, 409, 462, Advanced Programmable Interrupt Controller 511, 516, 517, 518, 519, 520 (APIC), 348 ReadFile, 398, 409 AdvertiseInterface, 407, 413 WriteFile, 398, 409 aggressive fl ushing, 129, 133 Watchdog Timers, 375–376 Analog to Digital Converter (ADC), 340, 369, Win32, 13, 175, 184, 494, 512, 514, 567 604, 615, 628 application deployment. See also deployment animation COPYRIGHTED MATERIALCAB installation package, 398–399 Adobe Flash Player 10.1, 39 local storage, 299, 300–301 SWE, 512 managed code smart device application, SWE_Hello application project, 287–288 213–215 APIC (Advanced Programmable Interrupt options, 297–301 Controller), 348 part of OS run-time image, 300–301 APIs (application programming interfaces) RFID Reader application, 595–598 application streaming, 409 Win32 smart device application project, CloseHandle, 397, 398, 409 200–201

659

bbindex.inddindex.indd 659659 88/2/11/2/11 55:21:01:21:01 PMPM application development – \BINCOMPRESS

application development, 173–180. See also PCs v., 175 advanced application development; auto Phytec phyCore-LPC3250 (ARM9) SOM launching applications; CoreCon; embedded Board, 468 database applications; KITL; managed code support, 11, 12, 15, 53, 658 applications; native code; .NET Compact x86 processor-based device, 195 Framework; real-time applications; Silverlight ASP COM object, 547 for Windows Embedded ASSERT, 139, 453, 454 advanced, 485–574 assert macros, 454 application-specifi c resources, 174 ASSERTMSG, 453, 454 connectivity asynchronous I/O, 399, 409–410, 421, 423 CoreCon, 179 ATAPI block storage driver KITL, 179 MyBSP, 58–60 development process step, 33 ATL (Active Template Library), 173, 195, effectiveness, 180 512, 526 effi ciency, 180 ATL Smart Device Project, 178, 525 framework resources, 173–174 ATM cash machine, 545 library resources, 173–174 auto launching applications, 289–295 managed code applications, 176–177 registry, 132, 290–292 native code applications, 177–178 startup folder, 292–293 .NET Compact Framework, 173 AutoLaunch utility, 81, 153, 191, 587, 649–650 PCs v. embedded devices, 4–5, 174–175 AutoLaunch_v200_Compact7, 70, 78, 179, real-time applications, 175–176 191, 195, 209, 293, 587, 589 application notes, 39, 40 MyCompact7 OS design project, 153 application programming interfaces. See APIs MyVPC OS design project, 293–295 application streaming APIs, 409 automatic marshaling, for pointer types, 517–520 CloseHandle, 397, 398, 409 Azure database, 265 CreateFile, 398, 409 DeviceIOControl , 397, 398, 409, 462, 511, B 516, 517, 518, 519, 520 ReadFile, 398, 409 BasicTest, 437, 438, 439, 623 WriteFile, 398, 409 BATTERY_DRIVER_CLASS, 408 AppVerifi er, 647 BeagleBoard (Texas Instruments OMAP3530 SOC architectures (ARM-7)), 468 device drivers, 349–366 best practices generic heterogeneous application, 510–513 build system, 146–148 interrupts, 370–373 development station preparation, 19–27 power management, 413–414 BIB (Binary-Image-Builder) fi les Stream Drivers, 396–397 CE.BIB, 102, 142, 147 archives, OS design projects, 148 defi ned, 64, 102 ARM processors Modules section, 293, 404 BeagleBoard (Texas Instruments OMAP3530 OSDESIGN.BIB, 179, 189–190, 599 SOC (ARM-7)), 468 Stream Drivers, 401, 404 bootloader framework, 308, 317 string buffer project, 429 BSPs, 43, 54, 467 Binary-Image-Builder. See BIB fi les NAND Flash, 310 \BINCOMPRESS, 323

660

bbindex.inddindex.indd 660660 88/2/11/2/11 5:21:035:21:03 PMPM BIOS – BSPs

BIOS storage device preparation, 324 purposes, 309 subdirectories, 322–323 serial port registry, 129 VHD confi guration, 333–335 BIOSLoader, 308, 314, 316–317, 321–325 defi ned, 313–314 BLDR, 324, 333 Eboot, 118, 311, 314, 315, 316, 321, 322, BSECT.IMG, 323, 324 470, 472 CE Splash Generator, 325, 653 framework, 90, 308, 317–319, 471 CESYS.EXE utility, 323, 324 Loadcepc, 315–316 directory, 322 Sboot, 314, 315 DiskPrep power toy, 329–333 target system, 470–472 image, 324 BOOTME messages, 89, 91, 94, 222, 223, 224, startup parameters, 321–322 314, 317, 642 startup splash screen, 324–325 \BOOTSECTOR, 322 storage device preparation, 324 boxing, 509, 522 subdirectories, 322–323 $BPHITCOUNT, 452 VHD confi guration, 333–335 breakpoints, 98, 203–205, 216–217, 391, 439, bitmap, 324, 567, 569, 571 452–453 blddemo -c -qbsp, 146 BSECT.IMG, 323, 324 blddemo clean -q, 146, 147 BSPs (board support packages), 53–68, 467–484. blddemo -q, 82, 143, 144, 145, 146, 153 See also bootloaders; OAL; specifi c BSPs blddemo -qbsp, 145, 146, 225, 228 ARM processors, 43, 54, 467 BLDR, 324, 333 bootloaders, 470–472 block drivers, 360–362 cloning BLOCK_DRIVER_GUID, 408 customization, 57–68 Bluetooth ICOP eBox3300 BSP, 56–57 components, 365–366 wizard, 43–44, 56–57 driver stack, 351–352, 362–365 common codes, 55 32feet.NET, 651 components, 32, 54, 469–470 BMP, 564, 567, 571, 572, 573, 574, 653 confi guration fi les/folders, 476–478 board support packages. See BSPs CTK, 167–168 Board Support Packages selection screen, 71–72 defi ned, 32–33, 36, 43, 53, 344 boot sector image, 323 developing, 479 \BOOTDISK, 322 development process step, 32–33 BOOT.HV, 127 device drivers, 344–345, 478 bootloaders, 313–319, 470–472 directory structure, 55 BIOSLoader, 308, 314, 316–317, 321–325 environment variables, 40–41 BLDR, 324, 333 folders, 470 BSECT.IMG, 323, 324 Freescale i.MX27 3DS, 43, 54 CE Splash Generator, 325, 653 ICOP eBox3300 CESYS.EXE utility, 323, 324 cloning, 56–57 directory, 322 Platform Builder, 43, 54 DiskPrep power toy, 329–333 installation order, 22 image, 324 KITL, 475 startup parameters, 321–322 MyBSP startup splash screen, 324–325 add components, 57–63

661

bbindex.inddindex.indd 661661 88/2/11/2/11 5:21:035:21:03 PMPM BSPs – button_Click()

BSPs (continued) BSP_SERIAL_DEBUG, 67, 68 ATAPI block storage driver, 58–60 BSP_VORTEX86DX_9120A, 41 customization, 57–68 Build All SDKs, 85, 590 hive-based registry support component, build confi gurations, 78–79, 138–139 60–61 Checked, 78, 138–139, 450 ICOP eBox3300 BSP clone, 56–57 Debug, 78, 138, 450, 480 memory confi guration component, 65–66 Release, 78, 138, 139, 450 MyCompact7 OS design project, 70–76 Ship, 138, 139, 450, 453 serial debug messages enabled, 67–68 build errors, 101–102, 564 serial port driver components, 66–67 build options SOURCES fi le, 141–142 OS design, 79–80 USB audio driver component, 63–65 Build OS phase (pre-Sysgen phase), 139 X86/Device Drivers components, 75–76 build phase, 140–142 Z9s XGI Display driver component, 61–63 build process, 137–149 MyBSP.pbcxml catalog fi le, 58 build release directory NEC NE1-TB : ARMv6, 43, 54 build problems, 147 OAL, 472–475 CELOG.CLG, 118 parameter fi les Copy Files to Release Directory, 144, 441 config.bib, 66, 476 defi ned, 36, 37 PLATFORM.BIB, 64, 65, 476 _FLATRELEASEDIR, 42, 83, 118, 142 platform.dat, 476 .NET application deployed over KITL, platform.db, 476 634–635 PLATFORM.REG, 62, 63, 64, 135, 476 NK.BIN, 83 sources.cmn, 477 Open Release Directory, 43, 145, 310, 634 Platform Builder, 43, 54 OS design fi les, 79 _PLATFORMROOT\MyBSP, 55 PB7_Win32.exe, 228, 229 _PLATFORMROOT\MyBSP\Bins, 55 registry fi les, 134–136 _PLATFORMROOT\MyBSP\Catalog, 55, 58 build release phase, 142 _PLATFORMROOT\MyBSP\Cesysgen, 55 build system, 137–149 _PLATFORMROOT\MyBSP\Files, 55 best practices, 146–148 _PLATFORMROOT\MyBSP\Src, 55 command-line build method, 145–146 quality, 32–33 graphical representation, 138 SDKs compared to, 470 Platform Builder IDE, 143–145 Sigma Designs Vantage 8654, 43, 54 remedies for problems, 147 test, 167–168 tools, 142–146 Texas Instruments OMAP 3530, 43, 54 Build Window, 43, 145, 310, 634 Virtual PC, 639 BUILD.ERR, 83, 102 defi ned, 39, 43, 54 BUILD.LOG, 83, 102 Virtual PC:x86 BSP, 72, 76, 220, 276 built-in drivers, 395 BSP_DISPLAY_NOP, 41 bus drivers, 360–362, 395–396 BSP_NIC_RTL8139, 41 bus enumeration, 395 BSP_NO environment variables, 40 BusEnum2, 646 BSP_NOAUDIO, 41 button1_Click(), 212, 215, 216 BSP_NOUSB, 41 button_Click(), 284, 285

662

bbindex.inddindex.indd 662662 88/2/11/2/11 5:21:045:21:04 PMPM C# managed code application – code-behind

C starting, 608 using, 609 C# managed code application. See managed code CECONFIG.H, 103 smart device application CEDB database engine, 236 CAB fi le installer/uninstaller, 76, 182, 195, 208, CeDebugX, 465 298, 299, 588 CEDriverWiz, 434–440 CAB installation package, 398–399 CEComponentWiz v., 607 $CALLSTACK, 453 DebugMessageZones option, 454 Cambridge Silicon Research (CSR), 362 description, 650 _Cancel, 357, 397, 398, 401, 410, 422 IOCTLs, 440 CancelIO, 398, 410 Platform Builder Scripts, 435 Catalog Stream Driver creation, 438, 443–444, components, 344 483–484 defi ned, 36 test applications, 417, 439, 450, 458 drivers, 345–346 using, 436–440 $(_PRIVATE)folder, 346 CELOG.CLG, 118, 119 $(_PUBLIC)folder, 339, 345, 346, 348 CEPC BSP, 43, 54 Remote Display application, 152–153 CERDISP.EXE, 153 Catalog Editor tab, 56, 58, 60, 61, 62, 63, 64, 65, CERHOST.EXE, 77, 154, 155 66, 67 \CESYS, 323 Catalog Item Notifi cation screen, 73, 74 CESYS.EXE utility, 323, 324 catalog item registry, 135 CETK (CE Test Kit), 14, 39, 49, 157. See also Catalog Items View window, 74–75 Compact Test Kit defi ned, 45–46, 74 CeWebCam driver, 564–567, 571, 574 OS design project, 74–75 char*, 517, 518 User-Selected Catalog Items and Checked mode, build confi guration, 78, 138–139, Dependencies, 75 450, 451 User-selected Catalog Items Only fi lter, 75 Class Library, managed code project template, 177 CDDA_MOUNT_GUID, 408 client environment, SQL Compact, 237 CDFS_MOUNT_GUID, 408 Clientshutdown.exe, 188 CE Splash Generator, 325, 653 cloning BSPs CE Test Kit (CETK), 14, 39, 49, 157. See also customization, 57–68 Compact Test Kit ICOP eBox3300 BSP, 56–57 CE Webcam Project, 564, 653 wizard, 43–44, 56–57 CE.BIB, 102, 142, 147 _Close, 357, 397, 398, 399, 401, 409, 422, CEComponentWiz 423, 431 CEDriverWiz v., 607 CloseHandle, 397, 398, 409, 567, 616 defi ned, 651 CloseMsgQueue(), 378, 384, 538 download, 608 closesocket, 549 FTDI USB to Serial devices, 607–609 CloseWDT(), 384 managed code application in OS image, 629, cloud database, 265 632–633, 638 CMAccept.exe, 188, 189, 190, 194, 201 online information, 651 CMUAD.DLL, 64 postlink.bat, 636–637 code-behind, 272

663

bbindex.inddindex.indd 663663 88/2/11/2/11 5:21:055:21:05 PMPM COM – connectivity

COM (), 524–525 CoreCon_v200_Compact7, 70, 78, 179, DirectShow, 564 188, 190–191, 195, 208, 587, 589 DLL, 525–530 CTK to target device, 160–162 interoperability, 513, 524–525 debugging, 18, 98–99 command-line build method, 145–146 defi ned, 37, 48–49 common codes, BSP, 55 fi les, 188–189 Common Device Controls category, 212, 592 implementing, 187–191 COMMON.REG, 102, 135 online resource, 650 communication, native code-managed code, third-party component, 190–191 531–544 debugging, 12, 25–26 community resources, 649–654 Ethernet Compact Flash connectivity, 25–26, 48 characteristics, 308 R6040 driver, 76, 91, 134, 579, 588 confi guring, with BIOSLoader, 329–333 JTAG, 25, 48, 376, 421, 465 USB to Compact Flash adapter, 329, 330, 580 KITL, 179 compact OS, 14 CTK to target device, 158–160 Compact Test Kit (CTK), 157–170 debugging, 18, 32, 37, 48, 98 BSP, 167–168 defi ned, 37, 48, 98 CETK, 14, 39, 49, 157 Enable KITL option, 80, 98, 103, 104, connectivity to target device, 158–162 118, 451, 579 defi ned, 39, 49 .NET application deployed over, 633–635 display driver, 166–167 Remote Tools, 103 GUI, 14, 39, 157 target system, 475 input device, 163–166 VMINI, 134, 317, 476 Stream Drivers, 461–464 managed code smart device application, Test Case Explorer tab, 163, 166, 169, 464 212–213 test DLL, 461, 463–464 serial debug, 99–100 test pass, 168–170 serial ports Compact7_Csharp application. See managed code access, FTDI USB to Serial device, smart device application 616–618 Compact7_Win32 application project, 197–205 connectivity, 24, 26 Component Object Model. See COM driver components, MyBSP, 66–67 computer operating properly (COP), 374. See also registry, 129–130 Watchdog Timers serial debug connectivity, 99–100 config.bib, 66, 476 serial debug messages, 26, 57, 67–68, 99, confi guration registers, 340 100, 315, 646 Confi gure TCP/IP Transport screen, 161, 162, VB2008_SerialPortApplication, 209, 611, 193, 199, 213, 596, 597 632, 635 ConfigureWDT(), 384–386 target device, 23–24, 87–95 ConmanClient2.exe, 188, 189, 631 OS run-time image download, 88–92 Connect to Network Projector Wizard, 45, prerequisites, 87, 88 577, 578 setting, 92–95 Connection Manager, 629 types, 48, 88 connectivity. See also USB testing, 25–26 CoreCon, 187–194 Virtual PC, 221, 639–643

664

bbindex.inddindex.indd 664664 88/2/11/2/11 5:21:055:21:05 PMPM console application – Debug Message Zones

Win32 smart device application project, ping, 623–625 198–200 Serial Port API, 616 console application Customer Device template, 44 managed code project template, 177 customization context, Stream Driver, 399, 405–407 MyBSP, 57–68 open, 422–423 MyCompact7 OS design project, 75–82 shared memory, 440–441 CVTBIN.EXE, 310 stream, 407 context-sensitive, 38, 143 D contract, SWE, 273 Control Library, managed code project template, D2XX (Direct) driver, 602, 605, 606, 607, 610, 177 612–613, 628 COP (computer operating properly), 374. See also DAC (Digital to Analog Converters), 340, 369 Watchdog Timers data registers, 340, 341 Copy Files to Release Directory, 144, 441 data synchronization, 264–265 CoreCon (Core Connectivity), 187–194 databases CoreCon_v200_Compact7, 70, 78, 179, 188, Azure, 265 190–191, 195, 208, 587, 589 cloud, 265 CTK to target device, 160–162 defi ned, 235–236 debugging, 18, 98–99 locations, 236 defi ned, 37, 48–49 relational, 235–236 fi les SQL Compact, 234–235 copy to target device’s fi le system, 188–189 database applications. See SQL Compact database edit OSDESIGN.BIB, 189–190 application required, 188 database engines, 236. See also SQL Compact implementing, 187–191 CEDB, 236 online resource, 650 EDB, 13, 236 third-party component, 190–191 DataGrid control, 243–244 CoreCon4CE component, 187, 188, 190–191, DCOM, 174 631, 650 dd command, 122, 464 Create Platform Builder Subproject Wizard, DDI (Device Driver Interface), 358–360 270, 280 DDSIs (Device Driver Service Interfaces), CreateFile(), 130 358–360, 419 CreateFile, 398, 409, 510, 514, 515, 516, 518 DeactivateDevice, 397, 398, 462 CreateMsgQueue(), 378, 382, 538, 539, 543 debug macros, 453–457 cross-over cable, RS-232, 100 ASSERT, 139, 453, 454 CRUD, 235 ASSERTMSG, 453, 454 CSR (Cambridge Silicon Research), 362 DEBUGCHK, 453 CTK. See Compact Test Kit DEBUGLED, 453 custom drivers, 347–348 DEBUGMSG, 139, 231, 453, 454 custom FTDI Stream Driver, 618–628 DEBUGZONE, 453 commands, 618–619 ERRORMSG, 453 creating, 619–623 RETAILLED, 453 IOCTLs, 625–628 RETAILMSG, 139, 225, 231, 453 mode command, 623–625 Debug Message Zones, 386, 388, 453, 454

665

bbindex.inddindex.indd 665665 88/2/11/2/11 5:21:065:21:06 PMPM Debug mode, build confi guration – development environment

Debug mode, build confi guration, 78, 138, 450, DEBUGLED, 453 451, 480 DebugMessageZones, 453, 454 Debug Zones, 454–457 DEBUGMSG, 139, 231, 453, 454 DEBUGCHK, 453, 454 Debug.WriteLine(), 215, 216 debugging. See also KITL; Remote Tools DEBUGZONE, 453 CeDebugX, 465 DEC 21x40 Ethernet, 76, 221, 276 connectivity for, 12, 25–26 DEC21140, 91, 222 CoreCon, 18, 98–99 _DeInit, 357, 398, 399, 422, 430, 436 development process step, 33 deployment, 303–335. See also bootloaders effi cient, 18 application deployment, 297–301 environment, 97–100 CAB installation package, 398–399 eXDI, 465 local storage, 299, 300–301 helpful fi les, 102–103 managed code smart device application, JTAG, 25, 48, 376, 421, 465 213–215 Kernel Debug, 144, 145, 147, 152, 387, 433, options, 297–301 438, 450, 451, 452, 475, 630 part of OS run-time image, 300–301 KITL, 18, 32, 37, 48, 98 RFID Reader application, 595–598 managed code smart device application, Win32 smart device application project, 215–218 200–201 native code application examples considerations, 34 Platform Builder IDE, 226–231 development process step, 34 VS2008 IDE, 201–205 OS run-time images, 305–312 native code modules, 630–631 bootloader, 308 OS design, 100–103 fi xed storage, 307–308 Remote Display application, 156 PXE, 306–307 Remote Tools, 47, 103 RISC platforms, 309–311 serial debug messages, 26, 57, 67, 99, 100, USB fl ash storage, 307 315, 646 Windows Network Projector, 580–581 Stream Drivers, 449–457 description of device, registry, 132 Target Control, 121–123 design. See also OS design dd command, 122, 464 criteria, Windows Embedded Compact 7, 12 df command, 122, 464 objectives, embedded development, 8 gi command, 122, 464 determinism. See time determinism Internet Explorer launch, 121 dev command, 122 kp command, 122, 464 DEVCLASS_CARDSERV_GUID, 408 log command, 122, 464 DEVCLASS_DISPLAY_GUID, 408 mi command, 122, 464 DEVCLASS_KEYBOARD_GUID, 408 prof command, 122, 464 DEVCLASS_STREAM_GUID, 408 Stream Drivers, 464 development computer Support Catalog component, 630 OS, 21 terminate running process, 122 requirements, 19–21 zo command, 122, 464 software installation steps, 21–22 Win32 smart device application project, development environment. See also Platform 201–205 Builder IDE; VS2008 IDE

666

bbindex.inddindex.indd 666666 88/2/11/2/11 5:21:065:21:06 PMPM development process – device drivers

setup, 23–26 Bluetooth driver stack, 351–352 connectivity resources, 25–26 breakpoints, 452–453 development computer requirements, BSPs, 344–345, 478 19–21 built-in, 395 target device, 23–24 bus, 360–362, 395–396 terminology, 36–37 Catalog, 345–346 typical, 26 $(_PRIVATE)folder, 346 visual view, 36 $(_PUBLIC)folder, 339, 345, 346, 348 development process, 29–34 CE Webcam Project, 564, 653 hardware selection, 30–31 CeWebCam, 564–567, 571, 574 plan, 29–30 class power management interfaces, 413 software selection, 31 custom, 347–348 steps, 32–34 D2XX, 602, 605, 606, 607, 610, 612–613, development station 628 managed code smart device application, 208 defi ned, 339–340, 349–350 Platform Builder native code application display drivers example, 220 CTK test, 166–167 preparation, 19–27 NULL, 41, 155 Win32 smart device application project, 196 FTDI USB to Serial devices, 606 development tools, 12, 21, 35. See also Platform D2XX, 602, 605, 606, 607, 610, Builder 612–613, 628 developmental driver, imaging, 405 VCP, 602, 606, 607, 610–612, 615, 616, DEVFLAGS_BOOTPHASE_1, 403 618, 619, 628 DEVFLAGS_IRQ_EXCLUSIVE, 403 installable, 395 DEVFLAGS_LOADLIBRARY, 403 kernel mode, 353–355, 404 DEVFLAGS_NAKEDENTRIES, 393, 403, 408 layered, 358–360 DEVFLAGS_NOLOAD, 403 loading, 352–353, 393–396 DEVFLAGS_NONE, 403 Microsoft resources, 646–647 DEVFLAGS_UNLOAD, 403, 422 monolithic, 358–360 DEVFLAGS_USERMODE, 403, 404, 405, 428 native DevHealth60, 647 GWES, 356 Device Application, managed code project Stream Drivers v., 356–357, 396 template, 177 OS as, 343 device control registers, 340, 342 out-of-the-box, 343–346 Device Driver Interface (DDI), 358–360 Phidgets, 586, 651 Device Driver Service Interfaces (DDSIs), registry keys, 394 358–360, 419 Remote Tools, 457 device drivers, 339–366. See also BSPs; Stream stack, 351–352 Drivers Bluetooth, 351–352, 362–365 architectures, 349–366 virtual device driver, 351 block, 360–362 system concepts, 340–342 Bluetooth third-party, 345, 347, 348 components, 365–366 UART, 341–342 driver stack, 351–352, 362–365 USB, 360–362

667

bbindex.inddindex.indd 667667 88/2/11/2/11 5:21:075:21:07 PMPM device drivers – eBox-3310A

device drivers (continued) display drivers USB camera, 646, 653 CTK test, 166–167 USB storage class, 58, 76, 347, 395 NULL, 41, 155 user mode, 353–355, 404–405 DllEntryPoint, 398, 418, 422 VCP, 602, 606, 607, 610–612, 615, 616, 618, DllMain, 399, 418, 422 619, 628 DLNA (Digital Living Network Alliance), virtual, 350–351 13, 39 Watchdog Driver, 531, 532–535, 537–543 DLP-IO8-G GPIO Module, 613, 615–616 wavedev, 359 DLP-IOR4 Relay Module, 613, 614–615 device power states, 412–413 DLP-RF1-Z, 613, 616 Device Status screen, 92, 105, 223, 224 documentation DeviceAgentTransport.dll, 188 application notes, 39, 40 DeviceDx, 444, 445 OS design projects, 148 device.exe, 355, 357, 397 white papers, 39, 40 DeviceIOControl, 397, 398, 409, 462, 511, 516, DOS bootloader. See Loadcepc bootloader 517, 518, 519, 520 drivers. See device drivers DevicePowerNotify, 414 driver class power management interfaces df command, 122, 464 PMCLASS_BLOCK_DEVICE, 408, 413 DHCP service PMCLASS_DISPLAY, 408, 413 LAN, 24–25 PMCLASS_GENERIC_DEVICE, 408, 413, managed code smart device application, 208 419, 445 Platform Builder native code application PMCLASS_NDIS_MINIPORT, 408, 413 example, 220 driver context, 399, 405–407 Win32 smart device application project, 196 open, 422–423 !diagnose, 465 shared memory, 440–441 DialogBox(), 201, 202 stream, 407 Digital Living Network Alliance (DLNA), 13, 39 driver stack Digital to Analog Converters (DAC), 340, 369 Bluetooth, 351–352, 362–365 Direct (D2XX) driver, 602, 605, 606, 607, 610, virtual device driver, 351 612–613, 628 DirectDraw, 13 E DirectShow, 13, 564 DIRS, 140–141, 147, 388, 425, 438, 478 Eboot (Ethernet boot), 118, 311, 314, 315, 316, \DISKIMAGES, 322 321, 322, 470, 472 \DISKPART, 323 EBOOT.BIN, 311, 315, 322, 328, 329, 333 DiskPrep power toy, 327–335 eBox-3300 Compact Flash confi guration, 329–333 ILTiming, 372 download, 646 Vortex86 SoC Watchdog Timer, 376–377 preparation, 328 WDT test application, 387 prerequisites, 328 eBox-3310A, 656 VHD confi guration, 333–335 boot sources, 305 Windows Network Projector OS run-time bootloader framework, 90 image deployment, 580–581 Compact Flash with BIOSLoader, 329–333 display confi guration component, MyBSP, 61–63 components, 656

668

bbindex.inddindex.indd 668668 88/2/11/2/11 5:21:085:21:08 PMPM EDB database engine – embedded software

“Introduction to Embedded Systems” specialized-purpose, 5 curriculum, 656 embedded hardware, 655–658. See also hardware jump start kit, 656 ARM processors online information, 587 BeagleBoard (Texas Instruments PhidgetRFID reader, 587, 595 OMAP3530 SOC (ARM-7)), 468 Phidgets device, 587, 590, 595, 600 bootloader framework, 308, 317 R6040 Ethernet controller, 134 BSPs, 43, 54, 467 target device, 24, 72, 76, 87, 113, 656 NAND Flash, 310 Windows Network Projector, 578 PCs v., 175 x86 processor, 305 Phytec phyCore-LPC3250 (ARM9) SOM EDB database engine, 13, 236 Board, 468 EDbgTL.dll, 188 support, 11, 12, 15, 53, 658 edit view form, SQL Compact database x86 processor-based device, 195 application, 245–246 considerations, 655 EHCI, 141, 142, 361, 478 eBox-3310A, 656 Elexol USBIO2R, 613, 614, 616 boot sources, 305 embedded database applications, 233–265. See bootloader framework, 90 also SQL Compact database application Compact Flash with BIOSLoader, embedded device development 329–333 concerns, 8 components, 656 considerations “Introduction to Embedded Systems” design objectives, 8 curriculum, 656 feasibility, 9 online information, 587 hardware, 8–9 PhidgetRFID reader, 587, 595 operating environment, 7, 8, 9 Phidgets device, 587, 600 user expectation, 9 R6040 Ethernet controller, 134 defi ned, 10 target device, 24, 72, 76, 87, 113, 656 Imagine Cup Embedded Development Windows Network Projector, 578 competition, 653–654, 656 x86 processor, 305 key elements, 7–9 evolving technology, 658 Embedded Device with Silverlight XAML MIPS processors, 11, 12, 15, 43, 53, 54, 55, template, 44–45 175, 305, 308, 317, 467, 655 embedded devices. See also headless devices requirements, 655 defi ned, 5 SoC, 175, 374, 376, 420, 468 description, registry, 132 Vortex86DX SoC examples, 5–6 BSP_VORTEX86DX_9120A, 41 external perspective, 545 RoBoard, 657 identifi cation, registry, 132 watchdog timer, 376–378 internal perspective, 545 x86 processors, 657–658 “Introduction to Embedded Systems” MyBSP: X86/Device Drivers components, curriculum, 656 75–76 PCs v., 4–5, 174–175 embedded software possibilities, 3–4 defi ned, 6–7 servicing, 545–546, 562 specialized-purpose application, 7

669

bbindex.inddindex.indd 669669 88/2/11/2/11 5:21:085:21:08 PMPM embedded systems – FTDI USB to Serial devices

embedded systems. See real-time applications F embedded web server application. See web server application FATFS_MOUNT_GUID, 408 Embedded101.com, 649 fi eld tests, 546 Embeddedpc.net, 653–654 File Viewer remote tool, 47, 105–106, 457 Empty Project, managed code project template, 177 FileSys, 236, 355, 394, 396 Enable KITL option, 80, 98, 104, 118, 451, 579 fi xed priority scheduling policy, 491, 493, 495 Enterprise Source License, 547 fi xed storage, 307–308 EnumKeysAndValues, 556 fl ags, Stream Driver EnumValues, 558 DEVFLAGS_BOOTPHASE_1, 403 environment variables DEVFLAGS_IRQ_EXCLUSIVE, 403 BSP, 40–41 DEVFLAGS_LOADLIBRARY, 403 defi ned, 40 DEVFLAGS_NAKEDENTRIES, 393, 403, 408 IMG, 41–42 DEVFLAGS_NOLOAD, 403 miscellaneous, 42–43 DEVFLAGS_NONE, 403 OS design, 80–81 DEVFLAGS_UNLOAD, 403, 422 PRJ, 42 DEVFLAGS_USERMODE, 403, 404, 405, 428 ERRORMSG, 453 Flash Player 10.1, 39 Ether option, 88, 92 FLAT release directory, 142 Ethernet. See also KITL _FLATRELEASEDIR, 42, 83, 118, 142 connectivity, 25–26, 48 fl ushing, registry, 128–129, 133 R6040 driver, 76, 91, 134, 579, 588 Fmerge.exe, 146 Ethernet boot (Eboot), 118, 311, 314, 315, 316, Form1.cs, 211, 215, 529 321, 322, 470, 472 FORMATPROPS, 568, 569 evaluation version forums, Windows Embedded Compact, 647 Visual Studio 2008, 22, 645 Freescale i.MX27 3DS BSP, 43, 54 Windows Embedded Compact 7, 21, 645 FSD_MOUNT_GUID, 408 event handler, SWE_Hello application project, FTDI (Future Technology Devices International), 283–284 601–602 events, 340–341. See also interrupts FTDI USB to Serial devices, 601–628 events, Windows, 344, 383, 532–537 CEComponentWiz, 607–609 eXDI, 465 device drivers, 606 execution time, real-time application D2XX, 602, 605, 606, 607, 610, assessment, 506–507 612–613, 628 measuring, 498–499 VCP, 602, 606, 607, 610–612, 615, 616, Expression Blend 3. See also Silverlight for 618, 619, 628 Windows Embedded FTDI-integrated circuit installation, 22 interface, 602–604 Silverlight for Windows Embedded, 22, hardware interface, 603–604 39, 268 registry settings, 606–607 SWE UI project, 277–278 resources, 650 Extensible Application Markup Language. See serial port access from native application, XAML 616–618 external perspective, embedded devices, 545 Stream Driver, 618–628

670

bbindex.inddindex.indd 670670 88/2/11/2/11 5:21:095:21:09 PMPM FTP server component – headless devices

commands, 618–619 graphical user interface (GUI) creating, 619–623 CTK, 14, 39, 157 IOCTLs, 625–628 EDB database engine, 236 mode command, 623–625 graphical library, 512 ping, 623–625 GWES, 344 Serial Port API, 616 heterogeneous architecture, 510 third-party application modules, 613–616 MessageWindow, 532 DLP-IO8-G GPIO Module, 613, 615–616 .NET Compact Framework, 184, 494 DLP-IOR4 Relay Module, 613, 614–615 Platform Builder IDE, 138, 142 DLP-RF1-Z, 613, 616 Platform Builder Scripts, 435 Elexol USBIO2R, 613, 614, 616 RFID reader application, 591–592 ZigBee development module, 613, 616 VS2008 IDE, 38, 208, 218 usage scenarios, 604–605 WM_TIMER, 492 USB interface to system, 605 GUI. See graphical user interface FTP server component GWES (Graphic Windowing and Event OS design, 77 Subsystem), 291, 344, 474 registry, 131 Full on, device power state, 412 H full version, Windows Embedded Compact 7, 21 Future Technology Devices International. Hamblen, James, 656 See FTDI Handheld template, 45 hard drives, 307 G hard real-time operating systems, 14, 175, 176, 184, 488, 489 garbage collector, 176, 184, 494, 509, 513, hardware. See also embedded hardware 523, 541 development computer requirements, 20 General Purpose I/O. See GPIO embedded development, 8–9 generic heterogeneous application architecture, PCs 510–513 embedded devices v., 4–5, 174–175 Generic Installable Interrupt Service Routine x86 processors, 657 (GIISR), 374, 493 Windows Embedded Compact 7, 15 GET requests, 546, 548, 550, 552–553, 554, 556 hardware device drivers. See device drivers GetDevicePower, 411, 414, 445 hardware interface layer, 492–493 GETFRAMESTRUCT, 570 hardware interrupts, 372–373 GetSystemPowerState, 414 hardware platform. See target device gi command, 122, 464 hardware registers, 340 gi proc, 121, 122 data, 340, 341 GIISR (Generic Installable Interrupt Service device control, 340, 342 Routine), 374, 493 status, 340, 341, 342 GPIO (General Purpose I/O), 340, 479, 490, 510, HDWorld. See Hello-Deterministic-World 585, 601 application Graphic Windowing and Event Subsystem. See headless devices. See also embedded devices GWES application development, 176, 177, 182 graphical library, 512 defi ned, 4, 7, 175

671

bbindex.inddindex.indd 671671 88/2/11/2/11 5:21:095:21:09 PMPM headless devices – interface classes

headless devices (continued) I registry for Telnet server, 132 Remote Display application, 155 IClass, 403, 407, 408, 409, 428 serial port, 23 ICOP eBox3300 BSP. See also MyBSP web server application, 545 cloning, 56–57 Heap Walker remote tool, 47, 106–107 Platform Builder, 43, 54 Hello World button, 215, 216, 217 ICOP VDX-6328D (Vortex SOC: x86) Board, 468 Hello-Deterministic-World (HDWorld) IDE fl ash storage, 307 application, 499–506, 507 identifi cation of device, registry, 132 !help, 465 IDEs. See Platform Builder IDE; VS2008 IDE heterogeneous application architecture, ILTiming tool, 372, 374, 493, 497 510–513 Imagine Cup Embedded Development HID (Human Input Device) competition, 653–654, 656 Bluetooth, 365 imaging developmental driver, 405 USB mouse/keyboard, 76–77, 351, 361 IMG environment variables, 41–42 High Performance Counter, 498, 499 IMGNODEBUGGER, 144, 145 hive-based registry, 60–61, 126–129, 133, 298, IMGNOKITL, 41, 98, 144, 145 299, 588 IMGRAM128, 65, 66 HKEY_CLASSES_ROOT, 126 IMGRAM256, 41, 66, 76, 80–81 HKEY_CURRENT_USER, 126 Industrial Controller template, 45 HKEY_LOCAL_MACHINE, 126 Infrared, 359, 563, 651 HKEY_USERS, 126 \INIPARSER, 323 HKLM\Drivers, 394, 405, 428, 452 _Init, 357, 397, 398, 399, 405, 406, 422, 430– HKLM\Drivers\Active, 394, 424, 430, 431, 436, 441, 479 441, 457 InPtr, 517, 520, 521 HKLM\Drivers\BuiltIn, 394, 428, 452 Insert Breakpoint, 204, 217 HKLM\Hardware\DeviceMap, 394 installable drivers, 395 HKLM\Init, 290 installable interrupts, 373–374 HKLM\System\GDI, 394 instrumented profi ling, 108–109 HKLM\System\StorageManager, 394, 396 integrating managed code applications HTML managed code application development, defi ned, 546 629–638 pages, 546, 547, 548, 550, 557 deploy over KITL, 633–635 servicing embedded devices, 562 include in OS build, 635–637 XAML compared to, 270 include in OS image, 632–633 HTTP, 562. See also web server application issues, 637 clients, 546 traditional manner, 176–177, 631 GET requests, 546, 548, 550, 552–553, managed code4 tools, 650 554, 556 intellectual property licensing confl icts, 17 server, 546–547, 550, 562 interface classes, Stream Driver socket, 549 BATTERY_DRIVER_CLASS, 408 transport layer, 546, 547 BLOCK_DRIVER_GUID, 408 HyperTerminal, 26 CDDA_MOUNT_GUID, 408 CDFS_MOUNT_GUID, 408

672

bbindex.inddindex.indd 672672 88/2/11/2/11 5:21:105:21:10 PMPM interface functions – _IOControl

DEVCLASS_CARDSERV_GUID, 408 startup page, registry entries, 133 DEVCLASS_DISPLAY_GUID, 408 Internet Protocol Version 4, 642 DEVCLASS_KEYBOARD_GUID, 408 interoperability DEVCLASS_STREAM_GUID, 408 COM, 513, 524–525 FATFS_MOUNT_GUID, 408 P/Invoke, 513–515, 530 FSD_MOUNT_GUID, 408 InteropServices, 513, 516 NLED_DRIVER_CLASS, 408 Interrupt Service Routine. See ISR PMCLASS_BLOCK_DEVICE, 408, 413 Interrupt Service Thread. See IST PMCLASS_DISPLAY, 408, 413 interrupts, 367–391 PMCLASS_GENERIC_DEVICE, 408, 413, APIC, 348 419, 445 architecture, 370–373 PMCLASS_NDIS_MINIPORT, 408, 413 defi ned, 340 STOREMGR_DRIVER_GUID, 408 events, 340–341 STORE_MOUNT_GUID, 408 hardware, 372–373 UDFS_MOUNT, 408 installable, 373–374 interface functions, Stream Driver, 357–358, ISR, 370–371 397–401, 421–423 IST, 370–371 DllEntryPoint, 398, 418, 422 latency, 371–372 DllMain, 399, 418, 422 logical, 372 functionality, 421–422 message queue API, 378–379 string buffer project, 429–430 CloseMsgQueue(), 378, 384, 538 XXX_Cancel, 357, 397, 398, 401, 410, 422 CreateMsgQueue(), 378, 382, 538, XXX_Close, 357, 397, 398, 399, 401, 409, 539, 543 422, 423, 431 ReadMsgQueue(), 378, 379, 506, 538, XXX_DeInit, 357, 398, 399, 422, 430, 436 539, 541 XXX_Init, 357, 397, 398, 399, 405, 406, 422, WriteMsgQueue(), 378, 505, 539, 542 430–431, 436, 441, 479 OS as, 343 XXX_IOControl, 357, 397, 398, 400–401, physical, 372, 373 409, 422, 432, 440, 511 PIC, 342, 343, 373 XXX_Open, 357, 397, 398, 399, 400, 401, 407, polling, 367–370 409, 422, 423, 431–432 sequence, 370–371 XXX_PowerDown, 357, 397, 398, 401, 410, 422 steps for handling, 369 XXX_PowerUp, 357, 397, 398, 401, 410, 422 system, 372–373 XXX_PreClose, 357, 397, 398, 401, 422 UART serial transmission device, 367–368 XXX_PreDeinit, 357, 398, 399, 422 “Introduction to Embedded Systems” XXX_Read, 357, 397, 398, 399, 400, 409, 422, curriculum, 656 423, 436 I/O XXX_Seek, 357, 397, 398, 399, 400, 422 asynchronous, 399, 409–410, 421, 423 XXX_Write, 357, 397, 398, 399, 400, 409, defi ned, 340 422, 423, 432, 436 events, 340–341 internal perspective, embedded devices, 545 GPIO, 340, 479, 490, 510, 585, 601 Internet Explorer synchronous, 399, 409, 410, 436 for Embedded, 39 _IOControl, 357, 397, 398, 400–401, 409, 422, launch with Target Control, 121 432, 440, 511

673

bbindex.inddindex.indd 673673 88/2/11/2/11 5:21:115:21:11 PMPM IOCTLs – latencies

IOCTLs JTAG (Joined Test Action Group), 25, 48, 376, FTDI custom Stream Driver, 625–628 421, 465 implementing, 440 jump start kit, eBox-3310A, 656 interface, 359, 360, 396, 411, 418, 432, 437, 440 K IOCTL_GET_IRQ, 385, 386 IOCTL_GET_MSGQ_NAME, 539 Kdstub kernel debugger, 465 IOCTL_GET_STRING, 519 Kernel Debug, 144, 145, 147, 152, 387, 433, 438, IOCTL_GET_TIMER_REGISTER, 385, 386 450, 451, 452, 475, 630 IOCTL_GIVE_STRING, 517 Kernel Independent Transport Layer. See KITL IOCTL_HAL_DISABLE_WAKE, 474 kernel mode drivers, 353–355, 404 IOCTL_HAL_ENABLE_WAKE, 474 Kernel Tracker remote tool, 47, 103, 118–119, 457 IOCTL_HAL_GET_POWER_DISPOSITION, 474 kernel-level sampling, 109 IOCTL_HAL_GET_WAKE_SOURCE, 474 keyboards IOCTL_HAL_PRESUSPEND, 475 keyboard drivers IOCTL_HAL_REBOOT, 475 manual CTK test, 163–166 IOCTL_POWER_CAPABILITIES, 411, 443, 445 VCEPC, 76, 221, 276 IOCTL_POWER_GET, 411, 443, 446, 447 PS/2, 77, 373, 376 IOCTL_POWER_SET, 411, 443, 446 USB HID, 76–77, 351, 361 IOCTL_REGISTER_POWER_RELATIONSHIP, KITL (Kernel Independent Transport Layer) 411, 444, 446, 447 connectivity, 179 IOCTL_SET_CALLBACK_MSGQ, 385 CTK to target device, 158–160 IOCTL_SET_IRQ, 385, 386 debugging, 18, 32, 37, 48, 98 IOCTL_SET_REBOOT, 385 defi ned, 37, 48, 98 IOCTL_SET_TIMER_REGISTER, 385, 386 Enable KITL option, 80, 98, 103, 104, 118, IOCTL_WDT_DISABLE, 385 451, 579 IOCTL_WDT_ENABLE, 385 .NET application deployed over, 633–635 IOCTL_WDT_RESET, 385 Remote Tools, 103 in OAL, 479–484 target system, 475 stream, 460 VMINI, 134, 317, 476 TestIOCTLs, 440, 625 kp command, 122, 464 IrDA, 651 ISAPI DLL, 546, 547 ISR (Interrupt Service Routine), 370–371 L IST (Interrupt Service Thread), 370–371 Language Integrated Queries (LINQ), 236, 250 IST thread code, 383–384 LANs (Local Area Networks) It Just Works, 513 DHCP service, 24–25 managed code smart device application, 208 J Win32 smart device application project, 196 latencies jitter, 371–372, 489, 498, 499, 500, 503, 504–506, defi ned, 371 507, 511 interrupts, 371–372 Joined Test Action Group. See JTAG jitter, 371–372, 489, 498, 499, 500, 503, JPEG, 325, 564, 567, 569, 571 504–506, 507, 511

674

bbindex.inddindex.indd 674674 88/2/11/2/11 5:21:115:21:11 PMPM launching applications during startup – managed code smart device application

OS and, 491 MakeImage, 424, 427, 433, 434, 439, 441, 452, time determinism, 489–490 483, 484 launching applications during startup. See auto Makeimg.exe, 146 launching applications managed applications runtime, 494–495. See also layered drivers, 358–360 .NET Compact Framework legacy name, Stream Driver, 401–402 managed code LIBC, 547 COM, 524–525 licensing confl icts, intellectual property, 17 DLL, 525–530 LINQ (Language Integrated Queries), 236, 250 interoperability, 513, 524–525 Load Dynamic application, 437 low-level access, 509–530 Loadcepc bootloader, 315–316 native code modules, 509–512 LoadDriver, 403, 418, 653 native code v., 509–513 loading drivers, 352–353, 393–396 native code-managed code communication, registry, 394–395 531–544 Steam Drivers, 458–460 message queues, 537–543 test application, 415 Windows events, 532–537 Local Area Networks. See LANs P/Invoke, 176, 184, 513–524, 530, 532, 538, local storage, application deployment, 299, 300–301 544, 637 log command, 122, 464 COM Interop v., 513 logical interrupts, 372 interoperability, 513–515, 530 Loopback adapter, 221, 639–641 marshaling techniques, 515–523 Low on, device power state, 412 WDT, 513–516 low-level access to managed code, 509–530 RFID Reader application, 590–598 COM, 524–525 managed code applications, 207–218 DLL, 525–530 development interoperability, 513, 524–525 deploy over KITL, 633–635 native code modules, 509–512 include in OS build, 635–637 native code v. managed code, 509–513 include in OS image, 632–633 native code-managed code communication, traditional manner, 176–177, 631 531–544 integration, 629–638 message queues, 537–543 issues, 637 Windows events, 532–537 managed code4 tools, 650 P/Invoke, 176, 184, 513–524, 530, 532, 538, low-level access to, 509–530 544, 637 smart device project templates, 177 COM Interop v., 513 SQL Compact database application, interoperability, 513–515, 530 239–241 marshaling techniques, 515–523 VS2008 IDE, 176–177 WDT, 513–516 managed code compact database application, LPSTR, 517, 518 261–264 managed code database applications, 254–257 M managed code remote database application, 257–261 make image phase, 142 managed code smart device application Make Run-time Image, 41, 144, 282, 388, 439, (Compact7_Csharp application), 207–218 482, 633 connect to target device, 212–213

675

bbindex.inddindex.indd 675675 88/2/11/2/11 5:21:125:21:12 PMPM managed code smart device application – MyBSP

managed code smart device application (continued) Microsoft CE Shared Source Licensing Program, debugging, 215–218 346 developing, 208–213 Microsoft Foundation Class library. See MFC preparations, 207–208 library prerequisites, 207–208 Microsoft Intermediate Language (MSIL) fi le, 631 VB2008_SerialPortApplication, 209 Microsoft resources, 645–647 managed code4 tools, 650 , 265 manual CTK test, input device, 163–166 Microsoft Validated, 344, 347 manual marshaling, for pointer types, 520–522 minimal Stream Driver, 422 marshaling MIPS processors, 11, 12, 15, 43, 53, 54, 55, 175, other techniques, 522–523 305, 308, 317, 467, 655 P/Invoke parameters, 515–517 miscellaneous environment variables, 42–43 pointers MJPEG, 571 automatic, 517–520 MMU (Memory Management Unit), 468 manual, 520–522 MobFx (Mobile Application Development MDD (Model Device Driver Layer), 358–360 Framework), 651 Media Player, Windows, 104, 174, 234, 236 Mobile Application Development Framework Media Playlist application. See SQL Compact (MobFx), 651 database application mode command, 623–625 memory Model Device Driver Layer. See MDD confi guration component, MyBSP, 65–66 modular OS, 12, 14 embedded devices, 4 Modules section, BIB fi le, 293, 404 Heap Walker remote tool, 47, 106–107 monolithic drivers, 358–360 shared, driver context and, 440–441 Monte Carlo profi ling, 109 3 GB physical memory support, 39 mouse. See also keyboards Memory Management Unit (MMU), 468 Bluetooth HID device, 365 merge replication, 264, 265 PS/2, 77, 373, 376 message macros, 454 MSI fi le, SDK, 85 Message Queue Object, 501, 505, 537, 538 MSIL (Microsoft Intermediate Language) fi le, 631 message queues, 537–543 MTConnect, 651–652 API, 378–379 MultiByteToWideChar, 557 CloseMsgQueue(), 378, 384, 538 multitasking, 12, 375, 405, 511 CreateMsgQueue(), 378, 382, 538, multithreading, 12, 14, 490, 491, 507 539, 543 Music Player program, 108, 109, 111, 114 ReadMsgQueue(), 378, 379, 506, 538, Mutex, 493 539, 541 MyBSP WriteMsgQueue(), 378, 505, 539, 542 add components, 57–58 MessageWindow, 532, 533, 534 ATAPI block storage driver, 58–60 MFC (Microsoft Foundation Class) library, 178, hive-based registry support component, 195, 512 60–61 MFC Smart Device ActiveX Control, 178 memory confi guration component, 65–66 MFC Smart Device Application, 178 serial debug messages enabled, 67–68 MFC Smart Device DLL, 178 serial port driver components, 66–67 mi command, 122, 464 USB audio driver component, 63–65

676

bbindex.inddindex.indd 676676 88/2/11/2/11 5:21:135:21:13 PMPM MyBSP.pbcxml catalog fi le – native code application example

Z9s XGI Display driver component, customize/build, 588–589 61–63 SDK creation, 589–590 customization, 57–68 MyVM profi le, 221–223 ICOP eBox3300 BSP clone, 56–57 MyVPC OS design project MyCompact7 OS design project, 70–76 auto launch SOURCES fi le, 141–142 registry, 291–292 X86/Device Drivers components, 75–76 startup folder, 292–293 MyBSP.pbcxml catalog fi le, 58 AutoLaunch component, 293–295 MyCompact7 OS design project developing, 220–224 AutoLaunch component, 153 PB7_Win32 subproject, 224–225 build confi gurations, 78–79 build options, 79–80 N components added, 76–77 name mangling, 514 third-party, 78 naming conventions, Stream Driver, 401–402 customization, 75–82 NAND Flash, 310–311 environment variables, 80–81 native applications fi les/folders, 74 developing, 177–178 MyBSP, 70–76 Platform Builder IDE, 178, 219–231 OS Design Wizard, 71–74 runtime, 494 OS run-time image serial port access, FTDI USB to Serial device, compiled/generated, 82–83 616–618 download to target device, 88–92 smart device project templates, 178 Platform Builder IDE, 143 VS2008 IDE, 177–178, 195–205 registry confi guration, 81–82 native code. See also managed code Remote Display application, 151–154 managed code v., 509–513 SDK managed code-native code communication, generated, 83–85 531–544 MSI fi le, 85 message queues, 537–543 search function, 77 Windows events, 532–537 target device connectivity, 87–95 modules prerequisites, 87, 88 debugging, 630–631 types, 48, 88 typical, 509–512 MyCompact7_SDK recap, 629–630 create, 83–85 native code application example (Platform Builder Win32 smart device application project, 196, IDE), 219–231 197 debugging, 226–231 x86 Device Properties screen, 161, 199, 200, developing, 224–226 213 PB7_Win32 subproject MyCompact7_SDK.msi, 36, 84, 85, 160 building/launching, 228–229 MyDLL, 389, 390 creating, 224–225 MyDriverTUXTest, 461–463 rebuilding/relaunching, 229–230 MyeBox test pass, 169–170 preparation, 219–220 MyRFID OS design project prerequisites, 219–220

677

bbindex.inddindex.indd 677677 88/2/11/2/11 5:21:135:21:13 PMPM native code application example – OpenWDT()

native code application example (VS2008 IDE), NULL display driver, 41, 155 177–178, 195–205 null modem cable, 100, 604 connect to target device, 198–200 debug, 201–205 O deploy to target device, 200–201 preparation, 195–196 OAL (OEM Adaptation Layer), 472–475 prerequisites, 195–196 BSP test, 167 Win32 smart device application project, defi ned, 15 196–205 functions, 474 native drivers IOTCL added to, 479–484 GWES, 356 target system, 472–475 Stream Drivers v., 356–357, 396 OEM Adaptation Layer. See OAL NEC NE1-TB : ARMv6 BSP, 43, 54 OEMGetRealTime, 474 .NET applications OEMGetTickCount, 474 deploy over KITL, 633–635 OEMIdle, 474 include in OS image, 632–633 OEMInit, 474 .NET Compact Framework, 181–185 OEMInitDebugSerial, 474 application development, 173, 182–184 OEMInterruptDisable, 474 garbage collector, 176, 184, 494, 509, 513, OEMInterruptDone, 474 523, 541 OEMInterruptEnable, 474 GUI, 184, 494 OEMInterruptMask, 474 managed applications runtime, 494–495 OEMIoControl, 474 .NET Framework, 184–185 OEMKitlInit, 475 NET_TOOL.CPP, 547, 548, 549, 550 OEMKitlIoctl, 475 NET_TOOL.H, 547 OEMPowerOff, 474 network, PXE, 306–307 OEMSetAlarmTime, 474 network projector. See Windows Network OEMSetRealTime, 474 Projector OEMWriteDebugByte, 474 Network Projector template, 45, 578, 579 OEMWriteDebugString, 474 Networking and Communication selection Off, device power state, 413 screen, 73 On, system power state, 412 New Project Wizard, 70–71, 177, 196, 197, 209, 180-days evaluation version, Windows Embedded 210, 278, 590, 591 Compact 7, 21, 645 90-days evaluation version, Visual Studio 2008, _Open, 357, 397, 398, 399, 400, 401, 407, 409, 22, 645 422, 423, 431–432 NK.BIN, 37, 83, 328. See also OS run-time open context, Stream Driver, 422–423 images Open Release Directory, 43, 145, 310, 634 NLED_DRIVER_CLASS, 408 OpenNETCF, 652 NOR Flash, 309, 310, 311 OpenNETCF Autorun Manager for CE, 652 notifi cations. See also Timer Driver service; OpenNETCF MTConnect VirtualAgent, Watchdog Timers 652 OS and, 490–491 OpenNetCF.Telephony, 652 Periodic Notifi cation, 498 OpenTimeCE, 652 time determinism, 488–489 OpenWDT(), 384

678

bbindex.inddindex.indd 678678 88/2/11/2/11 5:21:145:21:14 PMPM operating environment – OS run-time images

operating environment, embedded development, build options, 79–80 7, 8, 9 components, 76–78 operating systems. See OS customization, 75–82 OS (operating systems) environment variables, 80–81 compact, 14 fi les/folders, 74 development computer, 21 MyBSP, 70–76 as device drivers, 343 OS Design Wizard, 71–74 hard real-time, 14, 175, 176, 184, 488, 489 OS run-time image, 82–83, 88–92 as interrupts, 343 Platform Builder IDE, 143 latencies and, 491 registry confi guration, 81–82 modular, 12, 14 Remote Display application, 151–154 real-time, 14 SDK, 83–85 soft real-time, 14, 488, 489 SDK MSI fi le, 85 structure, 343 search function, 77 time determinism, 490–491 target device connectivity, 48, 87–95, 88 OS builds MyRFID confi gurations, 450–451 customize/build, 588–589 Checked, 451 SDK creation, 589–590 Debug, 451 MyVPC Release, 451 auto launch, 291–293 managed code application in, 635–637 AutoLaunch component, 293–295 OS Dependencies, 182, 208 developing, 220–224 OS Dependencies for .NET Compact Framework, PB7_Win32 subproject, 224–225 182, 208 OS Design Wizard OS design, 69–86 Board Support Packages selection screen, 71–72 archives, 148 Catalog Item Notifi cation screen, 73, 74 build process, 137–149 defi ned, 44 customization, 75–82 Networking and Communication selection debugging, 100–103 screen, 73 defi ned, 37, 44, 69 new OS design, 70–74 developing, 70–83 OS run-time images development tasks, 33, 137 application deployment, 300–301 documentation, 148 compile/generate, 82–83 .NET Compact Framework, 182–183 CTK, 158 rebuilding, 144–145 defi ned, 37 registry confi guration, 81–82 deployment, 305–312 SDK generation, 83–85 bootloader, 308 Silverlight support, 276–277 fi xed storage, 307–308 templates, 44–45 PXE, 306–307 Windows Network Projector, 578–581 RISC platforms, 309–311 OS design projects USB fl ash storage, 307 MyCompact7 download to target device, 88–92 AutoLaunch component, 153 generation, Remote Display application, build confi gurations, 78–79 153–154

679

bbindex.inddindex.indd 679679 88/2/11/2/11 5:21:145:21:14 PMPM OS run-time images – planning items

OS run-time images (continued) embedded devices v., 4–5, 174–175 Make Run-time Image, 41, 144, 282, 388, x86 processors, 657 439, 482, 633 PDD (Platform Device Driver Layer), 358–360 managed code smart device application, PDEVCONTEXT, 406 207–208 Performance Counter, 498, 499, 501, 502 RFID Reader application, 599 Performance Monitor remote tool, 47, 103, 118, VM, 223–224, 226 119–121, 457 Win32 smart device application project, Periodic Notifi cation, 498 195, 196 persistent registry, 127–128 Windows Network Projector, 580–581 personal computers. See PCs OSBench, 497 petting the dog, 374, 375 OSDESIGN.BIB, 179, 189–190, 599 Phidgets devices, 585–600 OSDESIGN.REG, 135, 144, 153, 191, 292, 294, defi ned, 585 589, 599 device driver component, 586 _OSDESIGNROOT, 42, 74, 79, 83, 85 device driver project, 586, 651 out-of-the-box drivers, 343–346 eBox-3310A, 587, 590, 595, 600 OutputDebugString(), 202, 204 RFID Reader application, 587–599 code, 592–595 P deploy to target device, 595–598 develop in managed code, 590–598 Page Pool, 493 graphical user interface, 591–592 page pooling, 491 OS run-time image, 599 parameter fi les types, 585–586 BSP physical interrupts, 372, 373 config.bib, 66, 476 Phytec phyCore-LPC3250 (ARM9) SOM PLATFORM.BIB, 64, 65, 476 Board, 468 platform.dat, 476 PIC (Programmable Interrupt Controller), 342, platform.db, 476 343, 373 PLATFORM.REG, 62, 63, 64, 135, 476 PID (Product ID), 361, 605 sources.cmn, 477 ping command, 614, 618, 623–625 string buffer project, 427–429 P/Invoke (Platform Invoke), 176, 184, parameter values, ConfigureWDT(), 385–386 513–524, 530, 532, 538, 544, 637. parameters, P/Invoke, 515–517 See also COM PB7_Win32 subproject. See also native code COM Interop v., 513 application example interoperability, 513–515, 530 auto launch, 291 marshaling building/launching, 228–229 other techniques, 522–523 creating, 224–225 P/Invoke parameters, 515–517 PB7_Win32.exe, 226, 228, 229, 230, 291, pointers, 517–522 292, 293, 294, 295 WDT, 513–516 rebuilding/relaunching, 229–230 PipeTerm utility, 646 .pbcxml catalog fi le, 58 plan, development process, 29–30 PCs (personal computers). See also embedded planning items, Stream Driver development, hardware 418–421

680

bbindex.inddindex.indd 680680 88/2/11/2/11 5:21:155:21:15 PMPM Platform Builder – _PowerUp

Platform Builder (Platform Builder for Windows _PLATFORMROOT\MyBSP\Src, 55 Embedded Compact 7), 37–48 $(_PLATFORMROOT)\VirtualPC\VM, 89, 221, BSPs, 43, 54 222, 223 defi ned, 17, 21, 37 Playlist application. See SQL Compact database development resources, 39 application development tasks, 37 playlist functions, 249–250 installation, 22 PMCLASS_BLOCK_DEVICE, 408, 413 Scripts, 435–436 PMCLASS_DISPLAY, 408, 413 SDK Wizard, 46, 83, 85, 590 PMCLASS_GENERIC_DEVICE, 408, 413, 419, 445 software requirements, 20 PMCLASS_NDIS_MINIPORT, 408, 413 subprojects, 434 pointer types Platform Builder CE Remote Display Host, automatic marshaling, 517–520 154, 155 manual marshaling, 520–522 Platform Builder CE Service Host, 89 polling, 340, 341, 367–370 Platform Builder IDE. See also native code Portable Media Player template, 45 application example; VS2008 IDE post deployment support/updates, 34 build system, 143–145 postlink.bat, 348, 425, 609, 633, 636–637 context-sensitive, 38, 143 power management, 410–415 GUI, 138, 142 API, 414–415 native code applications, 178, 219–231 architecture, 413–415 search function, 77 driver class power management interfaces, 413 servicing embedded devices, 546, 562 PMCLASS_BLOCK_DEVICE, 408, 413 VS2008 IDE, 38 PMCLASS_DISPLAY, 408, 413 Platform Builder native code application example. PMCLASS_GENERIC_DEVICE, 408, 413, See native code application example 419, 445 Platform Device Driver Layer. See PDD PMCLASS_NDIS_MINIPORT, 408, 413 Platform Invoke. See P/Invoke functions $(_PLATFORM\COMMON), 140 DevicePowerNotify, 414 PLATFORM.BIB, 64, 65, 476 GetDevicePower, 411, 414, 445 platform.dat, 476 GetSystemPowerState, 414 platform.db, 476 PowerPolicyNotify, 414 PLATFORM.REG, 62, 63, 64, 135, 476 ReleasePowerRequirement, 414 _PLATFORMROOT, 42, 54 RequestPowerNotifications, 413, 414 _PLATFORMROOT\Common\SRC\ARM, 55 SetDevicePower, 411, 414 _PLATFORMROOT\Common\SRC\Common, 55 SetPowerRequirement, 414 _PLATFORMROOT\Common\SRC\INC, 55 SetSystemPowerState, 414 _PLATFORMROOT\Common\SRC\MIPS, 55 StopPowerNotifications, 414 _PLATFORMROOT\Common\SRC\SOC, 55 implementation, 443–447 _PLATFORMROOT\Common\SRC\x86, 55 interface IOCTLs, 411 _PLATFORMROOT\MyBSP, 55 Power Monitor, 47, 103, 118, 121 _PLATFORMROOT\MyBSP\Bins, 55 power states, 411–413 _PLATFORMROOT\MyBSP\Catalog, 55, 58 _PowerDown, 357, 397, 398, 401, 410, 422 _PLATFORMROOT\MyBSP\Cesysgen, 55 PowerPolicyNotify, 414 _PLATFORMROOT\MyBSP\Files, 55 _PowerUp, 357, 397, 398, 401, 410, 422

681

bbindex.inddindex.indd 681681 88/2/11/2/11 5:21:155:21:15 PMPM PQD – registers

PQD (Product Quality Developed), 344, 347 RCW (Runtime Callable Wrapper), 525, 529 _PreClose, 357, 397, 398, 401, 422 _Read, 357, 397, 398, 399, 400, 409, 422, 423, _PreDeinit, 357, 398, 399, 422 436 pre-Sysgen phase (Build OS phase), 139 ReadFile(), 130 Priority inversion, 14, 493 ReadFile, 398, 409 $(_PRIVATE)folder, 346 ReadMsgQueue(), 378, 379, 506, 538, 539, 541 PRJ environment variables, 42 READ_PORT_UCHAR, 381, 493 PRJ_BOOTDEVICE_ATAPI, 42, 61 real time PRJ_ENABLE_FSREGHIVE, 42, 61 defi ned, 488 Process Viewer remote tool, 47, 107–108, 424, Windows Embedded Compact 7, 14, 457, 506 491–495 ProcessHeaderKey, 560 hardware interface layer, 492–493 ProcessNormalKey, 561 managed application runtime, 494–495 processors. See embedded hardware native application runtime, 494 ProcessSubKey, 555, 556 services, 491–492 Product ID (PID), 361, 605 synchronization, 493–494 Product Quality Developed (PQD), 344, 347 thread scheduling, 493–494 prof command, 122, 464 real-time applications, 487–495 Profi ler remote tool, 47, 108–111, 457 defi ned, 487 Programmable Interrupt Controller (PIC), 342, development, 175–176 343, 373 hard real-time systems, 14, 175, 176, 184, PS/2 keyboard/mouse, 77, 373, 376 488, 489 $(_PUBLIC)folder, 339, 345, 346, 348 overview, 487–491 _PUBLICROOT, 42, 139 soft real-time systems, 14, 488, 489 PuTTY, 26, 100 real-time application example, 497–507 PXE, 306–307 execution time assessment, 506–507 Q measuring, 498–499 HDWorld application, 499–506, 507 QFEs (Quick Fix Engineering updates), 16, 23 objective, 497–498 quality BSPs, 32–33 rebuilding OS design, 144–145 quality control, 18 record deletes, SQL Compact database queries, SQL Compact database application, application, 246–247 244–245 recv function, 549 query processor, SQL Compact, 238 !refresh, 465 QueryPerformanceCounter, 498, 499, 503 RegFlushKey(), 128–129 QueryPerformanceFrequency, 498, 499, 501, reghttpc7, 547, 550–561. See also web server 503 application Quick Fix Engineering updates (QFEs), 16, 23 REGINIT.INI, 102, 134, 135–136, 147, 290, 452 registers, 340 R data, 340, 341 R6040 Ethernet driver, 76, 91, 134, 579, 588 device control, 340, 342 RAM-based registry, 126 status, 340, 341, 342

682

bbindex.inddindex.indd 682682 88/2/11/2/11 5:21:165:21:16 PMPM registry – Remote tools

registry, 125–136 HKEY_CURRENT_USER, 126 accessing HKEY_LOCAL_MACHINE, 126 during development process, 136 HKEY_USERS, 126 web server application, 550–561 HKLM\Drivers, 394, 405, 428, 452 auto launch application, 132, 290–292 HKLM\Drivers\Active, 394, 424, 430, catalog item, 135 441, 457 COMMON.REG, 102, 135 HKLM\Drivers\BuiltIn, 394, 428, 452 device identifi cation/description, 132 HKLM\Hardware\DeviceMap, 394 disable Suspend mode, 133 HKLM\Init, 290 drivers HKLM\System\GDI, 394 confi guration, 353 HKLM\System\StorageManager, 394, 396 loading, 394–395 root, 126 fi les, 134–136 registry viewer. See web server application fl ushing, 128–129, 133 relational databases, 235–236. See also SQL FTDI USB to Serial device, 606–607 Compact FTP server, 131 release directory. See build release directory hive-based, 60–61, 126–129, 133, 298, Release mode, build confi guration, 78, 138, 139, 299, 588 450, 451 Internet Explorer startup page, 133 Release Notes, 40 OS design, 81–82 ReleasePowerRequirement, 414 OSDESIGN.REG, 135, 144, 153, 191, 292, RELEASETYPE, 142, 427 294, 589, 599 remedies, build system problems, 147 persistent, 127–128 Remote Display application, 151–156 PLATFORM.REG, 62, 63, 64, 135, 476 catalog, 152–153 RAM-based, 126 headless device, 155 REGINIT.INI, 102, 134, 135–136, 147, how to use, 154–155 290, 452 MyCompact7 OS design project, 151–154 Remote Display application, 153 OS design, 77, 151–154 serial port, 129–130 OS run-time image generation, 153–154 startup, 290–291 registry, 153 static IP address, 134, 642 Remote Procedure Call (RPC), 525 Stream Drivers Remote Processes Tool, 653 access, 441–443 Remote Tools, 103–105, 457 entries, 402–404 debugging, 47, 103 string buffer project, 428 defi ned, 47 subproject, 135 device drivers, 457 Telnet server, 132 File Viewer, 47, 105–106, 457 USB storage name, 133 framework, 14, 18, 39 Registry Editor remote tool, 47, 111–112, 136, Heap Walker, 47, 106–107 424, 457, 507 Kernel Tracker, 47, 103, 118–119, 457 registry keys KITL enabled, 103 defi ned, 126 list, 457 drivers, 394 Performance Monitor, 47, 103, 118, HKEY_CLASSES_ROOT, 126 119–121, 457

683

bbindex.inddindex.indd 683683 88/2/11/2/11 5:21:175:21:17 PMPM Remote Tools – serial ports

Remote Tools (continued) RS-232 cross-over cable, 100 Power Monitor, 47, 103, 118, 121 RS-232 null modem cable, 100, 604 Process Viewer, 47, 107–108, 424, 457, 506 Runtime Callable Wrapper (RCW), 525, 529 Profi ler, 47, 108–111, 457 RXRDY signal, 341 Registry Editor, 47, 111–112, 136, 424, 457, 507 S Resource Consumer, 47, 112–113 Resource Leak Detector, 47, 113–116, 457 s iesample, 121 System Information, 47, 116–117, 424, 457 sample projects, 575–638. See also FTDI USB Target Control, 121–123 to Serial devices; integrating managed code commands, 123, 464 applications; Phidgets devices; Windows Internet Explorer launch, 121 Network Projector Support Catalog component, 630 Samsung SMDK6410 : ARMv6 BSP, 46, 54 terminate running process, 122 Sboot (serial bootloader), 314, 315 Timeline Viewer, 47, 118–121 Scripts, Platform Builder, 435–436 Zoom-In, 47, 117–118 SDF, 652 Remote Tools for Smart Devices utility, 646 SDF (Smart Device Framework), 652 removable storage. See USB .sdf extension, 238, 240, 246 replication, merge, 264, 265 SDKs (software development kits). See also RequestPowerNotifications, 413, 414 MyCompact7_SDK Resource Consumer remote tool, 47, 112–113 BSPs compared to, 470 Resource Leak Detector remote tool, 47, Build All SDKs, 85, 590 113–116, 457 create, 83–85 resources MSI fi le, 85 application development, 173–174 MTConnect, 651–652 community, 649–654 MyRFID OS design project, 589–590 connectivity, development environment, SDK Wizard, 46, 83, 85, 590 25–26 search function Microsoft, 645–647 Platform Builder IDE, 77 Platform Builder development, 39 Security Alert screen, 89 RETAILLED, 453 _Seek, 357, 397, 398, 399, 400, 422 RETAILMSG, 139, 225, 231, 453 send function, 549 RFID Reader application, 587, 590–599 serial bootloader (Sboot), 314, 315 code, 592–595 serial null modem cable, 100 deploy to target device, 595–598 Serial Port API, custom FTDI stream driver, 616 develop in managed code, 590–598 serial ports graphical user interface, 591–592 access, FTDI USB to Serial device, 616–618 OS run-time image, 599 connectivity, 24, 26 RGB, 567, 572, 573 driver components, MyBSP, 66–67 RISC platforms, 309–311 registry, 129–130 RoBoard, 657 serial debug connectivity, 99–100 root registry keys, 126 serial debug messages, 26, 57, 67–68, 99, RPC (Remote Procedure Call), 525 100, 315, 646

684

bbindex.inddindex.indd 684684 88/2/11/2/11 5:21:175:21:17 PMPM SerialPort class – software

VB2008_SerialPortApplication, 209, 611, user interface development framework, 632, 635 267–268 SerialPort class, 617–618 Windows Embedded Silverlight Tools server environment, SQL Compact, 237 Create Platform Builder Subproject service packs Wizard, 270, 280 Visual Studio 2008, 22 defi ned, 39, 47–48, 268 servicing embedded devices, 545–546, 562. See port XAML_Hello to native code, also web server application 279–281 SetDevicePower, 411, 414 Update Silverlight for Windows SetFilePointer, 397, 398 Embedded Project Wizard, 270, 285 SetPowerRequirement, 414 Windows Embedded Events Wizard, 270 SetSystemPowerState, 414 Silverlight for Windows Embedded Template, 22, 270 \SETUPDISK, 322 16550 UART. See UART $(SG_OUTPUT_ROOT), 139, 140, 428 Sleep, device power state, 412 shared memory, driver context and, 440–441 small footprint, 11, 12, 18, 181, 547 Ship mode, build confi guration, 138, 139, 450, Small Footprint Device template, 45, 479 453 smart device applications. See managed code Sigma Designs Vantage 8654 BSP, 43, 54 smart device application; Win32 smart device Silverlight, 267–268 application project Silverlight for Windows Embedded (SWE), Smart Device CAB Project Wizard, 298–299 267–288 Smart Device Framework (SDF), 652 animation, 512 Smart Device Information, 653 contract, 273 smart device project templates development process, 273–274 managed code, 177 Expression Blend, 22, 39, 268 native code, 178 new feature, 13 SMP (Symmetric Multiprocessing Support), 39 overview, 267–274 snapshots required software, 269–270 Remote Resource Leak Detector, 113 SWE_Hello application project, 275–288 USB camera application, 567, 569, 571, 573 create, 277–279 SoC (Systems on a Chip), 175, 374, 376, 420, 468 development steps, 275 socket, HTTP, 549 event handler, 283–284 soft real-time systems, 14, 488, 489 OS design with Silverlight support, software 276–277 evaluation, 645 port to native code, 279–281 Visual Studio 2008, 22, 645 preparation, 275–276 Windows Embedded Compact 7, 21, 645 prerequisites, 275–276 installation steps, development computer, Storyboard1, 285–287 21–22 subproject, 281–283, 285, 287–288 requirements user control, 285–287 Platform Builder, 20 XAML_Hello, 277–281, 283, 285, 286, SWE, 269–270 287 selection, development process, 31 updated, 39 Windows Embedded Compact 7, 21

685

bbindex.inddindex.indd 685685 88/2/11/2/11 5:21:185:21:18 PMPM software – storage

software (continued) creation, 242 software development kits. See SDKs DataGrid control, 243–244 Software Timer, 490, 502, 503, 506 population, 243 SOURCES, 141–142, 147, 564, 566 XML serialization, 252–254 sources fi le, string buffer project, SqlCeCommand, 240 426–427 SqlCeConnection, 240 sources.cmn, 477 SqlCeDataReader, 240 specialized-purpose application, 7 SqlCeEngine, 240 specialized-purpose devices, 5 SqlCeException, 240 Splash Generator, CE, 325, 653 SqlCeResultSet, 240 SQL Compact (SQL Server Compact 3.5), SqlServerCe classes, 240 236–238 Standby, device power state, 412 client environment, 237 StartIST(), 382 components, 238 startup. See also auto launching applications data synchronization, 264–265 folder, auto launch application, 292–293 database, 234–235 registry, 290–291 merge replication, 264, 265 startup parameters, BIOLoader, 321–322 query processor, 238 startup splash screen, BIOSLoader, 324–325 server environment, 237 static IP address storage engine, 238 Platform Builder native code application synchronization engine, 238 example, 220 uses, 237 registry, 134, 642 SQL Compact database application (Playlist VM connectivity, 641–642 application) status registers, 340, 341, 342 building, 241–247 StopPowerNotifications, 414 data source, 243 storage database creation, 242 Compact Flash device requirements, 238–239 characteristics, 308 edit view form, 245–246 confi guring, with BIOSLoader, 329–333 editing capabilities, 244 USB to Compact Flash adapter, 329, 330, managed code compact database application, 580 261–264 DiskPrep power toy, 327 managed code database applications, fi xed, 307–308 254–257 IDE fl ash, 307 managed code remote database application, local, application deployment, 299, 300–301 257–261 preparation, BIOSLoader, 324 managed code requirements, USB 239–241 audio driver component, MyBSP, 63–65 playlist functions, 249–250 class IDs, 361 queries, 244–245 connection, 23, 48 record deletes, 246–247 deploy OS run-time image, 307 structure, 234, 235, 241–264 drivers, 360–362 summary view form, 245–246 HID keyboard/mouse, 76–77, 351, 361 text fi le read/write examples, 250–252 removable storage, registry key, 133 Tracks table storage class driver, 58, 76, 347, 395

686

bbindex.inddindex.indd 686686 88/2/11/2/11 5:21:185:21:18 PMPM storage engine – Stream Drivers

storage engine, SQL Compact, 238 DEVFLAGS_NOLOAD, 403 storeBMPfile, 571, 573 DEVFLAGS_NONE, 403 storeJPGfile, 571 DEVFLAGS_UNLOAD, 403, 422 STOREMGR_DRIVER_GUID, 408 DEVFLAGS_USERMODE, 403, 404, STORE_MOUNT_GUID, 408 405, 428 Storyboard1, 285–287 FTDI custom driver, 618–628 stream context, 407 commands, 618–619 Stream Drivers (Stream Interface Drivers), creating, 619–623 393–447 IOCTLs, 625–628 API, 449–466 mode command, 623–625 architecture, 396–397 ping, 623–625 asynchronous I/O, 399, 409–410, 421, 423 Serial Port API, 616 BIB entries, 401, 404 imaging, 405 block drivers, 360–362 interface classes, 407–408 bus drivers, 360–362 BATTERY_DRIVER_CLASS, 408 CEDriverWiz, 434–440 BLOCK_DRIVER_GUID, 408 DebugMessageZones option, 454 CDDA_MOUNT_GUID, 408 IOCTLs, 440 CDFS_MOUNT_GUID, 408 Platform Builder Scripts, 435 DEVCLASS_CARDSERV_GUID, 408 Stream Driver creation, 438, 443–444, DEVCLASS_DISPLAY_GUID, 408 483–484 DEVCLASS_KEYBOARD_GUID, 408 test applications, 417, 439, 450, 458 DEVCLASS_STREAM_GUID, 408 using, 436–440 FATFS_MOUNT_GUID, 408 confi guration, 401–405 FSD_MOUNT_GUID, 408 context, 399, 405–407 NLED_DRIVER_CLASS, 408 open, 422–423 PMCLASS_BLOCK_DEVICE, 408, 413 shared memory, 440–441 PMCLASS_DISPLAY, 408, 413 stream, 407 PMCLASS_GENERIC_DEVICE, 408, 413, creating, 438, 443–444, 483–484 419, 445 CTK, 461–464 PMCLASS_NDIS_MINIPORT, 408, 413 development, 417–447 STOREMGR_DRIVER_GUID, 408 overview, 418–421 STORE_MOUNT_GUID, 408 planning items, 418–421 UDFS_MOUNT, 408 driver class power management interfaces, 413 interface functions, 357–358, 397–401, PMCLASS_BLOCK_DEVICE, 408, 413 421–423 PMCLASS_DISPLAY, 408, 413 DllEntryPoint, 398, 418, 422 PMCLASS_GENERIC_DEVICE, 408, 413, DllMain, 399, 418, 422 419, 445 functionality, 421–422 PMCLASS_NDIS_MINIPORT, 408, 413 string buffer project, 429–430 fl ags XXX_Cancel, 357, 397, 398, 401, DEVFLAGS_BOOTPHASE_1, 403 410, 422 DEVFLAGS_IRQ_EXCLUSIVE, 403 XXX_Close, 357, 397, 398, 399, 401, 409, DEVFLAGS_LOADLIBRARY, 403 422, 423, 431 DEVFLAGS_NAKEDENTRIES, 393, XXX_DeInit, 357, 398, 399, 422, 403, 408 430, 436

687

bbindex.inddindex.indd 687687 88/2/11/2/11 5:21:195:21:19 PMPM Stream Drivers – subprojects

Stream Drivers (continued) ReleasePowerRequirement, 414 XXX_Init, 357, 397, 398, 399, 405, 406, RequestPowerNotifications, 413, 414 422, 430–431, 436, 441, 479 SetDevicePower, 411, 414 XXX_IOControl, 357, 397, 398, 400–401, SetPowerRequirement, 414 409, 422, 432, 440, 511 SetSystemPowerState, 414 XXX_Open, 357, 397, 398, 399, 400, 401, StopPowerNotifications, 414 407, 409, 422, 423, 431–432 registry XXX_PowerDown, 357, 397, 398, 401, access, 441–443 410, 422 entries, 402–404 XXX_PowerUp, 357, 397, 398, 401, simple project, 423–425 410, 422 string buffer project, 425–433 XXX_PreClose, 357, 397, 398, 401, 422 parameter fi les, 427–429 XXX_PreDeinit, 357, 398, 399, 422 source code fi le, 430–433 XXX_Read, 357, 397, 398, 399, 400, 409, sources fi le, 426–427 422, 423, 436 stream functionality, 429–430 XXX_Seek, 357, 397, 398, 399, 400, 422 synchronous I/O, 399, 409, 410, 436 XXX_Write, 357, 397, 398, 399, 400, 409, Target Control, 464 422, 423, 432, 436 testing, 433–434, 439, 449–466 IOCTLs USB drivers, 360–362 implementing, 440 why use, 396 interface, 359, 360, 396, 411, 418, 432, Stream Interface Drivers. See Stream Drivers 437, 440 stream IO API, 409 IOCTL_POWER_CAPABILITIES, 411, 443, CloseHandle, 397, 398, 409 445 CreateFile, 398, 409 IOCTL_POWER_GET, 411, 443, 446, 447 DeviceIOControl, 397, 398, 409, 462, 511, IOCTL_POWER_SET, 411, 443, 446 516, 517, 518, 519, 520 IOCTL_REGISTER_POWER_ ReadFile, 398, 409 RELATIONSHIP, 411, 444, 446, 447 WriteFile, 398, 409 TestIOCTLs, 440, 625 stream IOTCLs, 460 legacy name, 401–402 string buffer Stream Driver project, 425–433 loading, 458–460 parameter fi les, 427–429 minimal, 422 source code fi le, 430–433 naming conventions, 401–402 sources fi le, 426–427 native drivers v., 356–357, 396 stream functionality, 429–430 power management, 410–415 test string buffer, 434 API, 414–415 String Collection Editor screen, 60, 61, 62, 63, architecture, 413–415 64, 65, 66, 68 implementation, 443–447 StringBuilder, 517, 518, 519, 520 power management functions stub display driver, 41, 155 DevicePowerNotify, 414 subprojects GetDevicePower, 411, 414, 445 PB7_Win32 GetSystemPowerState, 414 auto launch, 291 PowerPolicyNotify, 414 building/launching, 228–229

688

bbindex.inddindex.indd 688688 88/2/11/2/11 5:21:205:21:20 PMPM summary view form – target device

creating, 224–225 SYSGEN_USB, 64, 76 PB7_Win32.exe, 226, 228, 229, 230, SYSINTR. See system interrupts 291, 292, 293, 294, 295 System Idle, 412 rebuilding/relaunching, 229–230 System Information remote tool, 47, 116–117, Platform Builder, 434 424, 457 registry, 135 system interrupts, 372–373 SWE_Hello application project system power states, 411–412 animation added, 287–288 System.Data.SqlClient, 257 build, compile, launch, 281–283 System.Data.SqlServerCe, 239, 240, 261 update, 285 SYSTEM.HV, 127, 128 WDT console application, 386–387 Systems on a Chip (SoC), 175, 374, 376, 420, 468 WDT DLL application, 388–390 WebCam DLL, 564–566 T summary view form, SQL Compact database application, 245–246 tabJitterCounter, 504, 505 Suspend mode, 133, 412, 447 Tacke, Chris, 325 SWE_Hello application project, 275–288. See also TAPI (telephony application interface) library, 652 Silverlight for Windows Embedded target boards, 468–469 create, 277–279 Target Control, 121–123. See also Remote Tools development steps, 275 dd command, 122, 464 event handler, 283–284 df command, 122, 464 OS design with Silverlight support, 276–277 gi command, 122, 464 port to native code, 279–281 Internet Explorer launch, 121 preparation, 275–276 kp command, 122, 464 prerequisites, 275–276 log command, 122, 464 Storyboard1, 285–287 mi command, 122, 464 subproject prof command, 122, 464 animation added, 287–288 Stream Drivers, 464 build, compile, launch, 281–283 Support Catalog component, 630 update, 285 terminate running process, 122 user control, 285–287 zo command, 122, 464 XAML_Hello, 277–281, 283, 285, 286, 287 target device. See also eBox-3310A; Virtual PC Symmetric Multiprocessing Support (SMP), 39 CTK connectivity to, 158–162 Sync Framework, Microsoft, 265 defi ned, 31, 37 synchronization development environment setup, 23–24 remote server/SQL Compact, 264–265 hardware selection, 30–31 SQL Compact synchronization engine, 238 managed code smart device application Windows Embedded Compact 7, 493–494 connect to target device, 212–213 synchronous I/O, 399, 409, 410, 436 deploy to target device, 213–215 Sysgen phase, 139–140 VM, 221 SYSGEN_ATAPI variable, 59, 60, 61 Win32 smart device application project SYSGEN_FATFS, 60, 61, 75 connect to target device, 198–200 SYSGEN_SERDEV, 66, 76 deploy to target device, 200–201

689

bbindex.inddindex.indd 689689 88/2/11/2/11 5:21:205:21:20 PMPM target device connectivity – time determinism

target device connectivity, 23–24, 87–95 test DLL, 461, 463–464 OS run-time image download, 88–92 test pass, CTK, 168–170 prerequisites, 87, 88 testing. See also CoreCon; KITL setting, 92–95 Compact Test Kit, 157–170 types, 48, 88 BSP, 167–168 target system, 467–484. See also bootloaders; CETK, 14, 39, 49, 157 BSPs; OAL connectivity to target device, 158–162 bootloaders, 470–472 defi ned, 39, 49 KITL, 475 display driver, 166–167 OAL, 472–475 input device, 163–166 targeted market, Windows Embedded Compact 7, Stream Drivers, 461–464 16–17 Test Case Explorer tab, 163, 166, 169, 464 TARGETNAME, 142, 427, 566 test DLL, 461, 463–464 TARGETTYPE, 142, 348, 427 test pass, 168–170 TCP sockets, 546, 548 connectivity, 25–26 TcpConnectionA.dll, 188 development process step, 33 TCP/IP effi cient, 18 accept function, 548 fi eld, 546 Confi gure TCP/IP Transport screen, 161, 162, Remote Display application, 156 193, 199, 213, 596, 597 Stream Drivers, 433–434, 439, 449–466 HTTP transport protocol, 546, 547 TestIOCTLs, 440, 625 Internet Protocol Version 4, 642 Texas Instruments OMAP 3530 BSP, 43, 54 recv function, 549 text fi le read/write examples, 250–252 Remote Display application, 151 TFTP (Trivial File Transfer Protocol), 314, 317, send function, 549 471, 653 Telnet server, 132 TFTP server, 306, 653 telephony application interface (TAPI) library, 652 _TGTPLAT, 42 Telnet server, 132, 174 Thin Client template, 45 templates. See also specifi c templates third-party components, 22, 74, 78, 148, 589, 633 OS design, 44–45 third-party CoreCon component, 190–191 Silverlight for Windows Embedded Template, third-party driver binary, 348 22, 270 third-party drivers, 345, 347, 348 TeraTerm, 26, 100 third-party FTDI application modules, 613–616 terminate running process, Target Control, 122 DLP-IO8-G GPIO Module, 613, 615–616 test applications DLP-IOR4 Relay Module, 613, 614–615 loading drivers, 415 DLP-RF1-Z, 613, 616 Stream Driver API, 458–460 Elexol USBIO2R, 613, 614, 616 WDT, 384–388 ZigBee development module, 613, 616 console application subproject, 386–387 32feet.NET, 651 DLL subproject, 388–390 thread scheduling, 493–494 using, 387–388 3 GB physical memory support, 39 wrapper DLL, 384–385 time determinism Test Case Explorer tab, 163, 166, 169, 464 latencies, 489–490

690

bbindex.inddindex.indd 690690 88/2/11/2/11 5:21:215:21:21 PMPM Timeline Viewer remote tool – Virtual PC

notifi cations, 488–489 storage class driver, 58, 76, 347, 395 OS’s infl uence on, 490–491 USB to Compact Flash adapter, 329, 330, 580 Timeline Viewer remote tool, 47, 118–121 USB camera application (WebCamRead timeout actions, 374–375 application), 563–574 Timer Driver service, 498, 499, 501, 502, 506, capture/save image process, 574 513. See also Watchdog Timers CE Webcam Project, 564, 653 TimerCallback, 502, 503 CeWebCam driver, 564–567, 571, 574 time-sharing, 191, 490, 492 snapshots, 567, 569, 571, 573 time_t functions, 652 tested USB cameras, 567 tlbimp.exe command line tool, 525, 529 WebCam DLL subproject, 564–566 Tracks table user control, SWE_Hello application project, creation, 242 285–287 DataGrid control, 243–244 user expectation, 9 population, 243 User Idle, system power state, 412 transport layer, HTTP, 546, 547. See also KITL user interface development framework, 267–268 Trivial File Transfer Protocol. See TFTP user mode drivers, 353–355, 404–405 TUX Test Harness, 348 USER.HV, 127 TXRDY signal, 341 User-Selected Catalog Items and Dependencies, 75 User-selected Catalog Items Only fi lter, 75 \UTILITIES U , 323 UART (Universal Asynchronous Receiver/ V Transmitter), 341–342 device drivers, 341–342 Validated, Microsoft, 344, 347 diagram, 341 VB2008_SerialPortApplication, 209, 611, 632, 635 FTDI device, 602, 603, 604, 605 VCEPC keyboard drivers, 76, 221, 276 interrupts, 367–368 VCP (Virtual COM Port) driver, 602, 606, 607, udevice.exe, 355, 397 610–612, 615, 616, 618, 619, 628 UDFS_MOUNT, 408 Vendor ID (VID), 361, 605 unattended display driver test, 166–167 version history, Windows Embedded Compact 7, 15 unboxing, 509, 522 VHD (virtual hard drive), 221, 329, 333–335 Universal Asynchronous Receiver/Transmitter. VID (Vendor ID), 361, 605 See UART VIEWBIN.EXE, 310 Update Silverlight for Windows Embedded Project Virtual COM Port (VCP) driver, 602, 606, 607, Wizard, 270, 285 610–612, 615, 616, 618, 619, 628 USB. See also FTDI USB to Serial devices virtual device drivers, 350–351 audio driver component, MyBSP, 63–65 virtual hard drive (VHD), 221, 329, 333, 334, 335 class IDs, 361 Virtual PC. See also MyVPC OS design project connection, 23, 48 connectivity, 221, 639–643 deploy OS run-time image, 307 online information, 643 drivers, 360–362 PipeTerm utility, 646 HID keyboard/mouse, 76–77, 351, 361 target device, 24, 37, 72, 76 removable storage, registry key, 133 2007 version, 642–643

691

bbindex.inddindex.indd 691691 88/2/11/2/11 5:21:225:21:22 PMPM Virtual PC BSP – web server application

Virtual PC BSP, 639 Win32 smart device application project, defi ned, 39, 43, 54 195–205 Virtual PC:x86 BSP, 72, 76, 220, 276 Windows Network Projector OS design, Virtual PC machine (VM) 578–580 confi gure, 222–223 establish connection, 221–223 W Loopback adapter, 221, 639–641 MyVM profi le, 221–223 WaitWDT(), 384 native code application example, 220 Watchdog Driver, 531, 532–535, 537–543 OS run-time image, 223–224, 226 Watchdog Timers (WDTs), 374–391 static IP address, 641–642 API, 375–376 target device, 221 COP, 374 Visual Studio 2008 IDE. See VS2008 IDE native code-managed code communication, Visual Studio 2008 Professional edition 532–543 installation, 22 message queues, 537–543 90-days evaluation version, 22, 645 Windows events, 532–537 Service Pack 1, 22 P/Invoke, 513–516 VM. See Virtual PC machine in system development, 376 VMINI, 134, 317, 476 test application, 384–388 void*, 517, 518, 520, 522 console application subproject, 386–387 Vortex86DX SoC DLL subproject, 388–390 BSP_VORTEX86DX_9120A, 41 using, 387–388 RoBoard, 657 wrapper DLL, 384–385 watchdog timer, 376–378 timeout actions, 374–375 x86 embedded hardware, 657–658 Vortex86 SoC, 376–378 VS2008 IDE (Visual Studio 2008 IDE). See also wavedev driver, 359 Platform Builder IDE WCE Application, 178, 224 context-sensitive, 38, 143 WCE Console Application, 178, 389 debug Win32 smart device application WCE Dynamic-Link Library, 178, 389 project, 202–203 WCE Static Library, 178 defi ned, 17–18 WCE TUX Dynamic-Link Library, 178, 461 development tasks, 35 WDT_DRV, 381–384 fl exibility, 38 WDT_ISR, 379–381 GUI, 38, 208, 218 WDTs. See Watchdog Timers managed code smart device application, web server application, 545–562 207–218 HTML managed-code applications, 176–177 defi ned, 546 native code applications, 177–178, pages, 546, 547, 548, 550, 557 195–205 HTTP, 562 New Project Wizard, 70–71, 177, 196, 197, clients, 546 209, 210, 278, 590, 591 GET requests, 546, 548, 550, 552–553, Platform Builder IDE, 38 554, 556 servicing embedded devices, 545, 562 service, 546 smart device project templates, 177 transport protocol, 546

692

bbindex.inddindex.indd 692692 88/2/11/2/11 5:21:225:21:22 PMPM Web Services WSDL generator – Player OCX Control

HTTP server, 546–547, 550, 562 Windows CE, 37 implementing, 546–550 Windows CE Webcam Project, 564, 653 NET_TOOL.CPP, 547, 548, 549, 550 Windows Embedded community, 649 NET_TOOL.H, 547 Windows Embedded Compact 7. See also objective, 547 Platform Builder reghttpc7, 547, 550 –561 community resources, 649–654 registry viewer, 550–561 compact OS, 14 servicing embedded devices, 545–546, 562 defi ned, 11–12 TCP sockets, 546, 548 design criteria, 12 TCP/IP features, 12–14, 39–40 accept function, 548 forums, 647 HTTP transport protocol, 546, 547 hardware support, 15 recv function, 549 history, 11, 15–16 send function, 549 Microsoft resources, 645–647 Web Services WSDL generator, XML, 646 modular OS, 12, 14 WebCam DLL subproject, 564–566 QFEs, 16, 23 Webcam Project, CE, 564, 653 real time, 14, 491–495 webcam.bib, 565, 566 hardware interface layer, 492–493 WebCam.def, 565 managed application runtime, 494–495 WebCamRead application. See USB camera native application runtime, 494 application services, 491–492 webcam.reg, 565, 566 synchronization, 493–494 WE-DIG (Windows Embedded Developer Interest thread scheduling, 493–494 Group), 649 reasons for using, 17–18 WEST. See Windows Embedded Silverlight Tools Release Notes, 40 white papers, 39, 40 software versions, 21 WideCharToMultiByte, 557 targeted market, 16–17 WIMP (window icon menu pointing device), 344 version releases, 15 Win32 APIs, 13, 175, 184, 494, 512, 514, 567 Windows Embedded Developer Interest Group Win32 native code application subproject. See (WE-DIG), 649 PB7_Win32 subproject Windows Embedded Events Wizard, 270 Win32 smart device application project, 195–205, Windows Embedded Silverlight Tools (WEST) 196–205 Create Platform Builder Subproject Wizard, connect to target device, 198–200 270, 280 debug, 201–205 defi ned, 39, 47–48, 268 deploy to target device, 200–201 port XAML_Hello to native code, 279–281 preparation, 195–196 Update Silverlight for Windows Embedded prerequisites, 195–196 Project Wizard, 270, 285 Win32 Smart Device Project Wizard, 197 Windows Embedded Events Wizard, 270 _WINCEROOT, 42, 53 Windows Embedded Test Kit. $(_WINCEROOT)\OSDesigns\MyCompact7, 74 See Compact Test Kit $(_WINCEROOT)\OSDesigns\MyCompact7\ Windows events, 344, 383, 532–537 MyCompact7, 74 Windows Media Player, 104, 174, 234, 236 window icon menu pointing device (WIMP), 344 Windows Media Player OCX Control, 174

693

bbindex.inddindex.indd 693693 88/2/11/2/11 5:21:235:21:23 PMPM Windows Network Projector – XXX_IOControl

Windows Network Projector, 577–583 Smart Device CAB Project Wizard, 298–299 Connect to Network Projector Wizard, 45, Update Silverlight for Windows Embedded 577, 578 Project Wizard, 270, 285 developing, 578–581 Win32 Smart Device Project Wizard, 197 Network Projector template, 45, 578, 579 Windows Embedded Events Wizard, 270 OS design, 578–581 WM_TIMER, 492 create, 578–579 wrapper DLLs customize, 579–580 COM components, 524–530 OS run-time image WDT test application, 384–385 deploy, 580–581 _Write, 357, 397, 398, 399, 400, 409, 422, 423, generation, 580 432, 436 using, 582–583 WriteFile(), 130 Windows Phone 7, 183–184 WriteFile, 398, 409 .NET Compact Framework, 183–184 WriteMsgQueue(), 378, 505, 539, 542 Windows Security Alert screen, 89 WRITE_PORT_UCHAR, 380, 493 wizards WSACleanup, 549 CEComponentWiz CEDriverWiz v., 607 defi ned, 651 X download, 608 x86 processors, 657–658 FTDI USB to Serial devices, 607–609 MyBSP: X86/Device Drivers components, managed code application in OS image, 75–76 629, 632–633, 638 Vortex86DX SoC online information, 651 BSP_VORTEX86DX_9120A, 41 postlink.bat, 636–637 RoBoard, 657 starting, 608 watchdog timer, 376–378 using, 609 XAML (Extensible Application Markup CEDriverWiz, 434–440 Language), 270–272 DebugMessageZones option, 454 XAML_Hello, 277–281, 283, 285, 286, description, 650 287. See also SWE_Hello application IOCTLs, 440 project Platform Builder Scripts, 435 XLDR, 472 Stream Driver creation, 438, 443–444, !xml, 465 483–484 XML serialization, 252–254 test applications, 417, 439, 450, 458 XML Web Services WSDL generator, 646 using, 436–440 XOUT signal, 341 cloning BSPs, 43–44, 56–57 XXX_Cancel, 357, 397, 398, 401, 410, 422 Connect to Network Projector Wizard, 45, XXX_Close, 357, 397, 398, 399, 401, 409, 422, 577, 578 423, 431 Create Platform Builder Subproject Wizard, XXX_DeInit, 357, 398, 399, 422, 430, 436 270, 280 XXX_Init, 357, 397, 398, 399, 405, 406, 422, New Project Wizard, 70–71, 177, 196, 197, 430–431, 436, 441, 479 209, 210, 278, 590, 591 XXX_IOControl, 357, 397, 398, 400–401, 409, OS Design Wizard, 70–74 422, 432, 440, 511 SDK Wizard, 46, 83, 85, 590

694

bbindex.inddindex.indd 694694 88/2/11/2/11 5:21:235:21:23 PMPM XXX_Open – zo command

XXX_Open, 357, 397, 398, 399, 400, 401, 407, Y 409, 422, 423, 431–432 XXX_PowerDown, 357, 397, 398, 401, 410, 422 YCbCrToRGB, 572 XXX_PowerUp, 357, 397, 398, 401, 410, 422 XXX_PreClose, 357, 397, 398, 401, 422 Z XXX_PreDeinit, 357, 398, 399, 422 XXX_Read, 357, 397, 398, 399, 400, 409, 422, Z9s XGI Display driver component, 61-63 423, 436 zero-bootloader solution, 309 XXX_Seek, 357, 397, 398, 399, 400, 422 ZigBee development module, 613, 616 XXX_Write, 357, 397, 398, 399, 400, 409, 422, ZigBee-embedded radios, 605 423, 432, 436 zo command, 122, 457, 464

695

bbindex.inddindex.indd 695695 88/2/11/2/11 5:21:245:21:24 PMPM