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?
HelloWorld example app builds and WDWLs OK. Still no luck with QueryApp.
It builds. When WDWLing XMODEM aborts after sending 512b of data
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 ****
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 Probably it won’t crash at all.
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.
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?
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.
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.