A: Drive 396, 574 a Class 193 ABI See Application Binary Interface ABLD
Total Page:16
File Type:pdf, Size:1020Kb
Index A: drive 396, 574 active objects 2–3, 120–6, audio 40 A class 193 231, 273, 430, 490–4, system alarms 204–5, 745 ABI see Application Binary 502–48, 568–74, 763–4, alerts, audio 40 Interface 787–8 algorithms ABLD tool 175 see also asynchronous allocation strategies 306, 829, AbortNow 472 operations; event-driven 848–9 aborts programs defragmentation 736 see also exceptions TRequestStatus 231, 273, lock-free algorithms 836–9, concepts 208–9, 210–19, 430, 493–4, 502–48, 847 236–49, 262 570–4, 763–4, 787–8 moving memory model 283–7 AbsoluteTimerExpired 671, Add 246, 341, 674 multiple memory model 294–5 AddEvent 683–5 493–4, 671, performance issues 826–50 abstract allocator class, concepts 756–62 scheduling 767–823 AddFileSystem 302–4 341 selection issues 839 AddHalEntry 496–8 Abstract Control Model (ACM) workload analysis 729–30 address spaces 604–12 alignment issues, efficient code homonyms 275–8, 288–91 accelerators, multimedia 19–20, 832–3 moving memory model 42 AllFiles 328–30 275–87, 421–2, 651 accepted message-state Alloc 302–5 multiple memory model Allocate client-server ITC 141–3 287–96, 426, 650–1 270–3 AllocateSupervisorStack kernel-side messages 149–50 processes 93, 102–15, ‘accepting’ messages, client-server 252–62, 275–91 272–3 ITC 132–43 synonyms 276–8, 288–91 AllocateUserStack 272–3 access counts, kernel objects virtual/physical addresses allocation strategies 163–73 254–62, 275–91, 297–8, see also free-store allocators access issues 740–2 algorithms 306, 829, 848–9 data-caging concepts 327–30, Adjust 270–1 chunks 14–15, 95–7, 160, 345–6 AdjustDoubleEnded 270–1 166, 173–7, 184–7, 192, files 128–9, 327–30, 336–86, Again 198–201 264–73, 278–87, 292–4, 409–10 AGCH, GSM protocol 789–807 298–309, 562–74, 638–9 ACM see Abstract Control Model agents, debuggers 616–37, comparisons’ tables 309–10 Activate 450–6 640–3 efficient code 829, 848–9 active mode 662, 676, 716 alarms failures 311–14 868 INDEX allocation strategies (continued) Application-specific Integrated 275–87, 300–4, 421–2, 426, free-store allocators 251–2, Circuits (ASICs) 8, 10, 620–3, 634–7, 642, 652–3, 299–306, 309–10, 742–5, 11–13, 19–29, 194–5, 738–9, 775–9, 797–807, 848–9 483–4, 488 826–50 heaps 298, 299–306, 848–9 see also System-on-Chip debuggers 620–3, 634–7, 642, memory 293–4, 298–309, concepts 19–29, 620–3 652–3 559–62, 638–9, 829, Application-specific exceptions 210–15, 220–36, 848–9 Semi-conductor Parts (ASSPs) 237–49 performance issues 829, 848–9 see also System-on-Chip memory model 255–62, allocator APIs, concepts 251–2, concepts 20–9 274–87, 300–4, 421–2, 300–1 Application-Specific Standard 426 AllocLen 302–5 Product (ASSP), concepts 4, MMU features 255–62, AllocShadowPage 640 9–10, 12–13, 14, 187–95, 274–87 AllocSize 302–5 220–36, 246–9, 479–87, performance issues 826–50 ALWAYS BUILD AS ARM 24–5 552–62, 577–9, 596–601 RealView compiler 387, 621–3 ANI files 442–3 applications registers 212–15, 220–36, Animate 444–56 see also executables; 237–49, 256–62, 775–9 animation DLLs processes; software ARM CPU software layer, concepts client communications 448–50 basic concepts 3–4, 210, 318, 12, 15–16, 19–29, 31–3, client-side code 453–6 476–7, 825–50 41–2, 47–9, 66–71, 100–12, concepts 429–36, 442–56 domain manager 751, 756–62 161, 173, 179–80, 187–95, creation 442–3 LRTA 808–23, 835–50 210–15, 220–38, 252–3 handwriting example 442–56 multi-tasking aspects 3–4, ARM Ltd 20, 23–5 pointer events 450–2 13–15 ARM v3 274 sending events 452–6 platform security 318 ARM v5 sprite anims 443–56 priorities 4–7, 13–15, 210, see also caches types 443–4 810–23, 825–6, 834–50 concepts 24, 27–8, 274–8, anonymous chunks shutdown 431–74, 535–43, 287, 294, 642, 826, see also chunks 737, 750–62 829–31, 833–4, 836–9 concepts 308–9 windows 457–62 ARM v5TE 24, 27, 826 AP see application processor architectures ARM v6 APIs see Application Programming see also ARM...; EKA2...; see also caches Interfaces X86... concepts 28, 271, 274, 287, AppendHandler 673–4 F32 system architecture 333, 288–95, 319–20, 829–31, appendices 851–66 335–86, 424, 579, 656–8 836–9 Application Binary Interface (ABI) kernel architecture 4, 6–13, never-execute bit 319–20 413–27 23, 187–95, 251–3, 783–8 ARM v7 426 application processor (AP) shutdown options 751–62 ARM VFP (vector floating point) see also System-on-Chip software layering 11–13, 43, 241, 246–9 concepts 17–43, 826–31 47–9, 187–95, 252–314 ArmMmu 193–4 Application Programming Symbian OS kernel architecture ArmVectorSwi 176 Interfaces (APIs) 1–2, 4, 6–13, 187–95, 251–3, arrays 11, 30, 95–7, 154, 118–44, 150–60, 188–9, 262–73, 783–8 168–73, 816–21 231–6, 243–6, 262–73, ARM9 826–7 classes 11 298–310, 320–6, 335–46, ARM11 827–8 object indexes 168–73 365–7, 614–59, 669–76, ARM926 831–3 ASCII code 166, 389–90, 684, 732–3, 758–62 Arm 192–3, 654–6 398–400, 579, 826 Application Space Identifiers ARM architecture 20–8, 210–15, Asic 194–5, 483–4, 488, 496, (ASIDs) 28, 288–9, 292–5 220–49, 255–62, 271, 654–6, 682, 689, 743–5 INDEX 869 see also variant extensions backups, shutdown 751 Board Support Package (BSP), AsicInitialise 483–4 backwards compatibility, concepts 43, 740–2, 826, see ASICs Application-specific client-server ITC 139 845 Integrated Circuits Bad Block Manager (BBM) boolean flags 148, 198–201, 352 ASIDs see Application Space 379–85 boot processes Identifiers base area, client windows 465–6 Assabet platform 10, 787–8 base classes 12–13, 124–6, see also EFILE...; assembler code 12–13, 192–3, 161–2, 442–3 EKERN...; ESTART... 219–24, 826–7, 849 see also TDes... alternative startup scenarios assp.h 194–5 Base Port Kit (BPK) 43, 483 383–5, 747–50 ASSP see Application-Specific base porters 689, 704 concepts 10–13, 22–6, 30–2, Standard Product base support package, concepts 41–3, 71, 90–2, 237–49, ASSPs see Application-specific 11–13, 43 310, 335–9, 376, 383–4, Semi-conductor Parts baseband processor (BP) AsyncClose 166 see also telephony stack 429–30, 476–80, 578–9, asynchronous message queues audio 19, 39–40 737–64 see also inter-thread concepts 9, 17–20, 39–40, core loader 30, 383–5, communications 795–7 737–42, 747–50 concepts 145–60, 531–43 function 795–6 CPU 738–42 sending methods 137–50 baseline instruction set, ARM v5TE emulator 97, 749–50 visibility issues 146 24 exceptions 740–5 asynchronous operations batteries 17–18, 30, 40, 41–2, 145–60, 344, 350–8, 362–4, 334–5, 376, 586–7, extensions 10, 479–80, 490–4, 501–2, 527–43, 659–736, 795–7, 828 738–64, 810 544–8, 568–74, 787–8 see also power... file server 338–9, 383–5, 579, see also active objects chargers 795–7 737–64 AsyncNotifyChanges 91 BBM see Bad Block Manager GUI 738–42, 747–50 atomic instructions, concepts BCCH, GSM protocol 789–807 high-level processes 739–42 776–9, 836–9 BeginRedraw 469 initialization 739–65 attached state, state machine bibliography 865–6 134–9 binary searches, efficiency benefits kernel 13–15, 90–2, 338–9, attributes, processes 96 826 476–80, 579, 737–64 audio 17–21, 39–40, 92, 307 Bind 232–6, 814–21 miniboot program 383–5, see also multimedia bit fields, handles 167–8 747–50 AP 19–21 BitBlt 455–6 MMU 738–42 BP 19, 39–40 BitBltMasked 455–6 NAND flash memory 30, 32, data types 39–40 bitmaps 432, 444–56, 464–71 383–5, 737–64 latency 39–40 blank windows, drawing 467 multimedia 39–40 blocks null thread 13–15, 90–1, voice calls 19, 39–40 BBM 379–85 744–5, 835–50 Available 302–5 FDBs 369–75, 829 operating system 737–47 awaiting-message state, state memory 262–73, 298–310, stages overview 737–45, machine 130–43 368–75, 379–85, 747–50, 747–50 779, 822–3, 829 supervisory thread 10, 91–3, threads 49–62, 70, 76, 80, 479–80, 737–64 Babbage, Charles 161 98–112, 351–8, 544, backup behind, drawing 469–70 780–8, 822–3 Symbian OS 737–47 backup content windows, drawing Bluetooth connectivity (BT) 9, timeline overview 740–5 467–8 39–40, 42, 616, 807–8 window server 429–30, 746–7 870 INDEX BootEpoc 97, 749–50 masters 20–43 CalcDefaultThreadPriority bootrom.bin 742 slaves 21–9 108–9 bootstrapping byte array, properties entity 154 call control stack 18–20, 807 concepts 737–42, 747–50 callbacks 590–4, 634–8, 704–5, definition 737 709–10, 714, 717, 816–21 superpage 742 C++ 221, 223, 240, 298–310, calling threads, device drivers bounding rectangles, concepts 411–13, 427, 482–4, 623, 484–7 468–9 652–3, 739–40, 743, 849 camera images, RAM requirements see BP baseband processor C32 comms server 118, 606–12 29–30 see BPK Base Port Kit C 1, 298–310, 339–40 Campbell, Joseph 315 Cancel breakpoints, debuggers 243, 615, C: drive (NAND flash memory) 122–6, 197–201, 620, 641–52 31, 338, 385, 392, 574–89, 554–62 Broadcast CancelSessionOp 86–8 611 353–4, Brutus 10 Cache 561–2, 642 357–8 BSP see Board Support Package caches CancelTransition 761–2 .bss sections, DLLs 113, 421–3, see also buffers; physical CancelWakeupEventNotifi- 639, 810 memory cation 670, 672–3, 761–2 BT see Bluetooth concepts 25–9, 251–3, 262, CAnim 443–56 buffers 25–6, 30–2, 38, 105–12, 275–87, 288–91, 374–5, CAnimDll 443–56 160, 225–31, 257–62, 377–81, 396, 560, 642, CAnimGc 444–56 275–87, 320, 340, 344–5, 830–4 capability-model concepts 409, 478–9, 552–74, CPU 27–8, 262, 275–8 DLLs 321–4, 487 610–12, 797–807, 823, definition 830–1 platform security 317, 320–6, 833–4, 839–40 efficiency issues 26–8, 253, 473–4, 487, 492, 498, see also caches 262, 830–4 515–17, 522–4, 580–1 file server 340 expense 831 rules 320–4 flash components 32 FAT file system 377–81 Caps 580–1 inter-thread communications flush requirements 27–9, 41, capture, events 185, 245–6, 160, 298, 307–10, 562–74, 278–87, 290, 377–81, 429–30, 493–4, 632–7 823 782–3 CaptureEventHook