AvrSide is a simple auxiliary tool to support using avr-gcc at Windows
platform. When I started with the avr family in my amateur electronics lab, I found
avr-gcc powerful and great but not suitable enough - especially for a beginner like
me. Then, I decided to build my own simple ide ("side") first. Everything is still
under construction - many options are to develop yet ( and many bugs may appear ;-).
The last snapshots are always available here.The program is free software, you can
use and develop the sources yourself under the terms of GNU General Public License version 2.0 or later.
Jurek Szczesiul , Elektronika Praktyczna. Home
page
Main features for today:
- SDI interface model with as much space for code as possible
- creating and managing single- or multifile projects with *.c, *.s and *.h source
files
- compile ( for single file ) and make / build ( for project ) operations
available
- no trouble with makefiles edition - you can directly set options you need
- compilation log file makes easy to learn avr-gcc tools calling and outputs
- different syntax highlighting for C source code and assembler files
- jump - to - error function for quick and easy code cleaning
- output avr - gcc assembler code preview for single file and whole project
- multifile project import from any other folder
- autocreating dependencies for header files
- libraries manager for easy creating and modifying own *.a archives
- simple symbols browser
- code templates and avr-libc functions autocompletion
- automatic hint of function declaration
- number of searching tools ( bookmarks list, TODO list, declaration hint, quick
current word searching )
- embedded ISP interfaces based on com port and USB .
AvrSide is not a sophisticated - uVision like - IDE with dockable areas of
settings,
options, output, errors etc. In normal mode we can see only main editor window with
source files tabs :
Tabs bar has two functions :
A.Sources navigator - let us quickly show required file ( with mouse click,
keyboard shortcut or popup file list ).
B.Simple project manager - files in editor tabs are simultaneously a project file
list. Adding / removing a tab with a new file means adding / removing this file to
project ( we can do it quickly with a project popup menu).
Such a solution let us control all the project contents without any additional manager
panel. However, there's no possibility to hide some tabs. Instead we can connect mostly
used files to group ( red tab captions ) and switch inside group with dedicated keyboard
shortcut. And - when a file is fully completed we may remove it from tabs and add it's
relocatable *.o output to linker options. Source won't be compiled any more then, but
still will be linked.
Auxiliary informations are shown - only when needed - in independent windows and
dialogues:
1. Multifunction (errors & warnings or search results) errors window. From here
we jump to an appropriate line in source code ( with enter or double click ).
2. Asm code preview window. Shows relocatable code for single file or full linker
output code. Clicking C source line (with opened asm preview) displays an appropriate asm
block ( of course if exists after optimisation ).
3. Symbols window. Lists symbols used in project ( with declaration hint in status
bar ). Enter / double click searches current symbol in project, CTRL+enter inserts
current symbol into code.
4. Projects browser. Searches and lists projects in AvrSide\Projects
folder. A short project description may be added. It is assumed that every project
is located in separated subfolder of \Projects.
5. Options dialogue. There's a place to set configuration of uP, compiler, linker
and IDE itself. Many options are omitted yet ( as section addresses for example ) but
they may be added as text if needed.
(3 little left panels have right-click context menu to set font and background of
main windows ).
5. Simple library manager to browse *.a archives and create your own ones.
DO NOT use to experiment with avr-libc system archives : erased modules will be lost .
6. Code completion, avr-libc functions/constants and structures fields
drop-down lists.