Visible to Intel only — GUID: mwh1416946607085
Ixiasoft
1. Overview of Nios II Embedded Development
2. Getting Started with the Graphical User Interface
3. Getting Started from the Command Line
4. Nios II Software Build Tools
5. Overview of the Hardware Abstraction Layer
6. Developing Programs Using the Hardware Abstraction Layer
7. Developing Device Drivers for the Hardware Abstraction Layer
8. Exception Handling
9. Cache and Tightly-Coupled Memory
10. MicroC/OS-II Real-Time Operating System
11. Ethernet and the NicheStack TCP/IP Stack
12. Read-Only Zip File System
13. Publishing Component Information to Embedded Software
14. HAL API Reference
15. Nios II Software Build Tools Reference
1.1. Prerequisites for Understanding the Nios II Embedded Design Suite
1.2. Finding Nios II EDS Files
1.3. Nios II Software Development Environment
1.4. Nios II EDS Development Flows
1.5. Nios II Programs
1.6. Intel FPGA Software Packages for Embedded Systems
1.7. Nios II Embedded Design Examples
1.8. Third-Party Embedded Tools Support
1.9. Additional Nios II Information
1.10. Overview of Nios II Embedded Development Revision History
2.1. Getting Started with Nios II Software in Eclipse
2.2. Makefiles and the Nios II SBT for Eclipse
2.3. Using the BSP Editor
2.4. Run Configurations in the SBT for Eclipse
2.5. Nios II Hardware v2 (beta)
2.6. Optimizing Project Build Time
2.7. Importing a Command-Line Project
2.8. Packaging a Library for Reuse
2.9. Creating a Software Package
2.10. Programming Flash in Intel FPGA Embedded Systems
2.11. Creating Memory Initialization Files
2.12. Running a Nios II System with ModelSim
2.13. Eclipse Usage Notes
2.14. Getting Started with the Graphical User Interface Revision History
2.13.1. Configuring Application and Library Properties
2.13.2. Configuring BSP Properties
2.13.3. Exclude from Build Not Supported
2.13.4. Selecting the Correct Launch Configuration Type
2.13.5. Target Connection Options
2.13.6. Renaming Nios II Projects
2.13.7. Running Shell Scripts from the SBT for Eclipse
2.13.8. Must Use Nios II Build Configuration
2.13.9. CDT Limitations
2.13.10. Enhancements for Build Configurations in SBT and SBT for Eclipse
4.1. Road Map for the SBT
4.2. Makefiles
4.3. Nios II Embedded Software Projects
4.4. Common BSP Tasks
4.5. Details of BSP Creation
4.6. Tcl Scripts for BSP Settings
4.7. Revising Your BSP
4.8. Specifying BSP Defaults
4.9. Device Drivers and Software Packages
4.10. Boot Configurations for Altera Embedded Software
4.11. Intel FPGA-Provided Embedded Development Tools
4.12. Restrictions
4.13. Nios II Software Build Tools Revision History
6.1. HAL BSP Settings
6.2. The Nios II Embedded Project Structure
6.3. The system.h System Description File
6.4. Data Widths and the HAL Type Definitions
6.5. UNIX-Style Interface
6.6. File System
6.7. Using Character-Mode Devices
6.8. Using File Subsystems
6.9. Using Timer Devices
6.10. Using Flash Devices
6.11. Using DMA Devices
6.12. Using Interrupt Controllers
6.13. Reducing Code Footprint in Embedded Systems
6.14. Boot Sequence and Entry Point
6.15. Memory Usage
6.16. Working with HAL Source Files
6.17. Developing Programs Using the Hardware Abstraction Layer Revision History
6.13.1. Enable Compiler Optimizations
6.13.2. Use Reduced Device Drivers
6.13.3. Reduce the File Descriptor Pool
6.13.4. Use /dev/null
6.13.5. Use a Smaller File I/O Library
6.13.6. Use the Lightweight Device Driver API
6.13.7. Use the Minimal Character-Mode API
6.13.8. Eliminate Unused Device Drivers
6.13.9. Eliminate Unneeded Exit Code
6.13.10. Turn off C++ Support
7.1. Driver Integration in the HAL API
7.2. The HAL Peripheral-Specific API
7.3. Preparing for HAL Driver Development
7.4. Development Flow for Creating Device Drivers
7.5. Nios II Hardware Design Concepts
7.6. Accessing Hardware
7.7. Creating Embedded Drivers for HAL Device Classes
7.8. Integrating a Device Driver in the HAL
7.9. Creating a Custom Device Driver for the HAL
7.10. Reducing Code Footprint in HAL Embedded Drivers
7.11. HAL Namespace Allocation
7.12. Overriding the HAL Default Device Drivers
7.13. Developing Device Drivers for the Hardware Abstraction Layer Revision History
7.8.5.2.1. Creating and Naming the Driver or Package
7.8.5.2.2. Identifying the Hardware Component Class
7.8.5.2.3. Setting the BSP Type
7.8.5.2.4. Specifying an Operating System
7.8.5.2.5. Specifying Source Files
7.8.5.2.6. Specifying a Subdirectory
7.8.5.2.7. Enabling Software Initialization
7.8.5.2.8. Adding Include Paths
7.8.5.2.9. Version Compatibility
8.2.1. HAL APIs for Hardware Interrupts
8.2.2. HAL ISR Restrictions
8.2.3. Writing an ISR
8.2.4. Registering an ISR with the Enhanced Interrupt API
8.2.5. Enabling and Disabling Interrupts
8.2.6. Configuring an External Interrupt Controller
8.2.7. C Example
8.2.8. Upgrading to the Enhanced HAL Interrupt API
8.3.1.1. Execute Time-Intensive Algorithms in the Application Context
8.3.1.2. Implement Time-Intensive Algorithms in Hardware
8.3.1.3. Increase Buffer Size
8.3.1.4. Use Double Buffering
8.3.1.5. Keep Interrupts Enabled
8.3.1.6. Use Fast Memory
8.3.1.7. Use a Separate Exception Stack
8.3.1.8. Use Nested Hardware Interrupts
8.3.1.9. Locate ISR Body in Vector Table
8.3.1.10. Use Compiler Optimization
9.1. Nios II Cache Implementation
9.2. HAL API Functions for Managing Cache
9.3. Initializing the Nios II Cache after Reset
9.4. Nios II Device Driver Cache Considerations
9.5. Cache Considerations for Writing Program Loaders
9.6. Managing Cache in Multi-Master and Multi-Processor Systems
9.7. Nios II Tightly-Coupled Memory
9.8. Cache and Tightly-Coupled Memory Revision History
11.1. Prerequisites for Understanding the NicheStack TCP/IP Stack
11.2. Introduction to the NicheStack TCP/IP Stack - Nios II Edition
11.3. Other TCP/IP Stack Providers for the Nios II Processor
11.4. Using the NicheStack TCP/IP Stack - Nios II Edition
11.5. Configuring the NicheStack TCP/IP Stack in a Nios II Program
11.6. Further Information
11.7. Known Limitations
11.8. Ethernet and the NicheStack TCP/IP Stack - Nios II Edition Revision History
14.1.1. _exit()
14.1.2. _rename()
14.1.3. alt_dcache_flush()
14.1.4. alt_dcache_flush_all()
14.1.5. alt_dcache_flush_no_writeback()
14.1.6. alt_uncached_malloc()
14.1.7. alt_uncached_free()
14.1.8. alt_remap_uncached()
14.1.9. alt_remap_cached()
14.1.10. alt_icache_flush_all()
14.1.11. alt_icache_flush()
14.1.12. alt_alarm_start()
14.1.13. alt_alarm_stop()
14.1.14. alt_dma_rxchan_depth()
14.1.15. alt_dma_rxchan_close()
14.1.16. alt_dev_reg()
14.1.17. alt_dma_rxchan_open()
14.1.18. alt_dma_rxchan_prepare()
14.1.19. alt_dma_rxchan_reg()
14.1.20. alt_dma_txchan_close()
14.1.21. alt_dma_txchan_ioctl()
14.1.22. alt_dma_txchan_open()
14.1.23. alt_dma_txchan_reg()
14.1.24. alt_flash_close_dev()
14.1.25. alt_exception_cause_generated_bad_addr()
14.1.26. alt_erase_flash_block()
14.1.27. alt_dma_rxchan_ioctl()
14.1.28. alt_dma_txchan_space()
14.1.29. alt_dma_txchan_send()
14.1.30. alt_flash_open_dev()
14.1.31. alt_fs_reg()
14.1.32. alt_get_flash_info()
14.1.33. alt_ic_irq_disable()
14.1.34. alt_ic_irq_enabled()
14.1.35. alt_ic_isr_register()
14.1.36. alt_ic_irq_enable()
14.1.37. alt_instruction_exception_register()
14.1.38. alt_irq_disable()
14.1.39. alt_irq_cpu_enable_interrupts ()
14.1.40. alt_irq_disable_all()
14.1.41. alt_irq_enable()
14.1.42. alt_irq_enable_all()
14.1.43. alt_irq_enabled()
14.1.44. alt_irq_init()
14.1.45. alt_irq_pending ()
14.1.46. alt_irq_register()
14.1.47. alt_llist_insert()
14.1.48. alt_llist_remove()
14.1.49. alt_load_section()
14.1.50. alt_nticks()
14.1.51. alt_read_flash()
14.1.52. alt_tick()
14.1.53. alt_ticks_per_second()
14.1.54. alt_timestamp()
14.1.55. alt_timestamp_freq()
14.1.56. alt_timestamp_start()
14.1.57. alt_write_flash()
14.1.58. alt_write_flash_block()
14.1.59. close()
14.1.60. fstat()
14.1.61. fork()
14.1.62. fcntl()
14.1.63. execve()
14.1.64. getpid()
14.1.65. kill()
14.1.66. stat()
14.1.67. settimeofday()
14.1.68. wait()
14.1.69. unlink()
14.1.70. sbrk()
14.1.71. link()
14.1.72. lseek()
14.1.73. alt_sysclk_init()
14.1.74. open()
14.1.75. times()
14.1.76. read()
14.1.77. write()
14.1.78. usleep()
14.1.79. alt_lock_flash()
14.1.80. gettimeofday()
14.1.81. ioctl()
14.1.82. isatty()
14.3.1. adc_stop
14.3.2. adc_start
14.3.3. adc_set_mode_run_once
14.3.4. adc_set_mode_run_continuously
14.3.5. adc_recalibrate
14.3.6. adc_interrupt_enable
14.3.7. adc_interrupt_disable
14.3.8. adc_clear_interrupt_status
14.3.9. adc_wait_for_interrupt - ADC Sample Storage Status Register
14.3.10. adc_interrupt_asserted
14.3.11. adc_wait_for interrupt - IRQ Status Register
14.3.12. alt_adc_word_read
15.1. Nios II Software Build Tools Utilities
15.2. Nios II Design Example Scripts
15.3. Settings Managed by the Software Build Tools
15.4. Application and User Library Makefile Variables
15.5. Software Build Tools Tcl Commands
15.6. Software Build Tools Path Names
15.7. Nios II Software Build Tools Reference Revision History
15.1.1. Logging Levels
15.1.2. Setting Values
15.1.3. Utility and Script Summary
15.1.4. nios2-app-generate-makefile
15.1.5. nios2-bsp-create-settings
15.1.6. nios2-bsp-generate-files
15.1.7. nios2-bsp-query-settings
15.1.8. nios2-bsp-update-settings
15.1.9. nios2-lib-generate-makefile
15.1.10. nios2-bsp-editor
15.1.11. nios2-app-update-makefile
15.1.12. nios2-lib-update-makefile
15.1.13. nios2-swexample-create
15.1.14. nios2-elf-insert
15.1.15. nios2-elf-query
15.1.16. nios2-flash-programmer-generate
15.1.17. nios2-bsp
15.1.18. nios2-bsp-console
15.1.19. alt-file-convert (BETA)
15.5.2.1. add_memory_device
15.5.2.2. add_memory_region
15.5.2.3. add_section_mapping
15.5.2.4. are_same_resource
15.5.2.5. delete_memory_region
15.5.2.6. delete_section_mapping
15.5.2.7. disable_sw_package
15.5.2.8. enable_sw_package
15.5.2.9. get_addr_span
15.5.2.10. get_assignment
15.5.2.11. get_available_drivers
15.5.2.12. get_available_sw_packages
15.5.2.13. get_base_addr
15.5.2.14. get_break_offset
15.5.2.15. get_break_slave_desc
15.5.2.16. get_cpu_name
15.5.2.17. get_current_memory_regions
15.5.2.18. get_current_section_mappings
15.5.2.19. get_default_memory_regions
15.5.2.20. get_driver
15.5.2.21. get_enabled_sw_packages
15.5.2.22. get_exception_offset
15.5.2.23. get_exception_slave_desc
15.5.2.24. get_fast_tlb_miss_exception_offset
15.5.2.25. get_fast_tlb_miss_exception_slave_desc
15.5.2.26. get_interrupt_controller_id
15.5.2.27. get_irq_interrupt_controller_id
15.5.2.28. get_irq_number
15.5.2.29. get_memory_region
15.5.2.30. get_module_class_name
15.5.2.31. get_module_name
15.5.2.32. get_reset_offset
15.5.2.33. get_reset_slave_desc
15.5.2.34. get_section_mapping
15.5.2.35. get_setting
15.5.2.36. get_setting_desc
15.5.2.37. get_slave_descs
15.5.2.38. is_char_device
15.5.2.39. is_connected_interrupt_controller_device
15.5.2.40. is_connected_to_data_master
15.5.2.41. is_connected_to_instruction_master
15.5.2.42. is_ethernet_mac_device
15.5.2.43. is_flash
15.5.2.44. is_memory_device
15.5.2.45. is_non_volatile_storage
15.5.2.46. is_timer_device
15.5.2.47. log_debug
15.5.2.48. log_default
15.5.2.49. log_error
15.5.2.50. log_verbose
15.5.2.51. set_driver
15.5.2.52. set_ignore_file
15.5.2.53. set_setting
15.5.2.54. update_memory_region
15.5.2.55. update_section_mapping
15.5.2.56. add_default_memory_regions
15.5.2.57. create_bsp
15.5.2.58. generate_bsp
15.5.2.59. get_available_bsp_type_versions
15.5.2.60. get_available_bsp_types
15.5.2.61. get_available_cpu_architectures
15.5.2.62. get_available_cpu_names
15.5.2.63. get_available_software
15.5.2.64. get_available_software_setting_properties
15.5.2.65. get_available_software_settings
15.5.2.66. get_bsp_version
15.5.2.67. get_cpu_architecture
15.5.2.68. get_nios2_dpx_thread_num
15.5.2.69. get_sopcinfo_file
15.5.2.70. get_supported_bsp_types
15.5.2.71. is_bsp_hal_extension
15.5.2.72. is_bsp_lwhal_extension
15.5.2.73. open_bsp
15.5.2.74. save_bsp
15.5.2.75. set_bsp_version
15.5.2.76. set_logging_mode
15.5.3.1. add_class_sw_setting
15.5.3.2. add_class_systemh_line
15.5.3.3. add_module_sw_property
15.5.3.4. add_module_sw_setting
15.5.3.5. add_module_systemh_line
15.5.3.6. add_systemh_line
15.5.3.7. get_class_peripheral
15.5.3.8. get_module_assignment
15.5.3.9. get_module_name
15.5.3.10. get_module_peripheral
15.5.3.11. get_module_sw_setting_value
15.5.3.12. get_peripheral_property
15.5.3.13. remove_class_systemh_line
15.5.3.14. remove_module_systemh_line
15.5.3.15. set_class_sw_setting_property
15.5.3.16. set_module_sw_setting_property
Visible to Intel only — GUID: mwh1416946607085
Ixiasoft
2.3.4.4.2. Linker Regions
At the bottom of the Linker Script tab, the Linker Memory Regions table shows all defined linker regions. Each row of the table shows one linker region, with its address range, memory device name, size, and offset into the selected memory device.
You reassign a defined linker region to a different memory device by selecting a different device name in the Memory Device Name column. The Size and Offset columns are editable. You can also edit the list of linker regions using the following buttons located next to the linker region table:
- Add—Adds a linker region in unused space on any existing device. The Add button opens the Add Memory Region dialog box, where you specify the memory device, the new memory region name, the region size, and the region's offset from the device base address.
- Remove—Removes a linker region definition. Removing a region frees the region's memory space to be used for other regions.
- Add Memory Device—Creates a linker region representing a memory device that is outside the hardware system. The button launches the Add Memory Device dialog box, where you can specify the device name, memory size and base address. After you add the device, it appears in the linker region table, the Memory Device Usage Table dialog box, and the Memory Map dialog box. This functionality is equivalent to the add_memory_device Tcl command.
Note: Ensure that you specify the correct base address and memory size. If the base address or size of an external memory changes, you must edit the BSP manually to match. The SBT does not automatically detect changes in external memory devices, even if you update the BSP by creating a new settings file.
- Restore Defaults—restores the memory regions to the default configuration set up at the time of BSP creation.
- Memory Usage—Opens the Memory Device Usage Table. The Memory Device Usage Table allows you to view memory device usage by defined memory region. As memory regions are added, removed, and adjusted, each device's free memory, used memory, and percentage of available memory are updated. The rightmost column is a graphical representation of the device’s usage, according to the memory regions assigned to it.
- Memory Map—Opens the Memory Map dialog box. The memory map allows you to view a map of system memory in the processor address space. The Device table is a read-only reference showing memories in the hardware system that are mastered by the selected processor. Devices are listed in memory address order.
To the right of the Device table is a graphical representation of the processor's memory space, showing the locations of devices in the table. Gaps indicate unmapped address space.
Note: This representation is not to scale.
Related Information