Embox goes to Vostok

As many people on the hub probably know, we are in the project Embox we like to run on domestic processors.

This article is a kind of (extended) announcement that Embox has been transferred to microcontrollers of another microelectronics manufacturer in the Russian Federation. This is about technology platform “Vostok” from Novator LLC, based on microcontrollers from the Element Group of Companies.


Let me remind you that we started our study of domestic platforms with the Multiclet processor and immediately received confirmation of a simple truth: without an ecosystem, a processor, no matter how good (fast, powerful, energy-saving) it is, is not particularly needed by anyone. It is obvious that a modern ecosystem (at least the basic one) can only be built on open source software, because there are ready-made and debugged compilers, development tools, and operating systems or frameworks replacing them.

But at the same time, even open source software requires adaptation to the appropriate chip, board, platform. It is clear that this can only be done by very qualified developers who can themselves contribute to the underlying projects. The ability to contribute is necessary because maintaining your own branch of a project is a very expensive task, and even the most qualified developers in a very large company will not be able to cope with this task over a long period of time.

Hence the natural desire to use the code/project that you can influence, for example, add support for your processor. Yes, you will support this part, but the costs of maintenance and synchronization will be significantly lower.

In the scheme I describe, everyone can recognize the model by which Linux develops. I’m talking, first of all, about the embedded direction, which is distinguished by a very diverse equipment. The presence of a huge amount of software for all occasions completely pays for the adaptation of the equipment carried out by the chip manufacturer itself.

I will not repeat a couple of Linux disadvantages that were described in this article, I will only remind you that on microcontrollers it is redundant, since traditionally these devices are not universal, but specialized systems with fixed functionality. Microcontrollers usually use some small RTOS, such as FreeRTOS, the disadvantage of which is the need to develop all the functionality of the device. In essence, this is development from scratch, albeit from ready-made bricks, since such OSs do not have a portable API. And of course, there are ready-made bricks for a limited range of tasks; for example, running Qt or OpenCV of such RTOS is not possible.

The Vostok technology platform is based on the idea of ​​building an ecosystem around domestic electronics by providing users with ready-made software and hardware solutions. Moreover, these solutions are aimed at a very wide class of users: from teaching robotics to schoolchildren (an analogue of ARDUINO has already been developed) to industrial automation and robots.

Therefore, when Vostok needed to choose a base RT OS for its platform, the choice was obvious and inevitably led us to cooperation, because Embox:

  • open project,

  • allows you to use the Linux ecosystem,

  • allows you to develop as usual,

  • allows you to get a system optimized for specific purposes,

  • has support in the Russian Federation.

At the moment, Embox has been ported to the Vostok Uno-VN035 board based on a microcontroller 1921VK035.

This microcontroller has only 16 KB of RAM and 64 KB of ROM (FLASH). This was enough to use Embox, and the Vostok developers achieved fairly decent functionality, but still this amount of memory is only enough for a limited number of tasks.

The main purpose of porting was to debug the basic drivers, as well as test the development and interaction processes. As I already mentioned, the ultimate goal for Vostok is to create a hardware and software platform, and here support, development, and maintenance are very important.

In addition, a new MK from NIET has already been announced at the Microelectronics exhibition K1921VG015, which is based on the domestic RISC-V core, has much more developed peripherals, a whole megabyte of ROM (FLASH) and two blocks of RAM (256 and 64 kB). This MK will be the heart of a new, already existing board in the Vostok technology platform series. And its resources are already quite sufficient for a very wide range of systems, including automated process control systems and robotics.

In conclusion, I will give short instructions on how to run Embox on the Vostok UNO-VN035 platform

  • Connect the board using jtag (signals (PA2 SWCLK, PA3 SWDIO, GND) pinout shown Here

  • Download and build openocd from DC Vostok with support for 1921VK035 from github (https://github.com/DCVostok/openocd-k1921vk )

  • go to the tcl folder in the compiled openocd

  • Erase if you need the original bootloader. For this:

    • While holding down the user button, press and release the reset button.

    • erase all flash memory using command
      openocd -f interface/stlink-v2.cfg -f target/k1921vk035.cfg -c “transport select hla_swd; init; reset init; flash probe 0; k1921vk035 srv_erase; exit”

  • Connect USB-UART via USB type-C connector

  • Open the console:
    sudo minicom -D /dev/ttyUSB0 -b 115200

  • Connect openocd to the board
    sudo ../src/openocd -f interface/stlink.cfg -f target/k1921vk035.cfg

  • Collect Embox:
    make confload-platform/vostok/vostok_uno_vn035; make

  • Flash Embox using gdb

In the console you can type commands, for example, control an LED

The instructions are described on our wiki https://github.com/embox/embox/wiki/Vostok_UNO_VN035

More information on the board itself on the manufacturer’s github https://github.com/DCVostok/vostok-1-frmwrk-vn-arduino

I will also inform you that work on the K1921VG015 MK is underway! And already in mid-December a webinar is planned on development on the new Vostok platform board using Embox. Stay tuned. 🙂

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *