[En-Nut-Discussion] RE: [En-Nut-Announce] Nut/OS Version 4.0

Rob van Lieshout (PragmaLab) info at pragmalab.nl
Tue Jan 10 13:05:11 CET 2006


 Hi Lars,

I don't think you did something clumsy. I'm shure more Nut-users run into
this 'problem'. The idea should be (imo) that loading the config file
settles all information needed for the configurator. But, for some reason
one decided to put the information in 2 places: the configuration file AND
in the (Windows)register. Alhtough this makes some sense (all information
needed to build NutOS is put in the config-file, all meta-info that is
needed for the tool itself is put in the register), it confuses people and
(most important) it triggers errors beacause after upgrading to a different
(new) Nut-release, you are not aware of the fact that all meta-info still
points to the previously used build of NutOS (paths!).

OK, as Harald pointed out some days ago in this list, there is a solution
using the /S=somename option when starting 'nutconf' from the commandline.
As Harald only mentioned the solution and not HOW to use it, it took me some
time to figure it out. But it works very simple: 

STORE:
Storing the meta-info (eg the info you had to change in 7 places):
'nutconf /S=3.9.9' (the string after the '=' is up to you) -> opens the
configurator and you can enter all meta-info under the 'Edit' menu, like
paths, etc.

RECALL:
Then next time you want to use the configurator with the same meta-info, you
retype 'nutconf /S=3.9.9' and it wil start the configurator and recalling
the meta-info using the register entry that was created the first time.

This way you can handle several NutOS builds without entering all meta-info
over and over again. Very useful when you need to switch between NutOS
versions. 

Sad thing is that the meta-info does NOT store the name of the config-file
and so you will be asked which config-file you want to load each time you
start 'nutconf'. I'm shure this minor mistake will be fixed in the near
future, since the configurator is still 'a bit under construction' as I
understood

Hope this helps.....

regards

Rob van Lieshout

-----Oorspronkelijk bericht-----
Van: en-nut-discussion-bounces at egnite.de
[mailto:en-nut-discussion-bounces at egnite.de] Namens
en-nut-discussion-request at egnite.de
Verzonden: dinsdag 10 januari 2006 12:00
Aan: en-nut-discussion at egnite.de
Onderwerp: En-Nut-Discussion Digest, Vol 27, Issue 11

Send En-Nut-Discussion mailing list submissions to
	en-nut-discussion at egnite.de

To subscribe or unsubscribe via the World Wide Web, visit
	http://www.egnite.de/mailman/listinfo.cgi/en-nut-discussion
or, via email, send a message with subject or body 'help' to
	en-nut-discussion-request at egnite.de

You can reach the person managing the list at
	en-nut-discussion-owner at egnite.de

When replying, please edit your Subject line so it is more specific than
"Re: Contents of En-Nut-Discussion digest..."


Today's Topics:

   1. Re: Fw: Unix emulation platform (Matthias Ringwald)
   2. Re: Debugger-Interface (Cable) - Which One (Roland Pieper)
   3. Re: Problem with write eeprom (Brett Abbott)
   4. RE: [En-Nut-Announce] Nut/OS Version 4.0	Available
      (Lars Andersson)
   5. Where to buy ATMEL JTAG ICE (Lloyd Bailey)


----------------------------------------------------------------------

Message: 1
Date: Mon, 9 Jan 2006 12:06:26 +0100
From: Matthias Ringwald <mringwal at inf.ethz.ch>
Subject: Re: [En-Nut-Discussion] Fw: Unix emulation platform
To: Daniel Quintero <daniel.quintero at ono.com>
Cc: "Ethernut User Chat \(English\)" <en-nut-discussion at egnite.de>
Message-ID: <95ED2DA5-5F29-46F9-96F8-831F2D594D1E at inf.ethz.ch>
Content-Type: text/plain; charset=ISO-8859-1; delsp=yes; format=flowed

Hi Daniel

I created the unix emulation and will gladly assist you in improving it.
I just don't have to much time left, so I didn't work on it recently.

AFAIK it is currently broken, because we changed the timer interrupt handler
but didn't update unix. The good news is, that the current implementation is
even simple to emulate.

Did you try to understand nut/os interrupt handlers and the unix emulation
as it is (reading the source code.. ?) :)

Matthias



On 27.12.2005, at 11:58, Daniel Quintero wrote:

> Hi to all!
>
> I'm like to use the unix emulation platform, but seems that it was 
> broken in current version. I want to work on it and include some 
> drivers for emulating my platform. ? Is somebody working or interested 
> on that ?
>
>            Thanks.
>
>            Daniel Quintero - daniel at itoobot.com
>            www.itoobot.com
>            Itoo Software - www.itoosoft.com
>
> _______________________________________________
> En-Nut-Discussion mailing list
> En-Nut-Discussion at egnite.de
> http://www.egnite.de/mailman/listinfo.cgi/en-nut-discussion



------------------------------

Message: 2
Date: Mon, 9 Jan 2006 12:28:00 +0100 (MET)
From: "Roland Pieper" <r.j.pieper at gmx.net>
Subject: Re: [En-Nut-Discussion] Debugger-Interface (Cable) - Which
	One
To: "Ethernut User Chat (English)" <en-nut-discussion at egnite.de>
Message-ID: <26036.1136806080 at www55.gmx.net>
Content-Type: text/plain; charset="iso-8859-1"

Hi Harald,

Olimex works fine.
JTAG-Connector Pin-Out is ok.
Debugging works.

Rgd4s Roland


> --- Urspr|ngliche Nachricht ---
> Von: Harald Kipp <harald.kipp at egnite.de>
> An: "Ethernut User Chat (English)" <en-nut-discussion at egnite.de>
> Betreff: Re: [En-Nut-Discussion] Debugger-Interface (Cable) - Which 
> One
> Datum: Thu, 29 Dec 2005 16:19:54 +0100
> 
> Hi Roland,
> 
> Yes, the Olimex should work. Although I never tried.
> I'm using Atmel's JTAGICE and JTAGICE MkII.
> http://www.ethernut.de/en/programmer/index.html
> As far as I know the Olimex parts are clones of the Atmel adapters.
> 
> The Starter Kit contains the SP Duo
> http://www.ethernut.de/en/isp/spduo.html
> which lacks the debugging feature.
> 
> Harald
> 
> At 15:02 29.12.2005 +0100, you wrote:
> >Hello Everyone,
> >
> >which  Programmer- or Emulator-Interface can i use for AVR Controller
> with
> >JTAG-Interface (Ethernut 1.3)
> >
> >May be this one: http://elmicro.com/de/avrjtag.html
> >
> >Any help or hints are welcome.
> >
> >Rgd4s Roland
> >
> >PS: Or can i use the one included in the egnite starter kit?
> 
> _______________________________________________
> En-Nut-Discussion mailing list
> En-Nut-Discussion at egnite.de
> http://www.egnite.de/mailman/listinfo.cgi/en-nut-discussion
> 


------------------------------

Message: 3
Date: Mon, 09 Jan 2006 12:46:29 +1300
From: Brett Abbott <Brett.Abbott at digital-telemetry.com>
Subject: Re: [En-Nut-Discussion] Problem with write eeprom
To: "Ethernut User Chat (English)" <en-nut-discussion at egnite.de>
Message-ID: <43C1A455.3080906 at digital-telemetry.com>
Content-Type: text/plain; format=flowed; charset=ISO-8859-15

Stoffel

Im unsure if this has been replied to as Im a bit behind in my list reading.
Im unsure of your symptoms but I have resolved an issue which may happen
with your code.

If you are finding the watchdog is resetting during your eeprom write/read,
you may find that this is due to the size of your eeprom writes.  Often a
WDR is not issued in the middle of large eeprom writes or reads.  By
comparison to sram, eeprom activities are extremly slow and you may find
that you get Watch dog resets, often at different times.  Have a look at the
atmel data sheet and multiply the write time by the number of bytes, you
will be surprised at how long it takes - it can be easy to even exceed the
longest watch dog timeout.

Quick fix is to WDR before and after.  More rugged solution and for larger
eeprom string/records, you need to WDR more often, ie. in between each (or
group of) byte.

Cheers
Brett

Stoffel Armin wrote:

> I have still a problem with the EEPROM.
> I arranged a test routine.
> Problems:
> 1. The restart (wdt_reset) after the SetIP functioned not 2. After 
> Ethernut switch off/on are again the default values 3. With 
> NutRegisterAuth give there it with the password also a problem
>
> The whole must be connected nevertheless with the EEPROM.
> Can someone the program look at itself and me help?
> Ethernut2.1b Nut/OS 3.9.9
>
> Program:
> ----------------------------------------------------------------------
> ----------------------
>
>
> #define MYMAC       0x00, 0x06, 0x98, 0x21, 0x04, 0xB3
> #define MYIP        "192.168.1.2"
> #define MYMASK      "255.255.255.0"
> #define MYGATEWAY   "192.168.1.1"
>
>
> #include <cfg/os.h>
>
> #include <string.h>
> #include <io.h>
>
> #include <dev/board.h>
> #include <dev/urom.h>
>
> #include <sys/version.h>
> #include <sys/thread.h>
> #include <sys/timer.h>
> #include <sys/heap.h>
> #include <sys/confnet.h>
> #include <sys/socket.h>
>
> #include <arpa/inet.h>
>
> #include <pro/httpd.h>
> #include <pro/dhcp.h>
>
> #include <net/route.h>
>
> #include <avr/wdt.h>
>
> #define wdt_reset()   __asm__ __volatile__ ("wdr")
>
> #define EE_OFFSET   512
>
> static char *html_mt = "text/html";
>
> static prog_char navigation[] = "<td width=\"150\" valign=\"top\" 
> bgcolor=\"E6E6E6\">"
>    "<a href=\"/cgi-bin/setip.cgi\">Set IP</a><br>"
>    "<a href=\"/cgi-bin/allowip.cgi\">Allow IP</a><br>"
>    "<a href=\"/cgi-bin/password.cgi\">Change Password</a>"
>    
>
"<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></td>" 
>
>    "<td valign=\"top\" align=\"center\">";
>
> static prog_char foot[] = "</table><br>"
>    " <input type=\"submit\" value=\" Set \"> "
>    " <input type=\"reset\" value=\" Cancel \"> "
>    "</form>\r\n</td>\r\n</tr>\r\n</table>\r\n</body>\r\n</html>";
>
> /*
> * Save a string into the EEPROM.
> */
> int ConfigSaveString(int addr, u_char * str) {
>    int rc = 0;
>    do {
>        if (eeprom_read_byte((void *) (EE_OFFSET + addr + rc)) != *str)
>            eeprom_write_byte((void *) (EE_OFFSET + addr + rc), *str);
>        rc++;
>    } while (*str++);
>
>    return rc;
> }
>
> /*
> * Read a string from EEPROM.
> */
> size_t ConfigLoadString(int addr, u_char * str, size_t size) {
>    size_t rc = 0;
>
>    while (rc < size) {
>        *str = eeprom_read_byte((void *) (EE_OFFSET + addr + rc));
>        rc++;
>        if (*str++ == 0)
>            break;
>    }
>    if (*str != 0)
>        *str++ = 0;
>    return rc;
> }
>   
> /*********************************************************************
> ***********************************/
>
> /* CGI                                                                 
>                                    */
> /*********************************************************************
> ***********************************/
>
>
> int SetIp(FILE * stream, REQUEST * req) {
>    static prog_char head[] = "<html>"
>                            "<head>"
>                            "<meta http-equiv=\"expires\" content=\"0\">"
>                            "<title>Set IP</title>"
>                            "</head>"
>                            "<body bgcolor=\"#FFFFFF\">"
>                            "<table width=\"100%\" border=\"0\">"
>                            "<tr>";
>    static prog_char thdr[] = "<form action=\"setip.cgi\" 
> enctype=\"text/plain\">"
>                              "<table border=\"0\" cellspacing=\"0\">\r\n"
>                              "<tr align=\"center\">\r\n<th 
> colspan=\"2\">Set IP</th>\r\n</tr>\r\n";
>
>
>    NutHttpSendHeaderTop(stream, req, 200, "Ok");
>    NutHttpSendHeaderBot(stream, html_mt, -1);
>
>    fputs_P(head, stream);
>    fputs_P(navigation, stream);
>      if (NutHttpGetParameterCount(req) == 3){
>        confnet.cdn_ip_addr = inet_addr(NutHttpGetParameterValue(req, 0));
>        confnet.cdn_ip_mask = inet_addr(NutHttpGetParameterValue(req, 1));
>        confnet.cdn_gateway = inet_addr(NutHttpGetParameterValue(req, 2));
>        NutNetSaveConfig();
>              fprintf(stream,"<b>New IP-Adress: <a 
> href=http://%s>%s</a><br>", NutHttpGetParameterValue(req, 0), 
> NutHttpGetParameterValue(req, 0));
>        fprintf(stream,"<b>New Mask: %s<br>", 
> NutHttpGetParameterValue(req, 1));
>        fprintf(stream,"<b>New Gateway: %s<br><br>REBOOT...</b>", 
> NutHttpGetParameterValue(req, 2));
>        fprintf(stream,"\r\n</div></body>\r\n</html>");
>        fflush(stream);
>        wdt_reset();
>        wdt_enable(1);
>        while(1);
>    } else{
>        fputs_P(thdr, stream);
>        fprintf(stream,"<tr align=\"left\">\r\n<th>IP</th><td><input 
> maxLength=\"15\" size=\"20\" name=\"ip\" value=\"");
>        fprintf(stream, "%s", inet_ntoa(confnet.cdn_ip_addr));
>        fprintf(stream,"\"></td></tr>");
>              fprintf(stream,"<tr 
> align=\"left\">\r\n<th>Mask</th><td><input maxLength=\"15\" 
> size=\"20\" name=\"mask\" value=\"");
>        fprintf(stream, "%s",inet_ntoa(confnet.cdn_ip_mask));
>        fprintf(stream,"\"></td></tr>");
>              fprintf(stream,"<tr 
> align=\"left\">\r\n<th>Gateway </th><td><input maxLength=\"15\" 
> size=\"20\" name=\"gateway\" value=\"");
>        fprintf(stream, "%s",inet_ntoa(confnet.cdn_gateway));
>        fprintf(stream,"\"></td></tr>");
>
>        fputs_P(foot, stream);
>    }
>    fflush(stream);
>    return 0;
> }
>
> int AllowIp(FILE *stream, REQUEST *req)
> {      static prog_char head[] = "<html>"
>                            "<head>"
>                            "<meta http-equiv=\"expires\" content=\"0\">"
>                            "<title>Set Allow IP</title>"
>                            "</head>"
>                            "<body bgcolor=\"#FFFFFF\">"
>                            "<table width=\"100%\" border=\"0\">"
>                            "<tr>";
>    static prog_char thdr[] = "<form action=\"allowip.cgi\" 
> enctype=\"text/plain\">"
>                              "<table border=\"0\" cellspacing=\"0\">\r\n"
>                              "<tr align=\"center\">\r\n<th 
> colspan=\"4\">Set Allow IP</th>\r\n</tr>\r\n";
>
>    int i;
>    NutHttpSendHeaderTop(stream, req, 200, "Ok");
>    NutHttpSendHeaderBot(stream, html_mt, -1);
>
>    fputs_P(head, stream);
>    fputs_P(navigation, stream);
>    fputs_P(thdr, stream);
>      char ip[16] = "000.000.000.000";
>      if (NutHttpGetParameterCount(req) == 10){          for(i=0; i < 
> 10; i++){
>            ConfigLoadString(5 + (i*20),ip,15);
>            if (strcmp(ip,NutHttpGetParameterValue(req, i))!=0)   
>                ConfigSaveString(5 + 
> (i*20),NutHttpGetParameterValue(req, i));
>        }
>    }
>      for(i=0; i < 5; i++){
>        fprintf(stream,"<tr align=\"left\">\r\n<th>IP 
> %i </th><td><input maxLength=\"15\" size=\"20\" name=\"ip%i\" 
> value=\"",i+1,i+1);
>        ConfigLoadString(5 + (i*40),ip,15);
>        fprintf(stream, "%s\"", ip);
>        fprintf(stream,"\"></td>");
>        fprintf(stream,"\r\n<th> Mask %i </th><td><input 
> maxLength=\"15\" size=\"20\" name=\"mask%i\" value=\"",i+1,i+1);
>        ConfigLoadString(25 + (i*40),ip,15);
>        fprintf(stream, "%s\"", ip);
>        fprintf(stream,"\"></td></tr>");
>    }
>      fputs_P(foot, stream);
>    fflush(stream);
>    return 0;
> }
>
> int Password(FILE *stream, REQUEST *req)
> {
>    static prog_char head[] = "<html>"
>                            "<head>"
>                            "<meta http-equiv=\"expires\" content=\"0\">"
>                            "<title>Set Password</title>"
>                            "</head>"
>                            "<body bgcolor=\"#FFFFFF\">"
>                            "<table width=\"100%\" border=\"0\">"
>                            "<tr>";
>    static prog_char thdr[] = "<form action=\"password.cgi\" 
> enctype=\"text/plain\">"
>                              "<table border=\"0\" cellspacing=\"0\">\r\n"
>                              "<tr align=\"center\">\r\n<th 
> colspan=\"2\">Set Password</th>\r\n</tr>\r\n";
>
>
>    NutHttpSendHeaderTop(stream, req, 200, "Ok");
>    NutHttpSendHeaderBot(stream, html_mt, -1);
>
>    fputs_P(head, stream);
>    fputs_P(navigation, stream);
>    fputs_P(thdr, stream);
>          if (NutHttpGetParameterCount(req) == 3){          char 
> password[16] = "";
>        ConfigLoadString(205,password,15);          if 
> (strcmp(NutHttpGetParameterValue(req, 0),password) == 0){
>            if (strcmp(NutHttpGetParameterValue(req, 1),"") != 0){
>                if (strcmp(NutHttpGetParameterValue(req, 
> 1),NutHttpGetParameterValue(req, 2)) == 0){
>                    ConfigSaveString(205,NutHttpGetParameterValue(req, 
> 1));
>                    fprintf(stream,"<tr align=\"left\">\r\n<td 
> align=\"center\" colspan=\"2\">Password 
> changed<br><br><b>REBOOT...</b></td></tr>");
>                    fflush(stream);
>                    wdt_enable(1);
>                    wdt_reset();
>                    while(1);
>                } else {
>                    fprintf(stream,"<tr align=\"left\">\r\n<td 
> align=\"center\" colspan=\"2\">Retype Password incorrect!</td></tr>");
>                }
>            } else {
>                fprintf(stream,"<tr align=\"left\">\r\n<td 
> align=\"center\" colspan=\"2\">New Password empty</td></tr>");
>            }
>        } else {
>                fprintf(stream,"<tr align=\"left\">\r\n<td 
> align=\"center\" colspan=\"2\">Password incorrect</td></tr>");
>        }
>    }
>                    fprintf(stream,"<tr align=\"left\">\r\n<th>Old 
> Password</th><td><input type=\"password\" maxLength=\"15\" size=\"20\" 
> name=\"old\" value=\"");
>    fprintf(stream,"\"></td></tr>");
>      fprintf(stream,"<tr align=\"left\">\r\n<th>New 
> Password</th><td><input type=\"password\" maxLength=\"15\" size=\"20\" 
> name=\"new1\" value=\"");
>    fprintf(stream,"\"></td></tr>");
>      fprintf(stream,"<tr align=\"left\">\r\n<th>Retype 
> Password</th><td><input type=\"password\" maxLength=\"15\" size=\"20\" 
> name=\"new2\" value=\"");
>    fprintf(stream,"\"></td></tr>");
>      fputs_P(foot, stream);
>    fflush(stream);
>    return 0;
> }
>
> /*! \fn Service(void *arg)
> * \brief HTTP service thread.
> *
> * The endless loop in this thread waits for a client connect,
> * processes the HTTP request and disconnects. Nut/Net doesn't
> * support a server backlog. If one client has established a
> * connection, further connect attempts will be rejected.
> * Typically browsers open more than one connection in order
> * to load images concurrently. So we run this routine by
> * several threads.
> *
> */
> THREAD(Service, arg)
> {
>    TCPSOCKET *sock;
>    FILE *stream;
>
>    /*
>     * Now loop endless for connections.
>     */
>    for (;;) {
>
>        /*
>         * Create a socket.
>         */
>        if ((sock = NutTcpCreateSocket()) == 0) {
>            NutSleep(5000);
>            continue;
>        }
>
>        /*
>         * Listen on port 80. This call will block until we get a 
> connection
>         * from a client.
>         */
>        NutTcpAccept(sock, 80);
>
>        /*
>         * Wait until at least 8 kByte of free RAM is available. This will
>         * keep the client connected in low memory situations.
>         */
>        while (NutHeapAvailable() < 8192) {
>            NutSleep(1000);
>        }
>
>        /*
>         * Associate a stream with the socket so we can use standard 
> I/O calls.
>         */
>        if ((stream = _fdopen((int) ((uptr_t) sock), "r+b")) != 0) {
>            /*
>             * This API call saves us a lot of work. It will parse the
>             * client's HTTP request, send any requested file from the
>             * registered file system or handle CGI requests by calling
>             * our registered CGI routine.
>             */
>            NutHttpProcessRequest(stream);
>
>            /*
>             * Destroy the virtual stream device.
>             */
>            fclose(stream);
>        }
>
>        /*
>         * Close our socket.
>         */
>        NutTcpCloseSocket(sock);
>    }
> }
>
> /*!
> * \brief Main application routine.
> *
> * Nut/OS automatically calls this entry after initialization.
> */
> int main(void)
> {
>    u_char i;
>
>    /*
>     * Register Ethernet controller.
>     */
>    NutRegisterDevice(&DEV_ETHER, 0, 0);
>
>    /*
>     * LAN configuration using EEPROM values or DHCP/ARP method.
>     * If it fails, use fixed values.
>     */
>          if (PIND & 0x01 || NutDhcpIfConfig("eth0", 0, 60000)) {
>        u_char mac[] = { MYMAC };
>        u_long ip_addr = inet_addr(MYIP);
>        u_long ip_mask = inet_addr(MYMASK);
>        u_long ip_gate = inet_addr(MYGATEWAY);
>        ConfigSaveString(5,"192.168.1.2");
>        ConfigSaveString(25,"255.255.255.0");
>        ConfigSaveString(45,"000.000.000.000");
>        ConfigSaveString(65,"000.000.000.000");
>        ConfigSaveString(85,"000.000.000.000");
>        ConfigSaveString(105,"000.000.000.000");
>        ConfigSaveString(125,"000.000.000.000");
>        ConfigSaveString(145,"000.000.000.000");
>        ConfigSaveString(165,"000.000.000.000");
>        ConfigSaveString(185,"000.000.000.000");
>        ConfigSaveString(205,"1234");
>        NutNetIfConfig2("eth0", mac, ip_addr, ip_mask, ip_gate);      }
>          /*
>     * Register our device for the file system.
>     */
>    NutRegisterDevice(&devUrom, 0, 0);
>
>    /*
>     * Finally a CGI example to process a form.
>     */
>    NutRegisterCgi("setip.cgi", SetIp);
>    NutRegisterCgi("allowip.cgi", AllowIp);
>    NutRegisterCgi("password.cgi", Password);
>
>    char password[16] = "";
>    char dummy[60]="";
>      ConfigLoadString(205,password,15);
>      sprintf(dummy,"root:%s", password);
>      NutRegisterAuth("cgi-bin", dummy);        /*
>     * Start four server threads.
>     */
>    for (i = 1; i <= 4; i++) {
>        char *thname = "httpd0";
>
>        thname[5] = '0' + i;
>        NutThreadCreate(thname, Service, (void *) (uptr_t) i, 
> NUT_THREAD_MAINSTACK);
>    }
>
>    /*
>     * We could do something useful here, like serving a watchdog.
>     */
>    NutThreadSetPriority(254);
>    for (;;)
>        NutSleep(60000);
> }
>
>
> _______________________________________________
> En-Nut-Discussion mailing list
> En-Nut-Discussion at egnite.de
> http://www.egnite.de/mailman/listinfo.cgi/en-nut-discussion
>
>

-- 
-----------------------------------------------------------------
Brett Abbott, Managing Director, Digital Telemetry Limited
Email: Brett.Abbott at digital-telemetry.com
PO Box 24 036 Manners Street, Wellington, New Zealand
Phone +64 (4) 5666-860  Mobile +64 (21) 656-144
------------------- Commercial in confidence --------------------




------------------------------

Message: 4
Date: Mon, 9 Jan 2006 22:17:15 +0100
From: "Lars Andersson" <lakab at telia.com>
Subject: [En-Nut-Discussion] RE: [En-Nut-Announce] Nut/OS Version 4.0
	Available
To: <en-nut-discussion at egnite.de>
Message-ID: <002501c61562$105d0df0$1501a8c0 at p3>
Content-Type: text/plain;	charset="us-ascii"

Hi group,
when I install version 401 and start the configurator for the first 
time (from the installers final menu)I have to change directory reference
from 
Nut398 to nut401 in 7 (seven) places. Obviously I am doing a clumsy thing
here?
It seems that all installer versions share the same registry settings.

Looking in the registry after changing to 4.01 I find

[HKEY_CURRENT_USER\Software\egnite\NutConf\Settings]
"ConfigName"="H:/nut398/nut/conf/ethernut13f.conf"
"RepositoryName"="H:/nut401/nut/conf/repository.nut"
"BuildPath"="H:/nut401/Build"
"FirstInclude"=""
"LastInclude"=""
"InstallPath"="H:/nut401/Install"
"SourceDirectory"="H:/nut401/nut"
"TargetPlatform"="avr-gcc"
"ToolPath"="H:\\nut401\\tools\\win32;C:\\winavr\\bin;C:\\winavr\\utils\\bin"
"ApplicationDirectory"="H:/nut401/nutapp"
"Programmer"="avr-uisp-stk500"

Maybe I should have changed "ConfigName" to get a completely fresh entry?
Probably I run this only once for each Nut version.
//
Lars H. Andersson 
 

> -----Original Message-----
> Subject: [En-Nut-Announce] Nut/OS Version 4.0 Available
>
> The new release can be downloaded from
> 
> http://www.ethernut.de/en/download/index.html
> 
> 
> Enjoy,
> 
> Harald Kipp
> 
> _______________________________________________
> En-Nut-Announce mailing list
> En-Nut-Announce at egnite.de
> http://www.egnite.de/mailman/listinfo.cgi/en-nut-announce
> 



------------------------------

Message: 5
Date: Tue, 10 Jan 2006 09:35:01 +0100
From: Lloyd Bailey <lbailey at pharmanord.com>
Subject: [En-Nut-Discussion] Where to buy ATMEL JTAG ICE
To: en-nut-discussion at egnite.de
Message-ID: <1136882101.4095.29.camel at homeboy>
Content-Type: text/plain

Hi All,

Where can I buy a JTAG ICE for debugging the ethernut 2.1b

Thanks,

Lloyd.
-- 
EDB afgang
Pharma Nord
Sadelmagervej 30-32
7100 Vejle
Denmark
Tel:. +45 75 85 74 00



------------------------------

_______________________________________________
En-Nut-Discussion mailing list
En-Nut-Discussion at egnite.de
http://www.egnite.de/mailman/listinfo.cgi/en-nut-discussion


End of En-Nut-Discussion Digest, Vol 27, Issue 11
*************************************************




More information about the En-Nut-Discussion mailing list