Showing posts with label S603rd. Show all posts
Showing posts with label S603rd. Show all posts

Wednesday, April 15, 2009

Tuesday, March 3, 2009

Unexpected crash on target platform on S60 phone

Everything seemed to work fine under my emulator with new S60 FP1 SDK. But when I tried a build on release target platform, it worked until the application try to start another process, it stopped dead. Here, I use the gcce build target from the command line.
A solution is "comment out" REL_OPTIMISATION=-O2 -fno-unit-at-a-time in S60_3rd_FP1\Epoc32\tools\compilation_config\gcce.mk. This is a default setting from the SDK but it does not fit for my application.

---------------
"The greatest enemy of knowledge is not ignorance, it is the illusion of knowledge." Stephen Hawking

Tuesday, December 16, 2008

File browser application for S60 developer: "Y Browser"

It is designed for S60 3rd edition devices (Symbian OS 9.x) similar to FileBrowser in RnD Tools from mobile phone manufacture, which you can change files in private directory on C drive.

You can get it directly from Dr.Jukka's website: http://www.drjukka.com/YBrowser.html

Friday, December 12, 2008

A sample to employ "epocrc" for automatic resource file creation

Example of using "epocrc" from SDK 3rd Edition FP1

> epocrc -I\symbian\epoc32\include\ -u ex.rss -oex.rsc -hex.rsg

What we want to do here is to generate any "oemid" any time when requested without recompiling the whole resources.

In the example, I have default setting of oemid 1000 and I will replace 1000 with any new id for the resource file which passed to the makeResource function, whereas the output has the same name appended with its new id.

sub makeResource {

my $baseRssFile = "oempid_0x2000AAAA";

chdir($rssPath);

my $pid = $_[0];
my $rssFile = $baseRssFile . ".rss";
my $newRssFile = $baseRssFile . "_" . $pid . ".rss";
open(RSSFILE, $rssFile) or die "Error: Cannot open $1 : $!\n";

my @file = ;
close(RSSFILE);

open(NEWRSSFILE, ">$newRssFile") or die "Error: Cannot open $1 : $!\n";
foreach $_ (@file) {
if ( $_ =~ m/1000/ && $_ =~ /buf/) {
$_ =~ s/1000/$pid/g;

}
print NEWRSSFILE $_;
}
close(NEWRSSFILE);

my $rscFile = $baseRssFile . "_" . $pid . ".rsc";
system("epocrc -I$symbPath -u $newRssFile -o$rscFile");
system("del $newRssFile");
print "$rscFile is done\n";
}

The following part is to read the arguments which may be passed as range of integer or non range integer seperated each entries by comma.

my @num = split(/,/, $args{i});

foreach $_ (@num) { // Input may look like 1,4,7-10,200
my $pid = "";
if ( $_ =~ /(.+)-(.+)/ ) { //search if the input is in range
foreach( $1 .. $2 ) {
&makeResource( $_ );
}
}

else { // non-range argument
&makeResource( $_ );
}

---------------------------