Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Anybody Interested in Hobby OS programming?

Status
Not open for further replies.

bluehole

Full Member level 6
Full Member level 6
Joined
Sep 1, 2009
Messages
344
Helped
74
Reputation
148
Reaction score
73
Trophy points
1,308
Location
Some where In INDIA
Activity points
3,290
Hi friends,
My apologies if I have made a wrong post.

Well I write Opensource softwares in my spare time either they are small utilities or my pet OS projects.
I would be interested if anybody will be interested here to contribute to those projects. Specially I need input in my OS projects.
there are 2 projects one is Myos-32bit and another is NanoOS

You may say they are not well written codes, Yes I agreee. A single person developed that code so no purity or beauty is there. BUT till this point I managed to put a multi threading kernel with ATA and RTL driver not complete though.

If some of you will help then it will be a learnig experience for several fellow (including me too)

if anybody is interested then please contact me.

Again i ask for your appologies if i broke any rule.

thanks
Ashok.
 

Why we need another hobby OS? I think how you can find at least 100 OS on Internet .... How NanoOS and Myos-32bit are different?
 

Why we need another hobby OS? I think how you can find at least 100 OS on Internet .... How NanoOS and Myos-32bit are different?

To be very frank I am using Linux since 1995( You may sat september 1995 :lol: ). for the last 13 years ( since 1999) I use it at workplace too.
So you can say I love it. As linux was started from a hobby OS but now so big and now it is hard to follow( the code).

Secondly there are tons of HobbyOS which are not maintained. So a student (here in India might be some where else) comming to University has to mug up the books but don't have any practical knowledge of implementation ( this is from my experience).

The Philosophy of both the OS which i mentioned is the same. You got an Idea!!! write it down and try it. It is not meant to be of any standard like POSIX niether like Micro kernel nor like Any but a blob but every part is independent. just like a learning tool rough note.

The difference between Myos-32bit and NanoOS is one is based on C and other is in C++ but not pure C++ you can say. You may say then why 2. Well I started Myos-32bit but my collegues at my previous employer are know java well so I started NanoOS so that they can atleast follow. Another difference between Myos-32bit and NanoOS is in PCI system and IRQ system they are similar but have different capability.

But overall you can safely say they are the same, as both are written by me.

To sum up:
1) These 2 OSs are started to teach the freshers How the OS works and how the hardware drivers interact.
2) I learnt several things( creadits to Alexei , David for geekOS, Brandon James but there are others too.
3) What i learnt i wanted to share so others can benefit.
4) creating interest in Low level programming.
 

I use Linux too . :) I see you want improve your programming skills.Yes, System programming is interesting.
 

@ bluehole: I am keenly interested in learning about os, drivers , board support packages...
basically complete board bring up...can you help in that?
 

@ bluehole: I wanna know how the operating system and the hardware interact with each other. How does the operating system get to know what is the hardware and where it is (which pins of the processor are interfaced to the various hardware), how bootloader ,bios, device drivers ,board support packages etc are written and such things.
Also can you give the code of your operating systems so that I can have some basic idea of how to code operating systems.
 

@ bluehole: I wanna know how the operating system and the hardware interact with each other.
Here there are many ways interrupt or polling is used.
How does the operating system get to know what is the hardware and where it is (which pins of the processor are interfaced to the various hardware),
There are Standard Buses. OS scans those and finds.
how bootloader ,bios, device drivers ,board support packages etc are written and such things.
Also can you give the code of your operating systems so that I can have some basic idea of how to code operating systems.
If I understood correctly you want to know How the BSP,Device drivers are written? If so then you must get the documentation regarding the hardware (specification and data sheet) then write routines in Assembly and or C.

My os is opensource they are hosted at googlecode. you can download the code and see.
 
@ bluehole : Thanx a lot for replying. Can you give an example of BSP. Also can you tell me what is required for starting writing operating systems. And steps for porting an operating system onto the hardware. I searched a lot but could not find anything concrete enough for my understanding.
 

@ bluehole : Thanx a lot for replying. Can you give an example of BSP. Also can you tell me what is required for starting writing operating systems. And steps for porting an operating system onto the hardware. I searched a lot but could not find anything concrete enough for my understanding.

@embeddedaebi, Wow... hold on you are sking somany questions... :lol:

First of all I don't know your knowledgeset and background... Don't take it otherwise.
so let me put it in this way.
1) Understand a perticular processor architecture and a Board architecture
2) Better to have knowledge of assembly language
3) Understanding of C or C++ is good but not very essential. But be very sure of the Language you want to use for OS.
4) Read good books on all the above subjects
5) See some experimental OS and try to contribute them

But these are not exhaustive points.

In the last line you mentioned "could not find anything concrete enough for my understanding" what does it mean???
 

@ bluehole : I am sorry for my over questioning but its that I am really curious to know about these. The last line " could not find any thing concrete for my understanding " means that when I was searching for how to port an operating system onto hardware I came across various terms like Gnu toolchains, makefiles etc. I could not understand what they actually are and how to use them.
As far as my knowledgeset and background is concerned, I am an electronics and communication graduate of 2012. I have basic knowledge of assembly, C, C++, Matlab and Java. I have worked on 8051 controller family and have keen interest in embedded system development.
 

@ bluehole : I am sorry for my over questioning but its that I am really curious to know about these.
No issues... it happens
The last line " could not find any thing concrete for my understanding " means that when I was searching for how to port an operating system onto hardware I came across various terms like Gnu toolchains, makefiles etc. I could not understand what they actually are and how to use them.
Then you should start learning them, Without them the understanding or even thinking of porting an OS to a platform is futile.
because those are the tools of the trends. You should know them to a point such that you can understand them and can modify their benaviour.
As far as my knowledgeset and background is concerned, I am an electronics and communication graduate of 2012. I have basic knowledge of assembly, C, C++, Matlab and Java. I have worked on 8051 controller family and have keen interest in embedded system development.
Well matlab and java may help you in some otherway but not in OSDEV. please refere to my previous posts towards the begining. and you will find osdev.org that is a good place to start with.
It has several tutorials for makefiles cross-compilers etc...
then you select a small OS and play arround.
 
If interested in RTOSs and their design, you may want to review one of the best reference texts on the subject.

And although the actual text has been out-of-print for years, Michael Pont has graciously made the text available free of charge in PDF format:

Patterns for Time-Triggered Embedded Systems

The example code was originally written for the 8051 variants, but can be readily ported to almost any MCU.

The original code and an AVR port are available for download as well.

The text is quite massive at around thousand pages, about the last half is almost solely dedicated to RTOS design.


BigDog
 
Hi friends,
My apologies if I have made a wrong post.

Well I write Opensource softwares in my spare time either they are small utilities or my pet OS projects.
I would be interested if anybody will be interested here to contribute to those projects. Specially I need input in my OS projects.
there are 2 projects one is Myos-32bit and another is NanoOS

You may say they are not well written codes, Yes I agreee. A single person developed that code so no purity or beauty is there. BUT till this point I managed to put a multi threading kernel with ATA and RTL driver not complete though.

If some of you will help then it will be a learnig experience for several fellow (including me too)

if anybody is interested then please contact me.

Again i ask for your appologies if i broke any rule.

thanks
Ashok.

sir i am an electronics engneering student in 4'th year .i am using win 7 on my lap .i am not a genius in programming but want to be .i heard much about linux's good things so want to use and learn it.i watch movies and play games onit too. which version of linux would be helpful for me?
 

thanx a lot for the information bluehole and bigdogguru. :)
@bluehole: your nanoos , my32bitos are not available as i see on googlecode. can you send it to me or any link to download.
 

sir i am an electronics engneering student in 4'th year .i am using win 7 on my lap .i am not a genius in programming but want to be
nice...:lol:
.i heard much about linux's good things so want to use and learn it.i watch movies and play games onit too. which version of linux would be helpful for me?
it is a matter of choice... any linux distribution is good... even all OS platform is good if you know how to use it.

- - - Updated - - -

@embeddedaebi
nanoos
I guess you are not searching with the proper terms.
i just put nanoos operating system and the link is on second place .
 

I love Linux because its naked os dont treat it wrong i mean this os teach us at same when we using.
I have done extra course after my graduation in that course they taught me many things like Embedded programming, Linux programming and how to write Linux Device Driver

Because of my job (in embedded) i miss Linux Device Driver, also most of the topic i forgot.
It doesn't mean i don't love my job.

I have also done the project on LDD name - PCI device driver for microcontroller functionality in that course.

so

i really love to be a part of hobby os.

If you have any group on that or you will creating that group or anything that will teach me about os (deep) please let me know.
 

I want to write a usb device driver of my own usb project for windows. Can someone help me? I mean the steps I need to proceed on? I dont know much about driver development nd how to make it part of the operating system ...installation nd all.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top