AVR Release
IAR Embedded Workbench
Release consists of the RTOS sources and three sample projects - see
Release description for details. Each sample located in separate
folder. Structure of test project folder (folders are in brackets '[]'):
[Config] - linker scripts and other utilities
[Exe] - executable product[s]
[List] - listings and other temporary text files
[Obj] - objects and other intermediate files
[settings] - IAR IDE auxiliary files
[Src] - test project sources
slon.vpj - SlickEdit project file
slon.AVR.vpw - SlickEdit workspace file
SConstruct - Scons main script file
slon.ewd - IAR IDE auxiliary file
slon.ewp - IAR IDE project
slon.eww - IAR IDE workspace
slon is test project name.
Structure of the RTOS folder:
scmRTOS
Common - common RTOS sources
AVR - portable part
See Distribution section and below about release using manners.
There are several ways to build any sample.
The first is to use IAR IDE. Just launch IDE, open appropriate workspace (*.eww file) and build the project.
Another way is to employ SCons build system. Scons is
actually Python script, so Python interpreter is necessary to use
SCons. Python interpreter can be downloaded from Python's official site.
SCons, in a certain sense, is analog of popular build utility make, but much more
powerful because of comprehensive underground of programming language (Python).
To use SCons:
- download and install Python interpreter v2.4.
- download and install SCons tool.
- launch SCons by typing tool name in command line in folder
where SConstruct file (SCons main script) located .
SCons will build the project.
If user want to use his own build system he has to specify the following
command-line options for various tools:
-S
-v3
-M()
-LList\
-OObj\
-DENABLE_BIT_DEFINITIONS
-D__ATmega32__
-ISrc
-I../scmRTOS/Common
-I../scmRTOS/AVR
-I$TOOLKIT_PATH$\AVR\inc
-I$TOOLKIT_PATH$\AVR\inc\dlib
-D__<MCU>__
where "<__MCU__>" - device name, for example: __ATmega32__
Important! Device name must be specified for uCs which have more then 64 kbytes of flash. Otherwise incorrect work with RAMPZ register occured.
Currently these devices are:
ATmega103
ATmega128
ATmega1280
ATmega1281
ATmega2560
ATmega2561
AT90CAN128
AT90USB1286
AT90USB1287
AT90USB1287
-e
--eec++
--cpu=m32
-s9
-ms
-lC List
-o Obj
--preprocess=c List
--silent
--debug
-DENABLE_BIT_DEFINITIONS
-ISrc
-I../scmRTOS/Common
-I../scmRTOS/AVR
-I$TOOLKIT_PATH$\AVR\inc
-I$TOOLKIT_PATH$\AVR\inc\dlib
-s __program_start
-r
-xsmeo
-f Config\lnkm32s.xcl
-l List\slon.map
-o Exe\slon.d90
dlAVR-3s-ec_mul-sf-n.r90
-I$TOOLKIT_PATH$\AVR\lib\dlib
Note
where $TOOLKIT_PATH$ - path to folder with toolkit installed.