Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to SDK 1.0.0 #1

Closed
4refr0nt opened this issue Mar 28, 2015 · 10 comments
Closed

Update to SDK 1.0.0 #1

4refr0nt opened this issue Mar 28, 2015 · 10 comments

Comments

@4refr0nt
Copy link

Need to update from SDK 0.9.5 to SDK 1.0.0

@rogerclarkmelbourne
Copy link

Sorry. I didn't see that issue before I added mine

BTW. I did briefly try replacing the 0.9 SDK in the repo with the 1.0 SDK but got lots of errors, missing at least 1 header and also missing some internal functions that were in 0.9
(Hard to know if they have been removed of just are not in the headers in 1.0 :-(

@igrr
Copy link
Member

igrr commented Mar 29, 2015

No problem.
It seems there is a DHCP client issue in 0.9.5, so upgrading to 1.0 does make sense.
If you post the compiler output I may be able to guide you, alternatively I'll look into this myself in the next few days. The second route would probably be easier.

@rogerclarkmelbourne
Copy link

OK. Looks like quite a few things are different

C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266/tools/xtensa-lx106-elf/bin/xtensa-lx106-elf-g++ -D__ets__ -DICACHE_FLASH -IC:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266/tools/sdk//include -c -Os -mlongcalls -mtext-section-literals -fno-exceptions -fno-rtti -std=c++11 -MMD -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266 -IC:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\variants\esp01 C:\Users\rclark\AppData\Local\Temp\build5447791988060577372.tmp\sketch_mar29a.cpp -o C:\Users\rclark\AppData\Local\Temp\build5447791988060577372.tmp\sketch_mar29a.cpp.o
C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266/tools/xtensa-lx106-elf/bin/xtensa-lx106-elf-as -o C:\Users\rclark\AppData\Local\Temp\build5447791988060577372.tmp\cont.S.o C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266\cont.S
C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266/tools/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -D__ets__ -DICACHE_FLASH -IC:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266/tools/sdk//include -c -Os -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -MMD -std=c99 -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266 -IC:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\variants\esp01 C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266\cont_util.c -o C:\Users\rclark\AppData\Local\Temp\build5447791988060577372.tmp\cont_util.c.o
C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266/tools/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -D__ets__ -DICACHE_FLASH -IC:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266/tools/sdk//include -c -Os -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -MMD -std=c99 -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266 -IC:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\variants\esp01 C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266\core_esp8266_noniso.c -o C:\Users\rclark\AppData\Local\Temp\build5447791988060577372.tmp\core_esp8266_noniso.c.o
C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266/tools/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc -D__ets__ -DICACHE_FLASH -IC:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266/tools/sdk//include -c -Os -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -MMD -std=c99 -DF_CPU=80000000L -DARDUINO=10601 -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -IC:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266 -IC:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\variants\esp01 C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266\core_esp8266_wiring.c -o C:\Users\rclark\AppData\Local\Temp\build5447791988060577372.tmp\core_esp8266_wiring.c.o
In file included from C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266/tools/sdk//include/ets_sys.h:11:0,
from C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266\core_esp8266_wiring.c:24:
C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266/tools/sdk//include/c_types.h:15:29: error: conflicting types for 'uint32_t'
typedef unsigned long uint32_t;
^
In file included from c:\users\rclark\documents\arduino\hardware\arduino-esp8266\tools\xtensa-lx106-elf\lib\gcc\xtensa-lx106-elf\4.8.2\include\stdint.h:9:0,
from C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266\Arduino.h:24,
from C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266\wiring_private.h:31,
from C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266\core_esp8266_wiring.c:23:
c:\users\rclark\documents\arduino\hardware\arduino-esp8266\tools\xtensa-lx106-elf\xtensa-lx106-elf\include\stdint.h:81:22: note: previous declaration of 'uint32_t' was here
typedef unsigned int uint32_t;
^
In file included from C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266/tools/sdk//include/ets_sys.h:11:0,
from C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266\core_esp8266_wiring.c:24:
C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266/tools/sdk//include/c_types.h:17:29: error: conflicting types for 'int32_t'
typedef signed long int32_t;
^
In file included from c:\users\rclark\documents\arduino\hardware\arduino-esp8266\tools\xtensa-lx106-elf\lib\gcc\xtensa-lx106-elf\4.8.2\include\stdint.h:9:0,
from C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266\Arduino.h:24,
from C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266\wiring_private.h:31,
from C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266\core_esp8266_wiring.c:23:
c:\users\rclark\documents\arduino\hardware\arduino-esp8266\tools\xtensa-lx106-elf\xtensa-lx106-elf\include\stdint.h:80:20: note: previous declaration of 'int32_t' was here
typedef signed int int32_t;
^
In file included from C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266\Arduino.h:25:0,
from C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266\wiring_private.h:31,
from C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266\core_esp8266_wiring.c:23:
C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266/tools/sdk//include/c_types.h:82:25: error: two or more data types in declaration specifiers
typedef unsigned char bool;
^
In file included from C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266/tools/sdk//include/ets_sys.h:11:0,
from C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266\core_esp8266_wiring.c:24:
C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266/tools/sdk//include/c_types.h:82:1: warning: useless type name in empty declaration [enabled by default]
typedef unsigned char bool;
^
C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266/tools/sdk//include/c_types.h:84:0: warning: "true" redefined [enabled by default]
#define true (1)
^
In file included from C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266\Arduino.h:25:0,
from C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266\wiring_private.h:31,
from C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266\core_esp8266_wiring.c:23:
c:\users\rclark\documents\arduino\hardware\arduino-esp8266\tools\xtensa-lx106-elf\lib\gcc\xtensa-lx106-elf\4.8.2\include\stdbool.h:34:0: note: this is the location of the previous definition
#define true 1
^
In file included from C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266/tools/sdk//include/ets_sys.h:11:0,
from C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266\core_esp8266_wiring.c:24:
C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266/tools/sdk//include/c_types.h:85:0: warning: "false" redefined [enabled by default]
#define false (0)
^
In file included from C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266\Arduino.h:25:0,
from C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266\wiring_private.h:31,
from C:\Users\rclark\Documents\Arduino\hardware\arduino-esp8266\esp8266\cores\esp8266\core_esp8266_wiring.c:23:
c:\users\rclark\documents\arduino\hardware\arduino-esp8266\tools\xtensa-lx106-elf\lib\gcc\xtensa-lx106-elf\4.8.2\include\stdbool.h:35:0: note: this is the location of the previous definition
#define false 0
^
Error compiling.

Unfortunatly its getting really late here (almost 10:30pm) and I'm not a night owl, so I will need to call it a day and take another look tomorrow about why there seems to be so many issues with typedefs

PS. I better check I have a clean version of the 1.0SDK as I got it from www.arduinoesp.com and his build for Arduino (which was instantly made redundant when you released your much better version ;0)

Thanks

Roger

@igrr igrr closed this as completed in b64079f Mar 29, 2015
@igrr
Copy link
Member

igrr commented Mar 29, 2015

Will post the link to the new bundle when build completes.

@rogerclarkmelbourne
Copy link

Many thanks

I'll clone your whole repo to my local machine and copy the necessary hardware files to my local repo and then push my hardware files only stuff back to my repo

Cheers
Roger
Edit.

Actually, when I get time I will just be able to set parts of your hardware folder as a sub module

But just to get this working today, I'll just clone and then do a local copy.

@igrr
Copy link
Member

igrr commented Mar 30, 2015

@rogerclarkmelbourne Why do we need a separate repository? Wouldn't it be easier to add a simple shell script which would package the necessary files, and then run this as a build script? Every commit is built on Travis CI and Appveyor, so it should be easy to build the right package there.
Would you like to contribute such a script? :)

@rogerclarkmelbourne
Copy link

I agree

We don't need a separate repo.

Where are your Xtensia compilor exe files kept? I can't see them in you repo. :-(

I'd need to build the script to bundle the compilor files into the tools/xtensa-lx106-elf folder etc

But I'm currently using a different set of compilor files, because of the issue in your initial Windows 1.6.1-p1 release with libiconv-2.dll not being found by gcc

PS.
I'm not sure you need the programmers.txt file. I don't use it on STM32, and it works fine (if not better without it). However I can't seem to remove it from your version without getting Java runtime errors - which I have not had time to track down yet.

@igrr
Copy link
Member

igrr commented Mar 30, 2015

If you check the build.xml you'll see that during the build the archives are downloaded from the following URLs:

http://download.igrr.me/osx-xtensa-lx106-elf.tgz
http://download.igrr.me/linux64-xtensa-lx106-elf.tgz
http://download.igrr.me/win32-xtensa-lx106-elf.tgz

This looks like a good layout for all the tools: https://github.com/sandeepmistry/esp8266-Arduino

@igrr
Copy link
Member

igrr commented Mar 30, 2015

@rogerclarkmelbourne
I have created a new issue for building the package (#14), let's leave this one closed.

@rogerclarkmelbourne
Copy link

Thanks.

I'll take a look at those links.

Please close this one ;-)

This was referenced Mar 31, 2015
igrr pushed a commit that referenced this issue Apr 18, 2015
igrr pushed a commit that referenced this issue May 1, 2015
pull changes from master
igrr pushed a commit that referenced this issue May 8, 2015
igrr pushed a commit that referenced this issue May 20, 2015
igrr pushed a commit that referenced this issue May 29, 2015
igrr pushed a commit that referenced this issue May 31, 2015
igrr pushed a commit that referenced this issue Jun 11, 2015
igrr pushed a commit that referenced this issue Jul 20, 2015
igrr pushed a commit that referenced this issue Jul 20, 2015
igrr added a commit that referenced this issue Oct 29, 2015
igrr pushed a commit that referenced this issue Oct 29, 2015
igrr pushed a commit that referenced this issue Oct 29, 2015
pull changes from master
igrr pushed a commit that referenced this issue Oct 29, 2015
igrr pushed a commit that referenced this issue Oct 29, 2015
igrr pushed a commit that referenced this issue Oct 29, 2015
igrr pushed a commit that referenced this issue Nov 10, 2015
igrr pushed a commit that referenced this issue Nov 22, 2015
igrr pushed a commit that referenced this issue Dec 18, 2015
Skip ':' inside SHA1 signatures in WiFiClientSecure.cpp .
igrr pushed a commit that referenced this issue Feb 10, 2016
igrr pushed a commit that referenced this issue Jun 1, 2016
I2C bus reset with info to user
@bastos1505 bastos1505 mentioned this issue Jun 24, 2016
igrr pushed a commit that referenced this issue Jul 5, 2016
* Initial WebServer Test

* ignore .pyc files

* add poster as requirement to virtualenv
@Eszartek Eszartek mentioned this issue Jul 23, 2018
6 tasks
SimonWilkinson added a commit to SimonWilkinson/Arduino that referenced this issue Jan 5, 2019
Rewrite the request handling in the DNSServer code to address the
following issues:

Compatibility with EDNS esp8266#1:

   RFC6891 says that
     "Responders that choose not to implement the protocol
      extensions defined in this document MUST respond with a
      return code (RCODE) of FORMERR to messages containing an
      OPT record in the additional section and MUST NOT include an
      OPT record in the response"

   If we have any additional records in the request, then we need
   to return a FORMERR, and not whatever custom error code the user
   may have set.

Compatibility with EDNS esp8266#2:

   If we're returning an error, we need to explicitly zero all of
   the record counters. In the existing code, if there is an
   additional record present in the request, we return an ARCOUNT
   of 1 in the response, despite including no additional records
   in the payload.

Don't answer non-A requests

   If we receive an AAAA request (or any other non-A record)
   requests, we shouldn't respond to it with an A record.

Don't answer non-IN requests

   If we receive a request for a non-IN type, don't answer it
   (it's unlikely that we'd see this in the real world)

Don't read off the end of malformed packets

   If a packet claims to have a query, but then doesn't include
   one, or includes a query with malformed labels, don't read off
   the end of the allocated data structure.
devyte pushed a commit that referenced this issue Jan 5, 2019
* DNSServer: Handle examplewww.com correctly

Just replacing 'www.' with the empty string when we assign the
domainname will remove all occurrences of 'www.', not just those
at the start of the string.

Change this to a startsWith check so that only "www." at the
beginning of the string is removed.

* DNSServer: Rework request handling

Rewrite the request handling in the DNSServer code to address the
following issues:

Compatibility with EDNS #1:

   RFC6891 says that
     "Responders that choose not to implement the protocol
      extensions defined in this document MUST respond with a
      return code (RCODE) of FORMERR to messages containing an
      OPT record in the additional section and MUST NOT include an
      OPT record in the response"

   If we have any additional records in the request, then we need
   to return a FORMERR, and not whatever custom error code the user
   may have set.

Compatibility with EDNS #2:

   If we're returning an error, we need to explicitly zero all of
   the record counters. In the existing code, if there is an
   additional record present in the request, we return an ARCOUNT
   of 1 in the response, despite including no additional records
   in the payload.

Don't answer non-A requests

   If we receive an AAAA request (or any other non-A record)
   requests, we shouldn't respond to it with an A record.

Don't answer non-IN requests

   If we receive a request for a non-IN type, don't answer it
   (it's unlikely that we'd see this in the real world)

Don't read off the end of malformed packets

   If a packet claims to have a query, but then doesn't include
   one, or includes a query with malformed labels, don't read off
   the end of the allocated data structure.

* DNSServer: Clarify and tidy writing the answer record

Modify the code used to write the answer record back to the server
so that it is clearer that we are writing network byte order
16-bit quantities, and to clarify what's happening with the pointer
used at the start of the answer.
Normola pushed a commit to Normola/Arduino that referenced this issue Feb 19, 2020
Making pasted compile logs less painful to the eyes
devyte pushed a commit that referenced this issue Apr 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants