Correct a memory leak in NSH
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5600 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
329328e5df
commit
30a0cdf33e
@ -490,7 +490,7 @@ Amber Web Server Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each Amber Web Server configuration is maintained in a sudirectory and can
|
Each Amber Web Server configuration is maintained in a sub-directory and can
|
||||||
be selected as follow:
|
be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -431,7 +431,7 @@ AVR32DEV1 Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each Atmel AVR32DEV configuration is maintained in a sudirectory and
|
Each Atmel AVR32DEV configuration is maintained in a sub-directory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -726,7 +726,7 @@ Cloudctrl-specific Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Each Cloudctrl configuration is maintained in a sudirectory and
|
Each Cloudctrl configuration is maintained in a sub-directory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -358,7 +358,7 @@ HCS12/DEMO9S12NEC64-specific Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each Freescale HCS12 configuration is maintained in a sudirectory and
|
Each Freescale HCS12 configuration is maintained in a sub-directory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -605,7 +605,7 @@ ARM/EA3131-specific Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each EA3131 configuration is maintained in a sudirectory and can be
|
Each EA3131 configuration is maintained in a sub-directory and can be
|
||||||
selected as follow:
|
selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -411,7 +411,7 @@ ARM/EA3152-specific Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each EA3152 configuration is maintained in a sudirectory and can be
|
Each EA3152 configuration is maintained in a sub-directory and can be
|
||||||
selected as follow:
|
selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -383,7 +383,7 @@ Eagle100-specific Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each Eagle-100 configuration is maintained in a sudirectory and
|
Each Eagle-100 configuration is maintained in a sub-directory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -402,7 +402,7 @@ Configurations
|
|||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each Stellaris EKK-LM3S9b96 Evaluation Kit configuration is maintained in a
|
Each Stellaris EKK-LM3S9b96 Evaluation Kit configuration is maintained in a
|
||||||
sudirectory and can be selected as follow:
|
sub-directory and can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
./configure.sh ekk-lm3s9b96/<subdir>
|
./configure.sh ekk-lm3s9b96/<subdir>
|
||||||
|
@ -810,7 +810,7 @@ M3 Wildfire-specific Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Each M3 Wildfire configuration is maintained in a sudirectory and
|
Each M3 Wildfire configuration is maintained in a sub-directory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -560,7 +560,7 @@ HY-Mini specific Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Each HY-MiniSTM32V configuration is maintained in a sudirectory and
|
Each HY-MiniSTM32V configuration is maintained in a sub-directory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -511,7 +511,7 @@ KwikStik-K40-specific Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Each KwikStik-K40 configuration is maintained in a sudirectory and
|
Each KwikStik-K40 configuration is maintained in a sub-directory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -473,7 +473,7 @@ the mountpoint /mnt/flash.
|
|||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each Lincoln 60 configuration is maintained in a sudirectory and can be selected
|
Each Lincoln 60 configuration is maintained in a sub-directory and can be selected
|
||||||
as follow:
|
as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -405,7 +405,7 @@ Configurations
|
|||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each Stellaris MDL-S2E Reference Design configuration is maintained in a
|
Each Stellaris MDL-S2E Reference Design configuration is maintained in a
|
||||||
sudirectory and can be selected as follow:
|
sub-directory and can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
./configure.sh lm3s6432-s2e/<subdir>
|
./configure.sh lm3s6432-s2e/<subdir>
|
||||||
|
@ -545,7 +545,7 @@ Configurations
|
|||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each Stellaris LM3S6965 Evaluation Kit configuration is maintained in a
|
Each Stellaris LM3S6965 Evaluation Kit configuration is maintained in a
|
||||||
sudirectory and can be selected as follow:
|
sub-directory and can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
./configure.sh lm3s6965-ek/<subdir>
|
./configure.sh lm3s6965-ek/<subdir>
|
||||||
|
@ -449,7 +449,7 @@ Configurations
|
|||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each Stellaris LM3S8962 Evaluation Kit configuration is maintained in a
|
Each Stellaris LM3S8962 Evaluation Kit configuration is maintained in a
|
||||||
sudirectory and can be selected as follow:
|
sub-directory and can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
./configure.sh lm3s8962-ek/<subdir>
|
./configure.sh lm3s8962-ek/<subdir>
|
||||||
|
@ -893,7 +893,7 @@ LPC4330-Xplorer Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Each LPC4330-Xplorer configuration is maintained in a sudirectory and can be selected
|
Each LPC4330-Xplorer configuration is maintained in a sub-directory and can be selected
|
||||||
as follow:
|
as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -734,7 +734,7 @@ LPCXpresso Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each LPCXpresso configuration is maintained in a sudirectory and can be
|
Each LPCXpresso configuration is maintained in a sub-directory and can be
|
||||||
selected as follow:
|
selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -444,7 +444,7 @@ the mountpoint /mnt/flash.
|
|||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each mbed configuration is maintained in a sudirectory and can be selected
|
Each mbed configuration is maintained in a sub-directory and can be selected
|
||||||
as follow:
|
as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -320,7 +320,7 @@ ARM/LPC214X-specific Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each NXP LPC214x configuration is maintained in a sudirectory and
|
Each NXP LPC214x configuration is maintained in a sub-directory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -510,7 +510,7 @@ Micropendous3 Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each Micropendous3 configuration is maintained in a sudirectory and can
|
Each Micropendous3 configuration is maintained in a sub-directory and can
|
||||||
be selected as follow:
|
be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -849,7 +849,7 @@ PIC32MX Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Each PIC32MX configuration is maintained in a sudirectory and can be
|
Each PIC32MX configuration is maintained in a sub-directory and can be
|
||||||
selected as follow:
|
selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -121,7 +121,7 @@ ARM/i.MX1-specific Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each MX1ADS configuration is maintained in a sudirectory and
|
Each MX1ADS configuration is maintained in a sub-directory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -465,7 +465,7 @@ HCS12/NE64BADGE-specific Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each Freescale HCS12 configuration is maintained in a sudirectory and
|
Each Freescale HCS12 configuration is maintained in a sub-directory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -282,7 +282,7 @@ ARM/DM320-specific Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each Neuros OSD configuration is maintained in a sudirectory and
|
Each Neuros OSD configuration is maintained in a sub-directory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -521,7 +521,7 @@ Configurations
|
|||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each Nucleus 2G configuration is maintained in a
|
Each Nucleus 2G configuration is maintained in a
|
||||||
sudirectory and can be selected as follow:
|
sub-directory and can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
./configure.sh nucleus2g/<subdir>
|
./configure.sh nucleus2g/<subdir>
|
||||||
|
@ -849,7 +849,7 @@ Configurations
|
|||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each Olimex LPC1766-STK configuration is maintained in a
|
Each Olimex LPC1766-STK configuration is maintained in a
|
||||||
sudirectory and can be selected as follow:
|
sub-directory and can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
./configure.sh olimex-lpc1766stk/<subdir>
|
./configure.sh olimex-lpc1766stk/<subdir>
|
||||||
|
@ -159,7 +159,7 @@ MAX3232 Connection
|
|||||||
RX -- Pin 52: U1RX/RF2
|
RX -- Pin 52: U1RX/RF2
|
||||||
GND -- POWER POINT: GND
|
GND -- POWER POINT: GND
|
||||||
Vcc -- POWER POINT: Vdd (3.3V) -- Or P32_VBUS (+5V)
|
Vcc -- POWER POINT: Vdd (3.3V) -- Or P32_VBUS (+5V)
|
||||||
-- Or +5V from a USB PC port.
|
Or +5V from a USB PC port.
|
||||||
|
|
||||||
Toolchains
|
Toolchains
|
||||||
==========
|
==========
|
||||||
@ -524,7 +524,7 @@ PIC32MX Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Each PIC32MX configuration is maintained in a sudirectory and can be
|
Each PIC32MX configuration is maintained in a sub-directory and can be
|
||||||
selected as follow:
|
selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -40,25 +40,25 @@
|
|||||||
/* LCD pin mapping (see configs/pcblogic-pic32mx/README.txt)
|
/* LCD pin mapping (see configs/pcblogic-pic32mx/README.txt)
|
||||||
*
|
*
|
||||||
* ----------------------------------- ---------- ----------------------------------
|
* ----------------------------------- ---------- ----------------------------------
|
||||||
* PIC32 LCD1602 UBW32 PIN
|
* PIC32 LCD1602 PCBLogic PIN
|
||||||
* PIN SIGNAL NAME PIN NAME(s)
|
* PIN SIGNAL NAME PIN NAME(s)
|
||||||
* ----------------------------------- ---------- ----------------------------------
|
* ----------------------------------- ---------- ----------------------------------
|
||||||
* 1. Vss GND
|
* 1. Vss --> Powerpoint GND
|
||||||
* 2. Vdd Vcc (5V)
|
* 2. Vdd --> Powerpoint USB+5V
|
||||||
* 3. Vee To ground via 10K potentiometer
|
* 3. Vee N/C To ground via 10K potentiometer
|
||||||
* 4 AN15/OCFB/PMALL/PMA0/CN12/RB15 4. RS PMA0, Selects registers
|
* 4 AN15/OCFB/PMALL/PMA0/CN12/RB15 4. RS 4 PMA0, Selects registers
|
||||||
* 82 PMRD/CN14/RD5 5. RW PMRD/PMWR, Selects read or write
|
* 82 PMRD/CN14/RD5 5. RW 82 PMRD/PMWR, Selects read or write
|
||||||
* 81 OC5/PMWR/CN13/RD4 6. E PMENB, Starts data read/write
|
* 81 OC5/PMWR/CN13/RD4 6. E 81 PMENB, Starts data read/write
|
||||||
* 93 PMD0/RE0 7. D0 PMD0
|
* 93 PMD0/RE0 7. D0 93 PMD0
|
||||||
* 94 PMD1/RE1 8. D1 PMD1
|
* 94 PMD1/RE1 8. D1 94 PMD1
|
||||||
* 98 PMD2/RE2 9. D2 PMD2
|
* 98 PMD2/RE2 9. D2 98 PMD2
|
||||||
* 99 PMD3/RE3 10. D3 PMD3
|
* 99 PMD3/RE3 10. D3 99 PMD3
|
||||||
* 100 PMD4/RE4 11. D4 PMD4
|
* 100 PMD4/RE4 11. D4 100 PMD4
|
||||||
* 3 PMD5/RE5 12. D5 PMD5
|
* 3 PMD5/RE5 12. D5 3 PMD5
|
||||||
* 4 PMD6/RE6 13. D6 PMD6
|
* 4 PMD6/RE6 13. D6 4 PMD6
|
||||||
* 5 PMD7/RE7 14. D7 PMD7
|
* 5 PMD7/RE7 14. D7 5 PMD7
|
||||||
* 15. A To Vcc (5V) via 10K potentiometer
|
* 15. A N/C To Vcc (5V) via 10K potentiometer
|
||||||
* 16. K GND
|
* 16. K --> Powerpoint GND
|
||||||
* ----------------------------------- ---------- ----------------------------------
|
* ----------------------------------- ---------- ----------------------------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -1021,7 +1021,7 @@ PIC32MX specific PHY/Ethernet device driver settings
|
|||||||
Configurations
|
Configurations
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Each PIC32MX configuration is maintained in a sudirectory and can be
|
Each PIC32MX configuration is maintained in a sub-directory and can be
|
||||||
selected as follow:
|
selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -599,7 +599,7 @@ PIC32MX specific PHY/Ethernet device driver settings
|
|||||||
Configurations
|
Configurations
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Each PIC32MX configuration is maintained in a sudirectory and can be
|
Each PIC32MX configuration is maintained in a sub-directory and can be
|
||||||
selected as follow:
|
selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -355,7 +355,7 @@ SAM3U-EK-specific Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each SAM3U-EK configuration is maintained in a sudirectory and
|
Each SAM3U-EK configuration is maintained in a sub-directory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -743,7 +743,7 @@ Shenzhou-specific Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Each Shenzhou configuration is maintained in a sudirectory and
|
Each Shenzhou configuration is maintained in a sub-directory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -680,7 +680,7 @@ STM3210E-EVAL-specific Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Each STM3210E-EVAL configuration is maintained in a sudirectory and
|
Each STM3210E-EVAL configuration is maintained in a sub-directory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -776,7 +776,7 @@ STM3220G-EVAL-specific Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Each STM3220G-EVAL configuration is maintained in a sudirectory and
|
Each STM3220G-EVAL configuration is maintained in a sub-directory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -912,7 +912,7 @@ STM3240G-EVAL-specific Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Each STM3240G-EVAL configuration is maintained in a sudirectory and
|
Each STM3240G-EVAL configuration is maintained in a sub-directory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -454,7 +454,7 @@ configured on pins PA3 and PA2, respectively.
|
|||||||
Configurations
|
Configurations
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Each STMicro STM32F100RC generic configuration is maintained in a sudirectory
|
Each STMicro STM32F100RC generic configuration is maintained in a sub-directory
|
||||||
and can be selected as follow:
|
and can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -1003,7 +1003,7 @@ STM32F4Discovery-specific Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Each STM32F4Discovery configuration is maintained in a sudirectory and
|
Each STM32F4Discovery configuration is maintained in a sub-directory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -596,7 +596,7 @@ PIC32MX Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Each PIC32MX configuration is maintained in a sudirectory and can be
|
Each PIC32MX configuration is maintained in a sub-directory and can be
|
||||||
selected as follow:
|
selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -513,7 +513,7 @@ Teensy++ Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each Teensy++ configuration is maintained in a sudirectory and can
|
Each Teensy++ configuration is maintained in a sub-directory and can
|
||||||
be selected as follow:
|
be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -645,7 +645,7 @@ TWR-K60N512-specific Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Each TWR-K60N512 configuration is maintained in a sudirectory and
|
Each TWR-K60N512 configuration is maintained in a sub-directory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -569,7 +569,7 @@ PIC32MX Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Each PIC32MX configuration is maintained in a sudirectory and can be
|
Each PIC32MX configuration is maintained in a sub-directory and can be
|
||||||
selected as follow:
|
selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -55,7 +55,7 @@ shterm
|
|||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each SH-1 configuration is maintained in a sudirectory and
|
Each SH-1 configuration is maintained in a sub-directory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -290,7 +290,7 @@ VSN-specific Configuration Options
|
|||||||
Configurations
|
Configurations
|
||||||
^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Each VSN configuration is maintained in a sudirectory and
|
Each VSN configuration is maintained in a sub-directory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -282,7 +282,7 @@ Using OpenOCD and GDB with an FT2232 JTAG emulator
|
|||||||
Configurations:
|
Configurations:
|
||||||
===============
|
===============
|
||||||
|
|
||||||
Each NXP LPC214x configuration is maintained in a sudirectory and
|
Each NXP LPC214x configuration is maintained in a sub-directory and
|
||||||
can be selected as follow:
|
can be selected as follow:
|
||||||
|
|
||||||
cd tools
|
cd tools
|
||||||
|
@ -637,9 +637,21 @@ static ssize_t fat_write(FAR struct file *filep, const char *buffer,
|
|||||||
int sectorindex;
|
int sectorindex;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
/* Sanity checks */
|
/* Sanity checks. I have seen the following assertion misfire if
|
||||||
|
* CONFIG_DEBUG_MM is enabled while re-directing output to a
|
||||||
|
* file. In this case, the debug output can get generated while
|
||||||
|
* the file is being opened, FAT data structures are being allocated,
|
||||||
|
* and things are generally in a perverse state.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef CONFIG_DEBUG_MM
|
||||||
|
if (filep->f_priv == NULL || filep->f_inode == NULL)
|
||||||
|
{
|
||||||
|
return -ENXIO;
|
||||||
|
}
|
||||||
|
#else
|
||||||
DEBUGASSERT(filep->f_priv != NULL && filep->f_inode != NULL);
|
DEBUGASSERT(filep->f_priv != NULL && filep->f_inode != NULL);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Recover our private data from the struct file instance */
|
/* Recover our private data from the struct file instance */
|
||||||
|
|
||||||
|
@ -72,8 +72,20 @@ FAR struct filelist *sched_getfiles(void)
|
|||||||
FAR _TCB *rtcb = (FAR _TCB*)g_readytorun.head;
|
FAR _TCB *rtcb = (FAR _TCB*)g_readytorun.head;
|
||||||
FAR struct task_group_s *group = rtcb->group;
|
FAR struct task_group_s *group = rtcb->group;
|
||||||
|
|
||||||
DEBUGASSERT(group);
|
/* The group may be NULL under certain conditions. For example, if
|
||||||
return &group->tg_filelist;
|
* debug output is attempted from the IDLE thead before the group has
|
||||||
|
* been allocated. I have only seen this case when memory management
|
||||||
|
* debug is enabled.
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (group)
|
||||||
|
{
|
||||||
|
return &group->tg_filelist;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Higher level logic must handle the NULL gracefully */
|
||||||
|
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_NFILE_DESCRIPTORS */
|
#endif /* CONFIG_NFILE_DESCRIPTORS */
|
||||||
|
@ -166,6 +166,16 @@ errout:
|
|||||||
* Description:
|
* Description:
|
||||||
* Perform file_actions, then execute the task from the file system.
|
* Perform file_actions, then execute the task from the file system.
|
||||||
*
|
*
|
||||||
|
* Do we really need this proxy task? Isn't that wasteful?
|
||||||
|
*
|
||||||
|
* Q: Why not use a starthook so that there is callout from task_start()
|
||||||
|
* to perform these operations after the file is loaded from
|
||||||
|
* the file system?
|
||||||
|
* A: That existing task_starthook() implementation cannot be used in
|
||||||
|
* this context; any of task_starthook() will also conflict with
|
||||||
|
* binfmt's use of the start hook to call C++ static initializers.
|
||||||
|
* task_restart() would also be an issue.
|
||||||
|
*
|
||||||
* Input Parameters:
|
* Input Parameters:
|
||||||
* Standard task start-up parameters
|
* Standard task start-up parameters
|
||||||
*
|
*
|
||||||
@ -399,7 +409,7 @@ int posix_spawn(FAR pid_t *pid, FAR const char *path,
|
|||||||
return errcode;
|
return errcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Disable pre-emption so that the proxy does not run until we waitpid
|
/* Disable pre-emption so that the proxy does not run until waitpid
|
||||||
* is called. This is probably unnecessary since the posix_spawn_proxy has
|
* is called. This is probably unnecessary since the posix_spawn_proxy has
|
||||||
* the same priority as this thread; it should be schedule behind this
|
* the same priority as this thread; it should be schedule behind this
|
||||||
* task in the ready-to-run list.
|
* task in the ready-to-run list.
|
||||||
|
@ -110,8 +110,6 @@ static int task_spawn_exec(FAR pid_t *pidp, FAR const char *name,
|
|||||||
int pid;
|
int pid;
|
||||||
int ret = OK;
|
int ret = OK;
|
||||||
|
|
||||||
DEBUGASSERT(path);
|
|
||||||
|
|
||||||
/* Disable pre-emption so that we can modify the task parameters after
|
/* Disable pre-emption so that we can modify the task parameters after
|
||||||
* we start the new task; the new task will not actually begin execution
|
* we start the new task; the new task will not actually begin execution
|
||||||
* until we re-enable pre-emption.
|
* until we re-enable pre-emption.
|
||||||
@ -159,6 +157,23 @@ errout:
|
|||||||
* Description:
|
* Description:
|
||||||
* Perform file_actions, then execute the task from the file system.
|
* Perform file_actions, then execute the task from the file system.
|
||||||
*
|
*
|
||||||
|
* Do we really need a proxy task in this case? Isn't that wasteful?
|
||||||
|
*
|
||||||
|
* Q: Why can we do what we need to do here and the just call the
|
||||||
|
* new task's entry point.
|
||||||
|
* A: This would require setting up the name, priority, and stacksize from
|
||||||
|
* the task_spawn, but it do-able. The only issue I can think of is
|
||||||
|
* that NuttX supports task_restart(), and you would never be able to
|
||||||
|
* restart a task from this point.
|
||||||
|
*
|
||||||
|
* Q: Why not use a starthook so that there is callout from task_start()
|
||||||
|
* to perform these operations?
|
||||||
|
* A: Good idea, except that existing task_starthook() implementation
|
||||||
|
* cannot be used here unless we get rid of task_create and, instead,
|
||||||
|
* use task_init() and task_activate(). start_taskhook() could then
|
||||||
|
* be called between task_init() and task)activate(). task_restart()
|
||||||
|
* would still be an issue.
|
||||||
|
*
|
||||||
* Input Parameters:
|
* Input Parameters:
|
||||||
* Standard task start-up parameters
|
* Standard task start-up parameters
|
||||||
*
|
*
|
||||||
@ -303,10 +318,8 @@ int task_spawn(FAR pid_t *pid, FAR const char *name, main_t entry,
|
|||||||
#endif
|
#endif
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
DEBUGASSERT(path);
|
svdbg("pid=%p name=%s entry=%p file_actions=%p attr=%p argv=%p\n",
|
||||||
|
pid, name, entry, file_actions, attr, argv);
|
||||||
svdbg("pid=%p path=%s file_actions=%p attr=%p argv=%p\n",
|
|
||||||
pid, path, file_actions, attr, argv);
|
|
||||||
|
|
||||||
/* If there are no file actions to be performed and there is no change to
|
/* If there are no file actions to be performed and there is no change to
|
||||||
* the signal mask, then start the new child task directly from the parent task.
|
* the signal mask, then start the new child task directly from the parent task.
|
||||||
@ -359,7 +372,7 @@ int task_spawn(FAR pid_t *pid, FAR const char *name, main_t entry,
|
|||||||
return errcode;
|
return errcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Disable pre-emption so that the proxy does not run until we waitpid
|
/* Disable pre-emption so that the proxy does not run until waitpid
|
||||||
* is called. This is probably unnecessary since the task_spawn_proxy has
|
* is called. This is probably unnecessary since the task_spawn_proxy has
|
||||||
* the same priority as this thread; it should be schedule behind this
|
* the same priority as this thread; it should be schedule behind this
|
||||||
* task in the ready-to-run list.
|
* task in the ready-to-run list.
|
||||||
|
Loading…
Reference in New Issue
Block a user