NovaEmbed User Manual

From Novasomindustries Wiki
Revision as of 10:42, 21 April 2021 by Admin (talk | contribs) (Document revisions)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


This manual explains how to use NOVAembed. NOVAembed is an application that covers most of the features involved in basic setup for the software development on NOVAsom board. Graphical user interface makes it extremely user friendly and easy to use, even if the user has little experience in the embedded world. Each operation described below can be accomplished via command line too. See application notes at for details. Further updates, support, software and documentation available at

Note that :

  • Contents and illustrations may differ from your device, depending on the software version, OS version or product improvements that NOVAsom Industries judges important, and are subject to change without prior notice. Always stay updated visiting .
  • Descriptions are based on the device default settings.
  • Modifying the device, the device’s operating system or installing software from unofficial sources may damage the device itself and lead to data corruption or data loss, or worst, hardware damage. Such actions will violate your NOVAsom Industries license agreement and void your warranty.
  • Always use genuine NOVAsom Industries accessories. The supplied items are designed only for this device and may not be compatible with other devices. To have further information on this specific item visit .
  • Default applications on the device are subject to updates, and support for these applications may be withdrawn without prior notice. If you have any questions about an application provided with the device, please contact NOVAsom Industries at .
  • Software, audio, wallpaper, images, and other media supplied with your device or found in the appropriate SDK are licensed for limited use. If you extract and use these materials for commercial or other purposes, you may be infringing copyright laws. As a user, you are fully responsible for the illegal use of media.

System requirements

NOVAembed requires to run on a virtual machine with all the basic development packages are installed. The solution adopted is to distribute an entire virtual machine, already configured to run NOVAembed and all the associated tools.

This document is valid for the following boards:

  • P-line
  • U-line
  • M-line

Launch NOVAembed

Clicking onth NOVAembed icon Novaembed icon.jpg will launch NOVAembed.


When NOVAembed starts you will get the following window.
Figure 1 : The Welcome screen

Local pdf documentation

There is some documentation on the initial system. Clicking on the appropriate button the system pdf viewer will be started.
In any case the source for the documentation is the link pointed at Documentation and Application Notes below.

Check for updates button

Always keep your sdk updated: click this button to check for updates.
A script will run on terminal, if updates are available, confirm to download and install (hit: Y).
The terminal will be closed automatically at the end of the procedure.
In case of NOVAembed updates the NOVAembed application will close and must be manually restarted.

View Updates Log button

You can also check the updates that has been applied to your system clicking on View Updates Log button.
In case of malfunction this can be useful to identify the problem.

Version field

The Version field indicates the current version both for NOVAembed and Tolls in the Utils directory. When a version changes there are strong reason you need to recompile the whole system ( e.g. boot, kernel and file system ), but normally is a matter of some seconds, as the system has to maintain the sync between different versions. This will be explained better in th BKF Tab paragraph below.

The Board drop down

The Board drop down selects between the NOVAsis boards. Each time the Board dropdown is changed the compilation of the boot loader, the kernel and the file system is checked and if one of the components is missing the relative object is invalidated, and the green sign in Figure 2 will be red. Only when all the signs are red the uSD write area will be enabled.

Boot, Kernel and File System, the BKF tab

Clicking on tab Boot Kernel FileSystem will display the following page:


The BKF screen

The Boot Kernel FileSystem tab ( or BKF tab ) is a quite complex window.

This window is divided in five main areas : The Boot loader area, the Kernel area, the File System area, the Pre compiled File Systems area and the WritemicroSD area.

Boot Loader area

The Boot loader area is where the boot loader is compiled. This is the simpler area, as only one button is present ( Compile ) and no further actions can be performed. After a successful compilation there will be the green sign in this area. In case of failure the sign will be red, and the WritemicroSD area will be disabled.

Kernel area

The Kernel area is where the kernel can be compiled. There are some options in this area:

  • Xconfig : starts the usual xconfig for linux kernel
  • Compile : compiles the kernel, and normally this is is enough
  • Rebuild all : if happens that the kernel is too messed this will clean up the kernel and rebuild it again. On a decent machine ( 2 cores with 4GBytes of ram ) this process lasts for 10 minutes or less.

This operation creates and installs the modules on the actual file system, if present.
After a successful compilation there will be the green sign in this area. In case of failure the sign will be red, and the WritemicroSD area will be disabled.

File System area

This is the more complex area, and probably the most used ones, together with the Write microSD area below. This is due there are normally more iterations on the correct composition of the file system than all the other steps.
The first operation that should be done is to decide if a current file system is the one that will be used on your application or if you need to create a new one.
The tab under the File System area title does this : selecting Existing an already present file system can be selected.


Figure 3 : Select an existing file system

In this case there was already a compiled file system on the sdk, so this has been selected.

Selecting Generate New opens a different tab composition :


Figure 4 : Create a new file system

In this case the field New File System Name must be filled with an appropriate name and the Select Configuration drop down can be used to select a basic configuration.
In the example above the configuration is for the Apache Web Server.
The Generate button will create a new file system that can be compiled with the Deploy button described below.
Note that the configuration file for a new file system can be saved and will be immediately present in the drop down menu, so the user can save all the configurations he needs and switch between them in seconds.

Reference Server On all the NOVAembed generated file system there are some scripts in the /bin directory to update the system through the LAN or the WiFi, and the board need to know where to download the updates.
So, the Reference Server is the IP from which the NOVAsom board will download files and applications, and in case of update download the kernel and the file system.
This IP is the IP configured on the NOVAsom board as default, but can be changed clicking on the check box and modifying appropriately the field Reference Server with a valid IP address.
It is also possible to set the reference server IP on the microsd card at any time.

Store User app in /bin
Pressing this button rises a popup where to choose which application to store in the /bint target directory.
If the application doesn’t change is enough to press this button once, and subsequent modifications to the file system will maintain the app in the /bin directory.
In case of a new file system this should be done the first time.

Launch menuconfig
To modify the configuration file of the selected file system you can activate this button, that will start the ncurses dialog form of Busybox.
This operation will run only if a valid existing file system is selected. Browse the menu and select the tools that will be added to the file system, then Save and Exit .

Launch busybox-menuconfig
To modify the configuration file of the busybox file system you can activate this button, that will start the ncurses dialog form of Busybox.
This operation will run only if a valid existing file system is selected. Browse the menu and select the tools that will be added to the file system busybox, then Save and Exit.

Add this configs to available configurations
The configuration files dropdown box is a dynamical list, and shows the configuration files present on the disk in a certain moment.
However, the list can be populated with your own configuration files, so when you have a known good configuration you can add it to the list activating this button.
You can choose the name you like.

Deploy Starts the file system compile.
In case of a modular kernel all the modules inside the kernel will be installed in the appropriate directory of the file system.
After a successful compilation there will be the green sign in this area. In case of failure the sign will be red, and the WritemicroSD area will be disabled.

Ready to write on uSD

Figure 5 : The uSD functions enabled

After a successful compilation of all the components ( boot, kernel and file system ) there will be a green sign in each corresponding area. In case of failure the sign will be red, and the WritemicroSD area will be disabled.
In Figure 5 you see a ready to burn situation in wich all the components has been compiled and ready to be written on the uSD.

BSP Factory


Figure 6 : The BSP Factory screen for a M7 board

In the BSP Factory screen the user can select the behavior of it’s own machine, configuring almost everything there is on the I/O connectors down to the existence of PCI, SATA or other things.
The system used peripherals are already configured, and can’t be modified, so a very bare system can have everything in the GPIO state.
All the peripherals are in the form of check boxes, and selecting a peripheral can disable some other, depending on the i.MX6 multiplexing : in the example above, the SPI#2 cannot have a second slave select signal because is shared with the SPI#1 and the SPI#1 uses it. The appropriate Hardware User Manual of the board can explain better and in details what configurations can be applied.
In the right part of the screen there are the connector pins, and changing or adding a function will change the pin on the connector symbol.
As per the Hardware User Manual of the M7 board, for example, there are colors that indicate the pin function, where some are fixed, some other are power supply and some other are GPIO at fixed voltage or variable voltage. For the details look at the Hardware User Manual of the selected board.
The buttons in this screen are:

  • Reset all pins to I/O : when everything is too messed up clicking on this pin set everything to I/O function.
  • Set defaults to : sets the pin I/O characteristic to a specified value. This value is stored and all subsequent operations will use this value.
  • Load .bspf and Save .bspf : load and save a .bsp file ( an intermediate language to describe the pin usage ) , used for the configuration of the items in this screen.
  • Save <.bspf_file_name> and generate dtb : when configuration is finished the tool will generate a .dtb file, usable for flashing or update. Clicking the checkbox above this button opens a gedit session with the .dts file before generating the .dtb file. Please note that this file can be changed but subsequent runs will overwrite the dts file, effectively deleting all the modifications.

Figure 7 : The BSP Factory screen for a M7 board with all pins cleared



Figure 8 : The tools window

Open CodeBlocks IDE. Info about CodeBlocks available at
See application notes about CodeBlocks IDE configuration.

Compare two files with meld tool. Click Browse to select the files to compare, then choose Start meld . Meld support available at

Qt Creator
Launch QtCreator. See application notes about QtCreator IDE configuration.

External File System


Figure 8 : The External File System window

In the External File Systems tab the user can select precompiled images to be stored on uSD.
Those images are checked against the Novasomindustries server, and the availability increases dayly.
Switching to this tab downloads from the Novasomindustries server the image list and fills the fields in the Available File System area.
An image can be downloaded clicking the Download button, and the image will be stored on the SDK local disk.
After the operation completes, the image will appear in the drop down list in the Pre Compiled File System area, and can be written on the uSD.


Novasom Industries Italy

Headquarter: Via Orbassano 2/a 10048 Vinovo (TO)

Phone (+39) 011/9004003

Fax (+39) 011/9653274


Web page :

Document revisions, references and notes

Document revisions

  1. SUM-NOVAembed-2019.7-V1.0 --- 07/05/2019 Update

External references

See the NOVAsom Industries official website:


Information contained in this publication regarding device applications and the like is provided only for your convenience and may be superseded by updates.
It is your responsibility to ensure that your application meets with your specifications.
Use of NOVAsom Industries devices and software in life support and/or safety applications is entirely at the buyer’s risk, and the buyer agrees to defend, indemnify and hold harmless NOVAsom Industries from any and all damages, claims, suits, or expenses resulting from such use.
No licenses are conveyed, implicitly or otherwise, under any NOVAsom Industries intellectual property rights.