Compile and Load Image to ARTIK 05X
With the SDK loaded onto the host system, you're ready to configure, code, and go!
Configuring Build
Pre-defined configurations of the ARTIK 05X are available through the SDK.
Go to the Tizen RT build environment directory.
cd ~/ARTIK05X/tinyara/os
Run the script for your chosen board/configuration.
./config.sh <board>/<cfg>
The board name will be artik053
, artik053s
, or artik055s
depending on your module type. The <cfg>
options are in the build/configs/artik05X/README.md
file. For your first run through, we suggest you use the configurations shown below.
Module type | command |
---|---|
ARTIK 053 | ./config.sh artik053/nettest |
ARTIK 053s | ./config.sh artik053s/typical |
ARTIK 055s | ./config.sh artik055s/typical |
Certain intermediate releases on GitHub had a bug with the typical setting. If the compilation fails, just use nettest
for all devices.
The script will initialize the Tizen RT configuration, readying it for building. You can read more about how this works in the Coding section of the next article.
Compiling
Building Tizen RT, complete with all of your apps and code, is simpler than you might expect.
You should compile the initialized configuration once, unmodified, to verify that it will build and run as expected. After that, you'll want to try coding changes to the files using your favorite editor. Wait until the next article so you'll have all the tools available.
Compile First Time
From your bash or Linux prompt:
-
Make sure the build process can find the toolchain. Verify that the setting is correct (you should have set it in
~/.bashrc
).
echo $CROSSDEV
arm-none-eabi- -
Change to the Tizen RT operating system directory.
cd ~/ARTIK05X/tinyara/os
-
Build the image.
make
If any of the included applications have unmet dependencies, you could get compilation errors. If so, disable the applications(s) from the menu (refer to the next article) and try again.
Building creates a tinyara_head.bin
file in the tinyara/build/output/bin
directory. It contains the compiled Tizen RT binary image for the ARTIK 05X.
"s" modules: The compile will fail if you have not copied the codesigner
tool as noted here.
Subsequent Re-Compile
After you have built and loaded the image the first time, you'll probably want to make some code changes and recompile.
-
When you are ready to recompile, run:
make clean
-
If you optionally want to start again from the original project:
-
Run
make distclean
-
Set the initial configuration again as you did in Configuring Build.
-
-
Run
make
from theos
directory as before.
Signing with 'codesigner'
For "s" modules only, you need to create a signed version of the image or else it cannot run on the secure module. This signing process happens automatically when you use the scripts described below.
Loading Images
The ARTIK 05X hardware JTAG port is accessed through OpenOCD. Prepared scripts take care of all the necessary flash memory operations.
- Make sure you have the FTDI
libusb
driver installed to enable JTAG (refer to previous article)
Use a bash window on the PC to run the scripts and perform uploads, not the terminal emulator window (which goes to the Starter Kit debug interface). The scripts automatically identify and use the correct USB connection for communicating over JTAG.
-
Open a bash window on your development PC.
-
If you are using VirtualBox, switch the FTDI USB ports to its control.
-
Go to the Tizen RT
os
directory for your installation. For example:cd ~/ARTIK05X/tinyara/os
-
Flash the required images. Simply enter:
make download ALL
Always check to make sure that all Flash commands were fully executed. If it exits part-way through, retry the ones that did not complete.
Does it exit immediately and not do any flash update? Maybe you forgot to switch the ports over to VirtualBox control (Devices » USB » FTDI…).
Also try hitting the RESET button on the board.
That's all there is to it! The output of the script will display the fusing of each of the binary images associated with the ARTIK 05X module. Once complete, the ARTIK 05X module is ready to use.
There are download options you can choose instead of "ALL" to save time by flashing just a particular binary file of interest.
TizenRT binary | OS |
Bootloader binaries | BL1 BL2 |
Firmware binaries | SSSFW WLANFW |
ROMFS image | ROMFS |
Running Applications
Once an image is loaded onto the ARTIK 05X module, you'll use the UART interface to connect through the terminal emulator console as you did in the introductory section.
- If using VirtualBox and your terminal emulator is a Windows application, switch the USB ports back to Windows control.
- Open a terminal emulator as usual. The screen will initially be blank.
- Press Reset.
You should see messages related to the loaded Tizen RT versions. Once the boot messages are finished, hit Enter on the terminal keyboard to get a TASH >>
prompt.
The TASH
shell CLI interacts with the module to run any pre-loaded application, including your own.
Tutorial Example
A good place to try out this procedure is the sensorbd_demo
application; with it, you can run the Blink an LED tutorial.
Proceed to the Kconfig
article to install the customization tool, and follow its example to include the Sensor app in your TASH>
list.
Onboarding Example
To recreate the onboarding environment that your ARTIK 05X module arrived with, follow these instructions.
- Change to the
artik
branch of Tizen RT as noted here. - Configure the build from
tinyara/os
using./config.sh artik053/typical
(instead ofnettest
). - Build and flash as usual.
You can do this without installing or running the Kconfig
tool.
Security Example
The "s" module program loaded by the 'typical' configuration gives you the see
program at the TASH>
prompt. Try running see cert
and you'll get the certificate from the module. Type see
by itself to list the other options.