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:
patacongo 2011-02-10 20:15:42 +00:00
parent 5c36894300
commit c01814cdad
6 changed files with 42 additions and 48 deletions

59
TODO
View File

@ -1,5 +1,5 @@
NuttX TODO List (Last updated November 30, 2010)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
NuttX TODO List (Last updated January 26, 2011)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(5) Task/Scheduler (sched/)
(1) On-demand paging (sched/)
@ -11,7 +11,7 @@ NuttX TODO List (Last updated November 30, 2010)
(16) Network (net/, drivers/net)
(5) Network Utilities (netutils/)
(1) USB (drivers/usbdev)
(5) Libraries (lib/)
(4) Libraries (lib/)
(12) File system/Generic drivers (fs/, drivers/)
(2) Graphics subystem (graphics/)
(1) Pascal add-on (pcode/)
@ -78,7 +78,7 @@ o On-demand paging (sched/)
configs/ea3131/pgnsh and locked directories). There are
some limitations of this testing so I still cannot say that
the feature is fully functional.
Status: Open, in work
Status: Open
Priority: Medium-Low
o Memory Managment (mm/)
@ -314,18 +314,6 @@ o Network Utilities (netutils/)
Status: Open
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
of pointless warnings. This is kind of annoying and unprofessional; needs to
be fixed someday.
@ -343,11 +331,6 @@ o USB (drivers/usbdev)
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
work as it should. This is because the underlying
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
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
use the tap device (/dev/net/tun) to emulate an Ethernet NIC, but I
never got it correctly integrated with the NuttX networking.
Description: I never did get networking to work on the sim Linux target. On Linux,
it tries to use the tap device (/dev/net/tun) to emulate an Ethernet
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
Priority: Low (unless you want to test networking features on the simulation).
@ -614,10 +599,10 @@ o Linux/Cywgin simulation (arch/sim)
Status: Open
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
(no time slicing). Currently, the timer interrupts are "faked"
during IDLE loop processing and, as a result, there is no task
pre-emption because there are no asynchrous events. This could
Description: Since the simulation is not pre-emptible, you can't use round-robin
scheduling (no time slicing). Currently, the timer interrupts are
"faked" during IDLE loop processing and, as a result, there is no
task pre-emption because there are no asynchrous events. This could
probably be fixed if the "timer interrupt" were driver by Linux
signals. NOTE: You would also have to implement irqsave() and
irqrestore() to block and (conditionally) unblock the signal.
@ -643,7 +628,7 @@ o ARM (arch/arm/)
Status: Open
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
the SVCalls and developing assembly language implementations
of the context save and restore logic.
@ -706,16 +691,6 @@ o ARM/LPC17xx (arch/arm/src/lpc17xx/)
Status: Open
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
fragmentary and bogus. (Leveraged from the lpc214x)
Status: Open
@ -732,6 +707,12 @@ o ARM/LPC17xx (arch/arm/src/lpc17xx/)
Status: Open
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/)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@ -4,6 +4,16 @@ README
This README discusses issues unique to NuttX configurations for the
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
^^^^^^^^^^^^^^^^^^^
@ -97,7 +107,7 @@ Development Environment
environment. The source has been built only using the GNU toolchain
(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
@ -122,12 +132,17 @@ NuttX buildroot Toolchain
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
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
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.
HCS12/DEMO9S12NEC64-specific Configuration Options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
CONFIG_ARCH - Identifies the arch/ subdirectory. This should
be set to:

View File

@ -38,15 +38,15 @@ include ${TOPDIR}/.config
# Setup for the selected toolchain
# NuttX buildroot under Linux or Cygwin
CROSSDEV = m68hc12-elf-
CROSSDEV = m9s12x-elf-
MAXOPTIMIZATION = -Os
WINTOOL = n
ifeq ($(CONFIG_HCS12_NONBANKED),y)
ARCHCPUFLAGS = -m68hcs12 -mshort -mnolong-calls
ARCHCPUFLAGS = -m9s12x -mshort -mnolong-calls
LDSCRIPT = ld.script.nonbanked
else
ARCHCPUFLAGS = -m68hcs12 -mshort -mlong-calls
ARCHCPUFLAGS = -m9x12x -mshort -mlong-calls
LDSCRIPT = ld.script.banked
endif

View File

@ -84,7 +84,6 @@ MEMORY
vectors (rx) : ORIGIN = 0xff80, LENGTH = 256
}
OUTPUT_ARCH(m68hc12)
ENTRY(_stext)
SECTIONS
{

View File

@ -57,7 +57,6 @@ MEMORY
vectors (rx) : ORIGIN = 0xff80, LENGTH = 256
}
OUTPUT_ARCH(m68hc12)
ENTRY(_stext)
SECTIONS
{

View File

@ -40,7 +40,7 @@ fi
if [ -z "${PATH_ORIG}" ]; then export PATH_ORIG="${PATH}"; fi
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}"
echo "PATH : ${PATH}"