[q2686h, firmware R74] AT+WDWL problem (Solved)


#1

Hello all,
I’m using q2686h module. Updated firmware from
663c00gg.Q2686H 1961896 122407 14:45
to
R74_00gg.Q2686H 2120060 041709 19:18
by DwlWin with file R74_00-cus-q26-01.wpk.
When prompted for CPU: q2686h
change AD: NO
change flash: NO

Have built QueryApp example application with Oasis2.30. Target release.

Now I’m trying to download “\workspace\QueryApp[Target]_ARM_ELF_GCC_Release\QueryApp.dwl”
in to the module with TeraTerm terminal.
The download starts, then hangs after sending about 500 bytes.
When WDWL’ing firmware file R74_00_full_q2686h.dwl everything works, so the reason is probably QueryApp.dwl file.
What can be wrong with it?


#2

viewtopic.php?f=78&t=4199&p=16591#p16591


#3

I’ve got the same module, the same SDK and the same version of OS and everything works fine. Try again from the scratch with Hello World example.


#4

HelloWorld example app builds and WDWLs OK. Still no luck with QueryApp.
It builds. When WDWLing XMODEM aborts after sending 512b of data :frowning:
Build output for helloworld and QueryApp looks the same. Maybe its the size of the DWL file?


hellowold build output:

**** Rebuild of configuration [Target]_ARM_ELF_GCC_Release for project helloworld ****

**** Internal Builder is used for build ****
e:\OpenAT\PackagesRegistry\com.wavecom.openat.ide.ebs.armelfgcc.tools\1.0.1\win32\gcc\bin\arm-elf-gcc.exe -D__arm -D__GNU_GCC__ -D__OAT_API_VERSION__=630 -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.os.model/6.30.0.00/ADL/basic -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.os.model/6.30.0.00/ADL/itf -IE:\workspace\helloworld\itf -IE:\workspace\helloworld\inc -O3 -Os -ggdb3 -Wall -c -fshort-enums -fdollars-in-identifiers -nostartfiles -fno-strict-aliasing -fno-common -fomit-frame-pointer -mthumb-interwork -mthumb -march=armv5te -msoft-float -mfpu=fpa -mapcs -mno-apcs-stack-check -osrc\hello_world.o …\src\hello_world.c
e:\OpenAT\PackagesRegistry\com.wavecom.openat.ide.ebs.armelfgcc.tools\1.0.1\win32\gcc\bin\arm-elf-g++.exe -Wl,–script,gcc.lkopt src\hello_world.o -Wl,-( -nostartfiles -Os -O2 -fshort-enums -fdollars-in-identifiers -ggdb3 -fomit-frame-pointer -mthumb-interwork -mthumb -march=armv5te -msoft-float -mfpu=fpa -mapcs -mno-apcs-stack-check -Wl,-nmagic -Wl,-Map,helloworld.map e:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.os.model/6.30.0.00/ADL/gcc_wmadl_6.30.00.0.0.lib -Wl,-) -ohelloworld.axf
e:\OpenAT\PackagesRegistry\com.wavecom.openat.ide.ebs.armelfgcc.tools\1.0.1\win32\gcc\bin\arm-elf-objcopy.exe --strip-all --strip-debug --strip-unneeded --discard-all --weaken --output-target binary helloworld.axf helloworld.cpbin
E:\OpenAT\M2MStudio\1.0.2.v200903311200\m2mstudio\plugins\com.wavecom.openat.ide.ebs.armelfgcc.win32_1.0.2.200903311234\os\win32\dd.exe if=helloworld.cpbin of=helloworld.bin bs=4 conv=sync
18906+0 records in
18906+0 records out
E:\OpenAT\M2MStudio\1.0.2.v200903311200\m2mstudio\plugins\com.wavecom.openat.ide.ebs.build.core.win32_1.0.2.200903311234\os\win32\wzpacker.exe -b 0x00260000 helloworld.bin helloworld.wpb
e:\OpenAT\PackagesRegistry\com.wavecom.openat.ide.ebs.build.core.tools\1.0.1\win32\python\python.exe -E e:\OpenAT\PackagesRegistry\com.wavecom.openat.ide.ebs.build.core.tools\1.0.1\scripts\gendwl.py --header COMPBIN --addr 0x00260000 --bin helloworld.wpb --dwl helloworld.dwl
2009-11-09 14:08:00,578 INFO GENDWL version 1.1
2009-11-09 14:08:00,592 INFO create compressed binary file
Build complete for project helloworld
Time consumed: 3062 ms.


QueryApp build output:

**** Rebuild of configuration [Target]_ARM_ELF_GCC_Release for project QueryApp ****

**** Internal Builder is used for build ****
e:\OpenAT\PackagesRegistry\com.wavecom.openat.ide.ebs.armelfgcc.tools\1.0.1\win32\gcc\bin\arm-elf-gcc.exe -D__arm -D__GNU_GCC__ -D__OAT_API_VERSION__=630 -D__CGPS_PLUGIN_VERSION__=304 -D__WIP_PLUGIN_VERSION__=510 -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.os.model/6.30.0.00/ADL/basic -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.os.model/6.30.0.00/ADL/itf -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.plugin.model.C-GPS-OPUS-III/3.4.0.2020/C-GPS-OPUS-III/itf -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.plugin.model.WIP/5.10.0.2050/WIP/itf -IE:\workspace\QueryApp\itf -IE:\workspace\QueryApp\inc -O3 -Os -ggdb3 -Wall -c -fshort-enums -fdollars-in-identifiers -nostartfiles -fno-strict-aliasing -fno-common -fomit-frame-pointer -mthumb-interwork -mthumb -march=armv5te -msoft-float -mfpu=fpa -mapcs -mno-apcs-stack-check -osrc\serialcomm.o …\src\serialcomm.c
e:\OpenAT\PackagesRegistry\com.wavecom.openat.ide.ebs.armelfgcc.tools\1.0.1\win32\gcc\bin\arm-elf-gcc.exe -D__arm -D__GNU_GCC__ -D__OAT_API_VERSION__=630 -D__CGPS_PLUGIN_VERSION__=304 -D__WIP_PLUGIN_VERSION__=510 -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.os.model/6.30.0.00/ADL/basic -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.os.model/6.30.0.00/ADL/itf -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.plugin.model.C-GPS-OPUS-III/3.4.0.2020/C-GPS-OPUS-III/itf -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.plugin.model.WIP/5.10.0.2050/WIP/itf -IE:\workspace\QueryApp\itf -IE:\workspace\QueryApp\inc -O3 -Os -ggdb3 -Wall -c -fshort-enums -fdollars-in-identifiers -nostartfiles -fno-strict-aliasing -fno-common -fomit-frame-pointer -mthumb-interwork -mthumb -march=armv5te -msoft-float -mfpu=fpa -mapcs -mno-apcs-stack-check -osrc\gpioconfig.o …\src\gpioconfig.c
…\src\gpioconfig.c: In function ‘GPIOTimerInit’:
…\src\gpioconfig.c:198: warning: passing argument 4 of ‘adl_tmrSubscribe’ from incompatible pointer type
…\src\gpioconfig.c:221: warning: passing argument 4 of ‘adl_tmrSubscribe’ from incompatible pointer type
…\src\gpioconfig.c:247: warning: passing argument 4 of ‘adl_tmrSubscribe’ from incompatible pointer type
…\src\gpioconfig.c: At top level:
…\src\gpioconfig.c:53: warning: ‘GPIOHandle_gsm’ defined but not used
e:\OpenAT\PackagesRegistry\com.wavecom.openat.ide.ebs.armelfgcc.tools\1.0.1\win32\gcc\bin\arm-elf-gcc.exe -D__arm -D__GNU_GCC__ -D__OAT_API_VERSION__=630 -D__CGPS_PLUGIN_VERSION__=304 -D__WIP_PLUGIN_VERSION__=510 -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.os.model/6.30.0.00/ADL/basic -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.os.model/6.30.0.00/ADL/itf -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.plugin.model.C-GPS-OPUS-III/3.4.0.2020/C-GPS-OPUS-III/itf -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.plugin.model.WIP/5.10.0.2050/WIP/itf -IE:\workspace\QueryApp\itf -IE:\workspace\QueryApp\inc -O3 -Os -ggdb3 -Wall -c -fshort-enums -fdollars-in-identifiers -nostartfiles -fno-strict-aliasing -fno-common -fomit-frame-pointer -mthumb-interwork -mthumb -march=armv5te -msoft-float -mfpu=fpa -mapcs -mno-apcs-stack-check -osrc\cgpsrtc.o …\src\cgpsrtc.c
e:\OpenAT\PackagesRegistry\com.wavecom.openat.ide.ebs.armelfgcc.tools\1.0.1\win32\gcc\bin\arm-elf-gcc.exe -D__arm -D__GNU_GCC__ -D__OAT_API_VERSION__=630 -D__CGPS_PLUGIN_VERSION__=304 -D__WIP_PLUGIN_VERSION__=510 -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.os.model/6.30.0.00/ADL/basic -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.os.model/6.30.0.00/ADL/itf -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.plugin.model.C-GPS-OPUS-III/3.4.0.2020/C-GPS-OPUS-III/itf -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.plugin.model.WIP/5.10.0.2050/WIP/itf -IE:\workspace\QueryApp\itf -IE:\workspace\QueryApp\inc -O3 -Os -ggdb3 -Wall -c -fshort-enums -fdollars-in-identifiers -nostartfiles -fno-strict-aliasing -fno-common -fomit-frame-pointer -mthumb-interwork -mthumb -march=armv5te -msoft-float -mfpu=fpa -mapcs -mno-apcs-stack-check -osrc\queryapp.o …\src\queryapp.c
e:\OpenAT\PackagesRegistry\com.wavecom.openat.ide.ebs.armelfgcc.tools\1.0.1\win32\gcc\bin\arm-elf-gcc.exe -D__arm -D__GNU_GCC__ -D__OAT_API_VERSION__=630 -D__CGPS_PLUGIN_VERSION__=304 -D__WIP_PLUGIN_VERSION__=510 -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.os.model/6.30.0.00/ADL/basic -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.os.model/6.30.0.00/ADL/itf -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.plugin.model.C-GPS-OPUS-III/3.4.0.2020/C-GPS-OPUS-III/itf -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.plugin.model.WIP/5.10.0.2050/WIP/itf -IE:\workspace\QueryApp\itf -IE:\workspace\QueryApp\inc -O3 -Os -ggdb3 -Wall -c -fshort-enums -fdollars-in-identifiers -nostartfiles -fno-strict-aliasing -fno-common -fomit-frame-pointer -mthumb-interwork -mthumb -march=armv5te -msoft-float -mfpu=fpa -mapcs -mno-apcs-stack-check -osrc\gccspecific.o …\src\gccspecific.c
e:\OpenAT\PackagesRegistry\com.wavecom.openat.ide.ebs.armelfgcc.tools\1.0.1\win32\gcc\bin\arm-elf-gcc.exe -D__arm -D__GNU_GCC__ -D__OAT_API_VERSION__=630 -D__CGPS_PLUGIN_VERSION__=304 -D__WIP_PLUGIN_VERSION__=510 -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.os.model/6.30.0.00/ADL/basic -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.os.model/6.30.0.00/ADL/itf -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.plugin.model.C-GPS-OPUS-III/3.4.0.2020/C-GPS-OPUS-III/itf -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.plugin.model.WIP/5.10.0.2050/WIP/itf -IE:\workspace\QueryApp\itf -IE:\workspace\QueryApp\inc -O3 -Os -ggdb3 -Wall -c -fshort-enums -fdollars-in-identifiers -nostartfiles -fno-strict-aliasing -fno-common -fomit-frame-pointer -mthumb-interwork -mthumb -march=armv5te -msoft-float -mfpu=fpa -mapcs -mno-apcs-stack-check -osrc\defaultflash.o …\src\defaultflash.c
e:\OpenAT\PackagesRegistry\com.wavecom.openat.ide.ebs.armelfgcc.tools\1.0.1\win32\gcc\bin\arm-elf-gcc.exe -D__arm -D__GNU_GCC__ -D__OAT_API_VERSION__=630 -D__CGPS_PLUGIN_VERSION__=304 -D__WIP_PLUGIN_VERSION__=510 -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.os.model/6.30.0.00/ADL/basic -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.os.model/6.30.0.00/ADL/itf -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.plugin.model.C-GPS-OPUS-III/3.4.0.2020/C-GPS-OPUS-III/itf -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.plugin.model.WIP/5.10.0.2050/WIP/itf -IE:\workspace\QueryApp\itf -IE:\workspace\QueryApp\inc -O3 -Os -ggdb3 -Wall -c -fshort-enums -fdollars-in-identifiers -nostartfiles -fno-strict-aliasing -fno-common -fomit-frame-pointer -mthumb-interwork -mthumb -march=armv5te -msoft-float -mfpu=fpa -mapcs -mno-apcs-stack-check -osrc\Tasks.o …\src\Tasks.c
e:\OpenAT\PackagesRegistry\com.wavecom.openat.ide.ebs.armelfgcc.tools\1.0.1\win32\gcc\bin\arm-elf-gcc.exe -D__arm -D__GNU_GCC__ -D__OAT_API_VERSION__=630 -D__CGPS_PLUGIN_VERSION__=304 -D__WIP_PLUGIN_VERSION__=510 -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.os.model/6.30.0.00/ADL/basic -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.os.model/6.30.0.00/ADL/itf -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.plugin.model.C-GPS-OPUS-III/3.4.0.2020/C-GPS-OPUS-III/itf -Ie:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.plugin.model.WIP/5.10.0.2050/WIP/itf -IE:\workspace\QueryApp\itf -IE:\workspace\QueryApp\inc -O3 -Os -ggdb3 -Wall -c -fshort-enums -fdollars-in-identifiers -nostartfiles -fno-strict-aliasing -fno-common -fomit-frame-pointer -mthumb-interwork -mthumb -march=armv5te -msoft-float -mfpu=fpa -mapcs -mno-apcs-stack-check -osrc\cgpscore.o …\src\cgpscore.c
e:\OpenAT\PackagesRegistry\com.wavecom.openat.ide.ebs.armelfgcc.tools\1.0.1\win32\gcc\bin\arm-elf-g++.exe -Wl,–script,gcc.lkopt src\serialcomm.o src\queryapp.o src\gpioconfig.o src\gccspecific.o src\defaultflash.o src\cgpsrtc.o src\cgpscore.o src\Tasks.o -Wl,-( -nostartfiles -Os -O2 -fshort-enums -fdollars-in-identifiers -ggdb3 -fomit-frame-pointer -mthumb-interwork -mthumb -march=armv5te -msoft-float -mfpu=fpa -mapcs -mno-apcs-stack-check -Wl,-nmagic -Wl,-Map,QueryApp.map e:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.os.model/6.30.0.00/ADL/gcc_wmadl_6.30.00.0.0.lib e:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.plugin.model.C-GPS-OPUS-III/3.4.0.2020/C-GPS-OPUS-III/gcc_CGPS_3.0.0.3.4.lib e:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.plugin.model.WIP/5.10.0.2050/WIP/gcc_wmwip_5.10.2020.lib e:\OpenAT\PackagesRegistry/com.wavecom.openat.ide.spm.lib.plugin.model.WIP/5.10.0.2050/WIP/gcc_wmwipSoft_5.10.2050.lib -Wl,-) -oQueryApp.axf
e:\OpenAT\PackagesRegistry\com.wavecom.openat.ide.ebs.armelfgcc.tools\1.0.1\win32\gcc\bin\arm-elf-objcopy.exe --strip-all --strip-debug --strip-unneeded --discard-all --weaken --output-target binary QueryApp.axf QueryApp.cpbin
E:\OpenAT\M2MStudio\1.0.2.v200903311200\m2mstudio\plugins\com.wavecom.openat.ide.ebs.armelfgcc.win32_1.0.2.200903311234\os\win32\dd.exe if=QueryApp.cpbin of=QueryApp.bin bs=4 conv=sync
115907+0 records in
115907+0 records out
E:\OpenAT\M2MStudio\1.0.2.v200903311200\m2mstudio\plugins\com.wavecom.openat.ide.ebs.build.core.win32_1.0.2.200903311234\os\win32\wzpacker.exe -b 0x00260000 QueryApp.bin QueryApp.wpb
e:\OpenAT\PackagesRegistry\com.wavecom.openat.ide.ebs.build.core.tools\1.0.1\win32\python\python.exe -E e:\OpenAT\PackagesRegistry\com.wavecom.openat.ide.ebs.build.core.tools\1.0.1\scripts\gendwl.py --header COMPBIN --addr 0x00260000 --bin QueryApp.wpb --dwl QueryApp.dwl
2009-11-09 14:02:21,030 INFO GENDWL version 1.1
2009-11-09 14:02:21,030 INFO create compressed binary file
Build complete for project QueryApp
Time consumed: 9344 ms.


#5

You need to use Hardware flow control when downloading


#6

I cannot tell anything looking at compiler output, but I have seen weird M2M results if you are not creating your project exactly as sample projects. So take a compiling sample like helloworld and start adding code line to line and look when it will crash :slight_smile: Probably it won’t crash at all.


#7

Well HelloWorld was OK so it is not a flow control issue.


#8

Not necessarily - it is possibly that HelloWorld is so small that it works by pure luck despite having the wrong flow-control setting…


#9

WDWLing R74_00_full_q2686h.dwl which is 1Mb+ works OK.
WDWLing anything built with OAT 4.* works OK.
DWLWIN works OK.
It’s not the cable.


#10

OMG Wavecome strikes again! I’m porting my project from OAT 4.x. The project has some 500kb of code. Separating the code into parts that can work independently and adding line by line is not an option.
Would be nice to hear how to build QueryApp(it uses WIP and CGPS as my project dose) from Wavecom.


#11

Downloading QueryApp sample application(331kb) to the module with M2M studio:
ati3
R74_00gg.Q2686H 2120060 041709 19:18
at+wdwl?
+WDWL: V08b0e
OK
at+wopen=2
+WOPEN: 2,“AT v06.20”,“AT v06.30”
at+wdwl
+WDWL: 0
*** MEMORY ALLOCATION ERROR ***
*** ERROR ***
at
OK

While SimpleSample application(51kb) downloads OK. Looks like size matters.

When I was updating firmware from 6.63g to R7.4 with DWLWIN and R74_00-cus-q26-01.wpk,
I was asked if I want to change AD and FLASH size. I said ‘NO’. Maybe its the reason why the module cant allocate mem for the app download? If so which option (AD | FLASH) shell be changed and which should be the values?


#12

+WOPEN: 6,832,448
This probably means that I can’t have embedded app biger than 448kb?


#13

It is very interesting. Is it possible to check out Q2686G?
There is option to set memory allocation between A&D storage and program space availaible. For DOTA it is expected that A&D storage is not less than program size (or even twice of its size for unpacked data - I don’t know). If you do not use DOTA, you can reduce A&D space to minimum.


#14

Case solved.
The module was preconfigured with non-default AD and FLASH sizes
+WOPEN: 6,832,448
Tells that we have 832kb of AD storage and 448kb of FLASH. The module downloads embedded app to the flash so in this case the app cant be bigger than 448kb. QueryApp.dwl is 331kb but it didn’t fit, maybe embedded app is being uncompressed while being downloaded and real size is 469kb(QueryApp.bin)

After AD storage was resized
at+wopen=6,760
+WOPEN: 6,768,512
QueryApp.dwl was successfully WDWLed to the module.


#15

Just to note that I’ve had a similar experience with downloading the C-GPS “Query Application with GPRS Aiding”

My memory settings were:

I changed it as follows:

and then the download worked!

Target details: