Giter Club home page Giter Club logo

crosslib's Introduction

crosslib

Software project with cross compile library for embedded system. Library collections contain:

  • devlib -- drivers for any devices and hardware modules.
  • gcclib -- part of standard GCC compiler files.
  • libc -- some files standard C library.
  • syslib -- library for system creation. (Pseudo thread, simple and fast non-blocking lock-free mechanism, HAL, IO, etc).

Tools

Configure

List CMake definitions for config project.

-DBUILD_DEMO

Build demo executables. It can be used only for MinGW build. Because in examples used a Windows mechanisms.

-DASSERT=[0,1,2]

Defined to control assert macros.

  • 0 -- kick all assert macros from source code (default).
  • 1 -- add simple assert macros with halt only (recommended for raw system).
  • 2 -- add assert macros with output to STDOUT by fprintf.
-Dint[bits]=[C-type name]

Set specific bitness types in typedef.h. Default:

  • -Dint8=int8_t
  • -Duint8=uint8_t
  • -Dint16=int16_t
  • -Duint16=uint16_t
  • -Dint32=int32_t
  • -Duint32=uint32_t
  • -Dint64=int64_t
  • -Duint64=uint64_t
-DNOSTDINC_STDINT_H

Kick standard include header file - stdint.h.

-DUSE_BUILTIN_LIBC

Enable using builtin LIBC functions from GCC compiler. Else LIBC will be used from [app]/[libc].

-DUSE_REGEXP_LOCALE

Enable using compare in regular expression by locale mechanism. If locale and USE_BUILTIN_LIBC is not set, compare using only C locale (ASCII).

-DCPUINIT_CXX

Including C++ global initialization/deinitializtion code into CPU boot code of [devlib]/[cpu]/[...].

-DCXX_RTTI

If defined, build class with RTTI supports.

-DCFG_ERROR_DETAILS

Enable fatal error details store. Error details: source code file, line, function name.

Build

Library building is expected as part of your top CMake project. Examples of standalone build you can find in [tools] directory. Below shown example standalone build.

$ mkdir build
$ cd build
$ cmake -Wno-dev -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=../config/<toolchain>.cmake ..
$ cmake --build .
$ make install

After installing libraries and headers will be copied to [build]/[export].

Note

Library oriented on GCC compiler.

crosslib's People

Contributors

gera-gas avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.