Dear Dmitry, In message <CAHs5x+N5O2zuO9C+12w2Ci7LF6r7Zupop2Sq+Cy9PDR5o=c...@mail.gmail.com> you wrote: > > I'm looking at u-boot source code, and see a huge amount of hardware > drivers, used only for the loader. > On the other side, modern Linux kernels eat a more than half of RAM on > cheap embedded modules like HLK-R04. > > Is it suitable to morph u-boot into tiny embedded microkernel OS adding > multitasking scheduler or share its drivers for i/o with some other tiny > RTOS?
No, it is not. I recommend reading the U-Boot Design Principles [1]; many of these focus on being easy to port to new hardware and/or bring up new hardware, and to favour simple code over complex functionality. From the beginning, a strictly single-threaded design has been assumed. By adding multi-task support you would have to introduce locking conecpts and - even more difficult - to review the whole code base. Also, the implementation frequently assumes it's single-tasking - for example, a large number of device drivers use simple polling techniques which are OK for single-task systems, but which would hurt like hell if you hade several parallel tasks. The situation is simple: If youneed an OS, then boot one. If only minimal OS functionality is needed, then boot a simple OS. [1] http://www.denx.de/wiki/U-Boot/DesignPrinciples Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de The IQ of the group is the lowest IQ of a member of the group divided by the number of people in the group. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot