Skip to content
GeMRTOS
GeMRTOS

The Generic eMbedded Multiprocessor RTOS

  • Home
  • Download Now!
  • GeMRTOS
    • License
    • Download
    • GeMRTOS Documentation
      • Documentation Browser
      • GeMRTOS Manuals
    • GeMRTOS repository
  • Log in
  • Contact us
Search
GeMRTOS
GeMRTOS

The Generic eMbedded Multiprocessor RTOS

  • Download Now!!!
  • GeMRTOS
    • License
    • Download now!
    • GeMRTOS documentation
    • GeMRTOS repository
  • Login
  • Contact us
  • FPGA Laboratory ACCESS
  • Cursos de FPGA (en español)
  • Challenges
GeMRTOS
GeMRTOS

The Generic eMbedded Multiprocessor RTOS

  • Home
  • Download Now!
  • GeMRTOS
    • License
    • Download
    • GeMRTOS Documentation
      • Documentation Browser
      • GeMRTOS Manuals
    • GeMRTOS repository
  • Log in
  • Contact us
Search
GeMRTOS
GeMRTOS

The Generic eMbedded Multiprocessor RTOS

  • Download Now!!!
  • GeMRTOS
    • License
    • Download now!
    • GeMRTOS documentation
    • GeMRTOS repository
  • Login
  • Contact us
  • FPGA Laboratory ACCESS
  • Cursos de FPGA (en español)
  • Challenges

GeMRTOS - Getting started

  • Introduction to GeMRTOS
  • Creating your first GeMRTOS application
  • API references
  • Platforn Designer flow
  • Tasks and periods in RTOSs
  • Installation of Quartus Prime with WSL ([1]) for GeMRTOS design flow.

GeMRTOS - Features

  • Synchronization, Critical Sections and Mutex in Multiprocessor RTOSs
  • Signals in GeMRTOS
  • GeMRTOS system architecture
  • Introduction to GeMRTOS: Hybrid partition scheduling.
  • Scheduling lists in GeMRTOS
  • Tasks in GeMRTOS
  • Trigger Resources in GeMRTOS
  • GeMRTOS Controller
  • Data structures and linked lists in GeMRTOS
  • Semaphores in GeMRTOS

General

  • Error (16031): Current Internal Configuration mode does not support memory initialization or ROM. Select Internal Configuration mode with ERAM.
  • GeMRTOS partners with Intel
  • newlib reentrancy and thread-safe in multiprocessors
  • Specifying the License for the Questa*-Intel® FPGA Edition Software
  • Installing Nios II Software Built Tools (SBT) for Eclipse in Quartus Prime starting from version 19.1
  • Why do I get a fatal error when creating an ALTPLL IP?
  • SDRAM IP in DE2-115 board
  • Compiling beyond 256MB
  • Questa issues
  • Warning (113015): Width of data items in <mem_init>.hex is greater than the memory width
  • Processors with an ID other than 1 do not launch once the software has been downloaded.
  • System console does not start after Quartus Prime instalation
  • Eclipse does not start after full Quartus Prime instalation
  • Home
  • GeMRTOS KnowledgeBase
  • GeMRTOS
  • Compiling beyond 256MB

Compiling beyond 256MB

Description

This error happens when functions are located in a memory location more than 256MB apart from the main memory because the Nios II compiler uses the call instruction which has 256MB boundary limitation.

Solution

1) In ACDS version 13.1, the -relax-all option is implemented to use the callr instruction instead of call instruction. In Software Build Tools for Eclipse, add the -Wa,-relax-all option in the Application and/or BSP properties as user flags. 

This workaround may impact the software performance as callr instruction uses more assembly instructions compared to the call instruction.

https://www.intel.com/content/www/us/en/support/programmable/articles/000079417.html?__utma=267448542.2002717147.1489449600.1489449600.1489449600.1&__utmb=267448542.1.10.1489449600&__utmc=267448542&__utmx=-&__utmz=267448542.1489449600.1.1.utmcsr=(direct)%7Cutmccn=(direct)%7Cutmcmd=(none)&__utmv=-&__utmk=66903725

For BSP, gemrtos uses:

nios2-bsp hal $1 qsysgrtos.sopcinfo --cpu-name GeMRTOS_Multiprocessor_0_gemrtos_proc_1 --cmd "set_setting hal.enable_reduced_device_drivers true" --cmd "set_setting hal.stderr GeMRTOS_Multiprocessor_0_jtag_uart_1" --cmd "set_setting hal.stdin GeMRTOS_Multiprocessor_0_jtag_uart_0" --cmd "set_setting hal.stdout GeMRTOS_Multiprocessor_0_jtag_uart_0" --cmd "add_section_mapping rstaux GeMRTOS_Multiprocessor_0_rstaux_memory" --cmd "delete_memory_region GeMRTOS_Multiprocessor_0_onchip_memory2_2" --cmd "add_memory_region onchipdata GeMRTOS_Multiprocessor_0_onchip_memory2_2 0 512" --cmd "add_memory_region onchipcode GeMRTOS_Multiprocessor_0_onchip_memory2_2 512 15872" --cmd "add_section_mapping onchipdata onchipdata" --cmd "add_section_mapping onchipmem onchipcode" --cmd "set_setting hal.make.bsp_cflags_user_flags -Wa,-relax-all"

and for the application

nios2-app-generate-makefile.exe --bsp-dir ./${SOFTWARE_DIR_NAME}/${BSP_NAME} --app-dir ./${SOFTWARE_DIR_NAME}/${APP_NAME} --elf-name ${APP_NAME}.elf --set APP_CFLAGS_USER_FLAGS "-Wa,-relax-all" --inc-rdir ./${SOFTWARE_DIR_NAME}/${APP_NAME} --src-rdir ./${SOFTWARE_DIR_NAME}/${APP_NAME}
Avalon MM, GeMRTOS, Nios 2, Nios V, RISC-V
Share This Article :
  • Facebook
  • Twitter
  • LinkedIn
  • Pinterest
Still stuck? How can we help?

How can we help?

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Copyright © 2025 - contact us - Dorrego 287 - B8000FLE - Bahía Blanca - Argentina - +542914311867  GeMRTOS

Nios II, Nios V, Quartus Prime, ModelsSim are property of their respective companies.
GeMRTOS is property of R. Cayssials.
**All contact forms on this site are protected by reCAPTCHA. Google Privacy

GeMRTOS joins Intel Partner Alliance as Gold member.