Nice Architectures to work with
Since i first started to investigate the ARM architecture i have been very much in love with it. It seems to be everything i have ever wanted from an architecture. Simplistic, low power consumption/heat, yet powerfull. However there is one problem, which may not be a problem at all, but i have trouble regarding which ARM processors, if any, includes a proper FPU. Floating point calculations without one is something that will be very complicated i think.
I also have have yet to find a osdev tutorial for the ARM architecture. Im sure its out there, but i haven't found anything of interest. Someone, maybe Dex? promised that he would do some work on a tutorial, and while i know that it is something that can't be done overnight, i havent heard anything about it since.
Anyway, ARM rules.
I also have have yet to find a osdev tutorial for the ARM architecture. Im sure its out there, but i haven't found anything of interest. Someone, maybe Dex? promised that he would do some work on a tutorial, and while i know that it is something that can't be done overnight, i havent heard anything about it since.
Anyway, ARM rules.
This was supposed to be a cool signature...
@abuashraf, Most new stuff is ARM base, from your router, to your Nintendo DS or your i-phone or mobil phone, or tv settop box.
Its all Zacariaz pointed out and more, but the big plus is you will find it easy to get a job, even if your OS is not taken up.
Its also easy to code a OS for, example in 90% of arm chip, the first 4k of nand is loaded to the beginning of ram and jump to, thats how it boots.
And this is what is loaded there
Now "b label" is the same as "jmp label" in x86. so to setup software interrupts or IRQ is as simple as place you test code after the right label eg: "software_interrupt"
or "irq" etc.
The first bit of code thats run after booting or resetting, is it jumps to label "reset".
You can also making very small desktops
http://www.advantage6.com/products/A9home.html
@Zacariaz, Its a case of time, i have so many things to work on, but i will see what i can do.
Its all Zacariaz pointed out and more, but the big plus is you will find it easy to get a job, even if your OS is not taken up.
Its also easy to code a OS for, example in 90% of arm chip, the first 4k of nand is loaded to the beginning of ram and jump to, thats how it boots.
And this is what is loaded there
Code: Select all
:****************************************;
; ARM BootLoader. ;
;----------------------------------------;
; Prog by Dex. ;
; Coded with FasmARM. ;
; Part of the the x86 to ARM DexOS port. ;
; C:\fasmarm ArmBoot.asm ArmBoot.bin ;
; ;
; C & B Bamford.2006(c) ;
;****************************************;
format binary
org 0 ; code starts at offset 0.
use32 ; use 32-bit code.
b reset ;
b undefined_instruction
b software_interrupt
b prefetch_abort
b data_abort
b not_used
b irq
b fiq
align 4
;********************************;
; boot start. ;
;********************************;
reset:
mov r0, 0x4000000
mov r1, 0x400
add r1, r1, 3
str r1, [r0]
mov r0, 0x3101000
mov r1, 0xff
mov r2, 0x12c00
loop1:
strh r1, [r0], 2
subs r2, r2, 1
bne loop1
LetsLoop:
b LetsLoop
;********************************;
; just Loop For Now ;) ;
;********************************;
undefined_instruction:
software_interrupt:
prefetch_abort:
data_abort:
not_used:
irq:
fiq:
LetsLoopForNow:
b LetsLoopForNow
or "irq" etc.
The first bit of code thats run after booting or resetting, is it jumps to label "reset".
You can also making very small desktops
http://www.advantage6.com/products/A9home.html
@Zacariaz, Its a case of time, i have so many things to work on, but i will see what i can do.
ARM would be my choice, if I had access to some good hardware. Something like http://www.simtec.co.uk/products/EB2410ITX/avail.html would be nice.
The cake is a lie | rackbits.com
- AndrewAPrice
- Member
- Posts: 2299
- Joined: Mon Jun 05, 2006 11:00 pm
- Location: USA (and Australia)
I think you're looking for something higher level than I'm suggesting, but if you want to start from scratch (building a custom PC + OS together) then look at http://www.opensparc.net/.
The T2 runs at around 1.4GHz. You just need to find somewhere that'll synthesise the Verilog source into an IC (must cheaper a prebuilt processor).
Then you'll need to build your own bridges for managing ports and interrupts which you'll might find designs for on the Internet. And a system clock.
For graphics you can find simple 2D microprocessors online, of you could look at a NVidia GoForce if you want advanced 3D power.
Physically building the system basically consists of using breadboards and stripboards and connecting connecting the pins together.
The T2 runs at around 1.4GHz. You just need to find somewhere that'll synthesise the Verilog source into an IC (must cheaper a prebuilt processor).
Then you'll need to build your own bridges for managing ports and interrupts which you'll might find designs for on the Internet. And a system clock.
For graphics you can find simple 2D microprocessors online, of you could look at a NVidia GoForce if you want advanced 3D power.
Physically building the system basically consists of using breadboards and stripboards and connecting connecting the pins together.
My OS is Perception.
- bloodhound23
- Member
- Posts: 115
- Joined: Wed Jan 23, 2008 7:13 pm
- Contact:
- bloodhound23
- Member
- Posts: 115
- Joined: Wed Jan 23, 2008 7:13 pm
- Contact:
- bloodhound23
- Member
- Posts: 115
- Joined: Wed Jan 23, 2008 7:13 pm
- Contact:
- bloodhound23
- Member
- Posts: 115
- Joined: Wed Jan 23, 2008 7:13 pm
- Contact:
- bloodhound23
- Member
- Posts: 115
- Joined: Wed Jan 23, 2008 7:13 pm
- Contact: