Discussion:
Nuttx learning: nsh and example configuration problems
(too old to reply)
Gregory Nutt
2012-10-04 18:44:48 UTC
Permalink
Hi, Darcy,
W25 work trying to get failed.(Nsh shell before)
CONFIG_MTD_W25 = y
CONFIG_NSH_ARCHINIT = y
CONFIG_FS_NXFFS = y
CONFIG_FS_FAT = n
CONFIG_MMCSD = n
CONFIG_MMCSD_SPI = n
CONFIG_MMCSD_SDIO = n
CONFIG_MTD = y
Many mistakes in src/up_w25.c.
Such as the 115 line is sst25_initialize
spi port the driver default is set to 2, the result is
nsh_archinitialize: Failed to initialize W25 minor 0: -19
...
  Assertion failed at file: mtd/w25.c line: 697
I have checked in potential fixes for all of the issue that you list.

Remember that the W25 driver is completely untested code.  You should expect some issues and some time to get it working correctly.

I will not have any time to work with the driver for two weeks (until after the 18th of October).

Greg
Gregory N
2012-10-04 17:04:16 UTC
Permalink
Hi, Darcy,
1) you have not completed the communication of the SD card. So now, the SD card can not be used.
It is complete, but needs to be integrated. Whenever you use something new, you have to expect that some integration effort will be required.
2) W25x16 needs to be configured. I need nxffs.
Same story here. All of the pieces needed for W25x16 are in place, but have to be integrated and tested.
I will try to nxffs configuration w25x16.
But if you give me a configuration process, I will be very grateful.
Using 'make menuconfig' you would enable these things:

1. Enable SPI1:

System Type -> STM32 Peripheral Support -> SPI1

2. Enable W25

Device Drivers -> MTD Support -> W25 FLASH

In that menu, I would also lower W25 SPI frequency. I would start slower and increase the frequency.

3. Enable initialization

Application Initialization -> NSH Library -> Have architecture-specific initializtion.
I have been using make menuconfig test and found a lot of problems.
Yes, that is new. There are still a lot of missing Kconf files.

Look at ls -l apps/examples/*/Kcong. Almost all of the examples Kconfig files are just empty, dummy files for now. They have to be completed before they can be used by 'make menuconfig'

There are too many missing Kconf files for me to add all of them. You must add the files as you need them.
The example / adc can not be used. Prompted lack of CONFIG_ADC label
ADC must be enabled in:

Device Drivers -> Analog Device Support -> ADC

But apps/examples/Kconfig is an empty file and needs to have logic added.
example / wget prompt lack CONFIG_EXAMPLE_WGET_IPADDR / DRADDR / NETMASK configuration
apps/examples/Kconfig is also an empty file and needs to have logic added.
In addition to this. the target.c code inside a CONFIG_EXAMPLE_WGET_URL to need to configure
Another other label is CONFIG_EXAMPLES_XXXX to here is CONFIG_EXAMPLE_XXXX
The joined system / poweroff words. Tip can not find the file of power.h
The power.h must be added to you board logic. For example:

$ find configs -name power.h
configs/compal_e88/include/power.h
configs/compal_e99/include/power.h
configs/vsn/include/power.h

You will have to add configs/shenzhou/include/power.h if you want to use that logic. And all that apps/systems/poweroff does is call your board-specific logic to turn off the board. You have to implement that.

Greg
Gong Darcy
2012-10-04 18:02:24 UTC
Permalink
hi Greg,

W25 work trying to get failed.(Nsh shell before)

My configuration:
CONFIG_MTD_W25 = y
CONFIG_NSH_ARCHINIT = y
CONFIG_FS_NXFFS = y
CONFIG_FS_FAT = n
CONFIG_MMCSD = n
CONFIG_MMCSD_SPI = n
CONFIG_MMCSD_SDIO = n
CONFIG_MTD = y

Many mistakes in src/up_w25.c.
Such as the 115 line is sst25_initialize
spi port the driver default is set to 2, the result is
nsh_archinitialize: Failed to initialize W25 minor 0: -19

NuttShell (NSH)
nsh>

To 1:

A

Assertion failed at file: mtd/w25.c line: 697
sp: 2000888c
stack base: 20008958
stack size: 000007fc
20008880: 2000006c 20008894 20005640 000002b9 0801d348 200099b0 000000bb
080011e9
200088a0: 2000006c 20008970 00000000 0801a311 200099b0 20005af8 00000000
0801a235
200088c0: 000000bb 00000000 00000000 08013df9 20005af8 00000000 00000000
00000000
200088e0: 00000000 00000000 00000000 08012af9 0801cb88 00000200 00000000
00000000
20008900: 0,000,020,000,000,000 0,000,000,000,000,000 0,000,000,008,015,891
0,000,000,000,000,000
20008920: 00000000 00000000 00000000 00000000 00000000 08015829 00000000
080071a7
20008940: 08007159 0800715f 00000000 08003a85 00000000 00000000 00000000
00000000


A little later, I would learn Kconfig configuration

Stm32_eth.c the 1974 line error.

I've been thinking: the fire-stm32v2 the enc28j60 the error (1433 lines),
receive data cache size is not less than the next address at the prompt.
According to your instructions. stm32_eth.c this error, also seems to
buffer.

In my opinion, the two problems may stem from the judgment of a state of
the network (transmission caused the error?) In certain circumstances may
need to be reset to a register, clears the receive state or discards the
received data. To be processed correctly, to obtain a stable network state.

darcy
Post by Gregory Nutt
**
Hi, Darcy,
1) you have not completed the communication of the SD card. So now, the
SD card can not be used.
It is complete, but needs to be integrated. Whenever you use something
new, you have to expect that some integration effort will be required.
2) W25x16 needs to be configured. I need nxffs.
Same story here. All of the pieces needed for W25x16 are in place, but
have to be integrated and tested.
I will try to nxffs configuration w25x16.
But if you give me a configuration process, I will be very grateful.
System Type -> STM32 Peripheral Support -> SPI1
2. Enable W25
Device Drivers -> MTD Support -> W25 FLASH
In that menu, I would also lower W25 SPI frequency. I would start slower
and increase the frequency.
3. Enable initialization
Application Initialization -> NSH Library -> Have architecture-specific initializtion.
I have been using make menuconfig test and found a lot of problems.
Yes, that is new. There are still a lot of missing Kconf files.
Look at ls -l apps/examples/*/Kcong. Almost all of the examples Kconfig
files are just empty, dummy files for now. They have to be completed before
they can be used by 'make menuconfig'
There are too many missing Kconf files for me to add all of them. You must
add the files as you need them.
The example / adc can not be used. Prompted lack of CONFIG_ADC label
Device Drivers -> Analog Device Support -> ADC
But apps/examples/Kconfig is an empty file and needs to have logic added.
example / wget prompt lack CONFIG_EXAMPLE_WGET_IPADDR / DRADDR / NETMASK
configuration
apps/examples/Kconfig is also an empty file and needs to have logic added.
In addition to this. the target.c code inside a CONFIG_EXAMPLE_WGET_URL
to need to configure
Another other label is CONFIG_EXAMPLES_XXXX to here is
CONFIG_EXAMPLE_XXXX
The joined system / poweroff words. Tip can not find the file of power.h
$ find configs -name power.h
configs/compal_e88/include/power.h
configs/compal_e99/include/power.h
configs/vsn/include/power.h
You will have to add configs/shenzhou/include/power.h if you want to use
that logic. And all that apps/systems/poweroff does is call your
board-specific logic to turn off the board. You have to implement that.
Greg
spudarnia
2012-10-05 23:22:31 UTC
Permalink
Another option to get a quick file system is to use NFS. Your Shenzhou board can act as an NFS client and more an NFS volume exported by some desktop box.

Greg
Gong Darcy
2012-10-06 02:44:56 UTC
Permalink
Hi Greg,

w25 spi flash+nxffs is good. I will as soon as possible to test the NFS.

darcy
**
Another option to get a quick file system is to use NFS. Your Shenzhou
board can act as an NFS client and more an NFS volume exported by some
desktop box.
Greg
Gong Darcy
2012-10-06 03:00:04 UTC
Permalink
Hi Greg,
Has not yet begun on vacation?
w25 drivers, everything looks normal. Nxffs when. 'ls-l' command error,
suggesting not get stat. I think that the is not FAT reasons.

darcy
Hi Greg,
w25 spi flash+nxffs is good. I will as soon as possible to test the NFS.
darcy
**
Another option to get a quick file system is to use NFS. Your Shenzhou
board can act as an NFS client and more an NFS volume exported by some
desktop box.
Greg
Gong Darcy
2012-10-06 03:40:13 UTC
Permalink
hi Greg,

I will try to test each example (I need).Modifications last night seems to
cause some problems.Before the configuration becomes unavailable.Nsh Shell
failure.Compiled files less 20KB Today, I will try to solve these problems.
I can svn permissions? So that I can directly update some simple fixes.

#apps/netutils/webserver/httpd.c
#line no-->698 compilation error Missing ')'

#if !defined(CONFIG_NETUTILS_HTTPD_SENDFILE) &&
!defined(CONFIG_NETUTILS_HTTPD_MMAP)
if (0 == strcmp(pstate->ht_filename, "/")
{
strncpy(pstate->ht_filename, "/" CONFIG_NETUTILS_HTTPD_INDEX,
strlen("/" CONFIG_NETUTILS_HTTPD_INDEX));
}
#endif
Hi Greg,
Has not yet begun on vacation?
w25 drivers, everything looks normal. Nxffs when. 'ls-l' command error,
suggesting not get stat. I think that the is not FAT reasons.
darcy
Hi Greg,
w25 spi flash+nxffs is good. I will as soon as possible to test the NFS.
darcy
**
Another option to get a quick file system is to use NFS. Your Shenzhou
board can act as an NFS client and more an NFS volume exported by some
desktop box.
Greg
Gong Darcy
2012-10-06 05:58:13 UTC
Permalink
hi Greg,

About the line 1974 stm32_eth.c the error.
Test, display the received data packet size of 590 is too large to be
abandoned. Then induced line 1974 error.
I will CONFIG_NET_BUFSIZE to 1024 (original value of 562). Until now did
not find the same kind of error.
A little later. I will test the fire-stm32v2 to look at enc28j60 is normal.

In addition. the w25x16 drivers try to get a large file from the network.
Found that the maximum write only 325 bytes. The regardless of the FAT or
nxffs are. Suspected webclient problem. I perform
wget-o / dev / console http://192.168.0.161/abc.php
The results obtained ('is work!!! 100 cycles):
nsh> wget-o / dev / console http://192.168.0.161/abc.php

0000 is work!!!!
0001 is work!!!!
0002 is work!!!!
0003 is work!!!!
0004 is work!!!!
0005 is work!!!!
0006 is work!!!!
0007 is work!!!!
0008 is work!!!!
0009 is work!!!!
0010 is work!!!!
0011 is work!!!!
0012 is work!!!!
0013 is work!!!!
0014 is work!!!!
0015 is work!!!!
0016 is work!!!!
0017 is work!!!!
0018 is work!!!!
0nsh>

darcy
Post by Gong Darcy
hi Greg,
I will try to test each example (I need).Modifications last night seems to
cause some problems.Before the configuration becomes unavailable.Nsh Shell
failure.Compiled files less 20KB Today, I will try to solve these problems.
I can svn permissions? So that I can directly update some simple fixes.
#apps/netutils/webserver/httpd.c
#line no-->698 compilation error Missing ')'
#if !defined(CONFIG_NETUTILS_HTTPD_SENDFILE) &&
!defined(CONFIG_NETUTILS_HTTPD_MMAP)
if (0 == strcmp(pstate->ht_filename, "/")
{
strncpy(pstate->ht_filename, "/" CONFIG_NETUTILS_HTTPD_INDEX,
strlen("/" CONFIG_NETUTILS_HTTPD_INDEX));
}
#endif
Hi Greg,
Has not yet begun on vacation?
w25 drivers, everything looks normal. Nxffs when. 'ls-l' command error,
suggesting not get stat. I think that the is not FAT reasons.
darcy
Hi Greg,
w25 spi flash+nxffs is good. I will as soon as possible to test the NFS.
darcy
**
Another option to get a quick file system is to use NFS. Your Shenzhou
board can act as an NFS client and more an NFS volume exported by some
desktop box.
Greg
Gong Darcy
2012-10-06 07:18:48 UTC
Permalink
Hi Greg,

webclient.c write functions loop processing data bug.
Reason: the send state value (ret) other function change
(wget_parseheaders, wget_parsestatus). Second packet reception without any
treatment. Directly off the sock.

patch:
529:
- else if (ret == 0)
+ else if (ret == 0||ws.datend==0)
code:
if (ws.datend < 0)
{
ndbg("recv failed: %d\n", errno);
ret = ws.datend;
goto errout_with_errno;
}
else if (ret == 0||ws.datend==0)
{
nvdbg("Connection lost\n");
close(sockfd);
break;
}

540:
- ret = wget_parsestatus(&ws);
- if (ret < 0)
+ if (wget_parsestatus(&ws)<0)
550:
- ret = wget_parseheaders(&ws);
- if (ret < 0)
+ if (wget_parseheaders(&ws) < 0)
code:
/* Handle initial parsing of the status line */

ws.offset = 0;
if (ws.state == WEBCLIENT_STATE_STATUSLINE)
{
if (wget_parsestatus(&ws)<0)
{
goto errout_with_errno;
}
}
//ndbg("step 02 \n");
/* Parse the HTTP data */

if (ws.state == WEBCLIENT_STATE_HEADERS)
{
if (wget_parseheaders(&ws) < 0)
{
goto errout_with_errno;
}
}
Post by Gong Darcy
hi Greg,
About the line 1974 stm32_eth.c the error.
Test, display the received data packet size of 590 is too large to be
abandoned. Then induced line 1974 error.
I will CONFIG_NET_BUFSIZE to 1024 (original value of 562). Until now did
not find the same kind of error.
A little later. I will test the fire-stm32v2 to look at enc28j60 is normal.
In addition. the w25x16 drivers try to get a large file from the network.
Found that the maximum write only 325 bytes. The regardless of the FAT or
nxffs are. Suspected webclient problem. I perform
wget-o / dev / console http://192.168.0.161/abc.php
nsh> wget-o / dev / console http://192.168.0.161/abc.php
0000 is work!!!!
0001 is work!!!!
0002 is work!!!!
0003 is work!!!!
0004 is work!!!!
0005 is work!!!!
0006 is work!!!!
0007 is work!!!!
0008 is work!!!!
0009 is work!!!!
0010 is work!!!!
0011 is work!!!!
0012 is work!!!!
0013 is work!!!!
0014 is work!!!!
0015 is work!!!!
0016 is work!!!!
0017 is work!!!!
0018 is work!!!!
0nsh>
darcy
Post by Gong Darcy
hi Greg,
I will try to test each example (I need).Modifications last night seems
to cause some problems.Before the configuration becomes unavailable.Nsh
Shell failure.Compiled files less 20KB Today, I will try to solve these
problems.
I can svn permissions? So that I can directly update some simple fixes.
#apps/netutils/webserver/httpd.c
#line no-->698 compilation error Missing ')'
#if !defined(CONFIG_NETUTILS_HTTPD_SENDFILE) &&
!defined(CONFIG_NETUTILS_HTTPD_MMAP)
if (0 == strcmp(pstate->ht_filename, "/")
{
strncpy(pstate->ht_filename, "/" CONFIG_NETUTILS_HTTPD_INDEX,
strlen("/" CONFIG_NETUTILS_HTTPD_INDEX));
}
#endif
Hi Greg,
Has not yet begun on vacation?
w25 drivers, everything looks normal. Nxffs when. 'ls-l' command error,
suggesting not get stat. I think that the is not FAT reasons.
darcy
Hi Greg,
w25 spi flash+nxffs is good. I will as soon as possible to test the NFS.
darcy
**
Another option to get a quick file system is to use NFS. Your Shenzhou
board can act as an NFS client and more an NFS volume exported by some
desktop box.
Greg
Gong Darcy
2012-10-06 09:02:10 UTC
Permalink
Hi Greg,

The in stm32_polltimer stm32_eth.c DEBUGASSERT exception is thrown bug.
Find the cause:

stm32_receive function definition or data over the Ethernet frame to handle
unknown. Direct release dev-> d_buf.
In this operation, dev-> d_len cleared.
The in stm32_transmit. d_buf will be released and set to NULL, the d_len
will be set to 0.
So the packet is abandoned, because there is no the d_len settings 0. Lead
to the subsequent stm32_polltimer in preparation for the receive buffer
when trigger DEBUGASSERT error

So stm32_polltimer
if (dev-> d_buf)
{
/ * Free the receive packet buffer * /

stm32_freebuffer (priv, dev-> d_buf);
dev-> d_buf = NULL;
}

To add dev-> d_len = 0; on the OK! ! !

darcy
Hi Greg,
webclient.c write functions loop processing data bug.
Reason: the send state value (ret) other function change
(wget_parseheaders, wget_parsestatus). Second packet reception without any
treatment. Directly off the sock.
- else if (ret == 0)
+ else if (ret == 0||ws.datend==0)
if (ws.datend < 0)
{
ndbg("recv failed: %d\n", errno);
ret = ws.datend;
goto errout_with_errno;
}
else if (ret == 0||ws.datend==0)
{
nvdbg("Connection lost\n");
close(sockfd);
break;
}
- ret = wget_parsestatus(&ws);
- if (ret < 0)
+ if (wget_parsestatus(&ws)<0)
- ret = wget_parseheaders(&ws);
- if (ret < 0)
+ if (wget_parseheaders(&ws) < 0)
/* Handle initial parsing of the status line */
ws.offset = 0;
if (ws.state == WEBCLIENT_STATE_STATUSLINE)
{
if (wget_parsestatus(&ws)<0)
{
goto errout_with_errno;
}
}
//ndbg("step 02 \n");
/* Parse the HTTP data */
if (ws.state == WEBCLIENT_STATE_HEADERS)
{
if (wget_parseheaders(&ws) < 0)
{
goto errout_with_errno;
}
}
Post by Gong Darcy
hi Greg,
About the line 1974 stm32_eth.c the error.
Test, display the received data packet size of 590 is too large to be
abandoned. Then induced line 1974 error.
I will CONFIG_NET_BUFSIZE to 1024 (original value of 562). Until now did
not find the same kind of error.
A little later. I will test the fire-stm32v2 to look at enc28j60 is normal.
In addition. the w25x16 drivers try to get a large file from the network.
Found that the maximum write only 325 bytes. The regardless of the FAT or
nxffs are. Suspected webclient problem. I perform
wget-o / dev / console http://192.168.0.161/abc.php
nsh> wget-o / dev / console http://192.168.0.161/abc.php
0000 is work!!!!
0001 is work!!!!
0002 is work!!!!
0003 is work!!!!
0004 is work!!!!
0005 is work!!!!
0006 is work!!!!
0007 is work!!!!
0008 is work!!!!
0009 is work!!!!
0010 is work!!!!
0011 is work!!!!
0012 is work!!!!
0013 is work!!!!
0014 is work!!!!
0015 is work!!!!
0016 is work!!!!
0017 is work!!!!
0018 is work!!!!
0nsh>
darcy
Post by Gong Darcy
hi Greg,
I will try to test each example (I need).Modifications last night seems
to cause some problems.Before the configuration becomes unavailable.Nsh
Shell failure.Compiled files less 20KB Today, I will try to solve these
problems.
I can svn permissions? So that I can directly update some simple fixes.
#apps/netutils/webserver/httpd.c
#line no-->698 compilation error Missing ')'
#if !defined(CONFIG_NETUTILS_HTTPD_SENDFILE) &&
!defined(CONFIG_NETUTILS_HTTPD_MMAP)
if (0 == strcmp(pstate->ht_filename, "/")
{
strncpy(pstate->ht_filename, "/" CONFIG_NETUTILS_HTTPD_INDEX,
strlen("/" CONFIG_NETUTILS_HTTPD_INDEX));
}
#endif
Hi Greg,
Has not yet begun on vacation?
w25 drivers, everything looks normal. Nxffs when. 'ls-l' command error,
suggesting not get stat. I think that the is not FAT reasons.
darcy
Hi Greg,
w25 spi flash+nxffs is good. I will as soon as possible to test the NFS.
darcy
**
Another option to get a quick file system is to use NFS. Your
Shenzhou board can act as an NFS client and more an NFS volume exported by
some desktop box.
Greg
spudarnia
2012-10-06 14:22:45 UTC
Permalink
Hi, Darcy,

You are discovering some good issues.
Post by Gong Darcy
webclient.c write functions loop processing data bug.
Reason: the send state value (ret) other function change
(wget_parseheaders, wget_parsestatus). Second packet reception without any
treatment. Directly off the sock.
- else if (ret == 0)
+ else if (ret == 0||ws.datend==0)
Yes... this is a bug. But I think that the correction is simply:

- else if (ret == 0)
+ else if (ws.datend==0)

The variable 'ret' should have no meaning at that point in the loop. ws.dataend is value returned by recv() and if recv() returns zero, then the connection has been lost.

I probably introduced that bug a few months ago. At one time, recv() was not correctly returning 0 on loss of connection so when I fixed that, I tried to fix all places that call recv(). I think I made the error here.

Then, I do not think that the other changes to retain the previous values of ret should be necessary. Do you agree?
Post by Gong Darcy
- ret = wget_parsestatus(&ws);
- if (ret < 0)
+ if (wget_parsestatus(&ws)<0)
- ret = wget_parseheaders(&ws);
- if (ret < 0)
+ if (wget_parseheaders(&ws) < 0)
Greg

spudarnia
2012-10-06 14:11:46 UTC
Permalink
Hi Darcy,
Post by Gong Darcy
About the line 1974 stm32_eth.c the error.
Test, display the received data packet size of 590 is too large to be
abandoned. Then induced line 1974 error.
I will CONFIG_NET_BUFSIZE to 1024 (original value of 562). Until now did
not find the same kind of error.
I think I understand. When a packet is dropped (because it is too large and perhaps also if it is an unrecognized protocol), then this assertion can occur later.

DEBUGASSERT(dev->d_len == 0 && dev->d_buf == NULL);

Then I think that the correction is the following. That is the logic that is in the logic executed when the Rx packet is dropped:

| Index: stm32_eth.c
| ===================================================================
| --- stm32_eth.c (revision 5216)
| +++ stm32_eth.c (working copy)
| @@ -1656,6 +1656,7 @@
|
| stm32_freebuffer(priv, dev->d_buf);
| dev->d_buf = NULL;
| + dev->d_len = 0;
| }
| }
Post by Gong Darcy
In addition. the w25x16 drivers try to get a large file from the network.
Found that the maximum write only 325 bytes. The regardless of the FAT or
nxffs are. Suspected webclient problem. ...
No clues on that one.

Greg
spudarnia
2012-10-04 13:08:05 UTC
Permalink
Hi, Darcy,
How do I in the system to hang in mmcsd0?
stm32f107vc memory only 64k, and I the configuration mkrd-s 128 64 can not mkfatfs.
/ Mnt directory will not be able to mount mmcsd0
I am not sure that I understand the connection betwen mkrd (make ram disk) and /dev/mmcsd0.

On boards that do not support SD card detection through a GPIO, the system cannot know if there is an SD card in the card slot or not. The start up logic assumes that there 'might' be a card present so the driver tries to initialize it. The driver tries very hard. It times out and retries many times. That is why it takes a long time to boot if you cannot detect if there is a card in the SD slot or not.

That time could be improved, but has never been optimized.

Another think you can do is this: Don't initialize the SD card when you boot, instead use apps/system/sdcard to look for the SD card later. Or you can optimize the delay so that it is not so bad. Or you can disable MMC/SD card support.

The sizes used in mkrd are in blocks. -s 128 specifies a block size of 128 bytes. 64 specifies 64 blocks. Then means it RAM disk will requires 128 x 64 = 8K of SRAM. That works right? But then mkfatfs does not work? What error does it report?
Can I binfs to solve problems mount point?How do I do that?
apps/namedapps/binfs.c will not be useful to you. That is just another way to access the NSH named applications. It uses apps/namedapp/namedapp_list.h and namedapp_proto.h create a file system at /bin. binfs does not do anything other than give you an alternative way to looked at the named applications.
In addition, I configured
CONFIG_WATCHDOG = y
CONFIG_STM32_WWDG = y
CONFIG_EXAMPLES_WATCHDOG_PINGDELAY = 20
CONFIG_EXAMPLES_WATCHDOG_TIMEOUT = 49
CONFIG_EXAMPLES_WATCHDOG = y
After Generated nuttx.hex file size unchanged. nsh shell can not find commands of wdog.
But the example / watchdog c language program is compiled. In my view has also been added to the library of libapps.a.
Suspected correlation function (watchdog_main) is not referenced by the program. Therefore, there is no real link this function.
Reading apps readme.Seems to prompt should be configured apps / namedapp namedapp_list.h and namedapp_proto.h
Do not know that understanding is correct.
These two files is currently empty. So I do not know how to do that.
It should work like this:

1. You need to have CONFIG_EXAMPLES_WATCHDOG and CONFIG_NSH_BUILTIN_APPS defined in your .config file

2. During the build, there are several phases. One of the first phases is called the context phase. During the 'make context' phase, the system creates autogenerated files, symbolic links, etc.

During the 'make context' phase, apps/Makefile will execute 'make -C examples context' and, if CONFIG_NSH_BUILTIN_APPS is defined, apps/examples/Makefile will execute 'make -C watchdog context'.

3. In apps/examples/watchdog/Makefile is where information should have been added to namedapp_list.h and namedapp_proto.h

APPNAME = wdog
PRIORITY = SCHED_PRIORITY_DEFAULT
STACKSIZE = 2048

.context:
$(call REGISTER,$(APPNAME),$(PRIORITY),$(STACKSIZE),$(APPNAME)_main)
@touch $@

If that is not working then you will need to debug it. Everything that you need know is above.

One thing to remember is that this context phase is only executed one time. After you 'make context', you cannot change the .config file and make again. That will not work and is the source of constant confusion.

If you change the .config configuration file and want to rebuild the system, you might need to do something like this:

make apps_disclean clean_context all

Otherwise, the namedapp_list.h and namedapp_proto.h will not be regenerated.

And, if all else fails, you can just manually edit namedapp_list.h and namedapp_proto.h to add the required information.
In addition to the above functions.
I also need to test the ADC, DHCPC, WGET, Webserver, thttpd, telnetd function, as well as the DNS.
DNS is not no need to configure?
If you use 'make menuconfig', then all of these options are available under the Applications->netutils menu.
the nsh bound telnetd.Connection at the time, found the characters one by one to jump out.Not smooth.Normal?
I thought NSH telnetd was pretty fast after those recent optimizations/fixes to the recvfrom delay logic by Max Holtzberg. But most of the transfers coming from the board will still be of only one character per packet. This is discussed in some other emails on this forum. It is caused because there is no buffering on the outgoing Telnet connection. Each character is sent as it becomes available.

Greg
Gong Darcy
2012-10-04 13:27:12 UTC
Permalink
hi Greg,

this my mkrd and mkfatfs log:

NuttShell (NSH)
nsh> mkrd -s 128 64
cmd_mkrd: RAMDISK at 20009960
nsh> mkfatfs
nsh: mkfatfs: missing required argument(s)
nsh> ls /dev
/dev:
console
mmcsd0
null
ram0
ttyS0
nsh> mkfatfs /dev/ram0
nsh: mkfatfs: mkfatfs failed: 1
nsh> mkrd -s 256 64
cmd_mkrd: RAMDISK at 2000b9c0
nsh: mkrd: ramdisk_register failed: 17
nsh> AþCDE
AþCDE

NuttShell (NSH)
nsh> mkrd -s 256 64
cmd_mkrd: RAMDISK at 20009960
nsh> mkfatfs /dev/ram0
nsh: mkfatfs: mkfatfs failed: 1
nsh> AþCDE
AþCDE

NuttShell (NSH)
nsh> mkrd -s 256 128
nsh: mkrd: out of memory
nsh> mkrd -s 128 128
cmd_mkrd: RAMDISK at 20009960
nsh> mkfatfs /dev/ram0
nsh: mkfatfs: mkfatfs failed: 1
nsh>

darcy
Post by Gregory Nutt
**
Hi, Darcy,
How do I in the system to hang in mmcsd0?
stm32f107vc memory only 64k, and I the configuration mkrd-s 128 64 can
not mkfatfs.
/ Mnt directory will not be able to mount mmcsd0
I am not sure that I understand the connection betwen mkrd (make ram disk) and /dev/mmcsd0.
On boards that do not support SD card detection through a GPIO, the system
cannot know if there is an SD card in the card slot or not. The start up
logic assumes that there 'might' be a card present so the driver tries to
initialize it. The driver tries very hard. It times out and retries many
times. That is why it takes a long time to boot if you cannot detect if
there is a card in the SD slot or not.
That time could be improved, but has never been optimized.
Another think you can do is this: Don't initialize the SD card when you
boot, instead use apps/system/sdcard to look for the SD card later. Or you
can optimize the delay so that it is not so bad. Or you can disable MMC/SD
card support.
The sizes used in mkrd are in blocks. -s 128 specifies a block size of 128
bytes. 64 specifies 64 blocks. Then means it RAM disk will requires 128 x
64 = 8K of SRAM. That works right? But then mkfatfs does not work? What
error does it report?
Can I binfs to solve problems mount point?How do I do that?
apps/namedapps/binfs.c will not be useful to you. That is just another way
to access the NSH named applications. It uses apps/namedapp/namedapp_list.h
and namedapp_proto.h create a file system at /bin. binfs does not do
anything other than give you an alternative way to looked at the named
applications.
In addition, I configured
CONFIG_WATCHDOG = y
CONFIG_STM32_WWDG = y
CONFIG_EXAMPLES_WATCHDOG_PINGDELAY = 20
CONFIG_EXAMPLES_WATCHDOG_TIMEOUT = 49
CONFIG_EXAMPLES_WATCHDOG = y
After Generated nuttx.hex file size unchanged. nsh shell can not find
commands of wdog.
But the example / watchdog c language program is compiled. In my view
has also been added to the library of libapps.a.
Suspected correlation function (watchdog_main) is not referenced by the
program. Therefore, there is no real link this function.
Reading apps readme.Seems to prompt should be configured apps / namedapp
namedapp_list.h and namedapp_proto.h
Do not know that understanding is correct.
These two files is currently empty. So I do not know how to do that.
1. You need to have CONFIG_EXAMPLES_WATCHDOG and CONFIG_NSH_BUILTIN_APPS
defined in your .config file
2. During the build, there are several phases. One of the first phases is
called the context phase. During the 'make context' phase, the system
creates autogenerated files, symbolic links, etc.
During the 'make context' phase, apps/Makefile will execute 'make -C
examples context' and, if CONFIG_NSH_BUILTIN_APPS is defined,
apps/examples/Makefile will execute 'make -C watchdog context'.
3. In apps/examples/watchdog/Makefile is where information should have
been added to namedapp_list.h and namedapp_proto.h
APPNAME = wdog
PRIORITY = SCHED_PRIORITY_DEFAULT
STACKSIZE = 2048
$(call REGISTER,$(APPNAME),$(PRIORITY),$(STACKSIZE),$(APPNAME)_main)
@touch $@
If that is not working then you will need to debug it. Everything that you
need know is above.
One thing to remember is that this context phase is only executed one
time. After you 'make context', you cannot change the .config file and make
again. That will not work and is the source of constant confusion.
If you change the .config configuration file and want to rebuild the
make apps_disclean clean_context all
Otherwise, the namedapp_list.h and namedapp_proto.h will not be regenerated.
And, if all else fails, you can just manually edit namedapp_list.h and
namedapp_proto.h to add the required information.
In addition to the above functions.
I also need to test the ADC, DHCPC, WGET, Webserver, thttpd, telnetd
function, as well as the DNS.
DNS is not no need to configure?
If you use 'make menuconfig', then all of these options are available
under the Applications->netutils menu.
the nsh bound telnetd.Connection at the time, found the characters one
by one to jump out.Not smooth.Normal?
I thought NSH telnetd was pretty fast after those recent
optimizations/fixes to the recvfrom delay logic by Max Holtzberg. But most
of the transfers coming from the board will still be of only one character
per packet. This is discussed in some other emails on this forum. It is
caused because there is no buffering on the outgoing Telnet connection.
Each character is sent as it becomes available.
Greg
Gregory N
2012-10-04 16:16:32 UTC
Permalink
Hi, Darcy,
I want to use wget to do the test. But wget must use the file system.
I do not know how to mount mmcsd0. Do not know whether we can solve.
In order to use FAT on the RAM disk, you will have to use a 512 byte sector. There is also a minimum number of sectors you must have, but I do not know what the minimum number is.

With 64Kb of RAM, there will not be very much memory available for a RAM disk.

There is an SD card slot on the Shenzhou board, but I was unable to communicate with it. Do you know if it is functional? That would probably be the easiest thing to get working (or the SD card on the LCD module).
I want to know whether the format spi flash (w25x16) become nuttx file
system?
There is a W25x16 driver here: drivers/mtd/w25.c. If you use 'make menuconfig' you can see the configuration options under:

Device Drivers -> MTD Drivers -> W25

To work with FAT, you would need to select "Simulate 512 byte erase blocks". That will require about 16KB of buffer space total.

There is support for the Shenzhou board here: configs/shenzhou/src/up_w25.c. That will automatically be built in if:

CONFIG_STM32_SPI1=y
CONFIG_MTD_W25=y
CONFIG_NSH_ARCHINIT=y

But that was *never* tested and probably will not work with out some effort.

Then you an use either FAT or better, NXFFS. NXFFS is the NuttX wear-leveling file system. It does not require 512 byte sectors.
Today stm32_eth.c out 4 times, and are in line 1974.
After this problem.I can let the the watchdog restart chips?
Yes, you can set up you application so that you reset the watchdog timer periodically. When you stop resetting the watchdog timer, the board will reset.

Greg
Gong Darcy
2012-10-04 16:35:03 UTC
Permalink
Hi Greg,

I confirm that what you mean:
1) you have not completed the communication of the SD card. So now, the SD
card can not be used.
2) W25x16 needs to be configured. I need nxffs.
I will try to nxffs configuration w25x16.
But if you give me a configuration process, I will be very grateful.

I have been using make menuconfig test and found a lot of problems.

The example / adc can not be used. Prompted lack of CONFIG_ADC label
example / wget prompt lack CONFIG_EXAMPLE_WGET_IPADDR / DRADDR / NETMASK
configuration
In addition to this. the target.c code inside a CONFIG_EXAMPLE_WGET_URL to
need to configure
Another other label is CONFIG_EXAMPLES_XXXX to here is CONFIG_EXAMPLE_XXXX
The joined system / poweroff words. Tip can not find the file of power.h

darcy
Post by Gregory Nutt
**
Hi, Darcy,
I want to use wget to do the test. But wget must use the file system.
I do not know how to mount mmcsd0. Do not know whether we can solve.
In order to use FAT on the RAM disk, you will have to use a 512 byte
sector. There is also a minimum number of sectors you must have, but I do
not know what the minimum number is.
With 64Kb of RAM, there will not be very much memory available for a RAM disk.
There is an SD card slot on the Shenzhou board, but I was unable to
communicate with it. Do you know if it is functional? That would probably
be the easiest thing to get working (or the SD card on the LCD module).
I want to know whether the format spi flash (w25x16) become nuttx file
system?
There is a W25x16 driver here: drivers/mtd/w25.c. If you use 'make
Device Drivers -> MTD Drivers -> W25
To work with FAT, you would need to select "Simulate 512 byte erase
blocks". That will require about 16KB of buffer space total.
CONFIG_STM32_SPI1=y
CONFIG_MTD_W25=y
CONFIG_NSH_ARCHINIT=y
But that was *never* tested and probably will not work with out some effort.
Then you an use either FAT or better, NXFFS. NXFFS is the NuttX
wear-leveling file system. It does not require 512 byte sectors.
Today stm32_eth.c out 4 times, and are in line 1974.
After this problem.I can let the the watchdog restart chips?
Yes, you can set up you application so that you reset the watchdog timer
periodically. When you stop resetting the watchdog timer, the board will
reset.
Greg
spudarnia
2012-10-04 13:41:46 UTC
Permalink
Hi, Darcy,
nsh> mkrd -s 128 64
nsh: mkfatfs: mkfatfs failed: 1
Error 1 is EPERM (see include/errno.h) and is returned by mkfatfs in only one place (nuttx/fs/fat/fs_mkfatfs.c):

switch (var->fv_sectorsize)
{
case 512:
var->fv_sectshift = 9;
break;

case 1024:
var->fv_sectshift = 10;
break;

case 2048:
var->fv_sectshift = 11;
break;

case 4096:
var->fv_sectshift = 12;
break;

default:
fdbg("Unsupported sector size: %d\n", var->fv_sectorsize);
return -EPERM;
}

You cannot put a FAT file system on a block device with sector size of 128. The smallest FAT sector is 512.

Greg
Gong Darcy
2012-10-04 14:21:35 UTC
Permalink
hi Greg,

i do'nt mount /dev/mmcsd0 to /mnt/fs

darcy

my log:
----------------------------------------------------------------
NuttShell (NSH)
nsh> mkrd 36
cmd_mkrd: RAMDISK at 20009960
nsh> mkfatfs /dev/ram0
nsh> mount -t vfat /dev/ram0 /mnt/fs
nsh> ls -l /mnt/fs/testdir
/mnt/fs/testdir:
nsh: ls: no such directory: /mnt/fs/testdir
nsh> cd /mnt/fs/
nsh> ls
/mnt/fs/:
nsh> mount
/mnt/fs type vfat
nsh> dd
nsh: dd: missing required argument(s)
nsh> df
Block Number
Size Blocks Used Available Mounted on
512 1 2 -1 /mnt/fs
nsh> free
total used free largest
Mem: 41136 34160 6976 6928
nsh> mount -t vfat /dev/mmcsd0 /mnt/fs
nsh: mount: mount failed: 17
nsh> mount -t vfat /dev/mmcsd0 /mnt/fs1
nsh: mount: mount failed: 19
nsh> ls /dev
/dev:
console
mmcsd0
null
ram0
ttyS0
nsh> AþCDE
AþCDE

NuttShell (NSH)
nsh> mount -t vfat /dev/mmcsd0 /mnt/fs
nsh: mount: mount failed: 19
nsh>
Hi Greg,
I tested the Shenzhou board, 'to mkrd 36' will be normal.
But will occupy 18432Byte memory.
I would like to run a webserver. Memory seems to be enough.
Are there other solutions?
I confirm. the watchdog configuration are right, watchdog / Makefile
correct. Do apps_distclean. But after namedapp_list.h and namedapp_proto.h
make context is still empty (confirmation regenerate).
And namedapp_proto.h give a namedapp_list.h the sample it?
darcy
Post by Gregory Nutt
**
Hi, Darcy,
nsh> mkrd -s 128 64
nsh: mkfatfs: mkfatfs failed: 1
Error 1 is EPERM (see include/errno.h) and is returned by mkfatfs in only
switch (var->fv_sectorsize)
{
var->fv_sectshift = 9;
break;
var->fv_sectshift = 10;
break;
var->fv_sectshift = 11;
break;
var->fv_sectshift = 12;
break;
fdbg("Unsupported sector size: %d\n", var->fv_sectorsize);
return -EPERM;
}
You cannot put a FAT file system on a block device with sector size of
128. The smallest FAT sector is 512.
Greg
Gong Darcy
2012-10-04 14:43:25 UTC
Permalink
hi Greg,

Power before. I inserted an SD card.But the access / dev/mmcsd0 display
error 5.
I checked errno.h. IO error.
mkfatfs / dev/mmcsd0
Error 5 (IO error)
mount-t vfat / dev/mmcsd0 / mnt / fs
Error 19 (No such device)

darcy
---------------------------------------------

NuttShell (NSH)
nsh> mount -t vfat /dev/mmcsd0 /mnt/fs
nsh: mount: mount failed: 19
nsh> AþCDE
AþCDE

NuttShell (NSH)
nsh> help mkfatfs
mkfatfs usage: mkfatfs <path>
nsh> mkfatfs /dev/mmcsd0
nsh: mkfatfs: mkfatfs failed: 5
nsh> ls /dev/mmcsd0
/dev/mmcsd0:
nsh: ls: no such directory: /dev/mmcsd0
nsh> ls
/:
dev/
nsh> cd /dev
nsh> ;s
nsh: ;s: command not found
nsh> ls
/dev:
console
mmcsd0
null
ttyS0
nsh> ls mmcsd0
/dev/mmcsd0:
nsh: ls: no such directory: /dev/mmcsd0
nsh> ls mmcsd0
/dev/mmcsd0:
nsh: ls: no such directory: /dev/mmcsd0
nsh> mkfatfs mmcsd0
nsh: mkfatfs: mkfatfs failed: 5
nsh>
Post by Gong Darcy
hi Greg,
i do'nt mount /dev/mmcsd0 to /mnt/fs
darcy
----------------------------------------------------------------
NuttShell (NSH)
nsh> mkrd 36
cmd_mkrd: RAMDISK at 20009960
nsh> mkfatfs /dev/ram0
nsh> mount -t vfat /dev/ram0 /mnt/fs
nsh> ls -l /mnt/fs/testdir
nsh: ls: no such directory: /mnt/fs/testdir
nsh> cd /mnt/fs/
nsh> ls
nsh> mount
/mnt/fs type vfat
nsh> dd
nsh: dd: missing required argument(s)
nsh> df
Block Number
Size Blocks Used Available Mounted on
512 1 2 -1 /mnt/fs
nsh> free
total used free largest
Mem: 41136 34160 6976 6928
nsh> mount -t vfat /dev/mmcsd0 /mnt/fs
nsh: mount: mount failed: 17
nsh> mount -t vfat /dev/mmcsd0 /mnt/fs1
nsh: mount: mount failed: 19
nsh> ls /dev
console
mmcsd0
null
ram0
ttyS0
nsh> AþCDE
AþCDE
NuttShell (NSH)
nsh> mount -t vfat /dev/mmcsd0 /mnt/fs
nsh: mount: mount failed: 19
nsh>
Hi Greg,
I tested the Shenzhou board, 'to mkrd 36' will be normal.
But will occupy 18432Byte memory.
I would like to run a webserver. Memory seems to be enough.
Are there other solutions?
I confirm. the watchdog configuration are right, watchdog / Makefile
correct. Do apps_distclean. But after namedapp_list.h and namedapp_proto.h
make context is still empty (confirmation regenerate).
And namedapp_proto.h give a namedapp_list.h the sample it?
darcy
Post by Gregory Nutt
**
Hi, Darcy,
nsh> mkrd -s 128 64
nsh: mkfatfs: mkfatfs failed: 1
Error 1 is EPERM (see include/errno.h) and is returned by mkfatfs in
switch (var->fv_sectorsize)
{
var->fv_sectshift = 9;
break;
var->fv_sectshift = 10;
break;
var->fv_sectshift = 11;
break;
var->fv_sectshift = 12;
break;
fdbg("Unsupported sector size: %d\n", var->fv_sectorsize);
return -EPERM;
}
You cannot put a FAT file system on a block device with sector size of
128. The smallest FAT sector is 512.
Greg
Gong Darcy
2012-10-04 13:56:28 UTC
Permalink
Hi Greg,

I tested the Shenzhou board, 'to mkrd 36' will be normal.
But will occupy 18432Byte memory.
I would like to run a webserver. Memory seems to be enough.

Are there other solutions?

I confirm. the watchdog configuration are right, watchdog / Makefile
correct. Do apps_distclean. But after namedapp_list.h and namedapp_proto.h
make context is still empty (confirmation regenerate).

And namedapp_proto.h give a namedapp_list.h the sample it?

darcy
Post by Gregory Nutt
**
Hi, Darcy,
nsh> mkrd -s 128 64
nsh: mkfatfs: mkfatfs failed: 1
Error 1 is EPERM (see include/errno.h) and is returned by mkfatfs in only
switch (var->fv_sectorsize)
{
var->fv_sectshift = 9;
break;
var->fv_sectshift = 10;
break;
var->fv_sectshift = 11;
break;
var->fv_sectshift = 12;
break;
fdbg("Unsupported sector size: %d\n", var->fv_sectorsize);
return -EPERM;
}
You cannot put a FAT file system on a block device with sector size of
128. The smallest FAT sector is 512.
Greg
Gong Darcy
2012-10-04 11:31:33 UTC
Permalink
hi Greg ,

How do I in the system to hang in mmcsd0?
stm32f107vc memory only 64k, and I the configuration mkrd-s 128 64 can not
mkfatfs.
/ Mnt directory will not be able to mount mmcsd0

Can I binfs to solve problems mount point?How do I do that?

In addition, I configured
CONFIG_WATCHDOG = y
CONFIG_STM32_WWDG = y
CONFIG_EXAMPLES_WATCHDOG_PINGDELAY = 20
CONFIG_EXAMPLES_WATCHDOG_TIMEOUT = 49
CONFIG_EXAMPLES_WATCHDOG = y
After

Generated nuttx.hex file size unchanged. nsh shell can not find commands of
wdog.
But the example / watchdog c language program is compiled. In my view has
also been added to the library of libapps.a.
Suspected correlation function (watchdog_main) is not referenced by the
program. Therefore, there is no real link this function.

Reading apps readme.Seems to prompt should be configured apps / namedapp
namedapp_list.h and namedapp_proto.h
Do not know that understanding is correct.
These two files is currently empty. So I do not know how to do that.

In addition to the above functions.
I also need to test the ADC, DHCPC, WGET, Webserver, thttpd, telnetd
function, as well as the DNS.
DNS is not no need to configure?

the nsh bound telnetd.Connection at the time, found the characters one by
one to jump out.Not smooth.Normal?

darcy
Gong Darcy
2012-10-04 15:49:40 UTC
Permalink
hi Greg,

I want to use wget to do the test. But wget must use the file system.
I do not know how to mount mmcsd0. Do not know whether we can solve.
I want to know whether the format spi flash (w25x16) become nuttx file
system?

Today stm32_eth.c out 4 times, and are in line 1974.

After this problem.I can let the the watchdog restart chips?

darcy
Post by Gregory Nutt
**
Hi, Darcy,
In addition, I configured
CONFIG_WATCHDOG = y
CONFIG_STM32_WWDG = y
CONFIG_EXAMPLES_WATCHDOG_PINGDELAY = 20
CONFIG_EXAMPLES_WATCHDOG_TIMEOUT = 49
CONFIG_EXAMPLES_WATCHDOG = y
After
Generated nuttx.hex file size unchanged. nsh shell can not find commands
of
wdog.
But the example / watchdog c language program is compiled. In my view has
also been added to the library of libapps.a.
Suspected correlation function (watchdog_main) is not referenced by the
program. Therefore, there is no real link this function.
Reading apps readme.Seems to prompt should be configured apps / namedapp
namedapp_list.h and namedapp_proto.h
Do not know that understanding is correct.
These two files is currently empty. So I do not know how to do that.
I found a problem in the apps/Makefile. I don't know why it effects the
$ svn diff
Index: Makefile
===================================================================
--- Makefile (revision 5208)
+++ Makefile (working copy)
@@ -46,7 +46,7 @@
# appears in this directory as .config)
# SUBDIRS is the list of all directories containing Makefiles. It is used
# only for cleaning. namedapp must always be the first in the list. This
-# list can be extended by the .config file as well
+# list can be extended by the .config file as well.
CONFIGURED_APPS =
SUBDIRS = examples graphics interpreters modbus namedapp nshlib netutils
system
@@ -70,11 +70,13 @@
ifeq ($(CONFIG_NUTTX_NEWCONFIG),y)
+# namedapp/Make.defs must be included first
+
+include namedapp/Make.defs
include examples/Make.defs
include graphics/Make.defs
include interpreters/Make.defs
include modbus/Make.defs
-include namedapp/Make.defs
include netutils/Make.defs
include nshlib/Make.defs
include system/Make.defs
I will check this in soon.
Greg
spudarnia
2012-10-04 14:44:13 UTC
Permalink
Hi, Darcy,
In addition, I configured
CONFIG_WATCHDOG = y
CONFIG_STM32_WWDG = y
CONFIG_EXAMPLES_WATCHDOG_PINGDELAY = 20
CONFIG_EXAMPLES_WATCHDOG_TIMEOUT = 49
CONFIG_EXAMPLES_WATCHDOG = y
After
Generated nuttx.hex file size unchanged. nsh shell can not find commands of
wdog.
But the example / watchdog c language program is compiled. In my view has
also been added to the library of libapps.a.
Suspected correlation function (watchdog_main) is not referenced by the
program. Therefore, there is no real link this function.
Reading apps readme.Seems to prompt should be configured apps / namedapp
namedapp_list.h and namedapp_proto.h
Do not know that understanding is correct.
These two files is currently empty. So I do not know how to do that.
I found a problem in the apps/Makefile. I don't know why it effects the examples/watchdog only. But the fix is:

$ svn diff
Index: Makefile
===================================================================
--- Makefile (revision 5208)
+++ Makefile (working copy)
@@ -46,7 +46,7 @@
# appears in this directory as .config)
# SUBDIRS is the list of all directories containing Makefiles. It is used
# only for cleaning. namedapp must always be the first in the list. This
-# list can be extended by the .config file as well
+# list can be extended by the .config file as well.

CONFIGURED_APPS =
SUBDIRS = examples graphics interpreters modbus namedapp nshlib netutils system
@@ -70,11 +70,13 @@

ifeq ($(CONFIG_NUTTX_NEWCONFIG),y)

+# namedapp/Make.defs must be included first
+
+include namedapp/Make.defs
include examples/Make.defs
include graphics/Make.defs
include interpreters/Make.defs
include modbus/Make.defs
-include namedapp/Make.defs
include netutils/Make.defs
include nshlib/Make.defs
include system/Make.defs

I will check this in soon.

Greg
Gong Darcy
2012-10-05 01:44:44 UTC
Permalink
Hi Greg,

Vacation time?
You should take a break. I found all weekend, you have to answer and solve
my problem.
Sorry, to occupy you so much time to rest.

Darcy
Post by Gregory Nutt
**
Hi, Darcy,
W25 work trying to get failed.(Nsh shell before)
CONFIG_MTD_W25 = y
CONFIG_NSH_ARCHINIT = y
CONFIG_FS_NXFFS = y
CONFIG_FS_FAT = n
CONFIG_MMCSD = n
CONFIG_MMCSD_SPI = n
CONFIG_MMCSD_SDIO = n
CONFIG_MTD = y
Many mistakes in src/up_w25.c.
Such as the 115 line is sst25_initialize
spi port the driver default is set to 2, the result is
nsh_archinitialize: Failed to initialize W25 minor 0: -19
...
Assertion failed at file: mtd/w25.c line: 697
I have checked in potential fixes for all of the issue that you list.
Remember that the W25 driver is completely untested code. You should
expect some issues and some time to get it working correctly.
I will not have any time to work with the driver for two weeks (until
after the 18th of October).
Greg
Continue reading on narkive:
Loading...