diff --git a/configs/kwikstik-k40/README.txt b/configs/kwikstik-k40/README.txt index 997d31b8a4..43f5a026f3 100644 --- a/configs/kwikstik-k40/README.txt +++ b/configs/kwikstik-k40/README.txt @@ -344,7 +344,7 @@ NXFLAT Toolchain KwikStik-K40-specific Configuration Options ============================================ - CONFIG_ARCH - Identifies the arch/ subdirectory. This sould + CONFIG_ARCH - Identifies the arch/ subdirectory. This should be set to: CONFIG_ARCH=arm @@ -399,11 +399,9 @@ KwikStik-K40-specific Configuration Options CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions - CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to board architecture. - CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that cause a 100 second delay during boot-up. This 100 second delay - serves no purpose other than it allows you to calibratre + serves no purpose other than it allows you to calibrate CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until the delay actually is 100 seconds. @@ -446,7 +444,7 @@ KwikStik-K40-specific Configuration Options CONFIG_KINETIS_USBOTG -- Support USB OTG (see also CONFIG_USBHOST and CONFIG_USBDEV) CONFIG_KINETIS_USBDCD -- Support the USB Device Charger Detection module CONFIG_KINETIS_LLWU -- Support the Low Leakage Wake-Up Unit - CONFIG_KINETIS_TSI -- Support the touch screeen interface + CONFIG_KINETIS_TSI -- Support the touch screen interface CONFIG_KINETIS_FTFL -- Support FLASH CONFIG_KINETIS_DMA -- Support DMA CONFIG_KINETIS_CRC -- Support CRC @@ -469,7 +467,7 @@ KwikStik-K40-specific Configuration Options PIN Interrupt Support - CONFIG_GPIO_IRQ -- Enable pin interrtup support. Also needs + CONFIG_GPIO_IRQ -- Enable pin interrupt support. Also needs one or more of the following: CONFIG_KINETIS_PORTAINTS -- Support 32 Port A interrupts CONFIG_KINETIS_PORTBINTS -- Support 32 Port B interrupts diff --git a/configs/saml21-xplained/README.txt b/configs/saml21-xplained/README.txt index 709a93794c..3453e0e1d1 100644 --- a/configs/saml21-xplained/README.txt +++ b/configs/saml21-xplained/README.txt @@ -27,17 +27,10 @@ STATUS/ISSUES - Since this port is a leverage of the SAMD20 Xplained port, some of the STATUS/ISSUES in the SAMD20 Xplained README.txt may apply here as well. - - 2015-5-25: The basic port is running but using OSC16M and with a CPU - frequency of only 16MHz. Attempts to use the DFLL to get the 48MHz - has so far been unsuccessful. I can't find any example in the Atmel - ASF files the run at 48MHz with the DFLL (in closed loop mode) or - with the DPLL. - - If I enable the DFLL now in open loop mode. It kind of works but with - a some random CPU frequenycy (soemthing like 13.7MHz). Of course the - results in a crazy UART baud so that is not usable. If I try to enable - the DFLL in closed loop mode, it hangs waiting for the DFLL to become - ready. I have not tried the DPLL. + - 2015-5-26: The basic port is running at 48MHz (using 32.768 XTAL input + and the digital frequency locked loop). The basic NuttShell (NSH) + configuration is working well with the serial console provided by + SERCOM4 as 115200 8N1. Modules ======= @@ -51,7 +44,7 @@ Modules 3) PROTO1 - A prototyping board with logic on board (other than power- related logic). -Some of these are discussed further below. + Some of these are discussed further below. I/O1 ---- diff --git a/configs/teensy-3.1/README.txt b/configs/teensy-3.1/README.txt new file mode 100644 index 0000000000..a548e1b980 --- /dev/null +++ b/configs/teensy-3.1/README.txt @@ -0,0 +1,280 @@ +README +====== + + This is a README file for the port of NuttX to the Teensy-3.1 from PJRC + (https://www.pjrc.com/). The Teensy-3.1 features the Freescale + MK30DX256VLH7 chip (now NXP). The MK30DX256VLH7 is a 64-pin Cortex-M4 + running at 72MHz. It has 256KiB of program FLASH memory and 64KiB of + SRAM. For more information about the Teensy 3.1, see + + https://www.pjrc.com/teensy/teensy31.html + https://www.pjrc.com/store/teensy31.html + +Contents +======== + + o STATUS + o Pin Configuration + o Serial Console + o LEDs + o Using the Halfkey Loader + o Teensy-3.1 Configuration settings + o Configurations + +STATUS +====== + + 2005-08-08: + At present, this README is merely a placeholder for a planned port of + NuttX to the Teensy-3.1 + +Pin Configuration +================= + + Nearly all pins are available to the user. The few port pins used on + board are listed below: + + ----- -------------------------------------- + P0RT BOARD USAGE + ----- -------------------------------------- + PTA0 MINI54TAN / Bootloader + PTA1 MINI54TAN / Bootloader + PTA2 MINI54TAN / Bootloader + PTA3 MINI54TAN / Bootloader + PTA18 16MHz XTAL (XTAL32 is not populated). + PTA19 16MHz XTAL + PTB1 MINI54TAN / Bootloader + PTB2 MINI54TAN / Bootloader + PTC5 LED + ----- -------------------------------------- + +Serial Console +============== + + The K20 has three UARTs with pin availability as follows: + + --------- ------ ----------- ------------------------- + UART PORT BOARD PJRC PINOUT DESCRIPTION + FUNCTION LABEL + --------- ------ ----------- ------------------------- + UART0_RX PTA1 (See above) MINI54TAN / Bootloader + PTB16 Pin 0 RX1 / Touch + PTD6 Pin 21 / A7 RX1 / CS / PWM + UART0_TX PTA2 (See above) MINI54TAN / Bootloader + PTB17 Pin 1 TX1 / Touch + PTD7 Pin 5 TX1 / PWM + --------- ------ ----------- ------------------------- + UART1_RX PTC3 Pin 9 RX2 / CS / PWM + PTE1 Pad 26 (Pad on back of board) + UART1_TX PTC4 Pin 10 TX2 / CS / PWM + PTE0 Pad 31 (Pad on back of board) + --------- ------ ----------- ------------------------- + UART2_RX PTD2 Pin 7 RX3 / DOUT + UART2_TX PTD3 Pin 8 TX3 / DIN + --------- ------ ----------- ------------------------- + + The default serial console is UART0 on pins 0 (RX) and 1 (TX). + +LEDs +==== + + A single LED is available driven by PTC5. The LED is grounded + so bringing PTC5 high will illuminate the LED. + + When CONFIG_ARCH_LEDS is defined in the NuttX configuration, NuttX will + control the LED as follows: + + SYMBOL Meaning LED + ------------------- ----------------------- ------ + LED_STARTED NuttX has been started OFF + LED_HEAPALLOCATE Heap has been allocated OFF + LED_IRQSENABLED Interrupts enabled OFF + LED_STACKCREATED Idle stack created ON + LED_INIRQ In an interrupt N/C + LED_SIGNAL In a signal handler N/C + LED_ASSERTION An assertion failed N/C + LED_PANIC The system has crashed FLASH + + Thus is LED is statically on, NuttX has successfully booted and is, + apparently, running normally. If LED is flashing at approximately + 2Hz, then a fatal error has been detected and the system has halted. + +Using the Halfkey Loader +======================== + + See https://www.pjrc.com/teensy/first_use.html + https://www.pjrc.com/teensy/loader_cli.html + +Teensy-3.1 Configuration settings +================================= + + CONFIG_ARCH - Identifies the arch/ subdirectory. This should + be set to: + + CONFIG_ARCH=arm + + CONFIG_ARCH_family - For use in C code: + + CONFIG_ARCH_ARM=y + + CONFIG_ARCH_architecture - For use in C code: + + CONFIG_ARCH_CORTEXM4=y + + CONFIG_ARCH_CHIP - Identifies the arch/*/chip subdirectory + + CONFIG_ARCH_CHIP="kinetis" + + CONFIG_ARCH_CHIP_name - For use in C code to identify the exact + chip: + + CONFIG_ARCH_CHIP_MK20DX256VLH7=y + + CONFIG_ARCH_BOARD - Identifies the configs subdirectory and + hence, the board that supports the particular chip or SoC. + + CONFIG_ARCH_BOARD="teensy-3.1" + + CONFIG_ARCH_BOARD_name - For use in C code + + CONFIG_ARCH_BOARD_TEENSY_31=y + + CONFIG_ARCH_LOOPSPERMSEC - Must be calibrated for correct operation + of delay loops + + CONFIG_ENDIAN_BIG - define if big endian (default is little + endian) + + CONFIG_RAM_SIZE - Describes the installed DRAM (SRAM in this case): + + CONFIG_RAM_SIZE=0x00008000 (32Kb) + + CONFIG_RAM_START - The start address of installed DRAM + + CONFIG_RAM_START=0x20000000 + + CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that + have LEDs + + CONFIG_ARCH_INTERRUPTSTACK - This architecture supports an interrupt + stack. If defined, this symbol is the size of the interrupt + stack in bytes. If not defined, the user task stacks will be + used during interrupt handling. + + CONFIG_ARCH_STACKDUMP - Do stack dumps after assertions + + CONFIG_ARCH_CALIBRATION - Enables some build in instrumentation that + cause a 100 second delay during boot-up. This 100 second delay + serves no purpose other than it allows you to calibrate + CONFIG_ARCH_LOOPSPERMSEC. You simply use a stop watch to measure + the 100 second delay then adjust CONFIG_ARCH_LOOPSPERMSEC until + the delay actually is 100 seconds. + + Individual subsystems can be enabled: + + To be provided + +Configurations +============== + + Common Configuration Information + -------------------------------- + Each Teensy-3.1 configurations are maintained in sub-directories and + can be selected as follow: + + cd tools + ./configure.sh teensy-3.1/ + cd - + make oldconfig + . ./setenv.sh + + Before sourcing the setenv.sh file above, you should examine it and + perform edits as necessary so that TOOLCHAIN_BIN is the correct path to + the directory than holds your toolchain binaries. + + If this is a Windows native build, then configure.bat should be used + instead of configure.sh: + + configure.bat teensy-3.1\ + + And then build NuttX by simply typing the following. At the conclusion of + the make, the nuttx binary will reside in an ELF file called, simply, + nuttx. + + make oldconfig + make + + The that is provided above as an argument to the + tools/configure.sh must be is one of the directories listed below. + +NOTES: + + 1. These configurations use the mconf-based configuration tool. To + change any of these configurations 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. Unless stated otherwise, all configurations generate console + output on [To be provided]. + + 3. All of these configurations are set up to build under Windows using the + "GNU Tools for ARM Embedded Processors" that is maintained by ARM + (unless stated otherwise in the description of the configuration). + + https://launchpad.net/gcc-arm-embedded + + As of this writing (2015-03-11), full support is difficult to find + for the Cortex-M&, but is supported by at least this realeasse of + the ARM GNU tools: + + https://launchpadlibrarian.net/192228215/release.txt + + That toolchain selection can easily be reconfigured using + 'make menuconfig'. Here are the relevant current settings: + + Build Setup: + CONFIG_HOST_WINDOWS=y : Window environment + CONFIG_WINDOWS_CYGWIN=y : Cywin under Windows + + System Type -> Toolchain: + CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW=y : GNU ARM EABI toolchain + + NOTE: As of this writing, there are issues with using this tool at + the -Os level of optimization. This has not been proven to be a + compiler issue (as least not one that might not be fixed with a + well placed volatile qualifier). However, in any event, it is + recommend that you use not more that -O2 optimization. + + Configuration sub-directories + ----------------------------- + + nsh: + + Configures the NuttShell (nsh) located at apps/examples/nsh. + + 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 uses the CodeSourcery toolchain + for Windows and builds under Cygwin (or probably MSYS). That + can easily be reconfigured, of course. + + CONFIG_HOST_WINDOWS=y : Builds under Windows + CONFIG_WINDOWS_CYGWIN=y : Using Cygwin + CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW=y : CodeSourcery for Windows + + Support + for builtin applications is enabled, but in the base configuration + no builtin applications are selected (see NOTES below). \ No newline at end of file