Home
Softono

ARINC653 ARMV7A AM335X

Open source BSD-2-Clause C
18
Stars
4
Forks
0
Issues
3
Watchers
3 years
Last Commit

 About ARINC653 ARMV7A AM335X

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

Platforms

Web Self-hosted

Languages

C

Links

Need Help Installing ARINC653 ARMV7A AM335X?

We provide expert installation service for this software. Our team will install, configure, and secure ARINC653 ARMV7A AM335X on your server. plans start at just $30.

ARINC653 ARMV7A AM335X

View on GitHub

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"