Hi! Can I program Riotboard without an operating system (bare-metal)? What do I need? Thank you!
Hi! Can I program Riotboard without an operating system (bare-metal)? What do I need? Thank you!
Its better to start with some existing linux distro supporting Riotboard rather than build from scratch.
Anyways you can tweak the bl, kernel later according to requirements.
Other way round as agrahambell mentioned there is a 6000 page reference manual for i.MX.
I guess upto boot level its fine to do from scratch, but to make full use of Apps processor it needs some OS stuff.
Its highly time consuming to start from scratch.
There are various real time (ish) patch sets for linux that you could apply, however linux was never designed to be an RTOS, so how well the patchsets do is up for discussion.
You might want to talk with tjmerics who seems to be porting QNX onto RIoT, see this thread: http://www.element14.com/community/thread/33862/l/riot-board-ethernet-problem
Generally if an existing RTOS runs you're better off using it, or like Thomas porting one onto the platform might end up being less work than starting from scratch yourself. This isn't specific to RIoT, most of the current boards, RIoT, RPi, Cubieboard, Odroid etc.. have SoCs that have reached a level of complexity that makes it very difficult to do useful bare metal stuff. You'd probably have more luck with something using a Cortex-M* series rather than a Cortex-A* for bare metal, but it really depends on what your eventual goal is.
Some examples of real time linux patches:
http://en.wikipedia.org/wiki/RTAI
Thanks for the answers! I will study materials)))) I think I'd better choose Cortex-A5 (ATSAMA5D3x). It is easier and more suited to my tasks.
there are some RTOS (to name a few xenomai, RTAI, RTlinux, uclinux-mic) based on linux kernel, but they were highly stripped to be RTOS.
linux kernel can be stripped down so that bare minimal features supporting hardware is present, which may be called as a tiny/micro whatever kernel it is.
the bulkiness in Linux distro mostly comes from the supported middleware which bloats(the downside) the entire distro, however this helps us to write apps faster(the upside) without being worried(reinvent the wheel) about the hardware.
Again RTOS depends on the what features we want to put in, its possible to strip the kernel by removing features you don't need like the huge Ethernet code base. Building a minimalistic kernel may help, try using "make allnoconfig", i never tried so cant comment much.
there are some RTOS (to name a few xenomai, RTAI, RTlinux, uclinux-mic) based on linux kernel, but they were highly stripped to be RTOS.
linux kernel can be stripped down so that bare minimal features supporting hardware is present, which may be called as a tiny/micro whatever kernel it is.
the bulkiness in Linux distro mostly comes from the supported middleware which bloats(the downside) the entire distro, however this helps us to write apps faster(the upside) without being worried(reinvent the wheel) about the hardware.
Again RTOS depends on the what features we want to put in, its possible to strip the kernel by removing features you don't need like the huge Ethernet code base. Building a minimalistic kernel may help, try using "make allnoconfig", i never tried so cant comment much.