List of Tables

Table 1.1 Values represented by two bits 9

Table 1.2 The first 21 integers (starting with 0) in various bases 10

Table 1.3 The ASCII control characters 21

Table 1.4 The ASCII printable characters 22

Table 1.5 Binary equivalents for each character in “Hello World” 23

Table 1.6 Binary, hexadecimal, and decimal equivalents for each character in “Hello World” 24

Table 1.7 Interpreting a hexadecimal string as ASCII 24

Table 1.8 Variations of the ISO 8859 standard 25

Table 1.9 UTF-8 encoding of the ISO/IEC 10646 code points 27

Table 3.1 Flag bits in the CPSR register 58

Table 3.2 ARM condition modifiers 59

Table 3.3 Legal and illegal values for #<immediate|symbol> 60

Table 3.4 ARM addressing modes 61

Table 3.5 ARM shift and rotate operations 61

Table 4.1 Shift and rotate operations in Operand2 80

Table 4.2 Formats for Operand2 81

Table 8.1 Format for IEEE 754 half-precision 244

Table 8.2 Result formats for each term 252

Table 8.3 Shifts required for each term 252

Table 8.4 Performance of sine function with various implementations 259

Table 9.1 Condition code meanings for ARM and VFP 271

Table 9.2 Performance of sine function with various implementations 292

Table 10.1 Parameter combinations for loading and storing a single structure 304

Table 10.2 Parameter combinations for loading multiple structures 306

Table 10.3 Parameter combinations for loading copies of a structure 308

Table 10.4 Performance of sine function with various implementations 357

Table 11.1 Raspberry Pi GPIO register map 379

Table 11.2 GPIO pin function select bits 380

Table 11.3 GPPUD control codes 381

Table 11.4 Raspberry Pi expansion header useful alternate functions 385

Table 11.5 Number of pins available on each of the AllWinner A10/A20 PIO ports 385

Table 11.6 Registers in the AllWinner GPIO device 386

Table 11.7 Allwinner A10/A20 GPIO pin function select bits 388

Table 11.8 Pull-up and pull-down resistor control codes 389

Table 11.9 pcDuino GPIO pins and function select code assignments. 392

Table 12.1 Raspberry Pi PWM register map 398

Table 12.2 Raspberry Pi PWM control register bits 399

Table 12.3 Prescaler bits in the pcDuino PWM device 401

Table 12.4 pcDuino PWM register map 401

Table 12.5 pcDuino PWM control register bits 402

Table 13.1 Clock sources available for the clocks provided by the clock manager 407

Table 13.2 Some registers in the clock manager device 407

Table 13.3 Bit fields in the clock manager control registers 408

Table 13.4 Bit fields in the clock manager divisor registers 408

Table 13.5 Clock signals in the AllWinner A10/A20 SOC 409

Table 13.6 Raspberry Pi UART0 register map 413

Table 13.7 Raspberry Pi UART data register 414

Table 13.8 Raspberry Pi UART receive status register/error clear register 415

Table 13.9 Raspberry Pi UART flags register bits 415

Table 13.10 Raspberry Pi UART integer baud rate divisor 416

Table 13.11 Raspberry Pi UART fractional baud rate divisor 416

Table 13.12 Raspberry Pi UART line control register bits 416

Table 13.13 Raspberry Pi UART control register bits 417

Table 13.14 pcDuino UART addresses 422

Table 13.15 pcDuino UART register offsets 423

Table 13.16 pcDuno UART receive buffer register 424

Table 13.17 pcDuno UART transmit holding register 424

Table 13.18 pcDuno UART divisor latch low register 424

Table 13.19 pcDuno UART divisor latch high register 425

Table 13.20 pcDuno UART FIFO control register 425

Table 13.21 pcDuno UART line control register 426

Table 13.22 pcDuno UART line status register 427

Table 13.23 pcDuno UART status register 427

Table 13.24 pcDuno UART transmit FIFO level register 428

Table 13.25 pcDuno UART receive FIFO level register 428

Table 13.26 pcDuno UART transmit halt register 428

Table 14.1 The ARM user and system registers 433

Table 14.2 Mode bits in the PSR 434

Table 14.3 ARM vector table 435