[Q] Please help. How to optimze my code when building? - Android Software Development

Hello! I am using HTC mobile phone to develop software. My c language software package of GSMAMR, a audio codec, is comiled and build by using cygwin system(android.mk).
To my despair,the running in HTC phone is so slow that it doesnt work at all.
I tried to edit my makefile android.mk. And I inserted the line LOCAL_LDLIBS := -llog -O3 -march -Ob2 -Op -Ot" or "LOCAL_CFLAGS += -O2 -fstrict-aliasing -fprefetch-loop-arrays" and build again. Neither work and no gain.
I am new to android and linux. How should I do to achive faster executable file?
Ps. The same c code, built using VS2005 with -o2 parameter, work well in PDA,which using lower CPU than HTC. So I am seeking how to use the compiler and builder tools,not to optimze the C code lines.
Please help.Thanks in advance.

Please help me. It is very urgent.

Related

Problems compiling apps for Universal under Linux

Sorry for a lame question, but i've got a problem. I've compiled a simple hello-world application using arm-gcc 3.4.3 (compiled under x86 linux using gcc compiler for ARM) with default settings. When I was trying to start it under Universal, I got the message 'Invalid instruction' (or something like that).
Please provide me with a working example (command-line arguments for building and etc) or some instructions on build process, if anybody has one.
Thanks.
bazis said:
I've compiled a simple hello-world application using arm-gcc 3.4.3 (compiled under x86 linux using gcc compiler for ARM) with default settings.
Click to expand...
Click to collapse
You don't tell where does the gcc-3.4.3 come from.
With the 3.4.1 stadalone toolchain from
ftp://ftp.handhelds.org/projects/toolchain
it is just
Code:
/usr/local/arm/3.4.1/bin/arm-linux-gcc -o hello hello.c
If you want to compile GUI apps or big packages, then you should read
http://www.openembedded.org/wiki/GettingStarted
I downloaded it from www.gnuarm.com. It worked OK when compiled ROM images for my ARM7TDMI-based boards.
Thanks for the link, I'll try it today.
And, finally, another lame question: did anybody tried to build gcc 4.1 for cross-compiling from x86 to ARM? Or it is possible to use the script from the FTP to build it?

Rom cooking guru needed : contribution to open source project

Hi,
my name is Vincent R. and I am working on the open source project cegcc that provides an open source compiler targetting Windows Mobile devices.
We have noticed that latest version WM6.1 doesn't load dll > 64 kB with our compiler.
So basically we would need to compare kernels between a Wm5 or even better a WM6 and the WM6.1.
I have already tried to decompress ROM with all the tools I havz found and it works fine for OS but everytime I tried for XIP part there's an issue (wrong format, invalid offset, ...).
So what I am asking is if some people who have a goog knowledge in ROM cooking could email me (forumer [AT] smartmobili [D.O.T] com) the kernel file nk.exe from a WM6.0(or WM5 if you don't have WM6) and a WM6.1.
Thanks a lot

Cross-compiling, what am i doing wrong

Hello!
as the title indicates I am having trouble cross-compiling. hello world compiles perfectly but bigger programs just wont give in..
I downloaded the android source from git and compiled just the way the website (http://source.android.com/download) says you should (is there anyway to verify that its compiled correctly?)
Then I use the agcc python script(http://plausible.org/andy/agcc) for the linking but when i compile i always get trouble about it not being able to find certain defined fields or other types. So basicly i followed the second part of what this wiki says (eventough using a toolchain from codesourcery for example and cc staticly. It also fails...)
What im really asking is how and what do you guys use to cross-compile to android?
Richard_Xeli said:
Hello!
as the title indicates I am having trouble cross-compiling. hello world compiles perfectly but bigger programs just wont give in..
I downloaded the android source from git and compiled just the way the website (http://source.android.com/download) says you should (is there anyway to verify that its compiled correctly?)
Then I use the agcc python script(http://plausible.org/andy/agcc) for the linking but when i compile i always get trouble about it not being able to find certain defined fields or other types. So basicly i followed the second part of what this wiki says (eventough using a toolchain from codesourcery for example and cc staticly. It also fails...)
What im really asking is how and what do you guys use to cross-compile to android?
Click to expand...
Click to collapse
Hello,
i am having problems with the linker too! i am using the NDK (because it actually does C / C++ code) and the code compiles with very few warnings on some instructions but works well otherwise, it just WOULD NOT LINK the stuff together!! one interesting setting i noticed in some public makefiles for the NDK i noticed is that they actually set the linker to /system/bin/linker, which is obviously a file on the target device. but i don't know how it would access it? any ideas?
BTW: post your error(s) please
Try this
The system won't let me post a link (as a new user), however there is a really good tutorial on native android development and debugging using the AOSP build system. Search on Aton International Incorporated and click on blogs in the menubar. I am in no way associated with the company, just happy to finally be able to cross-compile, link and debug for android.
Maybe someone who has more posts could post a link here.
http://www.aton.com/android-native-development-using-the-android-open-source-project/

[Q]andriod kernel of mega is same like wildfire by proof!!!

http://htc-linux.org/wiki/index.php?title=Mega
i read that the kernel is same wont that help porting andriod with respect to some drivers change!!!
no one answered
the problem is our first developer can't keep the android project...
hi
how can i debug this files and run???
currently I'm trying to cross-compile a most recent wildfire kernel I found on htc server using a configuration I personally made for our mega. The problem is there are many errors in the source code...
re.:
In my opinion we start build android from beginning. My problem is in my OS on my PC. I have Windows XP and building and modifing found only on Linux. I find this page with porting guide. It is step by step How to create boot screen, How to setup Connectivity...
source.android.com/porting/bring_up.html
On this page are programs for debug and download android source code...
Anyone write.
Move to general as not rom development
I'm using linux, this is why I want to try to cross-compile a kernel for our device, like I just said, source code has a large number of errors, I don't know why...
if you are interested, I can share the kernel configuration I made myself...
Now I install Ubuntu 10. It was compilation found in this version of Linux??? Where programs can I download? Now I have Git, Eclipse and Python 2.7. How can I install .tar packs on Ubuntu zito882000?
if you are new as a linux user it's quite difficult to explain, you need gcc plus the same programs a normal user has to compile a kernel.
The difference is in the way of compilation, a parameter that does a compilation for arm architectures....do you have some kernel compilation experience?
re.:
zito882000 said:
if you are new as a linux user it's quite difficult to explain, you need gcc plus the same programs a normal user has to compile a kernel.
The difference is in the way of compilation, a parameter that does a compilation for arm architectures....do you have some kernel compilation experience?
Click to expand...
Click to collapse
windows is gold.
with compilation i haven't any experience. I only begin in programming languages C, C++ and VB. I compile only my apps in visual studio. And i have nice experience with photoshop.
it isn't exactly the same thing, in a kernel you have a large number of drivers to compile, not a only one program...
Here cyberciti.biz/tips/compiling-linux-kernel-26.html you can find a simple guide!
The most important part is the command "make" that need some different parameters to do a cross-compilation for ARM processors ^^
thx
I saw the instructions and understand him. If I somehow help you write to my icq: 484038954 or Skype: vasek-smekal.
So far, thanks
I just bought an HTC Hero with native android.
If you want to try again I share with you my kernel configuration file and a link where you can download the kernel source I used.
(remember to rename "config.txt" in ".config" with the point and without the extension)
KERNEL SOURCE -> http://developer.htc.com/ (must choose "HTC Wildfire - Froyo - 2.6.32 kernel source code")
ARM LINUX GCC -> http://www.handhelds.org/download/projects/toolchain/archive/arm-linux-gcc-3.3.1-030820.tar.bz2

Doubts with Using Xamarin to develop Android App

Hi All,
We are developing Android App using C# with Xamarin.
I have task to integrate existing C source with App developed. This done by loading corresponding *.so.
Sorry in advance if these questions are naive....
Questions:
1 > I am using Windows. To generate the *.so what is the suitable IDE? Can the windows be used to generate *.so(static object)?
2> If I were to go with Eclipse , Do I need to install the plugins like SDK ,NDK etc...?
3> Do I need to care for processor architecture's , If need to compile the source?....I mean cross compilation
Thanks
sanddune008 said:
Hi All,
We are developing Android App using C# with Xamarin.
I have task to integrate existing C source with App developed. This done by loading corresponding *.so.
Click to expand...
Click to collapse
I'm not sure if I understand you question but I assume you want to extend an existing app -build in C# using Xamarin- with native android Java?
I'm not sure that's even possible. Xamarin is utilizing mono for android to create android (Linux) executable files. When decompiling my own Xamarin build apk with APK Studio I did see the mono .so libraries, but my own code was compiled. Referenced .Net (Windows!) dll's where added to the apk. I assume the mono libraries deal with how they are used in the compiled C# code.
Since there's no quick conversion I see a few options:
A - Change the Xamarin/C# android project to a library project (dll). Compile it using Xamarin and find out (google) how to utilize this dll using mono for android in your Java development environment (eclipse). There are mono .so files...
B - Convert the Xamarin/C# source to java source code. There are some commercial tools which claim to be able to convert C# to Java. Go java all the way.
C - Stick to Xamarin/C#
I think option A will lead to lots of headache assuming you referenced some .Net assemblies in your C# source. However it might be worth a try. Though keep in mind that if you keep using the Xamarin/C# part, you keep needing the Xamarin license to upgrade/update code in the future.
I would go for either B or C depending on the codebase. If it's a lot of code a Xamarin license renewal might be cheaper then a rewrite (conversion). In my experience code converters are reasonable tools, but I've never saw a one-click conversion happen. There's always extra work to make the converted code even compile.
In conclusion: Mixing Xamarin/C# and native Java code might be technically possible, I would rather make a choice for either one of them.
I can't answer your questions about eclipse and required libraries, but I hope my answer is of some use.
Regards,
Alex

Categories

Resources