Global Sources
EE Times-Asia
Stay in touch with EE Times Asia
 
EE Times-Asia > Embedded
 
 
Embedded  

Utilising ASOS for the Internet of Things (Part 2)

Posted: 29 Jul 2014  Print Version  Bookmark and Share

Keywords:Internet of Things  IoT  RTOS  SynthOS  application specific operating system 

With the building blocks described in Part 1 in this series, we are now ready to go on to creating the SynthOS project file, which is a text file defined by the user and has the name project.sop. Each field within the file assumes a default value if you do not specify an explicit value, so you need only specify those fields that are relevant to your application. Each project has its own unique SynthOS project file, an example of which, illustrating all possible fields, is shown below.

# SynthOS Project File
[tool]
version = 1.00

# This is the start of the project section.
[project]
project_name = Project X
target = 68HC05
processor_size = 32
language = C
scheduler = round_robin
contact = Vladimir Nabokov
company = PaleFire Corporation
website = www.palefire.com
email = vlad@palefire.com
# Description of the project. Use a "\" to continue on the next line.
description = Mobile Phone Prototype \
This is the first version. \
I hope you'll like it.
# The compiler directives. These are used to specify DEFINEs and include paths needed by
# your application. Use a "\" to continue on the next line.
compiler_directives = -D FOO \
-I /usr/local/include \
-D DUMMY=5

# The source code files are listed in the source section
[source]
file = ConfirmDialog.c
file = AboutDialog.c
file = ../BigTask.c
file = F:/SynthOS/Code Development/SmallTask.c

# The global interrupt routines are listed in the interrupt_global section

[interrupt_global]
enable = ON
getMask = intGetIntMask
setMask = setIntMask
enableAll = intEnableAll

# Each task has an associated [task] section.
#Task1
[task]
entry = Task1_routine
period = 1 # Used by the Round Robin Scheduler, ignored by the Priority Scheduler
priority = 0 # Used by the Priority Scheduler, ignored for the Round Robin Scheduler
TCBQ_depth = 10
type = call

# Task2
[task]
entry = Task2_routine
period = 3 # Used by the Round Robin Scheduler, ignored by the Priority Scheduler
priority = 2 # Used by the Priority Scheduler, ignored for the Round Robin Scheduler
TCBQ_depth = 3
type = loop

Comments. All characters in a line after a pound character ("#") are ignored as comments.

Tool selection. The project section is preceded by the statement [tool] as shown in the example below.

# SynthOS Version
[tool]
version = [0-9].[0-9][0-9]

This tool parameter specifies the version of SynthOS that is to be used with this project file. It is specified by the keyword version followed by a version number. This allows users to specify a specific version to use if they do not want to upgrade to a new version in the middle of a project.

Project section
The project section is preceded by [project] as shown in the example below. All of the items in this section define the user's project.

# This is the start of the project section.
[project]
project_name = Project X
target = 68HC05
language = C
scheduler = round_robin
contact = Vladimir Nabokov
company = PaleFire Corporation
website = www.palefire.com
email = vlad@palefire.com

Project name. This parameter defines the name of the user's project. This simply becomes a comment in the synthesised code for documentation purposes.

Target. This parameter defines the processor that is to be targeted by SynthOS. This currently becomes a comment in the synthesised code for documentation purposes. In the future it may change the synthesis process to take advantage of processor hardware resources.

Processor size. This parameter defines the bit-size (e.g. 8, 16, 32, 64) of the processor that is to be targeted by SynthOS. This currently becomes a comment in the synthesised code for documentation purposes. In the future it may change the synthesis process to take advantage of processor hardware resources.

Language. This parameter defines the computer programming language of the input source code and output source code. This currently becomes a comment in the synthesised code because C is the only programming language supported.

Scheduler. This parameter defines the task scheduling algorithm used for this project. The supported options are currently round_robin and priority.

Contact. This parameter defines the person responsible for the project. This simply becomes a comment in the synthesised code for documentation purposes.

Company. This parameter defines name of the company that is creating the project. This simply becomes a comment in the synthesised code for documentation purposes.

Email. This parameter defines the email for the person responsible for the project. This simply becomes a comment in the synthesised code for documentation purposes.

1 • 2 • 3 Next Page Last Page



Article Comments - Utilising ASOS for the Internet of T...
Comments:  
*  You can enter [0] more charecters.
*Verify code:
 
 
Webinars

Seminars

Visit Asia Webinars to learn about the latest in technology and get practical design tips.

 
 
Back to Top