I have seen a couple of posts on the subject, but none seem to have been answered adequately. I am trying to add .c and .h files to my existing project. I added the .c files to the src directory and the .h files to the inc directory. I then opened the Project Wizard file and reran it. I am using VC++ 2003 for my IDE and am running OAT 4.11
The project compiles and runs in RTE mode but refuses does not create the necessary .o files for each source file. It only creates them for the initial .c file. I checked the .mak file in the root project directory and it includes all of the .c filesin the source list. The resulting dwl file contains the code for my initial application, which runs fine, but it does not execute any code contained in the new file.
Any help in how to add new files to a project would be very much appreciated.
The error I get is as follows:
OUTPUT WINDOW of Log File
Performing Makefile project actions
Loading Open AT IDE…
Done.
Loading project settings…
done.
Building gcc_Telemetry_Rev0-1_H project…
Launch a full library or binary process
make: *** No rule to make target newfile.o', needed bygcc_Telemetry_Rev0-1_H’. Stop.
Build an X-MODEM binary : 'gcc_Telemetry_Rev0-1_H.wpb.dwl'
… Convert gcc_Telemetry_Rev0-1_H.wpb in X-MODEM format …
I agree, it IS hmmm. rather stupid - at least for those beeing used to Linux’ make .
The wmmake thing worked well for me all the time. BTW, you can do this with wmmake all_clean.
And the behavior of OAT3.xx and 4.xx isn’t the same for parameters
But it won’t work, if the scs file is not telling the right thing.
I found a working way for me editing the scs file (which imo is the center point in a project). Here’s a scs file from my last Q2501 project:
To be honest I’ve never thougt too much about the exact oganization of a SCS file. IIRC last project was with OAT4.1, the actual one is with 3.10 (like stated in the scs file).
I’ve had a look at an example’s one, then creating an empty project and adapting the resulting one for my needs. Worked all the time, and I had no headache, cause the structure has changed
And, to be honest, the OAT docs are %§#x@!
But anyway, it’s a start for working.
I was able to use the command line Wavecom tool and run wmmake with the -c option to create the file once. After that first time, it appears to work fine each time by just recompiling the program using the IDE.
make: *** No rule to make target al_gprs.o', needed bymingw_MTE_GPRS_H’. Stop.
I have created a new project thanks to Open AT Wizard and several source and header file. My source files are in \src directory (al_gprs.c / bl_gprs.c / appli.c) and my header files in \inc (al_gprs.h / bl_gprs.h)directory. But, when i compile, my source file and header file are not found. (I use Eclipse IDE)
In order to solve it i tried what is described above, but i don’t know where the commands wmmake should be typed. (in wavecom tool ?! what is it !)
maybe you should delete all files and directories which was created by the OpenAT Wizard and recreate the project using the OpenAT wizards ‘Existing Project’ option.
The wmnew scripts should be started in the cygwin environment
ok, Thank you, it seems it work… but now when i compile i have the following errors :
[color=green]al_gprs.c:2:17: wip.h: No such file or directory
al_gprs.c:3:24: wip_bearer.h: No such file or directory
In file included from al_gprs.c:4:
al_gprs.c:87: error: WIP_BEV_IP_CONNECTED' undeclared (first use in this function) al_gprs.c:92: error:WIP_BEV_IP_DISCONNECTED’ undeclared (first use in this function)
al_gprs.c: In function AL_GPRS_Connexion': al_gprs.c:135: error:WIP_BOPT_NAME’ undeclared (first use in this function)
al_gprs.c:135: error: WIP_BOPT_IP_ADDR' undeclared (first use in this function) al_gprs.c:135: error:WIP_BOPT_END’ undeclared (first use in this function)
…
I used WIP plug in order to make an HTTP request. Thanks to OpenAT wizard i add WIP plug-in, and it appears under eclipse. But when i compile, it seems that wip.h or wip_bearer.h are not loaded (“no such file directory”).
So, how can i solve this problem ?
Thanks in advance.
(P.S. : for information (for those who doesn’t use WIP plug-in), WIP_BOPT_xxx and WIP_BEV_IP_xxx are several variables which appear in wip_bearer.h file)
If you add the option and recreate the project after that your first make should look like
-----------------------------
Software Generation Toolkit
-----------------------------
SGT_VER = v1.2.12oat
SGT_DIR = /cygdrive/c/OpenAT/v3.13/IDE/IDE/1.02.03/sgt
Scripts path for SGT :
/cygdrive/c/OpenAT/v3.13/IDE/IDE/1.02.03/sgt/script_sgt
Type help_sgt for a list of SGT commands
-----------------------------
Loading project settings...
done.
Building gcc_OpenAT_Test project...
Launch a full library or binary process
---------------------------------------
... Dependency graph is being built ...
../out/gcc_OpenAT_Test.dep
---------------------------------------
... Build sources filtering rules for gcc_OpenAT_Test
../out/gcc_OpenAT_Test.flt
---------------------------------------
---------------------------------------
Get ../../src/appli.c appli.c
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_global.h adl_global.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/basic/wm_types.h wm_types.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/basic/wm_stdio.h wm_stdio.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/basic/wm_remote.h wm_remote.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/basic/wm_list.h wm_list.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/basic/wm_snd.h wm_snd.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_str.h adl_str.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_port.h adl_port.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_at.h adl_at.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_traces.h adl_traces.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_memory.h adl_memory.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_error.h adl_error.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_flash.h adl_flash.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_gpio.h adl_gpio.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_bus.h adl_bus.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_fcm.h adl_fcm.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_AppliInit.h adl_AppliInit.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_UnSoHandler.h adl_UnSoHandler.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_RspHandler.h adl_RspHandler.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_CmdHandler.h adl_CmdHandler.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_CmdStackHandler.h adl_CmdStackHandler.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_TimerHandler.h adl_TimerHandler.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_sim.h adl_sim.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_sms.h adl_sms.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_call.h adl_call.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_gprs.h adl_gprs.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_safe.h adl_safe.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_ad.h adl_ad.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_gps.h adl_gps.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_rtc.h adl_rtc.h
Use YTPP
Get c:/OpenAT/v3.13/OS/3.12.05/ADL/itf/adl_dac.h adl_dac.h
Use YTPP
Get c:/OpenAT/v3.13/Plug-ins/WIP/2.00.12/WIP/itf/wip.h wip.h
Use YTPP
Get c:/OpenAT/v3.13/Plug-ins/WIP/2.00.12/WIP/itf/wip_net.h wip_net.h
Use YTPP
Get c:/OpenAT/v3.13/Plug-ins/WIP/2.00.12/WIP/itf/wip_inet.h wip_inet.h
Use YTPP
Get c:/OpenAT/v3.13/Plug-ins/WIP/2.00.12/WIP/itf/wip_channel.h wip_channel.h
Use YTPP
Get c:/OpenAT/v3.13/Plug-ins/WIP/2.00.12/WIP/itf/wip_tcp.h wip_tcp.h
Use YTPP
Get c:/OpenAT/v3.13/Plug-ins/WIP/2.00.12/WIP/itf/wip_udp.h wip_udp.h
Use YTPP
Get c:/OpenAT/v3.13/Plug-ins/WIP/2.00.12/WIP/itf/wip_ping.h wip_ping.h
Use YTPP
Get c:/OpenAT/v3.13/Plug-ins/WIP/2.00.12/WIP/itf/wip_bearer.h wip_bearer.h
Use YTPP
Get c:/OpenAT/v3.13/Plug-ins/WIP/2.00.12/WIP/itf/wip_file.h wip_file.h
Use YTPP
Get c:/OpenAT/v3.13/Plug-ins/WIP/2.00.12/WIP/itf/wip_ftp.h wip_ftp.h
Use YTPP
Get c:/OpenAT/v3.13/Plug-ins/WIP/2.00.12/WIP/itf/wip_http.h wip_http.h
Use YTPP
Get c:/OpenAT/v3.13/Plug-ins/WIP/2.00.12/WIP/itf/wip_smtp.h wip_smtp.h
Use YTPP
Get c:/OpenAT/v3.13/Plug-ins/WIP/2.00.12/WIP/itf/wip_pop3.h wip_pop3.h
Use YTPP
... Compiling appli.c
---------------------------------------
Copy all needed library and object files
Make links c:/OpenAT/v3.13/OS/3.12.05/ADL/gcc_wmadl_3.12.1.2.0.lib ../out/gcc_wmadl_3.12.1.2.0.lib
Make links c:/OpenAT/v3.13/Plug-ins/WIP/2.00.12/WIP/gcc_wmwip_2.0.0.6.0.lib ../out/gcc_wmwip_2.0.0.6.0.lib
---------------------------------------
... Link step in progress ...
... Link gcc_OpenAT_Test.bin ...
Update symbol file -> ../out/s
Compress gcc_OpenAT_Test.bin to gcc_OpenAT_Test.wpb for DWLWIN application
---------------------------------------
... 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 (152 bytes security) (deflated 67%)
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 = Thu Jun 14 2007
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 = Thu Jun 14 2007
Time = 00:00:00
enter new zip file comment (end with .):
adding: DiagnoseTips.ini (152 bytes security) (deflated 87%)
current zip file comment is:
[Binary Information]
Stack Version = Open-AT
Customer Version = gcc
Binary Name = pro-lib.bin
Size =
Date = Thu Jun 14 2007
Time = 00:00:00
enter new zip file comment (end with .):
adding: MokaWatches.ini (152 bytes security) (deflated 67%)
current zip file comment is:
[Binary Information]
Stack Version = Open-AT
Customer Version = gcc
Binary Name = pro-lib.bin
Size =
Date = Thu Jun 14 2007
Time = 00:00:00
enter new zip file comment (end with .):
adding: RemoteDefs.ini (152 bytes security) (deflated 74%)
current zip file comment is:
[Binary Information]
Stack Version = Open-AT
Customer Version = gcc
Binary Name = pro-lib.bin
Size =
Date = Thu Jun 14 2007
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_OpenAT_Test_MemoryLeaks.bin ...
Add a checksum to gcc_OpenAT_Test.sgt
(AddCheck Version v2.0.4 Copyright (c) WAVECOM) [Feb 14 2003, 15:50:57]
Time modified : Thu Jun 14 07:52:51 2007
---------------------------------------
... Build gcc_OpenAT_Test.dwl ...
genBin : Version v1a06 Copyright (c) WAVECOM
genBin : No Error
---------------------------------------
---------------------------------------
Cleaning temporary files (*.tmp / *.trc)
---------------------------------------
Generation done with SGT v1.2.12oat
Binary files created :
gcc_OpenAT_Test.bin
pro-dwl.bin
Binary files in Xmodem format :
gcc_OpenAT_Test.dwl
Compiler keyword : gcc_arm
Compiler release : GCC ARM
C compiler path : c:/OpenAT/v3.13/IDE/GCC/4.0.1.0/bin/arm-elf-gcc
ASM compiler path : c:/OpenAT/v3.13/IDE/GCC/4.0.1.0/bin/arm-elf-gcc
customer release : gcc
Name of the current directory : gcc
Log file : ../out/gcc_OpenAT_Test_status.log
Release of the environement : CYGWIN_NT-5.0 epc360 1.5.10(0.116/4/2) 2004-05-25 22:07 i686 unknown unknown Cygwin
---------------------------------------
Build an X-MODEM binary : 'gcc_OpenAT_Test.wpb.dwl'
... Convert gcc_OpenAT_Test.wpb in X-MODEM format ...
genBin : Version v1a06 Copyright (c) WAVECOM
genBin : No Error
... Build gcc_OpenAT_Test.wpb.dwl ...
---------------------------------------
AXFshrinker Version 1.0.0.1 ( Aug 23 2002 , 17:44:58 )
adding: backtraces.axf (deflated 76%)
Done.
so you should find the files in the output directory of your project. This Example was generated with OpenAT v3.13 using the gcc compiler, but other OpenAT versions should be similar.
Thank you Ralf for your help. I have contacted with the wavecom support, and they described to me how adding source and header file in a new project. I post the solution in order to help other persons who will meet the same errors :
[color=brown]To use already defined .c and .h files, create a blank project directory.
Create inside it a directory named « inc ».
Put the .h file in it.
Create a directory named “srcâ€.
Put the .c file in it.
For example, for a project directory named “my_project†:
C:\ProjetsOpenAT412\my_project\inc
And
C:\ProjetsOpenAT412\my_project\src\
Then launch the wizard and select “existing project†and “OKâ€.
A new project will be created with the header file / function of yours.
In addition, i’m a beginner in C language and on wavecom platform. So, this two parameters produce several beginner errors. In fact, it seems that i also forgot an include (as “#include wip_bearer.h”) at the beginning of my al_gprs.h file.
It works perfectly as described - but your situation is not as it describes!
If you want the Project Wizard to find files in other than the standard ‘src’ and ‘inc’ subfolders, then you need to specify them explicitly:
You do that by adding a -src and/or -inc option in the ‘wmnew script additional options’ box; eg:
[attachment=0]ProjWizAnon.gif[/attachment]
For details of other options that can go in the ‘wmnew script additional options’ box, Look in the Tools Manual in the section about Command-Line Scripts…
(and corresponding inc folders…) I adding -src & -inc parameters…
-src ./src/common -inc ./inc/common
now there are duplicate folders in eclipse…
[attachment=0]dd.PNG[/attachment]
do you know how can I get rid of duplicate folders without moving them out of src?