mirror of
https://github.com/apache/nuttx.git
synced 2026-05-28 20:08:15 +08:00
Misc m9s12x updates
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3278 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
NuttX TODO List (Last updated November 30, 2010)
|
NuttX TODO List (Last updated January 26, 2011)
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
(5) Task/Scheduler (sched/)
|
(5) Task/Scheduler (sched/)
|
||||||
(1) On-demand paging (sched/)
|
(1) On-demand paging (sched/)
|
||||||
@@ -11,7 +11,7 @@ NuttX TODO List (Last updated November 30, 2010)
|
|||||||
(16) Network (net/, drivers/net)
|
(16) Network (net/, drivers/net)
|
||||||
(5) Network Utilities (netutils/)
|
(5) Network Utilities (netutils/)
|
||||||
(1) USB (drivers/usbdev)
|
(1) USB (drivers/usbdev)
|
||||||
(5) Libraries (lib/)
|
(4) Libraries (lib/)
|
||||||
(12) File system/Generic drivers (fs/, drivers/)
|
(12) File system/Generic drivers (fs/, drivers/)
|
||||||
(2) Graphics subystem (graphics/)
|
(2) Graphics subystem (graphics/)
|
||||||
(1) Pascal add-on (pcode/)
|
(1) Pascal add-on (pcode/)
|
||||||
@@ -78,7 +78,7 @@ o On-demand paging (sched/)
|
|||||||
configs/ea3131/pgnsh and locked directories). There are
|
configs/ea3131/pgnsh and locked directories). There are
|
||||||
some limitations of this testing so I still cannot say that
|
some limitations of this testing so I still cannot say that
|
||||||
the feature is fully functional.
|
the feature is fully functional.
|
||||||
Status: Open, in work
|
Status: Open
|
||||||
Priority: Medium-Low
|
Priority: Medium-Low
|
||||||
|
|
||||||
o Memory Managment (mm/)
|
o Memory Managment (mm/)
|
||||||
@@ -314,18 +314,6 @@ o Network Utilities (netutils/)
|
|||||||
Status: Open
|
Status: Open
|
||||||
Priority: Medium
|
Priority: Medium
|
||||||
|
|
||||||
Description: There are some lingering bugs in THTTPD, possibly race conditions. When debug
|
|
||||||
is enabled, it works. But with debug disabled, there are sometimes
|
|
||||||
mysterious hangs or crashes in the CGI. Of course, this is hard to fix
|
|
||||||
when the problem goes away with debug output enabled (and also since
|
|
||||||
output from the CGI program is re-directed; you can redefine bdbg to
|
|
||||||
be lldbg in include/debug.h to get non-re-directed debug output).
|
|
||||||
Status: Open.
|
|
||||||
UPDATE: I have found that increasing the size of the CGI program stack
|
|
||||||
from 1024 to 2048 (on the LM3S) eliminates the problem. So the most
|
|
||||||
likely cause is probably a stack overflow, not a hard sofware bug.
|
|
||||||
Priority: Probably Low
|
|
||||||
|
|
||||||
Description: If the network is enabled, but THTTPD is not configured, it spews out lots
|
Description: If the network is enabled, but THTTPD is not configured, it spews out lots
|
||||||
of pointless warnings. This is kind of annoying and unprofessional; needs to
|
of pointless warnings. This is kind of annoying and unprofessional; needs to
|
||||||
be fixed someday.
|
be fixed someday.
|
||||||
@@ -343,11 +331,6 @@ o USB (drivers/usbdev)
|
|||||||
o Libraries (lib/)
|
o Libraries (lib/)
|
||||||
^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Description: sscanf() and lib_vsprintf() do not support floating point
|
|
||||||
values.
|
|
||||||
Status: Open
|
|
||||||
Priority: Low
|
|
||||||
|
|
||||||
Description: The definition of environ in stdlib.h is bogus and will not
|
Description: The definition of environ in stdlib.h is bogus and will not
|
||||||
work as it should. This is because the underlying
|
work as it should. This is because the underlying
|
||||||
representation of the environment is not an arry of pointers.
|
representation of the environment is not an arry of pointers.
|
||||||
@@ -600,9 +583,11 @@ o Linux/Cywgin simulation (arch/sim)
|
|||||||
See the patch 0001-Quick-hacks-to-build-sim-nsh-ostest-on-x86_64-as-32-.patch
|
See the patch 0001-Quick-hacks-to-build-sim-nsh-ostest-on-x86_64-as-32-.patch
|
||||||
that can be found at http://tech.groups.yahoo.com/group/nuttx/files.
|
that can be found at http://tech.groups.yahoo.com/group/nuttx/files.
|
||||||
|
|
||||||
Description: I never did get networking to work on the sim target. It tries to
|
Description: I never did get networking to work on the sim Linux target. On Linux,
|
||||||
use the tap device (/dev/net/tun) to emulate an Ethernet NIC, but I
|
it tries to use the tap device (/dev/net/tun) to emulate an Ethernet
|
||||||
never got it correctly integrated with the NuttX networking.
|
NIC, but I never got it correctly integrated with the NuttX networking.
|
||||||
|
NOTE: On Cygwin, the build uses the Cygwin WPCAP library and is, at
|
||||||
|
least, partially functional (it has never been rigorously tested).
|
||||||
Status: Open
|
Status: Open
|
||||||
Priority: Low (unless you want to test networking features on the simulation).
|
Priority: Low (unless you want to test networking features on the simulation).
|
||||||
|
|
||||||
@@ -614,10 +599,10 @@ o Linux/Cywgin simulation (arch/sim)
|
|||||||
Status: Open
|
Status: Open
|
||||||
Priority: Low (unless you want to test graphics features on the simulation).
|
Priority: Low (unless you want to test graphics features on the simulation).
|
||||||
|
|
||||||
Description: Since it is not pre-emptible, you can't use round-robin scheduling
|
Description: Since the simulation is not pre-emptible, you can't use round-robin
|
||||||
(no time slicing). Currently, the timer interrupts are "faked"
|
scheduling (no time slicing). Currently, the timer interrupts are
|
||||||
during IDLE loop processing and, as a result, there is no task
|
"faked" during IDLE loop processing and, as a result, there is no
|
||||||
pre-emption because there are no asynchrous events. This could
|
task pre-emption because there are no asynchrous events. This could
|
||||||
probably be fixed if the "timer interrupt" were driver by Linux
|
probably be fixed if the "timer interrupt" were driver by Linux
|
||||||
signals. NOTE: You would also have to implement irqsave() and
|
signals. NOTE: You would also have to implement irqsave() and
|
||||||
irqrestore() to block and (conditionally) unblock the signal.
|
irqrestore() to block and (conditionally) unblock the signal.
|
||||||
@@ -643,7 +628,7 @@ o ARM (arch/arm/)
|
|||||||
Status: Open
|
Status: Open
|
||||||
Priority: Low
|
Priority: Low
|
||||||
|
|
||||||
Description: The Cortex-M3 user context swich logic uses SVCall instructions.
|
Description: The Cortex-M3 user context switch logic uses SVCall instructions.
|
||||||
This user context switching time could be improved by eliminating
|
This user context switching time could be improved by eliminating
|
||||||
the SVCalls and developing assembly language implementations
|
the SVCalls and developing assembly language implementations
|
||||||
of the context save and restore logic.
|
of the context save and restore logic.
|
||||||
@@ -706,16 +691,6 @@ o ARM/LPC17xx (arch/arm/src/lpc17xx/)
|
|||||||
Status: Open
|
Status: Open
|
||||||
Priority: Low, only effects debug and there is a workaround
|
Priority: Low, only effects debug and there is a workaround
|
||||||
|
|
||||||
Description: Due to some connector/cabling issues using the Nucleus2g, a couple of
|
|
||||||
important features have not yet been tested: The microSD card and
|
|
||||||
USB (device). These features are fully implemented and partially
|
|
||||||
tested, but not fully verified.
|
|
||||||
UPDATE: The SPI-based microSD interface has been verified on the
|
|
||||||
Olimex-LPC1766-STK board. The USB driver is not functional on either
|
|
||||||
board. The problem: no interrupts when host connected.
|
|
||||||
Status: Open
|
|
||||||
Priority: High
|
|
||||||
|
|
||||||
Description: USB DMA not fully implemented. Partial logic is in place but it is
|
Description: USB DMA not fully implemented. Partial logic is in place but it is
|
||||||
fragmentary and bogus. (Leveraged from the lpc214x)
|
fragmentary and bogus. (Leveraged from the lpc214x)
|
||||||
Status: Open
|
Status: Open
|
||||||
@@ -732,6 +707,12 @@ o ARM/LPC17xx (arch/arm/src/lpc17xx/)
|
|||||||
Status: Open
|
Status: Open
|
||||||
Priority: Medium
|
Priority: Medium
|
||||||
|
|
||||||
|
Description: An LCD driver for the Olimex LPC1766STK has been developed. However, that
|
||||||
|
driver is not yet functional on the board: The backlight comes on, but
|
||||||
|
nothing is visible on the display.
|
||||||
|
Status: Open
|
||||||
|
Priority: Medium-Low (unless you need the display on the LPC1766STK!)
|
||||||
|
|
||||||
o ARM/LPC214x (arch/arm/src/lpc214x/)
|
o ARM/LPC214x (arch/arm/src/lpc214x/)
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,16 @@ README
|
|||||||
This README discusses issues unique to NuttX configurations for the
|
This README discusses issues unique to NuttX configurations for the
|
||||||
Freescale DEMO9S12NE64 development board.
|
Freescale DEMO9S12NE64 development board.
|
||||||
|
|
||||||
|
CONTENTS
|
||||||
|
^^^^^^^^
|
||||||
|
• MC9S12NE64 Features
|
||||||
|
• Development Environment
|
||||||
|
• NuttX Buildroot Toolchain
|
||||||
|
• FreeScale HCS12 Serial Monitor
|
||||||
|
• Soft Registers
|
||||||
|
• HCS12/DEMO9S12NEC64-specific Configuration Options
|
||||||
|
• Configurations
|
||||||
|
|
||||||
MC9S12NE64 Features
|
MC9S12NE64 Features
|
||||||
^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
@@ -97,7 +107,7 @@ Development Environment
|
|||||||
environment. The source has been built only using the GNU toolchain
|
environment. The source has been built only using the GNU toolchain
|
||||||
(see below). Other toolchains will likely cause problems.
|
(see below). Other toolchains will likely cause problems.
|
||||||
|
|
||||||
NuttX buildroot Toolchain
|
NuttX Buildroot Toolchain
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
|
||||||
@@ -122,12 +132,17 @@ NuttX buildroot Toolchain
|
|||||||
|
|
||||||
4. cd <some-dir>/buildroot
|
4. cd <some-dir>/buildroot
|
||||||
|
|
||||||
5. cp configs/m68hc12-defconfig-3.4.6 .config
|
5. cp configs/m9s12x-defconfig-3.3.6 .config
|
||||||
|
|
||||||
6. make oldconfig
|
6. make oldconfig
|
||||||
|
|
||||||
7. make
|
7. make
|
||||||
|
|
||||||
|
If the make fails because it can't find the file to download, you may
|
||||||
|
have to locate the file on the internet and download it into the archives/
|
||||||
|
directory manually. For example, binutils-2.18 can be found here:
|
||||||
|
http://ftp.gnu.org/gnu/binutils/
|
||||||
|
|
||||||
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
8. Edit setenv.h, if necessary, so that the PATH variable includes
|
||||||
the path to the newly built binaries.
|
the path to the newly built binaries.
|
||||||
|
|
||||||
@@ -239,7 +254,7 @@ Soft Registers
|
|||||||
files from the Make.defs file so that they no longer cause a problem.
|
files from the Make.defs file so that they no longer cause a problem.
|
||||||
|
|
||||||
HCS12/DEMO9S12NEC64-specific Configuration Options
|
HCS12/DEMO9S12NEC64-specific Configuration Options
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
|
||||||
be set to:
|
be set to:
|
||||||
|
|||||||
@@ -38,15 +38,15 @@ include ${TOPDIR}/.config
|
|||||||
# Setup for the selected toolchain
|
# Setup for the selected toolchain
|
||||||
# NuttX buildroot under Linux or Cygwin
|
# NuttX buildroot under Linux or Cygwin
|
||||||
|
|
||||||
CROSSDEV = m68hc12-elf-
|
CROSSDEV = m9s12x-elf-
|
||||||
MAXOPTIMIZATION = -Os
|
MAXOPTIMIZATION = -Os
|
||||||
WINTOOL = n
|
WINTOOL = n
|
||||||
|
|
||||||
ifeq ($(CONFIG_HCS12_NONBANKED),y)
|
ifeq ($(CONFIG_HCS12_NONBANKED),y)
|
||||||
ARCHCPUFLAGS = -m68hcs12 -mshort -mnolong-calls
|
ARCHCPUFLAGS = -m9s12x -mshort -mnolong-calls
|
||||||
LDSCRIPT = ld.script.nonbanked
|
LDSCRIPT = ld.script.nonbanked
|
||||||
else
|
else
|
||||||
ARCHCPUFLAGS = -m68hcs12 -mshort -mlong-calls
|
ARCHCPUFLAGS = -m9x12x -mshort -mlong-calls
|
||||||
LDSCRIPT = ld.script.banked
|
LDSCRIPT = ld.script.banked
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -84,7 +84,6 @@ MEMORY
|
|||||||
vectors (rx) : ORIGIN = 0xff80, LENGTH = 256
|
vectors (rx) : ORIGIN = 0xff80, LENGTH = 256
|
||||||
}
|
}
|
||||||
|
|
||||||
OUTPUT_ARCH(m68hc12)
|
|
||||||
ENTRY(_stext)
|
ENTRY(_stext)
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -57,7 +57,6 @@ MEMORY
|
|||||||
vectors (rx) : ORIGIN = 0xff80, LENGTH = 256
|
vectors (rx) : ORIGIN = 0xff80, LENGTH = 256
|
||||||
}
|
}
|
||||||
|
|
||||||
OUTPUT_ARCH(m68hc12)
|
|
||||||
ENTRY(_stext)
|
ENTRY(_stext)
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ fi
|
|||||||
if [ -z "${PATH_ORIG}" ]; then export PATH_ORIG="${PATH}"; fi
|
if [ -z "${PATH_ORIG}" ]; then export PATH_ORIG="${PATH}"; fi
|
||||||
|
|
||||||
WD=`pwd`
|
WD=`pwd`
|
||||||
export BUILDROOT_BIN="${WD}/../buildroot/build_m68hc12/staging_dir/bin"
|
export BUILDROOT_BIN="${WD}/../buildroot/build_m9s12x/staging_dir/bin"
|
||||||
export PATH="${BUILDROOT_BIN}:${RIDE_BIN}:/sbin:/usr/sbin:${PATH_ORIG}"
|
export PATH="${BUILDROOT_BIN}:${RIDE_BIN}:/sbin:/usr/sbin:${PATH_ORIG}"
|
||||||
|
|
||||||
echo "PATH : ${PATH}"
|
echo "PATH : ${PATH}"
|
||||||
|
|||||||
Reference in New Issue
Block a user