cancel
Showing results for 
Search instead for 
Did you mean: 

embKernel RTOS and middleware

ramon
Associate II
Posted on March 02, 2013 at 00:41

Hi,

embKernel is a new project which tries to provide an RTOS, TCP/IP, USB, DRIVERS, LIBRARIES,... from a single source. The C++ source code is available at: 

https://sourceforge.net/projects/embkernel

. For the time being examples running on the STM32F4DISCOVERY + DM-STF4BB Base Board and one for the SM32F3DISCOVERY board are available. For instruction and description see the wiki pages on the sourceforge site (

http://sourceforge.net/p/embkernel/wiki/Home/

). For the lazy one a zip file with precompiled binaries is also available on SF site.

Regards,

Ravaz

#tcp/ip #ftp #me-too #usb #rtos #http #websocket #fat
15 REPLIES 15
dthedens23
Associate II
Posted on April 30, 2013 at 17:46

Using C++ with FreeRTOS is a pain.  But you make valid points

I would also like to see some performance figures.  Both CooCox and ChibiOS publish performance figures on common ST parts.

I also could not find a PDF or HTML API reference documentation.

ramon
Associate II
Posted on April 30, 2013 at 20:47

Those are the main differences I see compared with other RTOS.

  1. All code is written in C++ with all the advantage coming with, like inheritance, operators overload, templates...
  2. EmbKernel is more then an RTOS. In the same codebase there is and RTOS, a TCP/IP stack, a FAT file system, an USB stack and other libraries. No need to combine code coming from different sources, everything comes from the same place.
  3. Stream in and stream out interfaces are implement for objects like Tcp sockets, Uart, USB endpoints and Files (ongoing). This reduces memory usually needed for buffering and code can be easily reused. For example the same function LibStringFormat::printf(LibStreamOut& stream, const char* format, ...) can be used with any object implementing the LibStreamOut interface.

The API documentation is my next priority if I see some interest on the project, same for the performance figures which in any case should not differ much from other RTOS.

ramon
Associate II
Posted on May 09, 2013 at 23:46

I just uploaded new binaries on the SF page. The new binaries improve the capabilities of the smt32f3discovery example. As shown on the image below it is now possible to plot the data coming from the on boards accelerometer with the PC application through USB. 

Please check the SF wiki page (

http://sourceforge.net/p/embkernel/wiki/Home/

) for more information on how to run the examples.

0690X00000604yiQAA.png

ramon
Associate II
Posted on July 14, 2013 at 01:05

I've uploaded new demo file on the SF page which implement an FTP and HTTP server for the stm32f4discovery demo.

ramon
Associate II
Posted on November 24, 2013 at 01:58

Embkernel now implements WCID usb driver installation (see

https://github.com/pbatard/libwdi/wiki/WCID-Devices

) to automate the driver installation on windows. The stm32f3discovery example is using this functionality.
ramon
Associate II
Posted on December 22, 2013 at 02:25

Websocket (

http://en.wikipedia.org/wiki/WebSocket

) has been implemented on embkernel. The stm32f4discovery-demo binary is now bundled with a small webapge which make use of it.