source: trunk/libs/newlib/src/include/coff/tic54x.h @ 649

Last change on this file since 649 was 444, checked in by satin@…, 6 years ago

add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc

File size: 2.4 KB
RevLine 
[444]1/* TI COFF information for Texas Instruments TMS320C54X.
2   This file customizes the settings in coff/ti.h.
3   
4   Copyright 2000, 2001, 2010 Free Software Foundation, Inc.
5
6   This program is free software; you can redistribute it and/or modify
7   it under the terms of the GNU General Public License as published by
8   the Free Software Foundation; either version 3 of the License, or
9   (at your option) any later version.
10   
11   This program is distributed in the hope that it will be useful,
12   but WITHOUT ANY WARRANTY; without even the implied warranty of
13   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   GNU General Public License for more details.
15   
16   You should have received a copy of the GNU General Public License
17   along with this program; if not, write to the Free Software
18   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
19   MA 02110-1301, USA.  */
20
21#ifndef COFF_TIC54X_H
22#define COFF_TIC54X_H
23
24#define TIC54X_TARGET_ID 0x98
25#define TIC54XALGMAGIC  0x009B  /* c54x algebraic assembler output */
26#define TIC5X_TARGET_ID  0x92
27#define TI_TARGET_ID TIC54X_TARGET_ID
28#define OCTETS_PER_BYTE_POWER 1 /* octets per byte, as a power of two */
29#define HOWTO_BANK 6 /* add to howto to get absolute/sect-relative version */
30#define TICOFF_TARGET_ARCH bfd_arch_tic54x
31#define TICOFF_DEFAULT_MAGIC TICOFF1MAGIC /* we use COFF1 for compatibility */
32
33/* Page macros
34
35   The first GDB port requires flags in its remote memory access commands to
36   distinguish between data/prog space.  Hopefully we can make this go away
37   eventually.  Stuff the page in the upper bits of a 32-bit address, since
38   the c5x family only uses 16 or 23 bits.
39
40   c2x, c5x and most c54x devices have 16-bit addresses, but the c548 has
41   23-bit program addresses.  Make sure the page flags don't interfere.
42   These flags are used by GDB to identify the destination page for
43   addresses.
44*/
45
46/* Recognized load pages (by common convention).  */
47#define PG_PROG         0x0         /* PROG page */
48#define PG_DATA         0x1         /* DATA page */
49#define PG_IO           0x2         /* I/O page */
50
51/** Indicate whether the given storage class requires a page flag.  */
52#define NEEDS_PAGE(X) ((X)==C_EXT)
53#define PAGE_MASK       0xFF000000
54#define ADDR_MASK       0x00FFFFFF
55#define PG_TO_FLAG(p)   (((unsigned long)(p) & 0xFF) << 24)
56#define FLAG_TO_PG(f)   (((f) >> 24) & 0xFF)
57
58#include "coff/ti.h"
59
60#endif /* COFF_TIC54X_H */
Note: See TracBrowser for help on using the repository browser.