Welcome!

Welcome to the Official BlackBerry Support Community Forums. This is your resource to discuss support topics with your peers, and learn from each other. New to the forum? Please visit the ‘Getting Started’ link below.
inside custom component

BlackBerry® World™ Development

Reply
New Developer
blazed
Posts: 14
Registered: ‎06-14-2009

Blackberry processor target

Does anyone know how to compile binary applications for the blackberry?

The best I've been able to deduce is that it is running an ARM processor, but not sure which one.

I imagine GCC could be used if an appropriate target could be found.

I really just hate java. I'm tired of slow applications that are bound to an uneeded object oriented paradigm and an interpreter.

The kind of development I am doing is just really shot in the foot by using java.

 

If anyone knows anything about blackberry OS development, this might help me as well.

Please use plain text.
Developer
Posts: 5,339
Registered: ‎09-20-2008
My Carrier: ***

Re: Blackberry processor target

Check the processor type by the link below:

 

http://www.phonewreck.com/2008/11/21/blackberry-bold-review-and-teardown/

 

For BB Bold device there is Marvell PXA 930 processor used.

Please use plain text.
New Developer
blazed
Posts: 14
Registered: ‎06-14-2009

Re: Blackberry processor target

not quite what i asked buddy, but thanks anyways

Please use plain text.
Developer
Posts: 5,339
Registered: ‎09-20-2008
My Carrier: ***

Re: Blackberry processor target

There is only one type of on-device applications on the BlackBerry platform.

 

Binary cod-files and nothing more.

 

And there are several ways to make these cod files:

 

1. Use JDE or Eclipse Pluging to compile cod file from java source code.

2. Use MDS Studio (Rapid Application Development tool) to make cod files.

3. Use Plazmic Content Manager to make themes and compile them as cod files.

 

There is no C/C++ compiler for BlackBerry available.

Please use plain text.
New Developer
blazed
Posts: 14
Registered: ‎06-14-2009

Re: Blackberry processor target

[ Edited ]

they had to compile the os somehow

and they didn't use java, its not a systems development language (in otherwords it doesn't compile to native code) with the exception of gcj

 

soooo this means either an entire team worked in nothing but assembly and re-wrote the os for each for each device (im guessing this is not what happened), or there is a highlevel language (C or C++ most likely) with a targets for the different blackberry architectures in order to simpley recompile the os for each device (more likely what happened)

 

do you know what is meant when I say "target" ?

Message Edited by blazed on 06-19-2009 10:03 AM
Please use plain text.
New Developer
blazed
Posts: 14
Registered: ‎06-14-2009

Re: Blackberry processor target

[ Edited ]

and I am well aware of the methods of ceating java craplications

 

kate is my editor, rapc is my compiler, and bjavaloader is my tool

lol in other words I am a linux developer

 

i do os development in assembly and C, and lowlevel systems development, I am well aware of what is possible with code

Message Edited by blazed on 06-19-2009 09:57 AM
Please use plain text.
New Developer
blazed
Posts: 14
Registered: ‎06-14-2009

Re: Blackberry processor target

oh yah and to clear something up,

unless they actually replace the java bytecode (which i seriously doubt because it uses the java compiler to make the classes) with rapc, the .cod files are not "native binary files" they contain "java byte-code" which is not the same as what programmers call a binary.

a binary usually is a reference to a file compiled to the native binary code for an architecture, the java interpreter is not an "architecture" per say

Please use plain text.
Developer
Posts: 5,339
Registered: ‎09-20-2008
My Carrier: ***

Re: Blackberry processor target

[ Edited ]

The structure of the BlackBerry platform architecture is shown below:

 

schema.png

 

As you can see there is a layer between hardware and operating system. It's name is Java Virtual Machine (JVM) that was written on C/C++ and/or assembly language.

 

You may be very surprised but BlackBerry operating system (RIM OS, also known as "device software") is written on java, that works in JVM.

 

Message Edited by tbilisoft on 19-06-2009 05:06 PM
Please use plain text.
New Developer
blazed
Posts: 14
Registered: ‎06-14-2009

Re: Blackberry processor target

[ Edited ]

yeah i get all that, like i said i am a real developer

i get layers

 

but  suprised isn't the word i'd use, its "don't believe"

I'd have to see the source to believe that, because the way this works in EVERY case (unless there is a chip doing java interpretation then it would fit right into your little hardware layer) is that the javaVM runr ON the operating system not the otherway around, infact by its definition, the operating system runs on HARDWARE

if the rim OS does not run on HARDWARE then it is not a true OPERATING SYSTEM, there is another lowerlevel operating system and THAT must be the one I am asking about

 

so we have 3 options. if you want, i'll make you a pretty little chart too

either the JavaVM is in this case a chip reading Java bytecode (in that case it wouldn't be a Virtual Machine, but just a Machine), the RIM OS is infact not completely written in Java,  or the RIM os is not the base operating code.

Message Edited by blazed on 06-20-2009 08:40 AM
Please use plain text.
Developer
cwong15
Posts: 192
Registered: ‎02-27-2009

Re: Blackberry processor target

[ Edited ]
I sort of understand what you are thinking given what you are told, but I would suggest that you are making a distinction that is for all practical purposes irrelevant. It doesn't really matter what software interacts with the hardware below the JVM. What does matter is that the software that RIM calls the operating system is the lowest level at which third party developers can interact with the device. And yes, it's implemented in Java, which is why you have all those phone simulators running in Java. You cannot build processor-native binary code that runs on a BlackBerry. You do not even know what processor your software will run on: it's subject to change. Some devices use Arm processors, some use Intel processors. The only consistent thing you can count on is the Java API.
Message Edited by cwong15 on 06-20-2009 11:13 PM
Message Edited by cwong15 on 06-20-2009 11:19 PM
Please use plain text.