Code Monkey home page Code Monkey logo

lfarcaro / arinc653_armv7a_am335x Goto Github PK

View Code? Open in Web Editor NEW
14.0 4.0 3.0 2.2 MB

Real-Time Operating System (RTOS) for Texas Instruments AM335X Sitara Cortex-A8 (ARMv7-A) single-core SoCs (BeagleBone, BeagleBone Black and similars) based on the ARINC 653 Part 1 specification

License: BSD 2-Clause "Simplified" License

C 99.11% Assembly 0.76% Batchfile 0.11% Shell 0.02%
beaglebone beaglebone-black arinc653 am335x rtos realtime real-time operating-system bare-metal baremetal

arinc653_armv7a_am335x's Introduction

ARINC653_ARMV7A_AM335X

Bare-metal Real-Time Operating System (RTOS) for AM335X processors (BeagleBone / BeagleBone Black) based on the ARINC 653 Part 1 specification.

Compiler version

The following instructions consider the use of the Code Composer Studio IDE version 10.4.0.00006.

Configuration for compilation

  • Project / Properties / General:
    • Variant = AM3359 [Cortex A]
    • Compiler version = TI v18.12.4.LTS (or equivalent)
    • Output format = eabi (ELF)
    • Device endianness = little
    • Linker command file = ""
    • Runtime support library = ""
  • Project / Properties / Build / ARM Compiler / Processor Options:
    • Target processor version = 7A8
    • Designate code state = 32
    • Specify floating point support = VFPv3
  • Project / Properties / Build / ARM Compiler / Include Options:
    • Add "${workspace_loc:/${ProjName}/Hardware/include}"
    • Add "${workspace_loc:/${ProjName}/ARINC653_PORT/include}"
    • Add "${workspace_loc:/${ProjName}/ARINC653/include}"
    • Add "${workspace_loc:/${ProjName}/Instruments/include}"
    • Add "${workspace_loc:/${ProjName}/Library/usblib/include}" if USB is to be used
  • Project / Properties / Build / ARM Compiler / Predefined Symbols:
    • Add "DEBUG"
    • Add "beaglebone"
    • Add "am335x"
    • Add "am3359"
    • Add "MEASURE" if execution times measurement is desired
    • Add "MEASURE_SUPPRESSTICK" if measurements shall not include time consumed by the OS in handling the tick interrupt
    • Add "MEASURE_SUPPRESSOTHERCONTEXTS" if measurements shall not include time consumed in contexts other than the one that requested the measurement (use only together with MEASURE_SUPPRESSTICK)
    • Add "TRACK" if OS-related events' tracking is desired
    • Add "DISABLE_BRANCHPREDICTION" if the branch prediction mechanism shall not be enabled
    • Add "DISABLE_INSTRUCTIONCACHE" if instruction cache shall not be enabled
    • Add "DISABLE_DATACACHE" if data cache shall not be enabled
  • Project / Properties / Build / ARM Linker / Advanced Options / Runtime Environment:
    • Set "Initialization model" to "" (none)
  • Project / Properties / Build / ARM Compiler / Advanced Options / Diagnostic Options:
    • Add "1557" to "Suppress diagnostic (--diag_suppress, -pds)"
  • Project / Properties / CCS Build / Steps / Post-build steps:
    • "${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin.bat" "${PROJECT_LOC}/${ConfigName}/${ProjName}.out" "${PROJECT_LOC}/${ConfigName}/${ProjName}.bin" "${CG_TOOL_ROOT}/bin/armofd.exe" "${CG_TOOL_ROOT}/bin/armhex.exe" "${CCS_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin.exe" & "${PROJECT_LOC}/Tools/tiimage.exe" "0x80000000" "NONE" "${PROJECT_LOC}/${ConfigName}/${ProjName}.bin" "${PROJECT_LOC}/${ConfigName}/APP" & copy "${PROJECT_LOC}/${ConfigName}/${ProjName}.bin" "${PROJECT_LOC}/${ConfigName}/APP_XMODEM"
    • "${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${PROJECT_LOC}/${ConfigName}/${ProjName}.out" "${PROJECT_LOC}/${ConfigName}/${ProjName}.bin" "${CG_TOOL_ROOT}/bin/armofd" "${CG_TOOL_ROOT}/bin/armhex" "${CCS_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin" && "${PROJECT_LOC}/Tools/tiimage" "0x80000000" "NONE" "${PROJECT_LOC}/${ConfigName}/${ProjName}.bin" "${PROJECT_LOC}/${ConfigName}/APP" && cp "${PROJECT_LOC}/${ConfigName}/${ProjName}.bin" "${PROJECT_LOC}/${ConfigName}/APP_XMODEM"

Debugging on the target platform

  • When the "Launching Debug Session" window is shown:
    • Select only the "CortxA8" device
    • Click "OK"

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.