Hello World Sample,Building


#1

Hi dear friends,

I’m trying building a sample which comes with Open AT SDK.You know it, Hello World sample.

I started with Tutorial and want to generate and run Open AT applications in remote and target mode.Firstly , I used Open AT Project Wizard to produce an application and then Visual C++ to build Hello-World and Hello-World_rte to handle binary data in .dwl format.But at this point Visual C++ gives building errors like:

Compiling…
hello_world.c
Linking…
LINK : warning LNK4075: ignoring /EDITANDCONTINUE due to /INCREMENTAL:NO specification
LINK : error LNK2001: unresolved external symbol _opecCustomerTaskInit
hello_world.obj : error LNK2001: unresolved external symbol _adl_atSendResponse
hello_world.obj : error LNK2001: unresolved external symbol _adlint_osDebugTrace
hello_world.obj : error LNK2001: unresolved external symbol _adl_tmrSubscribe
rte/vc6/Debug/Hello_World_rte.dll : fatal error LNK1120: 4 unresolved externals
Error executing link.exe.

Hello_World_rte.dll - 5 error(s), 1 warning(s)

What must be done?What is the reason for these error messages?Because of I’m new with Open AT and wavecom cannot guess what can be the reason?

If you help,I will be very happy.I cannot go on now because of this mistake.

Best Regards…

Ergün…


#2

Ergun,

What version of Open AT are you using ?

You got the errors when compiling for remote mode, right ?

What happens when you compile for target mode ?

Gus


#3

Hi Gus,

I’m using version V400.a03 of Open AT.Yes that errors for remote mode.

When I compile in target mode , binary .dwl file occurs but also in this mode visual C++ gives error and warning messages.All the build message in target mode below:

Build messages in target mode:

--------------------Configuration: Hello_World - Win32 Wismo_Target--------------------


Software Generation Toolkit

SGT_VER = v1.2.11
SGT_DIR = /cygdrive/C/OpenAT/Tools/SGT/v1.2.11
Scripts path for SGT :
/cygdrive/C/OpenAT/Tools/SGT/v1.2.11/script_sgt

Type help_sgt for a list of SGT commands


Check environment settings…

Launch a full library or binary process

… Dependency graph is being built …
…/out/gcc_Hello_World_H.dep

… Build sources filtering rules for gcc_Hello_World_H
…/out/gcc_Hello_World_H.flt



Get …/…/src/hello_world.c hello_world.c
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_global.h adl_global.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/WmHeader/wm_types.h wm_types.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/WmHeader/wm_stdio.h wm_stdio.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/WmHeader/wm_remote.h wm_remote.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/WmHeader/wm_list.h wm_list.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/WmHeader/wm_snd.h wm_snd.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_str.h adl_str.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_port.h adl_port.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_at.h adl_at.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_traces.h adl_traces.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_memory.h adl_memory.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_error.h adl_error.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_flash.h adl_flash.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_gpio.h adl_gpio.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_bus.h adl_bus.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_fcm.h adl_fcm.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_AppliInit.h adl_AppliInit.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_UnSoHandler.h adl_UnSoHandler.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_RspHandler.h adl_RspHandler.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_CmdHandler.h adl_CmdHandler.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_CmdStackHandler.h adl_CmdStackHandler.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_TimerHandler.h adl_TimerHandler.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_sim.h adl_sim.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_sms.h adl_sms.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_call.h adl_call.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_gprs.h adl_gprs.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_safe.h adl_safe.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_ad.h adl_ad.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_gps.h adl_gps.h
Use YTPP
Get C:/OpenAT/V400.a03/TgtGen/Adl/Headers/adl_rtc.h adl_rtc.h
Use YTPP
… Compiling hello_world.c


Copy all needed library and object files

Make links /cygdrive/C/OpenAT/V400.a03/TgtGen/Adl/Library/gcc_wmadl_4.0.0.0.0.lib …/out/gcc_wmadl_4.0.0.0.0.lib

… Link step in progress …

… Link gcc_Hello_World_H.bin …

Extract gcc_Hello_World_H.bin from gcc_Hello_World_H.axf (or from gcc_Hello_World_H.elf if Gcc ARM compiler is used)

Update symbol file -> ../out/s
Compress gcc_Hello_World_H.bin to gcc_Hello_World_H.wpb for DWLWIN application
Compress gcc_Hello_World_H.axf to gcc_Hello_World_H_axf.zip in ZIP format

adding: gcc_Hello_World_H.axf (deflated 70%)


… Make TMT directory …

Make links …/out/s …/out/tmt/symbolfiles/s

Create …/out/tmt/config/DiagnoseTips.ini
Create …/out/tmt/config/MokaWatches.ini
Create …/out/tmt/config/RemoteDefs.ini

Create …/out/tmt/gcc.wks

No remote trace file found

Create TMT archive file

ls: …/out/pro-lib.bin: No such file or directory
ls: …/out/pro-lib.bin: No such file or directory

Make an archive file for TMT application

zip warning: name not matched: …/out/tmt/e2p_csn.cso
zip error: Nothing to do! (…/out/tmt/zip_tmt.zip)
zip warning: name not matched: …/out/tmt/backtraces.axf
zip error: Nothing to do! (…/out/tmt/zip_tmt.zip)
zip warning: name not matched: …/out/tmt/backtraces64k.axf
zip error: Nothing to do! (…/out/tmt/zip_tmt.zip)
zip warning: name not matched: …/out/tmt/symbolfiles/s64k
zip warning: name not matched: …/out/tmt/symbolfiles/e2p.h
adding: s (deflated 68%)
enter new zip file comment (end with .):
current zip file comment is:
[Binary Information]
Stack Version = Open-AT
Customer Version = gcc
Binary Name = pro-lib.bin
Size =
Date = Fri Sep 15 2006
Time = 00:00:00
enter new zip file comment (end with .):
current zip file comment is:
[Binary Information]
Stack Version = Open-AT
Customer Version = gcc
Binary Name = pro-lib.bin
Size =
Date = Fri Sep 15 2006
Time = 00:00:00
enter new zip file comment (end with .):
adding: DiagnoseTips.ini (deflated 87%)
current zip file comment is:
[Binary Information]
Stack Version = Open-AT
Customer Version = gcc
Binary Name = pro-lib.bin
Size =
Date = Fri Sep 15 2006
Time = 00:00:00
enter new zip file comment (end with .):
adding: MokaWatches.ini (deflated 67%)
current zip file comment is:
[Binary Information]
Stack Version = Open-AT
Customer Version = gcc
Binary Name = pro-lib.bin
Size =
Date = Fri Sep 15 2006
Time = 00:00:00
enter new zip file comment (end with .):
adding: RemoteDefs.ini (deflated 74%)
current zip file comment is:
[Binary Information]
Stack Version = Open-AT
Customer Version = gcc
Binary Name = pro-lib.bin
Size =
Date = Fri Sep 15 2006
Time = 00:00:00
enter new zip file comment (end with .):
Rename …/out/tmt/zip_tmt.zip …/out/tmt/gcc.zip


Keep only the TMT archive file in …/out/tmt

Remove …/out/tmt/e2p_csn.cso
Remove …/out/tmt/sys_ftr.ho
Remove …/out/tmt/wm_ftr.ho
Remove …/out/tmt/remtrace.csv
Remove …/out/tmt/backtraces.axf
Remove …/out/tmt/backtraces64k.axf
Remove …/out/tmt/remtrace_full.csv
Remove …/out/tmt/symbolfiles directory
Remove …/out/tmt/config directory

… Create binary in X-MODEM format from gcc_Hello_World_H.bin …

Add a checksum to gcc_Hello_World_H.sgt
(AddCheck Version v2.0.4 Copyright © WAVECOM) [Feb 14 2003, 15:50:57]
Time modified : Fri Sep 15 16:04:12 2006


… Build gcc_Hello_World_H.dwl …

genBin : Version v1a06 Copyright © WAVECOM
genBin : No Error



Cleaning temporary files (*.tmp / *.trc)


Generation done with SGT v1.2.11
Binary files created :
gcc_Hello_World_H.bin
pro-dwl.bin
Binary files in Xmodem format :
gcc_Hello_World_H.dwl
Compiler keyword : gcc_arm
Compiler release : GCC ARM
C compiler path : /cygdrive/C/OpenAT/Tools/GCC/4.0.1.0/bin/arm-elf-gcc
ASM compiler path : /cygdrive/C/OpenAT/Tools/GCC/4.0.1.0/bin/arm-elf-gcc
customer release : gcc
Name of the current directory : gcc
Log file : …/out/gcc_Hello_World_H_status.log
Release of the environement : CYGWIN_NT-5.1 MOBIARTS 1.5.10(0.116/4/2) 2004-05-25 22:07 i686 unknown unknown Cygwin

Build an X-MODEM binary  : 'gcc_Hello_World_H.wpb.dwl'

… Convert gcc_Hello_World_H.wpb in X-MODEM format …

genBin : Version v1a06 Copyright © WAVECOM
genBin : No Error

… Build gcc_Hello_World_H.wpb.dwl …


AXFshrinker Version 1.0.0.1 ( Aug 23 2002 , 17:44:58 )


Find errors occurred when using SGT

Analyze errors in Log files

WARNING : misc_status.log is incomplete. Check manually if any errors exist

Analyze errors in tmp files if they exists.


Libraries available in out directory :
gcc_wmadl_4.0.0.0.0.lib,


End process.

adding: backtraces.axf (deflated 74%)
Hello_World - 3 error(s), 6 warning(s)


#4

Hi Ergun
It is normal to get these errors.

it os to do with the zipping of the workspace files.
I would advise you to get the latest beta V4.10 build7
Best regards
Walter


#5

Thanks Walter,

You are right may be zip errors are normal but I downloaded .dwl file into wireless CPU Q2686 and run it with at+wopen=1 as told in tutoria and manual but nothing happened.That is,I could not see “Hello World from Open AT” message on the screen.

How can I get the latest version, V4.10?From where?

A request:Could you please send me as an attached file, Hello_World.dwl binary file which you produced on your computer.I want to see a running code in wireless CPU.Mines is not working.


#6

Hi Ergunehm!
If you have SDK, maybe you have a ready binary for this sample.
See drive:\OpenAT\V400.a03\Samples\adl\generic\Hello_World\gcc\out
I have it.
I have the same LINK ERRORS with the same version of Open AT - V4.00.a03 (with Q2686H DK) with attempt to build Hello World sample
in remote mode.
Attempt to build application in target mode more successfull and make files for target.
gcc_Hello_World_H.dwl
gcc_Hello_World_H.wpb.dwl
( for GCC - compiler, I Have not ARM)

IDE Visual C++ 6.0 give some error during build process,
(Visual C++ 2003 no one), but both makes target files.
Errors in remote mode caused (I think) by missing library (rte_…) or reference to it .

What is this library ? I didn’t find it or reference to it in documentation.
project in VC 6.0 has reference to additional library path
…\TgtGen\Rte_Lib directory

and I have not such directory in my installation

I have only:
D:\OpenAT\V400.a03\TgtGen\Library
arm_wmopenat_4.0.0.0.0.lib
gcc_wmopenat_4.0.0.0.0.lib
(rte_ … - maybe missed)

D:\OpenAT\V400.a03\TgtGen\Adl\Library
gcc_wmadl_4.0.0.0.0.lib
arm_wmadl_4.0.0.0.0.lib
(rte_ … - maybe missed)

D:\OpenAT\V400.a03\TgtGen\Add-ons\TCPIP
arm_eDLib_310.lib
gcc_eDLib_310.lib
rte_eDLib_310.lib - present !!!

I didn’t see any other versions of Open AT. Maybe, they have such library.
All my binary: builded and from distributive works properly
and sends “Hello Word” to terminal.
Anybody have any ideas/information? (about RTE_* library).
Documentation in my Open AT disk (“V4r00.a03” Label on disk box)
not coordinated - differ in versions.
For example: Getting Started with Open AT 3.02.


#7

I am using open at 3.01. For target mode there r no problems. I sucessfully downloaded the .dwl file n hello world is working fine. But for remote mode while building i get error hello_world_rte.dll not found. I dont know what is the problem. Plz help

Regards,
Sameer.