Incorporate Z80 bugfixes reported by Phillip Klaus Krause
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4270 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
1ff4b36832
commit
174318319b
19
TODO
19
TODO
@ -15,7 +15,7 @@ nuttx/
|
|||||||
(5) Binary loaders (binfmt/)
|
(5) Binary loaders (binfmt/)
|
||||||
(16) Network (net/, drivers/net)
|
(16) Network (net/, drivers/net)
|
||||||
(2) USB (drivers/usbdev, drivers/usbhost)
|
(2) USB (drivers/usbdev, drivers/usbhost)
|
||||||
(7) Libraries (lib/)
|
(8) Libraries (lib/)
|
||||||
(10) File system/Generic drivers (fs/, drivers/)
|
(10) File system/Generic drivers (fs/, drivers/)
|
||||||
(1) Graphics subystem (graphics/)
|
(1) Graphics subystem (graphics/)
|
||||||
(1) Pascal add-on (pcode/)
|
(1) Pascal add-on (pcode/)
|
||||||
@ -465,7 +465,7 @@ o Libraries (lib/)
|
|||||||
Title: FGETS IMPLEMENTATION
|
Title: FGETS IMPLEMENTATION
|
||||||
Description: fgets implementation does not use C-buffered I/O, but rather
|
Description: fgets implementation does not use C-buffered I/O, but rather
|
||||||
talks to serial driver directly via read(). It includes VT-100
|
talks to serial driver directly via read(). It includes VT-100
|
||||||
specific editting commands. This gets should be renamed readlin()
|
specific editting commands. This gets should be renamed readline()
|
||||||
and a more generic fgets() should be implemented.
|
and a more generic fgets() should be implemented.
|
||||||
Status: Open
|
Status: Open
|
||||||
Priority: Low (unless you are using mixed C-buffered I/O with fgets and
|
Priority: Low (unless you are using mixed C-buffered I/O with fgets and
|
||||||
@ -519,6 +519,21 @@ o Libraries (lib/)
|
|||||||
Priority: Medium. This kind of operation is probably not very common in
|
Priority: Medium. This kind of operation is probably not very common in
|
||||||
deeply embedded systems but is required by standards.
|
deeply embedded systems but is required by standards.
|
||||||
|
|
||||||
|
Title: DIVIDE BY ZERO
|
||||||
|
Description: This is bug 3468949 on the SourceForge website (submitted by
|
||||||
|
Philipp Klaus Krause):
|
||||||
|
"lib_strtod.c does contain divisions by zero in lines 70 and 96.
|
||||||
|
AFAIK, unlike for Java, division by zero is not a reliable way to
|
||||||
|
get infinity in C. AFAIK compilers are allowed e.g. give a compile-
|
||||||
|
time error, and some, such as sdcc, do. AFAIK, C implementations
|
||||||
|
are not even required to support infinity. In C99 the macro isinf()
|
||||||
|
could replace the first use of division by zero. Unfortunately, the
|
||||||
|
macro INFINITY from math.h probably can't replce the second division
|
||||||
|
by zero, since it will result in a compile-time diagnostic, if the
|
||||||
|
implementation does not support infinity."
|
||||||
|
Status: Open
|
||||||
|
Priority:
|
||||||
|
|
||||||
o File system / Generic drivers (fs/, drivers/)
|
o File system / Generic drivers (fs/, drivers/)
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
@ -1022,7 +1022,7 @@ static int can_bittiming(struct up_dev_s *priv)
|
|||||||
uint32_t ts2;
|
uint32_t ts2;
|
||||||
uint32_t sjw;
|
uint32_t sjw;
|
||||||
|
|
||||||
canllvdbg("CAN%d PCLK1: %d baud: %d\n", priv->port,
|
canllvdbg("CAN%d PCLK: %d baud: %d\n", priv->port,
|
||||||
CAN_CLOCK_FREQUENCY(priv->divisor), priv->baud);
|
CAN_CLOCK_FREQUENCY(priv->divisor), priv->baud);
|
||||||
|
|
||||||
/* Try to get 14 quanta in one bit_time. That is based on the idea that the ideal
|
/* Try to get 14 quanta in one bit_time. That is based on the idea that the ideal
|
||||||
|
@ -6,6 +6,16 @@ Current status
|
|||||||
|
|
||||||
The xtrs port is not operational yet; some work still needs to be done.
|
The xtrs port is not operational yet; some work still needs to be done.
|
||||||
|
|
||||||
|
Contents
|
||||||
|
^^^^^^^^
|
||||||
|
|
||||||
|
o Getting a TRS80 emulator and DOS disks
|
||||||
|
o Loading an executable into xtrs
|
||||||
|
o Configuring NuttX
|
||||||
|
o Building the SDCC toolchain
|
||||||
|
o SDCC Update
|
||||||
|
o Newer SDCC Versions
|
||||||
|
|
||||||
Getting a TRS80 emulator and DOS disks
|
Getting a TRS80 emulator and DOS disks
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
@ -124,3 +134,24 @@ like compiler bugs. If you are using UBUNTU 9.10, you may have to either
|
|||||||
the older stable releases, or (2) wait for the next stable SDCC release
|
the older stable releases, or (2) wait for the next stable SDCC release
|
||||||
after 2.9.0.
|
after 2.9.0.
|
||||||
|
|
||||||
|
Newer SDCC Versions
|
||||||
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
This is the text of bug 3468951 reported on the SourceForge website:
|
||||||
|
|
||||||
|
"Some obsolete stuff in z80sim port," (submitted by Philipp Klaus Krause):
|
||||||
|
|
||||||
|
The simz80 port needs a few updates to work well with current sdcc versions,
|
||||||
|
and has some unecessary stuff:
|
||||||
|
|
||||||
|
* The linker name for Make.defs should be sdldz80
|
||||||
|
* The assembler name for Make.defs should be sdasz80
|
||||||
|
* _asm and _endasm in z80_io.c and z80_irq.c should be replaced by __asm
|
||||||
|
and __endasm
|
||||||
|
* The --stack-auto --int-long-reent --float-reent options or Make.defs should
|
||||||
|
be removed, as they have no effect on sdcc's z80 port
|
||||||
|
* The current assembler AFAIK can handle long symbol names, so the
|
||||||
|
sdcc-2.6.0-asz80-symlen.patch is unnecessary, and it and the corresponding
|
||||||
|
section from the README can be removed.
|
||||||
|
|
||||||
|
These changes have not yet been incorporated or verified.
|
@ -8,6 +8,14 @@ http://nuttx.svn.sourceforge.net/viewvc/nuttx/trunk/misc/sims/z80sim
|
|||||||
The SDCC toolchain is available from http://sdcc.sourceforge.net/. All
|
The SDCC toolchain is available from http://sdcc.sourceforge.net/. All
|
||||||
testing has been performed using version 2.6.0 of the SDCC toolchain.
|
testing has been performed using version 2.6.0 of the SDCC toolchain.
|
||||||
|
|
||||||
|
Contents
|
||||||
|
^^^^^^^^
|
||||||
|
|
||||||
|
o Configuring NuttX
|
||||||
|
o Building the SDCC toolchain
|
||||||
|
o SDCC Update
|
||||||
|
o Newer SDCC Versions
|
||||||
|
|
||||||
Configuring NuttX
|
Configuring NuttX
|
||||||
^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
@ -99,6 +107,24 @@ like compiler bugs. If you are using UBUNTU 9.10, you may have to either
|
|||||||
the older stable releases, or (2) wait for the next stable SDCC release
|
the older stable releases, or (2) wait for the next stable SDCC release
|
||||||
after 2.9.0.
|
after 2.9.0.
|
||||||
|
|
||||||
|
Newer SDCC Versions
|
||||||
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
This is the text of bug 3468951 reported on the SourceForge website:
|
||||||
|
|
||||||
|
"Some obsolete stuff in z80sim port," (submitted by Philipp Klaus Krause):
|
||||||
|
|
||||||
|
The simz80 port needs a few updates to work well with current sdcc versions,
|
||||||
|
and has some unecessary stuff:
|
||||||
|
|
||||||
|
* The linker name for Make.defs should be sdldz80
|
||||||
|
* The assembler name for Make.defs should be sdasz80
|
||||||
|
* _asm and _endasm in z80_io.c and z80_irq.c should be replaced by __asm
|
||||||
|
and __endasm
|
||||||
|
* The --stack-auto --int-long-reent --float-reent options or Make.defs should
|
||||||
|
be removed, as they have no effect on sdcc's z80 port
|
||||||
|
* The current assembler AFAIK can handle long symbol names, so the
|
||||||
|
sdcc-2.6.0-asz80-symlen.patch is unnecessary, and it and the corresponding
|
||||||
|
section from the README can be removed.
|
||||||
|
|
||||||
|
These changes have not yet been incorporated or verified.
|
@ -69,10 +69,10 @@
|
|||||||
((((unsigned short)(ns)) >> 8) & 0x00ff))
|
((((unsigned short)(ns)) >> 8) & 0x00ff))
|
||||||
# define HTONL(nl) \
|
# define HTONL(nl) \
|
||||||
(unsigned long) \
|
(unsigned long) \
|
||||||
(((((unsigned long)(nl)) & 0x000000ffL) << 24) | \
|
(((((unsigned long)(nl)) & 0x000000ffUL) << 24) | \
|
||||||
((((unsigned long)(nl)) & 0x0000ff00L) << 8) | \
|
((((unsigned long)(nl)) & 0x0000ff00UL) << 8) | \
|
||||||
((((unsigned long)(nl)) & 0x00ff0000L) >> 8) | \
|
((((unsigned long)(nl)) & 0x00ff0000UL) >> 8) | \
|
||||||
((((unsigned long)(nl)) & 0xff000000L) >> 24))
|
((((unsigned long)(nl)) & 0xff000000UL) >> 24))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define NTOHS(hs) HTONS(hs)
|
#define NTOHS(hs) HTONS(hs)
|
||||||
|
Loading…
Reference in New Issue
Block a user