summaryrefslogtreecommitdiff
path: root/misc/Obsoleted/configs/16z/README.txt
diff options
context:
space:
mode:
Diffstat (limited to 'misc/Obsoleted/configs/16z/README.txt')
-rw-r--r--misc/Obsoleted/configs/16z/README.txt326
1 files changed, 326 insertions, 0 deletions
diff --git a/misc/Obsoleted/configs/16z/README.txt b/misc/Obsoleted/configs/16z/README.txt
new file mode 100644
index 000000000..03338ada6
--- /dev/null
+++ b/misc/Obsoleted/configs/16z/README.txt
@@ -0,0 +1,326 @@
+README.txt
+==========
+
+This is the README file for the NuttX port to the 16z board. The 16z board
+is based on the ZiLOG ZNEOZ16F2811AL20EG part. See https://github.com/toyaga/16z
+for further information.
+
+Contents
+========
+
+ - GPIO Configuration
+ - ZDS-II Compiler Versions
+ - Patches
+ - Serial Console
+ - LEDs
+ - RAM
+ - Selecting Configurations
+ - Configuration Sub-directories
+
+GPIO Configuration
+==================
+
+ --------------------------- ------ --------------------------------------------
+ GPIO SIGNAL On-Board Connections
+ --------------------------- ------ --------------------------------------------
+ PA0/T0IN/T0OUT/DMA0REQ GP8 PS/2 / GPIO, Expansion slots
+ PA1/T0OUT/DMA0ACK GP9 PS/2 / GPIO, Expansion slots
+ PA2/DE0/FAULTY ~INTI Power section, RF transceiver (1)
+ PA3/CTS0/FAULT0 ~INTX Expansion slots
+ PA4/RXD0/CS1 RXD MAX3232D RS-232
+ PA5/TXD0/CS2 TXD MAX3232D RS-232
+ PA6/SCL/CS3 SCL RTC / UID, Expansion slots
+ PA7/SDA/CS4 SDA RTC / UID, Expansion slots
+ --------------------------- ------ --------------------------------------------
+ PB0/ANA0/T0IN0 GP0 Expansion slots
+ PB1/ANA1/T0IN1 GP1 Expansion slots
+ PB2/ANA2/T0IN2 GP2 Expansion slots
+ PB3/ANA3/OPOUT GP3 Expansion slots
+ PB4/ANA4 GP4 Expansion slots
+ PB5/ANA5 GP5 Expansion slots
+ PB6/ANA6/OPINP/CINN GP6 Expansion slots
+ PB7/ANA7/OPINN GP7 Expansion slots
+ --------------------------- ------ --------------------------------------------
+ PC0/T1IN/T1OUT/DMA1REQ/CINN GP10 PS/2 / GPIO, Expansion slots
+ PC1/T1OUT/DMA1ACK/COMPOUT GP11 PS/2 / GPIO, Expansion slots
+ PC2/SS/CS4 ~EXP Expansion slots
+ PC3/SCK/DMA2REQ SCK FT800Q, Serial memory (1), RF Transceiver (1),
+ Expansion slots, SD0, 1, and 2
+ PC4/MOSI/DMA2ACK MOSI FT800Q, Serial memory (1), RF Transceiver (1),
+ Expansion slots, SD0, 1, and 2
+ PC5/MISO/CS5 MISO FT800Q, Serial memory (1), RF Transceiver (1),
+ Expansion slots, SD0, 1, and 2
+ PC6/T2IN/T2OUT/PWMH0 ~CTS MAX3232D RS-232
+ PC7/T2OUT/PWML0 ~RTS MAX3232D RS-232, Power section (?)
+ --------------------------- ------ --------------------------------------------
+ PD0/PWMH1/ADR20 A20 RAM, Expansion slots
+ PD1/PWML1/ADR21 A21 RAM, Expansion slots
+ PD2/PWMH2/ADR22 A22 RAM, Expansion slots
+ PD3/DE1/ADR16 A16 RAM, Expansion slots
+ PD4/RXD1/ADR18 A18 RAM, Expansion slots
+ PD5/TXD1/ADR19 A19 RAM, Expansion slots
+ PD6/CTS1/ADR17 A17 RAM, Expansion slots
+ PD7/PWML2/ADR23 A23 Expansion slots
+ --------------------------- ------ --------------------------------------------
+ PE0/DATA0 D0 RAM, Expansion slots
+ PE1/DATA1 D1 RAM, Expansion slots
+ PE2/DATA2 D2 RAM, Expansion slots
+ PE3/DATA3 D3 RAM, Expansion slots
+ PE4/DATA4 D4 RAM, Expansion slots
+ PE5/DATA5 D5 RAM, Expansion slots
+ PE6/DATA6 D6 RAM, Expansion slots
+ PE7/DATA7 D7 RAM, Expansion slots
+ --------------------------- ------ --------------------------------------------
+ PF0/ADR0 A0 Expansion slots
+ PF1/ADR1 A1 RAM, Expansion slots
+ PF2/ADR2 A2 RAM, Expansion slots
+ PF3/ADR3 A3 RAM, Expansion slots
+ PF4/ADR4 A4 RAM, Expansion slots
+ PF5/ADR5 A5 RAM, Expansion slots
+ PF6/ADR6 A6 RAM, Expansion slots
+ PF7/ADR7 A7 RAM, Expansion slots
+ --------------------------- ------ --------------------------------------------
+ PG0/ADR0 A8 RAM, Expansion slots
+ PG1/ADR0 A9 RAM, Expansion slots
+ PG2/ADR0 A10 RAM, Expansion slots
+ PG3/ADR0 A11 RAM, Expansion slots
+ PG4/ADR0 A12 RAM, Expansion slots
+ PG5/ADR0 A13 RAM, Expansion slots
+ PG6/ADR0 A14 RAM, Expansion slots
+ PG7/ADR0 A15 RAM, Expansion slots
+ --------------------------- ------ --------------------------------------------
+ PH0/ANA8/WR ~WR RAM, Expansion slots
+ PH1/ANA9/RD ~RD RAM, Expansion slots
+ PH2/ANA10/CS0 ~RF LED3, RF transceiver, X2 (1)
+ PH3/ANA11/CINP/WAIT ~SXM LED4, Chip select for the serial memory, U4 (1)
+ --------------------------- ------ --------------------------------------------
+ PJ0/DATA8 ~SD1 LED5, Chip select for the SD card 1, X11.
+ PJ1/DATA9 ~DT1 Card detect for SD card 1
+ PJ2/DATA10 WP1 Write protect for SD card 1
+ PJ3/DATA11 EVE EVE chip select
+ PJ4/DATA12 ~SD2 LED6, Chip select for the SD card 2, X10.
+ PJ5/DATA13 ~DT2 Card detect for SD card 2
+ PJ6/DATA14 WP2 Write protect for SD card 2
+ PJ7/DATA15 ~SD0 LED7, Chip select for the microSD 0, X12.
+ --------------------------- ------ --------------------------------------------
+ PK0/BHEN ~BHE RAM, Expansion slots
+ PK1/BLEN ~BLE RAM, Expansion slots
+ PK2/CS0 ~0000 Bottom RAM bank, Expansion slots
+ PK3/CS1 ~8000 Top RAM bank, Expansion slots
+ PK4/CS2 ~F000 Expansion slots
+ PK5/CS3 ~FFC8 Expansion slots
+ PK6/CS4 ~FFD0 Expansion slots
+ PK7/CS5 ~FFD8 Expansion slots
+ --------------------------- ------ --------------------------------------------
+
+ Note 1: Not populated on my board
+
+ZDS-II Compiler Versions
+========================
+
+Version 5.0.1
+
+ All testing has been performed with ZSD II verion 5.0.1 for the ZNEO.
+
+ There are some problems with this compiler version. See the section
+ entitled "Patches" below.
+
+Other Versions
+
+ If you use any version of ZDS-II other than 5.0.1 or if you install ZDS-II
+ at any location other than the default location, you will have to modify
+ two files: (1) configs/16z/*/setenv.sh and (2) configs/16z/*/Make.defs.
+ Simply edit these two files, changing 5.0.1 to whatever.
+
+Patches
+=======
+
+A bug has been found in the ZDS-II toolchain version 5.0.1. a patch is
+available to work around the bug. A summary of the nature the bug and
+instructions for applying the patch follow.
+
+Parameters are passed different to variadic functions (i.e., functions
+that accept a varying number of parameters) than to regular functions. For
+most functions, parameters are passed in registers, beginning with R1. But
+for variadic functions, all parameters must be passed on the stack.
+
+The logic works correctly for global functions, local functions, and most
+function pointers. It does not work correctly for the case where a variadic
+function point is included within a structure. In that case, the caller
+inappropriately passes the parameters in registers; the receiver will
+attempt to recover the parameters from the stack and a failure then follows.
+
+This bug prevents the use of NSH with the ZNEO. However, a patch has been
+developed that works around the problem. That patch can be found at
+configs/16z/tools/zneo-zdsii-5_0_1-variadic-func-fix.patch. In that
+directory is also a bash script that will apply that patch for you.
+
+The patch would be applied when NuttX is configured as follows:
+
+ cd tools
+ ./configure.sh 16z/nsh
+ cd ..
+ . ./setenv.sh
+ dopatch.sh
+ make
+
+The patch can also be removed with:
+
+ dopatch.sh -R
+
+See the section "Selecting Configurations" below.
+
+UPDATE: 2014-4-27: The nsh example still does not run correctly. This
+is believe to be caused by additional, undiagnosed compiler errors.
+
+Serial Console
+==============
+
+The 16z supports a single UART, UART0, that will be used to support the
+NuttX serial console.
+
+LEDs
+====
+
+The 16z board has 7 LEDs, five of which are controllable via software:
+
+ ----- ------ ------ ------------------------------------
+ LED Color Signal Description
+ ----- ------ ------ ------------------------------------
+ LED1 Red 3V3 Indicates the presence of +3.3V
+ LED2 Red 5V Indicates the presence of +5V
+
+ LED3 Blue ~RF Controlled via PH2. Notes: 1, 2
+ LED4 Green ~SXM Controlled via PH3. Notes: 1, 3
+ LED5 Green ~SD1 Controlled via PJ0. Notes: 1, 4
+ LED6 Yellow ~SD2 Controlled via PJ4. Notes: 1, 5
+ LED7 Yellow ~SD0 Controlled via PJ7. Notes: 1, 6
+ ----- ------ ------ ------------------------------------
+
+ Note 1: Pulled high so a low output illuminates the LED.
+ Note 2: PH2/~RF is also used by the RF transceiver, X2. That part is not
+ populated on my board.
+ Note 3: ~SXM is the chip select for the serial memory, U4. That part is
+ not populated on my board.
+ Note 4: ~SD1 is the chip select for the SD card 1, X11.
+ Note 5: ~SD2 is the chip select for the SD card 2, X10.
+ Note 6: ~SD0 is the chip select for the microSD 0, X12.
+
+In conclusion: None of the LEDs are available to indicate software status
+without potentially sacrificing board functionality. If the RF transceiver
+is not installed (CONFIG_16Z_RFTRANSCEIVER=n) and if LED support is
+requested (CONFIG_ARCH_LEDS), then LED3 will be used to indicate status: A
+solid color means that the board has boot successfully; flashing at a rate
+of approximately 2Hz indicates a software failure.
+
+RAM
+===
+
+The 16z has two IS66WVE4M16BLL 64Mb (4M x 16b) "Pseudo" SRAM parts on board.
+This provides a total of 16MiB of SRAM from program usage.
+
+Selecting Configurations
+========================
+
+Variations on the basic 16z configuration are maintained in subdirectories.
+To configure any specific configuration, do the following steps:
+
+ cd <nuttx-top-directory>/tools
+ ./configure.sh 16z/<sub-directory>
+ cd <nuttx-top-directory>
+ make
+
+Where <sub-directory> is the specific board configuration that you wish to
+build. The following board-specific configurations are available. You may
+also need to apply a path to NuttX before making. Please refer the the
+section "Patches" above"
+
+Before entering the make command, make certain that the path to the ZNEO
+compiler is in you PATH variable. You make modify and use the setenv.sh
+script to set that PATH if you like. You can simply source setenv.sh
+before making like:
+
+ ...
+ . ./setenv.sh
+ make
+
+Configuration Sub-directories
+=============================
+
+source/ and include/
+--------------------
+
+ These directories contain common logic for all 16z configurations.
+
+nsh
+---
+ nsh:
+ This configuration directory will built the NuttShell (NSH). See
+ the NSH user manual in the documents directory (or online at nuttx.org).
+ See also the README.txt file in the nsh sub-directory for information
+ about using ZDS-II.
+
+ NOTES:
+
+ 1. This configuration uses the mconf-based configuration tool. To
+ change this configuration using that tool, you should:
+
+ a. Build and install the kconfig-mconf tool. See nuttx/README.txt
+ and misc/tools/
+
+ b. Execute 'make menuconfig' in nuttx/ in order to start the
+ reconfiguration process.
+
+ 2. By default, this configuration assumes that you are using the
+ Cygwin environment on Windows. An option is to use the native
+ CMD.exe window build as described in the top-level README.txt
+ file. To set up that configuration:
+
+ -CONFIG_WINDOWS_CYGWIN=y
+ +CONFIG_WINDOWS_NATIVE=y
+
+ And after configuring, make sure that CONFIG_APPS_DIR uses
+ the back slash character. For example:
+
+ CONFIG_APPS_DIR="..\apps"
+
+ 3. By default, this configuration assumes that you are using the
+ Cygwin environment on Windows. An option is to use the native
+ CMD.exe window build as described in the top-level README.txt
+ file. To set up that configuration:
+
+ -CONFIG_WINDOWS_CYGWIN=y
+ +CONFIG_WINDOWS_NATIVE=y
+
+ And after configuring, make sure that CONFIG_APPS_DIR uses
+ the back slash character. For example:
+
+ CONFIG_APPS_DIR="..\apps"
+
+ NOTES:
+
+ a. If you need to change the toolchain path used in Make.defs, you
+ will need to use the short 8.3 filenames to avoid spaces. On my
+ PC, C:\PROGRA~1\ is is C:\Program Files\ and C:\PROGRA~2\ is
+ C:\Program Files (x86)\
+ b. You can't use setenv.sh in the native Windows environment. Try
+ scripts/setenv.bat instead.
+ c. At present, the native Windows build fails at the final link stages.
+ The failure is due to problems in arch/z16/src/nuttx.linkcmd that
+ is autogenerated by arch/z16/src/Makefile. The basic problem
+ is the spurious spaces and and carrirage returns are generated at
+ the end of the lines after a line continuation (\ ^M). If these
+ trailing bad characters are manually eliminated, then the build
+ will succeed on the next try.
+
+ STATUS:
+
+ 1. Note that you must apply the ZNEO patch if you are using ZDS-II 5.0.1.
+ See the README.txt file in the parent directory for more information.
+
+ 2. This configuration does not run correctly. This is believed to a yet
+ another ZDS-II compiler problem. The corresponding NSH configuration
+ of the z16f2800100zcog does work, however, so this could also be an
+ issue with the 16z.
+
+Check out any README.txt files in these <sub-directory>s.