spinnaker_tools 3.4.0
SpiNNaker API, sark, sc&mp, bmp firmware and build tools
Loading...
Searching...
No Matches
scamp.h
Go to the documentation of this file.
1//------------------------------------------------------------------------------
9//------------------------------------------------------------------------------
10
11/*
12 * Copyright (c) 2009 The University of Manchester
13 *
14 * Licensed under the Apache License, Version 2.0 (the "License");
15 * you may not use this file except in compliance with the License.
16 * You may obtain a copy of the License at
17 *
18 * https://www.apache.org/licenses/LICENSE-2.0
19 *
20 * Unless required by applicable law or agreed to in writing, software
21 * distributed under the License is distributed on an "AS IS" BASIS,
22 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23 * See the License for the specific language governing permissions and
24 * limitations under the License.
25 */
26
27#ifndef SCAMP_H
28#define SCAMP_H
29
30//------------------------------------------------------------------------------
31
34#define MAX_CPUS 20
35
36#define MONITOR_CPU 0
38//------------------------------------------------------------------------------
39
42
44#define SCAMP_MC_ROUTING_KEY 0xffff5554
45
47#define SCAMP_MC_ROUTING_MASK 0xfffffffe
48
49// The meaning of the individual keys - an enum might be better but doesn't
50// work because the 'enumeration value is out of "signed int" range'
51
53#define SCAMP_MC_TIME_SYNC_KEY 0xffff5554
54
56#define SCAMP_MC_SIGNAL_KEY 0xffff5555
57
59#define MC_SLOT SLOT_FIQ
61//------------------------------------------------------------------------------
62
65
66// These settings handle a boot image of size BLOCK_COUNT * BYTE_COUNT bytes
67// Image sizes < 32kB are possible.
68// BLOCK_COUNT * BYTE_COUNT must be < 32kB
69
71#define BLOCK_COUNT 32 // From 1-32
73#define WORD_COUNT 256 // From 1-256
75#define BYTE_COUNT (WORD_COUNT * sizeof(uint))
77#define BOOT_IMAGE_SIZE (BLOCK_COUNT * BYTE_COUNT)
79//------------------------------------------------------------------------------
80
83// IPTag table sizes
84
86#define TAG_FIXED_SIZE 8 // At bottom of table
88#define TAG_POOL_SIZE 8
89
91#define FIRST_POOL_TAG TAG_FIXED_SIZE
93#define LAST_POOL_TAG (TAG_FIXED_SIZE + TAG_POOL_SIZE - 1)
94
96#define TAG_TABLE_SIZE (TAG_FIXED_SIZE + TAG_POOL_SIZE)
97
98// IPTAG definitions
109
112 IPFLAG_VALID = 0x8000,
113 IPFLAG_TRANS = 0x4000,
114 IPFLAG_ARP = 0x2000,
115
117 IPFLAG_REV = 0x0200,
118 IPFLAG_STRIP = 0x0100
121
122//------------------------------------------------------------------------------
123
126
129 SDPF_REPLY = 0x80,
130 SDPF_SUM = 0x40,
131 SDPF_NR = 0x20
134
135//------------------------------------------------------------------------------
136
139
149 FAIL_RESET = 0xc0,
150 FAIL_ROMX = 0xc1,
151 FAIL_ITCM0 = 0xc2,
152 FAIL_ITCM1 = 0xc3,
153 FAIL_DTCM = 0xc4,
154
155 FAIL_TIMER = 0xc5,
156 FAIL_VIC = 0xc6,
157 FAIL_CC = 0xc7,
158 FAIL_DMA = 0xc8,
159
160 FAIL_MP = 0xc9,
161 FAIL_LATE = 0xca,
162 FAIL_MANUF = 0xcb,
163 FAIL_SLEEP = 0xcc,
164
165 FAIL_TLM = 0xcf,
166
167 FAIL_VEC = 0xa0,
168};
170
171//------------------------------------------------------------------------------
172
175
228
233
238
240 NN_CMD_FBD = 13,
241 NN_CMD_FBE = 14,
242 NN_CMD_FFE = 15
243};
252
253//------------------------------------------------------------------------------
254
257
264
267 P2P_OPEN_REQ = (1 << 24),
268 P2P_OPEN_ACK = (2 << 24),
269 P2P_DATA_ACK = (3 << 24),
270 P2P_CLOSE_REQ = (4 << 24),
271 P2P_CLOSE_ACK = (5 << 24),
272 P2P_PING = (6 << 24),
273 P2P_COUNT_REQ = (7 << 24),
274 P2P_COUNT_RESP = (8 << 24)
276
277#define P2P_DEF_SQL 4
278
279//------------------------------------------------------------------------------
281#define NO_IDEA (-1024)
282
284#define P2P_ADDR_TABLE_BYTES (512 * 512 / 8)
285
288#define P2PB_OFFSET_USEC 100
289
291
292//------------------------------------------------------------------------------
293
296
297#define NODE_DLY_NS 500
298#define BRD_DLY_NS 900
299#define TOP_DLY_US 155
300
302
303//------------------------------------------------------------------------------
304
307
308#define NN_HOP_MASK 0x3ff
309
310#define HOP_TABLE_SIZE 65536
312
313//------------------------------------------------------------------------------
314
317
343
354
355//------------------------------------------------------------------------------
356
369
370//------------------------------------------------------------------------------
371
374
388
390#define PKT_QUEUE_SIZE 32
391
393typedef struct pkt_queue_t {
396 volatile uchar count;
397 uchar max;
398 pkt_t queue[PKT_QUEUE_SIZE];
400
410
412typedef struct { // 64 bytes
417 ushort __PAD1;
419 ushort addr[16];
420 uchar valid[16];
421} level_t;
423
424//------------------------------------------------------------------------------
425
429
430extern uint pkt_tx(uint tcr, uint data, uint key);
431extern uint pkt_tx_wait(uint tcr, uint data, uint key);
432extern void proc_byte_set(uint a1, uint a2);
433extern void proc_word_set(uint a1, uint a2);
434extern void msg_queue_insert(sdp_msg_t *msg, uint srce_ip);
435extern uint iptag_new(void);
436extern void assign_virt_cpu(uint phys_cpu);
437extern void remap_phys_cores(uint phys_cores);
438extern void delegate(void);
440
444
445extern void compute_eth(void);
446extern void compute_level(uint p2p_addr);
447extern void ff_nn_send(uint key, uint data, uint fwd_rty, uint log);
448extern void biff_nn_send(uint data);
449extern void nn_cmd_biff(uint x, uint y, uint data);
450extern void nn_mark(uint key);
451extern uint link_read_word(uint addr, uint link, uint *buf, uint timeout);
452extern uint link_write_word(uint addr, uint link, uint *buf, uint timeout);
453extern uint next_id(void);
454extern void nn_init(void);
458extern void proc_ffe(uint aplx_addr, uint cpu_mask);
460
464
481extern uint cmd_srom(sdp_msg_t *msg);
483
487
488extern void vic_setup(void);
490
494
495extern void img_cp_exe(void);
497
501
502extern void proc_start_app(uint aplx_addr, uint id_op_mask);
503extern void signal_app(uint data);
504extern void boot_ap(void);
505extern void clock_ap(uint virt_mask, uint enable);
506extern void reset_ap(uint virt_mask);
508
512
513extern uint p2p_send_msg(uint addr, sdp_msg_t *msg);
514extern void desc_init(void);
515extern uint p2p_send_ping(uint addr, uint link);
516extern void p2p_req_count(uint addr, uint app_id, uint state);
518
522
523extern void p2pc_addr_nn_send(uint arg1, uint arg2);
524extern void p2pc_dims_nn_send(uint arg1, uint arg2);
525extern void p2pb_nn_send(uint arg1, uint arg2);
527
531
532extern uint scamp_debug(sdp_msg_t *msg, uint srce_ip);
534
538
539extern void boot_nn(uint hw_ver);
540
542
543//------------------------------------------------------------------------------
544
547extern srom_data_t srom;
548
549extern uint link_en;
550extern uint num_cpus;
551
552extern iptag_t tag_table[];
553extern uint tag_tto;
554
555extern uchar v2p_map[MAX_CPUS];
556
557extern volatile enum netinit_phase_e netinit_phase;
558extern volatile enum ethinit_phase_e ethinit_phase;
560
563extern uint mon_del;
564
565extern uint* hop_table;
566
567extern uchar core_app[MAX_CPUS];
568extern uint app_mask[256];
570
573extern uint p2p_addr;
574extern uint p2p_dims;
575extern uint p2p_root;
576extern uint p2p_up;
577
578extern volatile uint ticks_since_last_p2pc_new;
579extern volatile uint ticks_since_last_p2pc_dims;
580extern volatile int p2p_addr_guess_x;
581extern volatile int p2p_addr_guess_y;
582extern volatile int p2p_min_x;
583extern volatile int p2p_max_x;
584extern volatile int p2p_min_y;
585extern volatile int p2p_max_y;
586extern uchar *p2p_addr_table;
588
589//------------------------------------------------------------------------------
590
591#endif
Struct holding a packet.
Definition sark.h:811
SDP message definition.
Definition sark.h:574
Contents of SV SROM area (32 bytes)
Definition sark.h:517
static uint x
The x coordinate of this chip.
Definition scamp-3.c:226
static uint y
The y coordinate of this chip.
Definition scamp-3.c:229
uchar core_app[MAX_CPUS]
What application (or at least AppID) is running on each core.
Definition scamp-nn.c:109
void delegate(void)
Delegate acting as a monitor to another core.
Definition scamp-3.c:1939
void p2pc_dims_nn_send(uint arg1, uint arg2)
Transmit our current best guess of coordinates to all neighbouring chips.
Definition scamp-nn.c:542
void boot_ap(void)
Boot APs.
Definition scamp-app.c:75
pkt_t pkt
What to send.
Definition scamp.h:408
volatile int p2p_min_x
Estimated minimum X size.
Definition scamp-3.c:164
uchar v2p_map[MAX_CPUS]
Virtual-core-ID to physical-core-ID map.
Definition scamp-3.c:100
uint link_en
Bitmap of enabled links.
Definition scamp-3.c:114
ushort tx_port
Transmit port.
Definition scamp.h:379
volatile int p2p_max_x
Estimated maximum X size.
Definition scamp-3.c:165
volatile uint ticks_since_last_p2pc_new
Number of 10ms ticks ellapsed since the last P2PC_NEW arrived.
Definition scamp-3.c:141
uchar fwd
Is this a forwarded packet.
Definition scamp.h:405
iptag_t tag_table[]
Table of all IPTags.
Definition scamp-3.c:125
void p2pb_nn_send(uint arg1, uint arg2)
Transmit "P2PB" table generating packets.
Definition scamp-nn.c:579
uint p2p_send_msg(uint addr, sdp_msg_t *msg)
Send an SDP message to another SCAMP instance.
Definition scamp-p2p.c:365
scamp_sdp_flags
Bits in SDP Flags byte (3 used)
Definition scamp.h:128
@ SDPF_REPLY
Reply expected.
Definition scamp.h:129
@ SDPF_SUM
Checksum before routing.
Definition scamp.h:130
@ SDPF_NR
Don't route via P2P.
Definition scamp.h:131
uchar delay
How long to wait before sending.
Definition scamp.h:406
uint p2p_up
Whether the P2P system is operational or still needs to be initialised.
Definition scamp-3.c:109
uint p2p_addr
Our P2P address.
Definition scamp-3.c:103
void img_cp_exe(void)
Copy executable image from SDRAM to ITCM and boot it.
Definition scamp-del.c:36
struct pkt_buf_t * next
Next packet to transmit.
Definition scamp.h:403
ushort timeout
Timeout when waiting to transmit.
Definition scamp.h:380
volatile int p2p_min_y
Estimated minimum Y size.
Definition scamp-3.c:166
uint pkt_tx(uint tcr, uint data, uint key)
Add a SpiNNaker message to the queue of messages to send.
Definition scamp-3.c:375
uint cmd_srom(sdp_msg_t *msg)
General purpose SROM interface routine.
Definition spinn_srom.c:138
uint p2p_root
The address of the P2P root.
Definition scamp-3.c:107
volatile uint ticks_since_last_p2pc_dims
Number of 10ms ticks ellapsed since the last P2PC_DIMS arrived.
Definition scamp-3.c:143
void reset_ap(uint virt_mask)
Soft reset a set of cores specified by a bit mask.
Definition scamp-app.c:58
uint scamp_debug(sdp_msg_t *msg, uint srce_ip)
General debugging and control command handler.
Definition scamp-cmd.c:784
uint tag_tto
IPTag timeout (logarithmic)
Definition scamp-3.c:128
scamp_p2p_control_message_codes
Distinguish data/control packets in SDP/P2P (4 bits)
Definition scamp.h:266
@ P2P_CLOSE_ACK
Close channel acknowledge.
Definition scamp.h:271
@ P2P_OPEN_REQ
Open channel request.
Definition scamp.h:267
@ P2P_PING
Ping from a neighbor.
Definition scamp.h:272
@ P2P_CLOSE_REQ
Close channel request.
Definition scamp.h:270
@ P2P_OPEN_ACK
Open channel acknowledge.
Definition scamp.h:268
@ P2P_COUNT_RESP
Count state response.
Definition scamp.h:274
@ P2P_COUNT_REQ
Count state request.
Definition scamp.h:273
@ P2P_DATA_ACK
Data acknowledge.
Definition scamp.h:269
void signal_app(uint data)
Signal cores running a range of applications identified by an AppID and a mask.
Definition scamp-app.c:257
srom_data_t srom
Copy of SROM struct.
Definition scamp-3.c:116
netinit_phase_e
Phases of the network initialisation process, in order.
Definition scamp.h:319
@ NETINIT_PHASE_DEL
Blacklisted monitor delegates its functions to another core.
Definition scamp.h:339
@ NETINIT_PHASE_P2P_TABLE
Construct the P2P routing tables.
Definition scamp.h:335
@ NETINIT_PHASE_SET_ETHERNET_ADDR
Setting the Ethernet address.
Definition scamp.h:337
@ NETINIT_PHASE_P2P_TABLE_R_ETH
Construct the P2P routing tables for return to Ethernet (next critical)
Definition scamp.h:333
@ NETINIT_PHASE_P2P_TABLE_ETH
Construct the P2P routing tables for Ethernet chips (more critical)
Definition scamp.h:331
@ NETINIT_PHASE_BIFF
Definition scamp.h:329
@ NETINIT_PHASE_DONE
The boot process is complete and the system is ready for use.
Definition scamp.h:341
@ NETINIT_PHASE_P2P_DIMS
Definition scamp.h:326
@ NETINIT_PHASE_P2P_ADDR
Definition scamp.h:322
scamp_p2p_type_codes
Values in P2P type (seq) field.
Definition scamp.h:259
@ P2P_CTRL
Control message.
Definition scamp.h:261
@ P2P_LEVEL
Currently unimplemented.
Definition scamp.h:262
@ P2P_DATA
Data message.
Definition scamp.h:260
uint link_read_word(uint addr, uint link, uint *buf, uint timeout)
Read a word from the chip (or device) over a link.
Definition scamp-nn.c:288
void proc_word_set(uint a1, uint a2)
Write a word at a location.
Definition scamp-3.c:341
uchar dest_port
Destination SDP port.
Definition scamp.h:385
uint mon_del
delegate blacklisted monitor
Definition scamp-nn.c:122
void biff_nn_send(uint data)
Board information flood fill packet sender.
Definition scamp-nn.c:479
void proc_ffe(uint aplx_addr, uint cpu_mask)
alloc_cmd_e
Allocation commands.
Definition scamp.h:358
@ ALLOC_SDRAM
Allocate SDRAM.
Definition scamp.h:359
@ ALLOC_MAX
Maximum command.
Definition scamp.h:367
@ FREE_SDRAM
Free SDRAM.
Definition scamp.h:360
@ SDRAM_SPACE
Total free space & largest free block.
Definition scamp.h:365
@ HEAP_TAG_PTR
Heap block from tag & ID.
Definition scamp.h:366
@ FREE_SDRAM_ID
Free DRAM by ID.
Definition scamp.h:361
@ FREE_RTR_ID
Free Router by ID.
Definition scamp.h:364
@ FREE_RTR
Free Router.
Definition scamp.h:363
@ ALLOC_RTR
Allocate Router.
Definition scamp.h:362
ushort sent
4: Number of requests sent out in this region
Definition scamp.h:414
uint link_write_word(uint addr, uint link, uint *buf, uint timeout)
Write a word to the chip (or device) over a link.
Definition scamp-nn.c:333
ushort rx_port
Receive port.
Definition scamp.h:383
scamp_iptag_commands
Commands applicable to IPTags.
Definition scamp.h:100
@ IPTAG_TTO
Configure IPTag Timeout.
Definition scamp.h:105
@ IPTAG_SET
Configure IPTag.
Definition scamp.h:102
@ IPTAG_NEW
Create IPTag.
Definition scamp.h:101
@ IPTAG_MAX
Maximum command value.
Definition scamp.h:107
@ IPTAG_GET
Retrieve IPTag.
Definition scamp.h:103
@ IPTAG_CLR
Clear IPTag.
Definition scamp.h:104
#define MAX_CPUS
Legacy const!
Definition scamp.h:34
void nn_init(void)
Initialise the nearest-neighbour data structures.
Definition scamp-nn.c:139
void compute_eth(void)
Computes where our board's ethernet chip is.
Definition scamp-nn.c:185
ethinit_phase_e
Phases of the Ethernet initialisation process, in order.
Definition scamp.h:345
@ ETHINIT_PHASE_WAIT_2
SECOND_PHASE - wait for Ethernet to come up.
Definition scamp.h:349
@ ETHINIT_PHASE_WAIT_1
FIRST PHASE - wait for Ethernet to come up.
Definition scamp.h:347
@ ETHINIT_PHASE_DONE
Ethernet either up or timed out.
Definition scamp.h:351
uchar remove
Removal index.
Definition scamp.h:395
enum ethinit_phase_e ethinit_phase
The Ethernet initialisation process phase currently in progress.
Definition scamp-3.c:138
ushort parent
8: P2P address of the chip which sent the last request
Definition scamp.h:416
uint next_id(void)
Get the next flood-fill identifier we should use.
Definition scamp-nn.c:397
void nn_mark(uint key)
Mark an ID as discovered.
Definition scamp-nn.c:427
scamp_iptag_flags
IPTag flag bits.
Definition scamp.h:111
@ IPFLAG_VALID
Entry is valid.
Definition scamp.h:112
@ IPFLAG_REV
Reverse IPTag.
Definition scamp.h:117
@ IPFLAG_USE_SENDER
Use sender address and port.
Definition scamp.h:116
@ IPFLAG_TRANS
Entry is transient.
Definition scamp.h:113
@ IPFLAG_STRIP
Strip SDP headers.
Definition scamp.h:118
@ IPFLAG_ARP
Awaiting ARP resolution.
Definition scamp.h:114
void p2pc_addr_nn_send(uint arg1, uint arg2)
Transmit our current best guess of coordinates to all neighbouring chips.
Definition scamp-nn.c:504
uint level_addr
0: This chip's region at this level
Definition scamp.h:413
ushort rcvd
6: Number of responses received
Definition scamp.h:415
void clock_ap(uint virt_mask, uint enable)
Enable/disable clocks to a set of cores specified by a bit mask.
Definition scamp-app.c:40
uchar * p2p_addr_table
Definition scamp-3.c:173
void msg_queue_insert(sdp_msg_t *msg, uint srce_ip)
Adds a message to SCAMP's master message queue, to be processed by proc_route_msg().
Definition scamp-3.c:355
uint app_mask[256]
Unused?
Definition scamp-nn.c:111
uchar link
Which ways to send along.
Definition scamp.h:407
uint p2p_dims
Dimensions of the P2P-addressable area.
Definition scamp-3.c:105
volatile uchar flags
General flags.
Definition scamp.h:404
#define PKT_QUEUE_SIZE
Max number of entries in packet queue.
Definition scamp.h:390
volatile int p2p_addr_guess_y
Y coordinate of the current best guess of P2P address.
Definition scamp-3.c:156
void nn_cmd_biff(uint x, uint y, uint data)
Board information flood fill command handler.
Definition scamp-nn.c:1260
uint * hop_table
Table "hop_table" has entries of type (id << 24, hops) for each possible P2P address.
Definition scamp-nn.c:106
uint result
12: Result accumulated within this region
Definition scamp.h:418
void desc_init(void)
initialise TX and RX descriptors
Definition scamp-p2p.c:167
void assign_virt_cpu(uint phys_cpu)
Build virtual/physical CPU maps.
Definition scamp-3.c:902
uint num_cpus
Number of operational CPUs.
Definition scamp-3.c:95
void remap_phys_cores(uint phys_cores)
Disables a specified core and recomputes the virtual core map accordingly.
Definition scamp-3.c:955
ushort flags
See scamp_iptag_flags.
Definition scamp.h:381
uint iptag_new(void)
Find a free IPTag.
Definition scamp-3.c:283
scamp_nn_p2p_config_subcommands
NN_CMD_P2PC sub-command codes.
Definition scamp.h:245
@ P2PC_DIMS
(Broadcast) The current best guess of P2P coordinates is...
Definition scamp.h:248
@ P2PC_RETH
Sending route back to 0, 0 or nearest Ethernet.
Definition scamp.h:249
@ P2PC_ADDR
Your P2P address is...
Definition scamp.h:246
@ P2PC_NEW
(Broadcast) I/somebody just discovered/updated my/their P2P address
Definition scamp.h:247
ushort dest_addr
Destination SDP address.
Definition scamp.h:384
void ff_nn_send(uint key, uint data, uint fwd_rty, uint log)
Flood fill NN packet sender.
Definition scamp-nn.c:448
volatile int p2p_max_y
Definition scamp-3.c:167
uchar insert
Insertion index.
Definition scamp.h:394
enum netinit_phase_e netinit_phase
The network initialisation process phase currently in progress.
Definition scamp-3.c:135
void proc_start_app(uint aplx_addr, uint id_op_mask)
Start an application on a set of cores.
Definition scamp-app.c:145
void boot_nn(uint hw_ver)
Boot SCAMP on chips using the bootROM protocols.
Definition scamp-boot.c:132
volatile int p2p_addr_guess_x
X coordinate of the current best guess of P2P address.
Definition scamp-3.c:154
scamp_nn_opcodes
NN opcodes.
Definition scamp.h:223
@ NN_CMD_SP_3
Spare.
Definition scamp.h:227
@ NN_CMD_LTPC
Local Time Phase Control (ID=0, Fwd=0)
Definition scamp.h:226
@ NN_CMD_FBS
Filtered in FF code.
Definition scamp.h:239
@ NN_CMD_SIG1
Misc (MEM, etc)
Definition scamp.h:229
@ NN_CMD_P2PB
Hop count limited.
Definition scamp.h:234
@ NN_CMD_RTRC
Router Control Reg.
Definition scamp.h:225
@ NN_CMD_FFS
Flood fill start.
Definition scamp.h:231
@ NN_CMD_SIG0
Misc (GTPC, Set FwdRty, LED, etc)
Definition scamp.h:224
@ NN_CMD_FFCS
Flood fill core and region select.
Definition scamp.h:232
@ NN_CMD_P2PC
P2P Address setup (Handled specially)
Definition scamp.h:230
@ NN_CMD_BIFF
Board-info flood-fill (handled specially)
Definition scamp.h:237
@ NN_CMD_NISYN
Synchronize Netinit level.
Definition scamp.h:236
@ NN_CMD_LKSYN
Synchronize opposite links.
Definition scamp.h:235
void proc_byte_set(uint a1, uint a2)
Write a byte at a location.
Definition scamp-3.c:333
scamp_failure_codes
Failure codes.
Definition scamp.h:148
@ FAIL_VEC
Unhandled exception.
Definition scamp.h:167
@ FAIL_ROMX
Exception in ROM code.
Definition scamp.h:150
@ FAIL_TIMER
Timer reg test failed.
Definition scamp.h:155
@ FAIL_ITCM0
ITCM top 512 failure.
Definition scamp.h:151
@ FAIL_VIC
VIC reg test failed.
Definition scamp.h:156
@ FAIL_MP
Previous monitor proc failure.
Definition scamp.h:160
@ FAIL_ITCM1
ITCM main test failure.
Definition scamp.h:152
@ FAIL_RESET
Catch-all - set at reset.
Definition scamp.h:149
@ FAIL_DMA
DMAC reg test failed.
Definition scamp.h:158
@ FAIL_TLM
Special for TLM.
Definition scamp.h:165
@ FAIL_MANUF
App CPU in manuf test.
Definition scamp.h:162
@ FAIL_LATE
App CPU failed to set CPU_OK.
Definition scamp.h:161
@ FAIL_SLEEP
Ordered to sleep in startup.
Definition scamp.h:163
@ FAIL_CC
Comms ctlr reg test failed.
Definition scamp.h:157
@ FAIL_DTCM
DTCM test failure.
Definition scamp.h:153
uint count
Count of packets routed via this IPTag.
Definition scamp.h:382
void vic_setup(void)
Initialise the VIC.
Definition scamp-isr.c:432
IPTAG entry (32 bytes)
Definition scamp.h:376
Used for tracking signal dispatch.
Definition scamp.h:412
Holds a NN packet awaiting transmission.
Definition scamp.h:402
Queue of packets (really a circular buffer)
Definition scamp.h:393
unsigned char uchar
Unsigned integer - 8 bits.
Definition spinnaker.h:37
unsigned int uint
Unsigned integer - 32 bits.
Definition spinnaker.h:39
unsigned short ushort
Unsigned integer - 16 bits.
Definition spinnaker.h:38