Friday, April 13, 2007

quick note

Just a quick note, I've found an open source usb stack, that mainly supports control transfers. The good thing is it targets embedded devices + it is well written in kernel style. I have also found an embedded filesystem library called efsl or something. It is also good, because it supports FAT, and it has the basic open/close/read/write implemented, even though they are dummy library calls it is quite useful for now + it only needs read_sector()/write_sector() calls at the low level. these two might be quite useful. The other thing is nano-x. This is an embedded gui library that only needs very basic framebuffer operations like DrawVertical() DrawHoriz() etc. implemented. After I enhance task support and system calls, if I can get all three put together, that could be a great demo.

Wednesday, April 11, 2007

A turning point

I thought I had made a few more posts since my last. Essentially, I have both preemptive and voluntary scheduling implemented (thread_switch system call). Irqs are reentrant up to the limit of the 1 page svc stack, and can preempt a process that can either be in the kernel or the user context. So kernel preemption is there from the start.

I've got this far, however working late night & weekends does not really help a lot. I dont get tired as such, but rather stressed because in the end when you look back, dealing continuously with source code most of your time for even a few weeks long, you feel a little weird, especially for a guy at my age who is supposed to just get social or do sports etc. Plus, it takes ages to push the project forward, essentially you do a week's full-time job in 3 to 4 weeks.

So the conclusion is, I think I should either stop or continue doing this full-time. One thing for sure is, stopping ain't an option. We'll see what happens in the next few weeks.