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.

inside custom component

BlackBerry® World™ Development

Reply
Highlighted
New Developer
Posts: 14
Registered: ‎06-14-2009
My Device: Not Specified

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.

Developer
Posts: 5,339
Registered: ‎09-20-2008
My Device: ***
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.

New Developer
Posts: 14
Registered: ‎06-14-2009
My Device: Not Specified

Re: Blackberry processor target

not quite what i asked buddy, but thanks anyways

Developer
Posts: 5,339
Registered: ‎09-20-2008
My Device: ***
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.

New Developer
Posts: 14
Registered: ‎06-14-2009
My Device: Not Specified

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
New Developer
Posts: 14
Registered: ‎06-14-2009
My Device: Not Specified

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
New Developer
Posts: 14
Registered: ‎06-14-2009
My Device: Not Specified

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

Developer
Posts: 5,339
Registered: ‎09-20-2008
My Device: ***
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
New Developer
Posts: 14
Registered: ‎06-14-2009
My Device: Not Specified

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
Developer
Posts: 193
Registered: ‎02-27-2009
My Device: Not Specified

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