Page 1 of 1

Programming from Linux.

Posted: Wed Nov 21, 2018 5:37 am
by r.e.wolff189
Hi
I bought a handfull of modules, expecting to be able to program them to my liking. Of course I can add them to my project as a module and talk to them with AT commands, but in my experience with ESP8266, that is full of race conditions and weird communications errors. So I much rather have control from the CPU itself. I have lots of experience with ARM processors and ARM compilers, so no problem there.

Now I find out that the "firmware tools" zipfile does not contain any sources, but just a few windows binaries. So how do I go about programming this thing from my Linux workstation?

(I stopped using Windows sometime in the last century).

Re: Programming from Linux.

Posted: Thu Nov 22, 2018 5:50 pm
by jellyfish
r.e.wolff189 wrote:
Wed Nov 21, 2018 5:37 am
Hi
I bought a handfull of modules, expecting to be able to program them to my liking. Of course I can add them to my project as a module and talk to them with AT commands, but in my experience with ESP8266, that is full of race conditions and weird communications errors. So I much rather have control from the CPU itself. I have lots of experience with ARM processors and ARM compilers, so no problem there.

Now I find out that the "firmware tools" zipfile does not contain any sources, but just a few windows binaries. So how do I go about programming this thing from my Linux workstation?

(I stopped using Windows sometime in the last century).
Hi wolff,

Unfortunately, we don't have the firmware tool for linux. However you can use the serial port tool with xmodem send function.

1-send 1B (HEX), Cyclically.

1.5-Thanks andreas
quote
"Try to push the RESET button (or pull down LOW the Res-PIN on the stand-alone module)
while sending "\x1b" then you'll get the desired response."

2-When it recall "secboot running" and then with "CCCCCC...."
you can choose the firmware file, and send them under xmodem protocol

Again, we have not tested this way under linux.


Happy thanksgiving

Re: Programming from Linux.

Posted: Sun Dec 02, 2018 3:38 am
by robertbaruch
I agree with r.e.wolff189,

without REAL tools, this device is simply a toy that can't be used... All modern SoC's support a toolchain that isn't tied to Windows... Guess it's back to the ESPXXX family until such time that there are tools available to build firmware and escape the AT+ command set of 1981...

Re: Programming from Linux.

Posted: Mon Dec 03, 2018 3:04 am
by scm
I'm having trouble getting the module to respond to the 1B (escape). I've sent a bunch and never receive a response from the module. Could you describe the sequence to get the module ready to accept xmodem. From there it should be easy to get a python script to do the loading under Linux.

Thanks.

Re: Programming from Linux.

Posted: Mon Dec 03, 2018 11:57 pm
by tarp.andreas
Hello scm,
scm wrote:
Mon Dec 03, 2018 3:04 am
I'm having trouble getting the module to respond to the 1B (escape). I've sent a bunch and never receive a response from the module. Could you describe the sequence to get the module ready to accept xmodem. From there it should be easy to get a python script to do the loading under Linux.
I first had the same problem but solved it: Try to push the RESET button (or pull down LOW the Res-PIN on the stand-alone module)
while sending "\x1b" then you'll get the desired response.

Re: Programming from Linux.

Posted: Thu Dec 06, 2018 3:35 pm
by jellyfish
Hi andreas,

You are right, it's my bad, i should have mentioned that the reset button should be pressed after send 1B.

Thanks for your reply, i will add your notice part.

Re: Programming from Linux.

Posted: Wed Aug 21, 2019 3:09 am
by vshymanskyi
I have created a tool that allows flashing/erasing (among other things) of W600 chips:
https://github.com/vshymanskyy/w600tool

Feel free to use! This is based on some chineese docs and scripts I could find, but I have also investigated/implemented the proper command format so this script can be a starting point for further development.
For example, this enabled me to implement "set mac address" function.