Symbian developer community

 
  #1  
Old 2009-12-03, 01:21
krishnaa's Avatar
krishnaa krishnaa is offline
Staff
 
Join Date: 2009 Sep
Posts: 41
Default How to build comms framework

Hi,

I am currently working with TRK to on top of QEMU. TRK comminicates with debugger using USB, bt, etc.So I need build the communcation framework. I used the sbs command (raptor) to build package_definition.xml and got an error with schema. Below is the output

--------------------
X:\sf\os\commsfw>sbs -s package_definition.xml -c armv5
sbs: error: Cannot process schema version 3.0.0 of file package_definition.xml

sbs : warnings: 0
sbs : errors: 1

Run time 0 seconds

sbs: build log in X:/epoc32/build/Makefile.2009-12-02-17-04-31.log
---------------------

There is no single bld.inf file including all the components of comms framework to be used for build.

Then I tried to build the individual componts, started with Bld.inf in X:\sf\os\commsfw\serialserver\c32serialserver\group, it failed with an error doc not present.
Below is the out put of build

X:\sf\os\commsfw\serialserver\c32serialserver\group>sbs -b BLD.INF -c armv5
export : epoc32\include\c32comm.h
export : epoc32\include\c32comm_internal.h
export : epoc32\include\c32comm.inl
export : epoc32\include\cs_port.h
export : epoc32\include\csy.rh
export : epoc32\include\cs_panic.h
export : epoc32\rom\include\c32.iby
sbs: error: Could not export X:/sf/os/commsfw/serialserver/c32serialserver/docum
entation/C32API.doc to X:/epoc32/engdoc/c32/c32api.doc : 'Source of export does
not exist: X:/sf/os/commsfw/serialserver/c32serialserver/documentation/C32API.d
oc'

sbs : warnings: 0
sbs : errors: 1

Run time 8 seconds

sbs: build log in X:/epoc32/build/Makefile.2009-12-02-16-51-21.log

My question is, how to build the comms framework?. If not the whole framework, at least the serial and usb commnication part?..

-Krishna.
Reply With Quote
  #2  
Old 2009-12-03, 12:46
william_roberts's Avatar
william_roberts william_roberts is offline
Staff
 
Join Date: 2009 Mar
Posts: 888
Default

Hi Krishna,

You need to convert the package_definition.xml file into the format which Raptor understands - this is done using xalan, as described in the last section of "How to build a package". Once that's done you can go back to building the whole package using sbs.

You should also use the "-k" option to sbs, so that it keeps going after errors. That will let you get past the annoying but irrelevant failure to export a document.

William
Reply With Quote
  #3  
Old 2009-12-04, 01:57
krishnaa's Avatar
krishnaa krishnaa is offline
Staff
 
Join Date: 2009 Sep
Posts: 41
Default Title : TRK debug service support on QEMU : Dependency on Comms Framework (commsfw)

Initially we created rom image having just the symbian kernel (and kernel tests) and able to load into QEMU (processer emulator) and run kernel tests. Now we want to add TRK device debug agent to the rom image, so that kernel or "kernel tests" can be debugged. But the TRK agent talks to the debugger using serial communication channel. So, we need to build and add "Comms Framework" (commsfw) to
rom as well along with TRK.

With few minor changes I was able to build the commsfw using SBSv2. Now commsfw needs to be added to rom. I am using rom and rombuild mechanism to build rom. This mechanism uses iby files to add binaries to rom.

Questions:
----------
- Any guidelines of including commsfw in to rom?.
- What are the iby files of commsfw to used for rom creation?.
- Is there any dependencies on other packages?.
- Tool for finding dependecies of exe or dll



commsfw build and rom creation:
-------------------------------
- Build

* Clone the commsfw from symbian mercurial repo using following command
X:\sf\os\hg clone https://developer.symbian.org/sfl/MCL/sf/os/commsfw

* Build the commsfw using sbsv2
X:\sf\os\commsfw>sbs -s package_definition.xml -c armv5
This gives the schema error
"sbs: error: Cannot process schema version 3.0.0 of file package_definition.xml"

I got help from forums to downgrade the schema of package_definition.xml to 2.0.1 using XST. After this
I was able to proceed further with build.

* Two errors were encountered for missing doc files, viz. C32API.doc and messagesequencetool.doc
I commented related export lines in corresponding bld.inf files
X:\sf\os\commsfw\commsfwtools\commstools\group\bld.inf and
X:\sf\os\commsfw\serialserver\c32serialserver\group\bld.inf

* Two more compilation errors were encountered regading undefined constant KDataTransferUnblocked
I commented those 2 lines for the sake of build.

Finally the build was success with 0 errors.

* Now the question is what are the relevant iby files to use so that commsfw can be included as part of rom.

- Rom creation
* We were able to create rom with kernel
* When TRK was added rom creation got failed with error saying dependent dll are missing
ERROR: Can't build dependence graph for
\Epoc32\Release\ARMV5\UDEB\trkengine.dll (UID3:200159d9 HWVD:01000000 VER:10.0)
because c32.dll (UID3:10003d33 HWVD:01000000 VER:10.0) is not in rom.
So, it was c32.dll which is the communication dll missing
* After building commsfw, I added c32.dll to the rom. Then it gives errors about the dlls that c32.dll depends on, viz. c32root.dll, cflog.dll, commsfw.dll, comsdbgutil.dll.


Dependecy List:
---------------
- Is there a tool which lists out the dependecy dlls of an exe or dll?.
With this it becomes easy to keep adding the missing dll to rom.


Additional Info:
----------------
- SBSv2 version 2.9.2 is used as the build tool
- rom and rombuild (V2.08) is used to create rom image
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads.
You may not post replies.
You may not post attachments.
You may not edit your posts.

BB code is On.
Smilies are On.
[IMG] code is On.
HTML code is Off.


Forum Jump

Powered by vBulletin · Copyright © 2010 vBulletin Solutions, Inc.