Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Embedded Systems Design - An Introduction to Processes Tools and Techniques (A. Berger, 2002)

.pdf
Скачиваний:
374
Добавлен:
12.08.2013
Размер:
2.94 Mб
Скачать

space 71

 

 

 

placeholder 85

 

 

 

codesign

 

 

 

See co-verification

 

 

 

CodeTEST 203

 

 

 

ColdFIRE 127, 151–152, 154

 

 

command file

 

 

 

linker 84–85

 

 

 

COMMON 86

 

 

 

communications port 121, 123

 

 

compiler 39–40

 

 

 

benchmarking 40

 

 

 

choosing 39

 

 

 

code

 

 

 

generation 39

 

 

 

compile only 76

 

 

 

embedded C++ 39

 

 

 

features 38

 

 

 

libraries 39

 

 

 

optimization 39, 142

 

 

Y

RTOS support 39

 

 

 

 

 

startup code 39

 

 

 

VHDL 51

 

F

compliance testing 17

 

 

M

 

condition coverage 193

 

L

constant storage 71

 

context

 

 

 

saving 74, 80

E

 

core 25

A

 

corruption 105

 

cost xx

 

coverage 144, 189

 

 

 

See also testing and white-box tests

 

 

cache 200

T

 

 

decision 198

hardware instrumentation 199 ISR 201

logic analyzer 200 measuring 197–201 modified condition 198 software instrumentation 197 tools 198

co-verification 61, 196 critical

sequence 195 cross compiler 38

cross-triggering 177, 180 crt0 78–79

customer interviews 4, 6

D

data section 84 space 71

Dataquest 106

Team-Fly®

D-cache 139 dead bugs 13 dead code 204 deadline 196 debugger xxiv entry point 166 front end 116 remote 115–121

debugging 14, 120, 149

See also BDM See also intrusion See also JTAG See also Nexus

and overlay memory 177 and watchdog 104 breakpoint 116

circuitry xxvi, 141 core 154 execution time 132

experiment deisgn 145 host-based 112 importance of strategy 38 information 69, 205

ISR 174

ISS 114

kernel 14, 111, 115, 117–121, 166, 169 loop problems 134

multiple processors 157

on-chip support xxvi, 41, 120, 141 real-time 154

RTOS aware 195 RTOS task 133

run control 116, 166 single-step 116 source level 132 stub code 49 support 140

tools 36, 40

trace facilities 169 with cache 139 write to const 177 write to ROM 177 decision

coverage 192, 198 path 192

point 192 design

methodology 106 verification 60 design cycle

See life cycle

development environment 69 Dhrystone 26–27

direct memory access (DMA) 108 disable interrupt 75, 97–98 disassembler 76

distributed emulator 165, 180 divide by zero 71

DMA

See direct memory access download

and flash memory 105 program 121, 124 DSP 213

duality hardware/software 48 dynamic

allocation 71, 80 memory use 202 RAM 101

E

EEMBC 29–30 eJTAG

See JTAG

electronic design tools 60 embedded C++ 39 emulator 168, 179 distributed 165, 180 port 123

ROM xxv, 41, 111, 120–125, 165

See also ICE

END 87

endian 112–114 engineer retread 58

environmental conditions xviii, xxiii error guessing 191, 193 evaluation board 126

exception 70 table 75, 97 tests 191

vector 71, 82, 173

execution environment 70–77 extender card 126

external 91 external symbol 86

F

fabless chip vendors 57 fabrication

See also IC

FCC regulations 17 fetch–execute cycle 75 finite state machine

See FSM

fixed-point library 80 flash memory 104–105 floating-point 80 emulation 7 floating-point unit 48

See also FPU flowcharts 98 FORMAT 87 FP 77

FPGA 43, 210–213 FPU 48

frame pointer See FP free memory 72 FSM 107–108

See statechart function 77 linkage 71, 75, 77 preamble 77 reentrant 99–100 functional tests

See also testing See black-box tests

G

geometries 50 GEPDIS

See Nexus glass-box tests

See also white-box tests global 86

storage 71

graphics accellerators 50 gray-box testing 193 green wires 13, 59

H

HALT 154

Halting Theorem 186 hard real-time 196 hardware breakpoint 173 instability 150 manipulating 89

reconfigurable 209, 212–213, 225 simulation 60

trends 50 hardware/simulation 196 hardware/software duality 48

partition 2, 7 hardware-assist xxvi heap 72

hazzards 81

host-based debugging 112

I

I/O

address space 89 in C 89

limitations xxiv memory-mapped 91 port-mapped 90 space 72

IC design 60

fabrication 50 I-cache 139

See also cache

ICE 41, 165–183 connecting 170 coverage bit 200

cross triggering 177, 180 overlay memory 175 timing constraints 178 triggers 181

usability 181 IEEE 1149.1

See JTAG

IEEE ISTO-5001

See Nexus

IEEE-695 87 in-circuit emulator

See ICE

in-circuit programmability

See flash memory initialization system xxiv inline assembly 38, 90 Instruction 62 instruction set simulator

See ISS integration testing 194

intellectual property 56 internal symbol 86 interrupt 70, 97–98, 166 context 74

disabling 75, 97–98 function 38

latency 97 linkage 71 nested 98 response 74–76

vector 71, 116, 166 interrupt service routine

See ISR

interviews, customer 4, 6 intrusion

compiler 142 coverage tools 198 physical 125 realtime 125 signal 125

ISR 75, 97–99, 101, 117, 121, 153, 173

See also interrupt coverage 201

execution time 101 time-critical 101 ISS 62, 112 debugging with 114 ISTO-5001

See Nexus

iteration and implementation 2

J

JSR 75–76

JTAG 118, 140, 149, 155–156, 158–160 addressable loops 157

commands 157 pin definition 158

K

kernel

debug 115, 117–121

L

LAPD benchmark 27

laser printer algorithm 8, 48 latency

interrupt 97 library 39 precompiled 84 run-time 80 shared 84

life cycle 1–19

detailed design phase 11 integration phase 12–15, 54

iteration and implementation phase 10 maintenance and upgrade phase 17–19 partitioning 7, 47

processor selection 2, 21 product specification phase 4–7 shortening 55

test phase 15–17 tool view 2 limitations 138

Link Access Protocol-D

See LAPD

linker 69, 82–87, 91

linker commands 84–85, 91–92 COMMON 86

END 87 FORMAT 87 LISTMAP 86 LOAD 87 NAME 86 ORDER 86 PAGE 86 PUBLIC 86 TESTCASE 86

listing file 39, 76 little endian

See endian

LNK 77 loaders 69

loading program 116, 121–122 local variable

and stack frame 77 logging

See trace

logic analyzer 41–144, 165, 169, 198

See also state transitions See also triggers

and profiling 142 cache 139

physical connection 138 preprocessor 138 source display 132

M

main() 75, 78 maintenance 206 malloc() 72, 80–81 manufacturer semiconductor

See chip vendor mapper memory 177 market research 4, 6

mechanical access 126–127 memory

access time 178 constants 71 coverage bit 200 flash 104

free 72 management 81, 84

management unit 175 map 70, 72, 92, 176 mapping 176 modifying 116 nonvolatile 104 organization 70 overlay

See also shadow substitution xxv, 15, 179 wait states 178 memory-mapped I/O 72, 91

message-passing architecture 108 MF5206e 127, 151 microprocessor core 25

microprocessor vs. microcontroller 24 microprogrammer 105

MIPS 26

modified condition decision coverage 198 modifying memory 116

module testing

See testing

monitor programs 169 mutual access 99

N

NAME 86

nested interrupts 98 NetROM xxv

new 72, 80 Nexus 149, 159

IEEE ISTO-5001 141 levels of compliance 160 NMI 102, 117, 166–167 noncachable data 95 non-maskable interrupt

See NMI

NRE charge 60 n-wire 150–151

O

object file 82

object management group (OMG) 106 object module

relocatable 84 on-chip circuitry

performance counters 205 optimization 39

and pointers 95 code 80 compiler 142 ORDER 86 ORG 83

overclocking xxii overflow 71

overlay memory 174–175

See also shadow memory and substitution memory

P

package 126 PAGE 86 parameters stack frame 77 partitioning 47 decision 7

hardware/software 7 HW/SW convergence 52–58 problem space 49

revising 59 tools 49 PBX 206 performance analyzer 41 cache 204

improving 18 measurements 26–32, 143 measuring 142

on-chip circuitry 205 processor 22

testing 192, 201–206 physical

connection 138 intrusion 125 pointer

and code optimization 95 polling loop 94, 97

POP 75 port

communication 121, 123 emulator 123 port-mapped I/O 90 POST 78 post-processing

trace data 132 power constraints xviii consumption xxii failure 167 power-up 105

precompiled library 84 preprocessor 138 printf() 80

for debugging 14 printIntAsHex() 80 printStr() 80 priority

See interrupt probe effect

See intrusion processor availability 22 family 42 military specs 22 O/S support 23

performance 22, 26 selection xix, 2, 21 tool support 23 product specification 2, 4–7 testing 15

profiling 142

See also performance program

counter 74, 77, 140 loading 116, 121, 124 sections 84

programming techniques 89–106 project management 6 pseudo-instruction 83

PUBLIC 86

PULSE 152

PUSH 75

Q

queue size 196

R

RAM shadow 166

random tests 192 real-time

and benchmarks 28 constraints xx time-critical xx time-sensitive xx deadlines 196 debugging 154 failure modes 195 response time 195 system integration 14 trace 15, 152, 169

reconfigurable hardware 209, 212–213, 225 reentrancy 98–99

function 99–100 register

debug 154 frame pointer 77

program counter 74, 77 stack pointer 74 viewing 116

regression testing 188, 196 regulatory compliance 17 relative byte count 83 relocatable

module 69, 82–84

remote debugger 111, 115–121 reprogramming 105

research 4 market 4, 6

RESET 73–74, 78, 102, 120, 167 resource constraints xxiii

respin 58–59 response time 195 RETI 75

retread engineer 58 return

from main() 75

return address 71, 75–76 and stack frame 77 reverse engineering 18 RF suppression 17

risk 60, 186 ROM 71 breakpoint xxiv checksum 78