%&'"()*+,,-,,.".
% #'6
% 4#'
In order to manage the platform resources, a complete library of APIs, for
GNSS management, Internet connection, management of the interfaces, GSM/
GPRS functions and other services is made available. Thus, the developer
does not need to consider about low level hardware drivers and protocols, and
can focus on the application by means of user-friendly APIs.
% +7
The boot loader is the booting system that manages the kernel and file system
flashing.
It waits for 0 seconds before starting up Linux, but this time it can be changed
with the variable bootdelay. During this time, if the boot loader receives a
character different than SPACE through serial port, it starts up Linux
immediately. If it receives SPACE, it enters in command mode; therefore the
received characters are interpreted as commands. Once finished in command
mode, send boot command for Linux start up.
The boot can be customized with the necessary u-boot environment variables,
which can help the user to recover from unexpected crashes of the FS that
prevents it to run, or remotely make an OTA upgrade of the FW. It follows an
example to show how the u-boot environment variables can be used for this
purpose:
fw_setenv update 1
fw_setenv availableupdate 'ubifsls /home/debian/update/ubi.img'
fw_setenv flashupdate 'ubifsload 0x82000000
/home/debian/update/ubi.img; nand erase.part NAND.file-system; nand
write 0x82000000 NAND.file-system ${filesize}; setenv update'
fw_setenv updatecmd 'ubi part NAND.file-system; ubifsmount
ubi0:rootfs; if run availableupdate; then run flashupdate; else
echo "Nothing to update"; fi'
fw_setenv bootcmd 'if test -n $update; then echo Running
update!!!!...; run updatecmd; fi; run nandboot'
fw_setenv and fw_printenv are the tools you need to set and get environment
variables from the owa4x system.
As shown, u-boot variables can contain conditional statements that can be run
by the user.
The example will flash the file system if a file /home/debian/update/ubi.img
exists. Take into account that this is an example, which could (should) be
easily improved (e.g. from the security point of view), as writing the flash
memory is a critical function.
% 75
This is a Linux standard kernel, version 4.4.19. As this is a standard kernel, PC
developed applications are easily made compatible with owa4x platform. Also
this kernel can be updated to follow standard kernel revisions.
% #'
The file system is based in a Debian distribution, codename Jessie.
%! ")#'
/-