ARM programming

Programming, for all ages and all languages.
Post Reply
joha4270
Posts: 3
Joined: Thu May 17, 2012 9:27 am

ARM programming

Post by joha4270 »

Hi Beginner here

Today i got a old "hp iPAQ Pocket PC h2210" from my granddad. But having no interest in using some kind of windows 2003 i'm wondering about the plausibility of making some SIMPLE SIMPLE OS that once eventually will display "hello world" on the screen.

The processor is a intel xscale 255. (ARMv5 as far i can read on Wikipedia)

can anyone kindly guide me to the needed stuff(arm assembly tutorial, arm compiler, other stuff im going to need?)

not sure if this post belongs in OS development instead

edit: know some java and a tiny bit of c++ but never done any assembler
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: ARM programming

Post by Combuster »

joha4270 wrote:edit: know some java and a tiny bit of c++ but never done any assembler
As far as the forum rules go: make many more programming hours first before trying this. Things from that era have a habit of getting bricked if you don't know exactly what you're doing. See it as trying to repair jewellery when you barely figured out what a soldering iron is for - it'll only make matters worse.

In other words: find something we would call simple that's still a challenge for you. Games typically work.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
xenos
Member
Member
Posts: 1118
Joined: Thu Aug 11, 2005 11:00 pm
Libera.chat IRC: xenos1984
Location: Tartu, Estonia
Contact:

Re: ARM programming

Post by xenos »

The first step before you can technically produce any ARM code should be compiling a GCC Cross-Compiler (and in turn also assembler and linker). The target you should build these for would be something like "arm-eabi" instead of "i586-elf" as in the wiki tutorial.

Of course you also need to know some basics about the ARM architecture, such as the ASM instruction set, registers, memory addressing and so on. One thing you should look at is the ARM Architecture Reference Manual, there are quite a number of documents available at the ARM Infocenter. You should also have a look at the XScale 255 datasheet to get some information on integrated preipherals.

Finally, you need to figure out how the CPU and peripherals in your PDA are connected (such as the display - you need to know which memory addresses you need to write something to the screen) and how the boot process works (so your OS gets loaded and executed).

You should also check out QEMU, which can simulate quite a number of XScale 255 devices, before you run your code on real hardware.
Programmers' Hardware Database // GitHub user: xenos1984; OS project: NOS
User avatar
JamesM
Member
Member
Posts: 2935
Joined: Tue Jul 10, 2007 5:27 am
Location: York, United Kingdom
Contact:

Re: ARM programming

Post by JamesM »

XenOS wrote:The first step before you can technically produce any ARM code should be compiling a GCC Cross-Compiler (and in turn also assembler and linker). The target you should build these for would be something like "arm-eabi" instead of "i586-elf" as in the wiki tutorial.

Of course you also need to know some basics about the ARM architecture, such as the ASM instruction set, registers, memory addressing and so on. One thing you should look at is the ARM Architecture Reference Manual, there are quite a number of documents available at the ARM Infocenter. You should also have a look at the XScale 255 datasheet to get some information on integrated preipherals.

Finally, you need to figure out how the CPU and peripherals in your PDA are connected (such as the display - you need to know which memory addresses you need to write something to the screen) and how the boot process works (so your OS gets loaded and executed).

You should also check out QEMU, which can simulate quite a number of XScale 255 devices, before you run your code on real hardware.
No, use CodeSourcery GCC Lite instead. It's tuned for ARM baremetal deployment.
LindusSystem
Member
Member
Posts: 63
Joined: Sat Apr 28, 2012 9:41 am
Location: Earth -> Asia

Re: ARM programming

Post by LindusSystem »

You told you know tiny bit of C, C is one of the best language to use for a OS Development with a bit of assembly.I dont think Java will help you to develop a OS.
Anyone has a idea of making a ntfs bootsector?if yes PM me , plz.
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re: ARM programming

Post by Solar »

"A tiny bit of C++" won't help much either.
Every good solution is obvious once you've found it.
User avatar
VolTeK
Member
Member
Posts: 815
Joined: Sat Nov 15, 2008 2:37 pm
Location: The Fire Nation

Re: ARM programming

Post by VolTeK »

Image

Image

Image
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: ARM programming

Post by Combuster »

Ok, voltek, it's getting annoying now.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
VolTeK
Member
Member
Posts: 815
Joined: Sat Nov 15, 2008 2:37 pm
Location: The Fire Nation

Re: ARM programming

Post by VolTeK »

Combuster wrote:Ok, voltek, it's getting annoying now.
Id figure you would be the one whining about people not searching google ;) But if you say so.
User avatar
VolTeK
Member
Member
Posts: 815
Joined: Sat Nov 15, 2008 2:37 pm
Location: The Fire Nation

Re: ARM programming

Post by VolTeK »

berkus wrote:Can you please search google for me?
Combuster wrote:Ok, voltek, it's getting annoying now.
Can't, apparently it's annoying
User avatar
Ameise
Member
Member
Posts: 61
Joined: Fri Jul 16, 2010 7:46 am
Location: Chicago

Re: ARM programming

Post by Ameise »

VolTeK wrote:
berkus wrote:Can you please search google for me?
Combuster wrote:Ok, voltek, it's getting annoying now.
Can't, apparently it's annoying
More immature than annoying.
User avatar
VolTeK
Member
Member
Posts: 815
Joined: Sat Nov 15, 2008 2:37 pm
Location: The Fire Nation

Re: ARM programming

Post by VolTeK »

Ameise wrote:More immature than annoying.
It's past your bed time child. You shouldn't be up posting.
User avatar
Ameise
Member
Member
Posts: 61
Joined: Fri Jul 16, 2010 7:46 am
Location: Chicago

Re: ARM programming

Post by Ameise »

VolTeK wrote:
Ameise wrote:More immature than annoying.
It's past your bed time child. You shouldn't be up posting.
So sayeth the self-reported 12-year (IIRC) old? Notwithstanding the fact that I am not a child (I'm more than twice your age, after all), this is a further example of immaturity; you're certainly showing your age well.
User avatar
JamesM
Member
Member
Posts: 2935
Joined: Tue Jul 10, 2007 5:27 am
Location: York, United Kingdom
Contact:

Re: ARM programming

Post by JamesM »

VolTeK wrote:
Combuster wrote:Ok, voltek, it's getting annoying now.
Id figure you would be the one whining about people not searching google ;) But if you say so.
Not when the thing you searched for is "ARM Compiler", which is a toolchain released by ARM that costs thousands of dollars per seat...
Post Reply