9
0
Fork 0

Adding ez80 support

git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@730 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
patacongo 2008-03-09 19:59:46 +00:00
parent d1cd4b91fd
commit 115561d93a
4 changed files with 31 additions and 13 deletions

View File

@ -349,4 +349,4 @@
0.3.10 2008-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
* Add support for the ZiLOG EZ80Acclaim microcontrooler (EZ80F91 chip).

View File

@ -980,6 +980,8 @@ buildroot-0.1.0 2007-03-09 &lt;spudmonkey@racsa.co.cr&gt
<pre><ul>
nuttx-0.3.10 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
* Add support for the ZiLOG EZ80Acclaim microcontrooler (EZ80F91 chip).
pascal-0.1.3 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
buildroot-0.1.1 2007-xx-xx &lt;spudmonkey@racsa.co.cr&gt

View File

@ -66,6 +66,7 @@
# define putreg(v,a) putreg16(v,a)
#endif
/************************************************************************************
* Public Function Prototypes
************************************************************************************/

View File

@ -230,7 +230,7 @@
/* At present, only the Zilog ZNeo compiler is recognized */
# if !defined(__ZNEO__) && !defined(__EZ8__)
# if !defined(__ZNEO__) && !defined(__EZ8__) && !defined(__EZ80__)
# warning "Unrecognized Zilog compiler"
# endif
@ -272,24 +272,38 @@
* Z8Encore!: Far is 16-bits; near is 8-bits of address.
* The supported model is (1) all code on ROM, and (2) all data
* and stacks in internal (far) RAM.
* Z8Acclaim: In Z80 mode, all pointers are 16-bits. In ADL mode, all pointers
* and 24 bits.
*/
# ifdef __ZNEO__
# if defined(__ZNEO__)
# define FAR _Far
# define NEAR _Near
# define DSEG _Far
# define CODE _Erom
# undef CONFIG_SMALL_MEMORY /* Select the large, 32-bit addressing model */
# undef CONFIG_LONG_IS_NOT_INT /* Long and int are the same size */
# undef CONFIG_PTR_IS_NOT_INT /* FAR pointers and int are the same size */
# else
# undef CONFIG_SMALL_MEMORY /* Select the large, 32-bit addressing model */
# undef CONFIG_LONG_IS_NOT_INT /* Long and int are the same size */
# undef CONFIG_PTR_IS_NOT_INT /* FAR pointers and int are the same size */
# elif defined(__EZ8__)
# define FAR far
# define NEAR near
# define DSEG far
# define CODE rom
# define CONFIG_SMALL_MEMORY 1 /* Select small, 16-bit address model */
# define CONFIG_LONG_IS_NOT_INT 1 /* Long and int are not the same size */
# undef CONFIG_PTR_IS_NOT_INT /* FAR pointers and int are the same size */
# define CONFIG_SMALL_MEMORY 1 /* Select small, 16-bit address model */
# define CONFIG_LONG_IS_NOT_INT 1 /* Long and int are not the same size */
# undef CONFIG_PTR_IS_NOT_INT /* FAR pointers and int are the same size */
# elif defined(__EZ80__)
# define FAR
# define NEAR
# define DSEG
# define CODE
# undef CONFIG_SMALL_MEMORY /* Select the large, 32-bit addressing model */
# define CONFIG_LONG_IS_NOT_INT 1 /* Long and int are not the same size */
# ifdef CONFIG_EZ80_Z80MODE
# define CONFIG_PTR_IS_NOT_INT 1 /* Pointers and int are not the same size */
# else
# undef CONFIG_PTR_IS_NOT_INT /* Pointers and int are the same size */
# endif
# endif
/* The Zilog compiler does not support inline functions */
@ -297,9 +311,10 @@
# undef CONFIG_HAVE_INLINE
# define inline
/* The Zilog compiler supports both types double and long long,
* but the size is 32-bits (same as long and single precision)
* so it is safer to say that they are not supported.
/* Older Zilog compilers support both types double and long long, but the size
* is 32-bits (same as long and single precision) so it is safer to say that
* they are not supported. Later versions are more ANSII compliant and
* simply do not support long long or double.
*/
# undef CONFIG_HAVE_DOUBLE