Thursday, January 29, 2009

Reverse Stack Execution

0 comments
Reverse Stack Execution

Reverse Stack Execution


Abstract
Introducing variability during program execution is an effective technique for fighting software monoculture which enables the quick spread of malicious code such as viruses and worms. Existing works in the area of automatic generation of execution variability have been limited to instruction randomization and heap allocation randomization, even though stack overows are the predominant attack vectors used to inject malicious code. We present a compiler-based technique that introduces stack variance by reversing the stack growth direction, and is thus able to close this loophole. In this paper we discuss the steps necessary to reverse the stack growth direction for the Intel x86 instruction set which was designed for a single stack growth direction. The performance evaluation of our approach shows a negligible overhead for most applications. For one of the benchmark applications, we see a small performance gain

Efficient Binary Transfer of Pointer structures

0 comments
Efficient Binary Transfer of Pointer structures

Efficient Binary Transfer of Pointer Structures


SUMMARY
This paper presents a pair of algorithms for output and input of pointer structures in binary format.Both algorithms operate in linear space and time. They have been inspired by copying garbage collection algorithms, and make similar assumptions about the representations of pointer structures.
In real programs, the transfer of entire pointer structures is often inappropriate. The algorithms are extended to transfer partitions of a pointer structure lazily: the receiver requests partitions when it needs them.A remote procedure call mechanism is presented that uses the binary transfer algorithms for communicating arguments and results. A use of this as an enabling mechanism in the implementation of a software engineering environment is discussed.

Binary Data Processing Language

0 comments
Binary Data Processing Language
Programming Languages and Translators
Binary Data Processing Language (BDPL)

So, what is BDPL?
The purpose of the Binary Data Processing Language is to provide the machinery to
programmers to develop applications that parse, extracts and processes information from binary
files in a facile manner. The language aims to model binary input files as a data type with a
specified layout, and provide mechanisms to exploit these data types to quickly and painlessly
extract various pieces of information from any binary file format.

Addressing Peripherals As Datastructures In C

0 comments
        Addressing Peripherals as Data Structures in C
        Abstract
        A DSP’s peripheral-specific registers can be manipulated in C. Two
        methods are presented for handling this task. Each method has
        different advantages and disadvantages.
        Method 1
        is very useful for addressing peripheral or memory buffers
        that are device specific.
        Method 2 is preferred for addressing peripherals or memory buffers
        which are not device specific (i.e., peripherals are user specified).
        Details of both methods and short code listings are used to describe
        the techniques.

Sunday, January 4, 2009

Embedded and Real Time Linux articles

0 comments
Articles on Embedded Linux Basics , Applications, Optimazations, Tools, Debugging,Memory management,GUI, Programming, BSP(Board Support Package), Device Drivers and many more.....

Linux as an Embedded Operating System
Embedded Linux Basics
Embedded Linux applications - An overview
Embedded Linux Optimizations
Embedix SDK 241 Tools Addendum
Hardware Assisted Debug with Embedix Linux
RTLinux with Address Spaces
THE CASE FOR EMBEDDED LINUX
Tips for planning your Embedded Linux project
wxWidgets Embedded
XILINX Standalone Board Support Package
A Design Framework for Embedded linux Drivers
Building Intelligent Devices with MontaVista Linux Consumer Electronics Edition
eCos Reference Manual

Memory Management , Memory Overview, Layout

0 comments
Ram Memory Parts