/OpenInsider-lib

The shared library for the OpenInsider project

Primary LanguageCGNU Lesser General Public License v3.0LGPL-3.0

OpenInsider project

The project OpenInsider is aimed to develop an GUI and target-independent firmware for real-time watch and edit of variables inside the embedded device. The protocol is constructed and implemented independent on the link layer of communication. Therefore many link layers can be implemented (serial, CAN or Ethernet). The addresses of the watched variables are read from binary ELF file, so the user can easily specify the variable name.

The first versions of this project is intended to be compatible with Freescale tool called FreeMASTER at message level over serial link, but this tool is intended to be run on other architectures than Motorola M68k. (ARM, Atmel AVR etc.)

OpenInsider-lib

This repository contains shared library code meant to run on the target machine.

Status

The OpenInsider project is currently work in progress. Not all functions are supported, yet.

IMPORTANT: The API of the library is NOT yet considered stable! Please do not rely on it, yet! Changes to function names, macro names etc. can happen at any time without prior notice!

Prerequisites

Building

The library is built in the bin directory by typing:

$ make TOOLCHAIN=<your compiler toolchain> TARGET=<target cpu>

Currently works the arm-gcc toolchain and stm32f4 target

make TOOLCHAIN=arm-gcc TARGET=stm32f4

Tweaking the library

There are some additional variables, specfied in the make command that can affect library building process.

make VAR=value

Available variables:

INSIDER_BUFFER_SIZE=256

This parameter sets the size of receiving and transmitting communication ring buffer. Be aware that the value must be 2^n, and must be in the range <64,256> so that currently only values 64,128 and 256 are supported. Larger values will break compatibility with FreeMASTER and smaller values will break the FreeMASTER board detection process.

INSIDER_BOARD_FW=0x0100

This parameter sets the firmware version number in the information structure in the board detection process. The value is two bytes, where high byte is major version number and low byte is minor version number.

INSIDER_BOARD_NAME="OpenInsider board driver"

The board name string returned in board detection process. The string is truncated at 25 characters.

Coding style and development guidelines

See file HACKING.

License

The OpenInsider code is released under the terms of the GNU Lesser General Public License (LGPL), version 3 or later.

See file COPYING.LGPL3 for details.