9
0
Fork 0

fs/ and lib/ debug can be selectively enabled

git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@406 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
patacongo 2007-11-24 13:59:57 +00:00
parent e1c95f5f8f
commit 060414c9db
9 changed files with 69 additions and 36 deletions

View File

@ -247,6 +247,7 @@
0.3.3 2007-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
* Removed unused uIP files
* sched/, mm/, net/ subystem debug can not be selectively enabled/disabled
* sched/, mm/, and net/ subystem debug can not be selectively enabled/disabled
* Correct socket close logic -- needs to disconnect TCP socket on close
* uIP webserver now seems to be fully functional
* fs/ and lib/ subystem debug can not be selectively enabled/disabled

View File

@ -727,9 +727,10 @@ Other memory:
0.3.3 2007-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
* Removed unused uIP files
* sched/, mm/, net/ subystem debug can not be selectively enabled/disabled
* sched/, mm/, and net/ subystem debug can not be selectively enabled/disabled
* Correct socket close logic -- needs to disconnect TCP socket on close
* uIP webserver now seems to be fully functional
* fs/ and lib/ subystem debug can not be selectively enabled/disabled
</pre></ul>
<table width ="100%">

View File

@ -1196,6 +1196,9 @@ The system can be re-made subsequently by just typing <code>make</code>.
<li>
<code>CONFIG_DEBUG</code>: enables built-in debug options
</li>
<li>
<code>CONFIG_DEBUG_VERBOSE</code>: enables verbose debug output
</li>
<li>
<code>CONFIG_DEBUG_SCHED</code>: enable OS debug output (disabled by default)
</li>
@ -1203,10 +1206,13 @@ The system can be re-made subsequently by just typing <code>make</code>.
<code>CONFIG_DEBUG_MM</code>: enable memory management debug output (disabld by default)
</li>
<li>
<code>CONFIG_DEBUG_NET</code>: enable networkd debug output (disabled by default)
<code>CONFIG_DEBUG_NET</code>: enable network debug output (disabled by default)
</li>
<li>
<code>CONFIG_DEBUG_VERBOSE</code>: enables verbose debug output
<code>CONFIG_DEBUG_FS</code>: enable filesystem debug output (disabled by default)
</li>
<li>
<code>CONFIG_DEBUG_LIB</code>: enable C library debug output (disabled by default)
</li>
<li>
<code>CONFIG_HAVE_LOWPUTC</code>: architecture supports low-level, boot

View File

@ -49,6 +49,7 @@ o Network
is in the subnet served by the driver.
- uIP/Socket callback logic is not thread safe. This means that a socket cannot be
used concurrently by two threads. Minimal fix: Add mutex to support exclusion.
- IPv6 support is incomplete
o USB
- Implement USB device support

View File

@ -132,6 +132,10 @@ defconfig -- This is a configuration file similar to the Linux
(disabld by default)
CONFIG_DEBUG_NET - enable network debug output (disabled
by default)
CONFIG_DEBUG_FS - enable filesystem debug output (disabled
by default)
CONFIG_DEBUG_LIB - enable C library debug output (disabled
by default)
CONFIG_HAVE_LOWPUTC - architecture supports low-level, boot
time console output
CONFIG_MM_REGIONS - If the architecture includes multiple

View File

@ -695,22 +695,22 @@ int fat_mount(struct fat_mountpt_s *fs, boolean writeable)
/* We did it! */
dbg("FAT%d:\n", fs->fs_type == 0 ? 12 : fs->fs_type == 1 ? 16 : 32);
dbg("\tHW sector size: %d\n", fs->fs_hwsectorsize);
dbg("\t sectors: %d\n", fs->fs_hwnsectors);
dbg("\tFAT reserved: %d\n", fs->fs_fatresvdseccount);
dbg("\t sectors: %d\n", fs->fs_fattotsec);
dbg("\t start sector: %d\n", fs->fs_fatbase);
dbg("\t root sector: %d\n", fs->fs_rootbase);
dbg("\t root entries: %d\n", fs->fs_rootentcnt);
dbg("\t data sector: %d\n", fs->fs_database);
dbg("\t FSINFO sector: %d\n", fs->fs_fsinfo);
dbg("\t Num FATs: %d\n", fs->fs_fatnumfats);
dbg("\t FAT size: %d\n", fs->fs_fatsize);
dbg("\t sectors/cluster: %d\n", fs->fs_fatsecperclus);
dbg("\t max clusters: %d\n", fs->fs_nclusters);
dbg("\tFSI free count %d\n", fs->fs_fsifreecount);
dbg("\t next free %d\n", fs->fs_fsinextfree);
fdbg("FAT%d:\n", fs->fs_type == 0 ? 12 : fs->fs_type == 1 ? 16 : 32);
fdbg("\tHW sector size: %d\n", fs->fs_hwsectorsize);
fdbg("\t sectors: %d\n", fs->fs_hwnsectors);
fdbg("\tFAT reserved: %d\n", fs->fs_fatresvdseccount);
fdbg("\t sectors: %d\n", fs->fs_fattotsec);
fdbg("\t start sector: %d\n", fs->fs_fatbase);
fdbg("\t root sector: %d\n", fs->fs_rootbase);
fdbg("\t root entries: %d\n", fs->fs_rootentcnt);
fdbg("\t data sector: %d\n", fs->fs_database);
fdbg("\t FSINFO sector: %d\n", fs->fs_fsinfo);
fdbg("\t Num FATs: %d\n", fs->fs_fatnumfats);
fdbg("\t FAT size: %d\n", fs->fs_fatsize);
fdbg("\t sectors/cluster: %d\n", fs->fs_fatsecperclus);
fdbg("\t max clusters: %d\n", fs->fs_nclusters);
fdbg("\tFSI free count %d\n", fs->fs_fsifreecount);
fdbg("\t next free %d\n", fs->fs_fsinextfree);
return OK;

View File

@ -112,6 +112,26 @@
# define nvdbg(x...)
#endif
#ifdef CONFIG_DEBUG_FS
# define fdbg(format, arg...) dbg(format, ##arg)
# define flldbg(format, arg...) lldbg(format, ##arg)
# define fvdbg(format, arg...) vdbg(format, ##arg)
#else
# define fdbg(x...)
# define flldbg(x...)
# define fvdbg(x...)
#endif
#ifdef CONFIG_DEBUG_LIB
# define ldbg(format, arg...) dbg(format, ##arg)
# define llldbg(format, arg...) lldbg(format, ##arg)
# define lvdbg(format, arg...) vdbg(format, ##arg)
#else
# define ldbg(x...)
# define llldbg(x...)
# define lvdbg(x...)
#endif
/************************************************************
* Public Type Declarations
************************************************************/

View File

@ -103,7 +103,7 @@ char *getenv(const char *name)
const char *pend = &environment[size-1];
const char *ptmp;
dbg("name=\"%s\"\n", name);
ldbg("name=\"%s\"\n", name);
if (name)
{
@ -111,7 +111,7 @@ char *getenv(const char *name)
while (penv < pend)
{
vdbg("Compare to=\"%s\"\n", penv);
lvdbg("Compare to=\"%s\"\n", penv);
/* The logic below basically implements a version of
* strcmp where the strings may be terminated with = signs.
@ -130,7 +130,7 @@ char *getenv(const char *name)
{
/* Yes.. return the pointer to the value. */
dbg("Returning \"%s\"\n", penv+1);
ldbg("Returning \"%s\"\n", penv+1);
return ((char*)penv+1);
}
else
@ -165,6 +165,6 @@ char *getenv(const char *name)
/* If we got here, then no matching string was found. */
dbg("Returning NULL\n");
ldbg("Returning NULL\n");
return NULL;
}

View File

@ -121,7 +121,7 @@ int vsscanf(char *buf, const char *s, va_list ap)
const char *tc;
char tmp[MAXLN];
vdbg("vsscanf: buf=\"%s\" fmt=\"%s\"\n", buf, s);
lvdbg("vsscanf: buf=\"%s\" fmt=\"%s\"\n", buf, s);
count = noassign = width = lflag = 0;
while (*s && *buf)
@ -135,13 +135,13 @@ int vsscanf(char *buf, const char *s, va_list ap)
if (*s == '%')
{
vdbg("vsscanf: Specifier found\n");
lvdbg("vsscanf: Specifier found\n");
/* Check for qualifiers on the conversion specifier */
s++;
for (; *s; s++)
{
vdbg("vsscanf: Processing %c\n", *s);
lvdbg("vsscanf: Processing %c\n", *s);
if (strchr("dibouxcsefg%", *s))
break;
@ -163,7 +163,7 @@ int vsscanf(char *buf, const char *s, va_list ap)
if (*s == 's')
{
vdbg("vsscanf: Performing string conversion\n");
lvdbg("vsscanf: Performing string conversion\n");
while (isspace(*buf))
buf++;
@ -184,7 +184,7 @@ int vsscanf(char *buf, const char *s, va_list ap)
else if (*s == 'c')
{
vdbg("vsscanf: Performing character conversion\n");
lvdbg("vsscanf: Performing character conversion\n");
if (!width)
width = 1;
@ -201,7 +201,7 @@ int vsscanf(char *buf, const char *s, va_list ap)
else if (strchr("dobxu", *s))
{
vdbg("vsscanf: Performing integer conversion\n");
lvdbg("vsscanf: Performing integer conversion\n");
/* Skip over any white space before the integer string */
@ -237,7 +237,7 @@ int vsscanf(char *buf, const char *s, va_list ap)
strncpy(tmp, buf, width);
tmp[width] = '\0';
vdbg("vsscanf: tmp[]=\"%s\"\n", tmp);
lvdbg("vsscanf: tmp[]=\"%s\"\n", tmp);
/* Perform the integer conversion */
@ -251,7 +251,7 @@ int vsscanf(char *buf, const char *s, va_list ap)
#else
int tmpint = strtol(tmp, NULL, base);
#endif
vdbg("vsscanf: Return %d to 0x%p\n", tmpint, pint);
lvdbg("vsscanf: Return %d to 0x%p\n", tmpint, pint);
*pint = tmpint;
}
}
@ -264,10 +264,10 @@ int vsscanf(char *buf, const char *s, va_list ap)
# warning "No floating point conversions"
void *pv = va_arg(ap, void*);
vdbg("vsscanf: Return 0.0 to %p\n", pv);
lvdbg("vsscanf: Return 0.0 to %p\n", pv);
*((double_t*)pv) = 0.0;
#else
vdbg("vsscanf: Performing floating point conversion\n");
lvdbg("vsscanf: Performing floating point conversion\n");
/* Skip over any white space before the real string */
@ -293,7 +293,7 @@ int vsscanf(char *buf, const char *s, va_list ap)
tmp[width] = '\0';
buf += width;
vdbg("vsscanf: tmp[]=\"%s\"\n", tmp);
lvdbg("vsscanf: tmp[]=\"%s\"\n", tmp);
/* Perform the floating point conversion */
@ -308,7 +308,7 @@ int vsscanf(char *buf, const char *s, va_list ap)
#endif
void *pv = va_arg(ap, void*);
vdbg("vsscanf: Return %f to %p\n", dvalue, pv);
lvdbg("vsscanf: Return %f to %p\n", dvalue, pv);
/* But we have to check whether we need to return a
* float or a double.