mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-09-01 11:53:53 -04:00
Add FreeRTOS-Plus directory.
This commit is contained in:
parent
7bd5f21ad5
commit
f508a5f653
6798 changed files with 134949 additions and 19 deletions
|
@ -0,0 +1,473 @@
|
|||
PACKAGE install
|
||||
{
|
||||
version = "4.01:213";
|
||||
COMPONENT altera_nios2
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/nios2_ip/altera_nios2";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_nios_custom_instruction
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/nios2_ip/altera_nios_custom_instruction";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_nios_custom_instr_bitswap
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/nios2_ip/altera_nios_custom_instr_bitswap";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_nios_custom_instr_endian_converter
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/nios2_ip/altera_nios_custom_instr_endian_converter";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_nios_custom_instr_floating_point
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/nios2_ip/altera_nios_custom_instr_floating_point";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_nios_custom_instr_interrupt_vector
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/nios2_ip/altera_nios_custom_instr_interrupt_vector";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_nios_dev_board_cyclone_1c20
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/nios2_ip/altera_nios_dev_board_cyclone_1c20";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_nios_dev_board_cyclone_2c35
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/nios2_ip/altera_nios_dev_board_cyclone_2c35";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_nios_dev_board_stratix_1s10
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/nios2_ip/altera_nios_dev_board_stratix_1s10";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_nios_dev_board_stratix_1s10_es
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/nios2_ip/altera_nios_dev_board_stratix_1s10_es";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_nios_dev_board_stratix_1s40
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/nios2_ip/altera_nios_dev_board_stratix_1s40";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_nios_dev_board_stratix_2s60
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/nios2_ip/altera_nios_dev_board_stratix_2s60";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_nios_dev_board_stratix_2s60_es
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/nios2_ip/altera_nios_dev_board_stratix_2s60_es";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_nios_dev_board_stratix_2s60_rohs
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/nios2_ip/altera_nios_dev_board_stratix_2s60_rohs";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_nios_dev_kit_stratix_edition_sram
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/nios2_ip/altera_nios_dev_kit_stratix_edition_sram";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_nios_dev_kit_stratix_edition_sram2
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/nios2_ip/altera_nios_dev_kit_stratix_edition_sram2";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_nios_multiply
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/nios2_ip/altera_nios_multiply";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_adapter_downstream_pipeline
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_adapter_downstream_pipeline";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_adapter_master_y
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_adapter_master_y";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_adapter_slave_y
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_adapter_slave_y";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_adapter_upstream_pipeline
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_adapter_upstream_pipeline";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_adapter_waitrequest_pipeline
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_adapter_waitrequest_pipeline";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_asmi
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_asmi";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_burst_adapter
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_burst_adapter";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_cf
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_cf";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_cfi_flash
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_cfi_flash";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_clock_adapter
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_clock_adapter";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_clock_crossing
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_clock_crossing";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_cs8900
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_cs8900";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_cy7c1380_ssram
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_cy7c1380_ssram";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_dma
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_dma";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_endian_adapter
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_endian_adapter";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_epcs_flash_controller
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_epcs_flash_controller";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_fifo
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_fifo";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_jtag_uart
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_jtag_uart";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_lan91c111
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_lan91c111";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_lcd_16207
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_lcd_16207";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_mailbox
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_mailbox";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_mutex
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_mutex";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_new_sdram_controller
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_new_sdram_controller";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_onchip_memory
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_onchip_memory";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_onchip_memory2
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_onchip_memory2";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_performance_counter
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_performance_counter";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_pio
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_pio";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_pipeline_bridge
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_pipeline_bridge";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_pll
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_pll";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_sgdma
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_sgdma";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_spi
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_spi";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_sysid
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_sysid";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_timer
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_timer";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_tri_state_bridge
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_tri_state_bridge";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_uart
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_uart";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_user_defined_interface
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_user_defined_interface";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_sopc_builder
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_sopc_builder";
|
||||
}
|
||||
}
|
||||
COMPONENT amd_avalon_am29lv065d_flash
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/amd_avalon_am29lv065d_flash";
|
||||
}
|
||||
}
|
||||
COMPONENT amd_avalon_am29lv128m_flash
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/amd_avalon_am29lv128m_flash";
|
||||
}
|
||||
}
|
||||
COMPONENT no_legacy_module
|
||||
{
|
||||
VERSION 7.080902
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/no_legacy_module";
|
||||
}
|
||||
}
|
||||
COMPONENT triple_speed_ethernet
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/triple_speed_ethernet/lib/sopc_builder/altera_triple_speed_ethernet";
|
||||
}
|
||||
}
|
||||
COMPONENT ddr2_sdram_component
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/ddr_ddr2_sdram/lib/sopc_builder/ddr2_sdram_component";
|
||||
}
|
||||
}
|
||||
COMPONENT ddr_sdram_component
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/ddr_ddr2_sdram/lib/sopc_builder/ddr_sdram_component";
|
||||
}
|
||||
}
|
||||
COMPONENT ddr3_high_perf
|
||||
{
|
||||
VERSION 8.1
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/ddr3_high_perf/lib/sopc_builder/ddr3_high_perf";
|
||||
}
|
||||
}
|
||||
COMPONENT ddr2_high_perf
|
||||
{
|
||||
VERSION 8.1
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/ddr2_high_perf/lib/sopc_builder/ddr2_high_perf";
|
||||
}
|
||||
}
|
||||
COMPONENT ddr_high_perf
|
||||
{
|
||||
VERSION 8.1
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/ddr_high_perf/lib/sopc_builder/ddr_high_perf";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_pcie_compiler
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/pci_express_compiler/lib/sopc_builder/altera_avalon_pcie_compiler";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_pcie_compiler_adapter
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/pci_express_compiler/lib/sopc_builder/altera_avalon_pcie_compiler_adapter";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_pci_compiler
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/pci_compiler/lib/sopc_builder/altera_avalon_pci_compiler";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_pci_compiler_adapter
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/pci_compiler/lib/sopc_builder/altera_avalon_pci_compiler_adapter";
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,250 @@
|
|||
PACKAGE install2
|
||||
{
|
||||
# This file informs the Nios II IDE of non-legacy component paths.
|
||||
# Generated 2009.08.06.21:27:33
|
||||
COMPONENT alt_vip_clip
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/clipper/lib";
|
||||
}
|
||||
}
|
||||
COMPONENT alt_vip_cpr
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/color_plane_sequencer/lib";
|
||||
}
|
||||
}
|
||||
COMPONENT alt_vip_crs
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/chroma_resampler/lib";
|
||||
}
|
||||
}
|
||||
COMPONENT alt_vip_csc
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/csc/lib";
|
||||
}
|
||||
}
|
||||
COMPONENT alt_vip_dil
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/deinterlacer/lib";
|
||||
}
|
||||
}
|
||||
COMPONENT alt_vip_fir
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/fir_filter_2d/lib";
|
||||
}
|
||||
}
|
||||
COMPONENT alt_vip_gam
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/gamma_corrector/lib";
|
||||
}
|
||||
}
|
||||
COMPONENT alt_vip_lbc
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/line_buffer_compiler/lib";
|
||||
}
|
||||
}
|
||||
COMPONENT alt_vip_med
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/median_filter_2d/lib";
|
||||
}
|
||||
}
|
||||
COMPONENT alt_vip_mix
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/alpha_blending_mixer/lib";
|
||||
}
|
||||
}
|
||||
COMPONENT alt_vip_scl
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/scaler/lib";
|
||||
}
|
||||
}
|
||||
COMPONENT alt_vip_tpg
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/test_pattern_generator/lib";
|
||||
}
|
||||
}
|
||||
COMPONENT alt_vip_vfb
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/frame_buffer/lib";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_dc_fifo
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_dc_fifo";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_half_rate_bridge
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_half_rate_bridge";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_multi_channel_shared_fifo
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_multi_channel_shared_fifo";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_packets_to_master
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_packets_to_master";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_pixel_converter
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_pixel_converter";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_remote_update_cycloneiii
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_remote_update_cycloneiii";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_round_robin_scheduler
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_round_robin_scheduler";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_sc_fifo
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_sc_fifo";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_st_bytes_to_packets
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_st_bytes_to_packets";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_st_idle_inserter
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_st_idle_inserter";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_st_idle_remover
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_st_idle_remover";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_st_packets_to_bytes
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_st_packets_to_bytes";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_avalon_video_sync_generator
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_video_sync_generator";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_jtag_avalon_master
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_jtag_avalon_master";
|
||||
}
|
||||
}
|
||||
COMPONENT altera_jtag_dc_streaming
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_jtag_phy";
|
||||
}
|
||||
}
|
||||
COMPONENT altpll
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_altpll";
|
||||
}
|
||||
}
|
||||
COMPONENT avalon_mm_master_bfm
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/verification/avalon_mm_bfm/avalon_mm_master_bfm";
|
||||
}
|
||||
}
|
||||
COMPONENT avalon_mm_slave_bfm
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/verification/avalon_mm_bfm/avalon_mm_slave_bfm";
|
||||
}
|
||||
}
|
||||
COMPONENT pci_lite
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_pci_lite";
|
||||
}
|
||||
}
|
||||
COMPONENT sls_avalon_usb20hr
|
||||
{
|
||||
VERSION 2.2
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/sls/usb20hr_ocp_eval_pack/hardware/component";
|
||||
}
|
||||
}
|
||||
COMPONENT spi_slave_to_avalon_mm_master_bridge
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_spislave_to_avalonmm_bridge";
|
||||
}
|
||||
}
|
||||
COMPONENT spislave
|
||||
{
|
||||
VERSION 9.0
|
||||
{
|
||||
local = "C:/devtools/altera/90sp2/ip/altera/sopc_builder_ip/altera_avalon_spi_phy_slave";
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
REM This file should be executed from the command line prior to the first
|
||||
REM build. It will be necessary to refresh the Eclipse project once the
|
||||
REM .bat file has been executed (normally just press F5 to refresh).
|
||||
|
||||
REM Copies all the required files from their location within the standard
|
||||
REM FreeRTOS directory structure to under the Eclipse project directory.
|
||||
REM This permits the Eclipse project to be used in 'managed' mode and without
|
||||
REM having to setup any linked resources.
|
||||
|
||||
REM Have the files already been copied?
|
||||
IF EXIST RTOSDemo\FreeRTOS Goto END
|
||||
|
||||
REM Create the required directory structure.
|
||||
MD RTOSDemo\FreeRTOS
|
||||
MD RTOSDemo\FreeRTOS\include
|
||||
MD RTOSDemo\FreeRTOS\portable\GCC\NiosII
|
||||
MD RTOSDemo\FreeRTOS\portable\MemMang
|
||||
MD "RTOSDemo\Common_Demo_Tasks"
|
||||
MD "RTOSDemo\Common_Demo_Tasks\include"
|
||||
|
||||
REM Copy the core kernel files.
|
||||
copy ..\..\Source\tasks.c RTOSDemo\FreeRTOS
|
||||
copy ..\..\Source\queue.c RTOSDemo\FreeRTOS
|
||||
copy ..\..\Source\list.c RTOSDemo\FreeRTOS
|
||||
|
||||
REM Copy the common header files
|
||||
|
||||
copy ..\..\Source\include\*.* RTOSDemo\FreeRTOS\include
|
||||
|
||||
REM Copy the portable layer files
|
||||
copy ..\..\Source\portable\GCC\NiosII\*.* RTOSDemo\FreeRTOS\portable\GCC\NiosII
|
||||
|
||||
REM Copy the basic memory allocation files
|
||||
copy ..\..\Source\portable\MemMang\heap_2.c RTOSDemo\FreeRTOS\portable\MemMang
|
||||
|
||||
REM Copy the files that define the Common_Demo_Tasks.
|
||||
copy ..\Common\minimal\BlockQ.c "RTOSDemo\Common_Demo_Tasks"
|
||||
copy ..\Common\minimal\blocktim.c "RTOSDemo\Common_Demo_Tasks"
|
||||
copy ..\Common\minimal\comtest.c "RTOSDemo\Common_Demo_Tasks"
|
||||
copy ..\Common\minimal\countsem.c "RTOSDemo\Common_Demo_Tasks"
|
||||
copy ..\Common\minimal\death.c "RTOSDemo\Common_Demo_Tasks"
|
||||
copy ..\Common\minimal\dynamic.c "RTOSDemo\Common_Demo_Tasks"
|
||||
copy ..\Common\minimal\flash.c "RTOSDemo\Common_Demo_Tasks"
|
||||
copy ..\Common\minimal\GenQTest.c "RTOSDemo\Common_Demo_Tasks"
|
||||
copy ..\Common\minimal\integer.c "RTOSDemo\Common_Demo_Tasks"
|
||||
copy ..\Common\minimal\PollQ.c "RTOSDemo\Common_Demo_Tasks"
|
||||
copy ..\Common\minimal\QPeek.c "RTOSDemo\Common_Demo_Tasks"
|
||||
copy ..\Common\minimal\recmutex.c "RTOSDemo\Common_Demo_Tasks"
|
||||
copy ..\Common\minimal\semtest.c "RTOSDemo\Common_Demo_Tasks"
|
||||
|
||||
REM Copy the common demo file headers.
|
||||
copy ..\Common\include\*.* "RTOSDemo\Common_Demo_Tasks\include"
|
||||
|
||||
: END
|
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?fileVersion 3.1.0?>
|
||||
|
||||
<ManagedProjectBuildInfo>
|
||||
<project id="RTOSDemo.nios2.exec.1581235184" name="Nios II Executable" projectType="nios2.exec">
|
||||
<configuration artifactExtension="elf" artifactName="RTOSDemo" cleanCommand="rm -rf" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser" id="nios2.exec.debug.1446010332" name="Debug" parent="nios2.exec.debug">
|
||||
<toolChain id="com.altera.nj.ui.exe.Debug.241068812" name="com.altera.nj.ui.exe.Debug" superClass="com.altera.nj.ui.exe.Debug">
|
||||
<tool id="com.altera.nj.ui.tool.compiler.exe.debug.238740427" name="Nios II Compiler" superClass="com.altera.nj.ui.tool.compiler.exe.debug">
|
||||
<option id="nios2.compiler.general.include.paths.1954487624" superClass="nios2.compiler.general.include.paths" valueType="includePath">
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/RTOSDemo/FreeRTOS/portable/GCC/NiosII}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/RTOSDemo/Common_Demo_Tasks/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/RTOSDemo/FreeRTOS/include}""/>
|
||||
<listOptionValue builtIn="false" value=""${workspace_loc:/RTOSDemo}""/>
|
||||
</option>
|
||||
</tool>
|
||||
<tool id="com.altera.nj.ui.tool.linker.exe.debug.2054232498" name="Linker" superClass="com.altera.nj.ui.tool.linker.exe.debug"/>
|
||||
<macros expandEnvironmentMacros="true"/>
|
||||
</toolChain>
|
||||
</configuration>
|
||||
<configuration artifactExtension="elf" artifactName="RTOSDemo" cleanCommand="rm -rf" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser" id="nios2.exec.release.654306637" name="Release" parent="nios2.exec.release">
|
||||
<toolChain id="com.altera.nj.ui.exe.Release.506996366" name="com.altera.nj.ui.exe.Release" superClass="com.altera.nj.ui.exe.Release">
|
||||
<tool id="com.altera.nj.ui.tool.compiler.exe.release.1487128363" name="Nios II Compiler" superClass="com.altera.nj.ui.tool.compiler.exe.release"/>
|
||||
<tool id="com.altera.nj.ui.tool.linker.exe.release.733767895" name="Linker" superClass="com.altera.nj.ui.tool.linker.exe.release"/>
|
||||
</toolChain>
|
||||
</configuration>
|
||||
<macros/>
|
||||
</project>
|
||||
</ManagedProjectBuildInfo>
|
|
@ -0,0 +1,65 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?eclipse-cdt version="2.0"?>
|
||||
|
||||
<cdtproject id="org.eclipse.cdt.managedbuilder.core.managedMake">
|
||||
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser">
|
||||
<attribute key="addr2line" value="addr2line"/>
|
||||
<attribute key="c++filt" value="c++filt"/>
|
||||
</extension>
|
||||
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser">
|
||||
<attribute key="addr2line" value="addr2line"/>
|
||||
<attribute key="c++filt" value="c++filt"/>
|
||||
</extension>
|
||||
<extension id="org.eclipse.cdt.managedbuilder.core.ManagedBuildManager" point="org.eclipse.cdt.core.ScannerInfoProvider"/>
|
||||
<data>
|
||||
<item id="org.eclipse.cdt.core.pathentry">
|
||||
<pathentry kind="src" path=""/>
|
||||
<pathentry kind="out" path=""/>
|
||||
<pathentry kind="con" path="org.eclipse.cdt.managedbuilder.MANAGED_CONTAINER"/>
|
||||
<pathentry kind="con" path="org.eclipse.cdt.make.core.DISCOVERED_SCANNER_INFO"/>
|
||||
</item>
|
||||
<item id="scannerConfiguration">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="false" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="makefileGenerator">
|
||||
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
|
||||
<parser enabled="false"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="false" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="false"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="false" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="false"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
</item>
|
||||
</data>
|
||||
</cdtproject>
|
|
@ -0,0 +1,90 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>RTOSDemo</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
<project>RTOSDemo_syslib</project>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.make.core.makeBuilder</name>
|
||||
<triggers>clean,full,incremental,</triggers>
|
||||
<arguments>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.enableCleanBuild</key>
|
||||
<value>false</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.append_environment</key>
|
||||
<value>true</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.stopOnError</key>
|
||||
<value>false</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.enabledIncrementalBuild</key>
|
||||
<value>false</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.build.command</key>
|
||||
<value>make</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.build.target.inc</key>
|
||||
<value>all</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.build.arguments</key>
|
||||
<value></value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
|
||||
<value>true</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.environment</key>
|
||||
<value></value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.enableFullBuild</key>
|
||||
<value>false</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.build.target.auto</key>
|
||||
<value>all</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.enableAutoBuild</key>
|
||||
<value>false</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.build.target.clean</key>
|
||||
<value>clean</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.core.errorOutputParser</key>
|
||||
<value>org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.VCErrorParser;</value>
|
||||
</dictionary>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.altera.ide.core.alterabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.make.core.ScannerConfigBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
||||
<nature>com.altera.ide.core.AlteraNios2Nature</nature>
|
||||
<nature>com.altera.ide.core.AlteraApplicationNature</nature>
|
||||
<nature>org.eclipse.cdt.make.core.makeNature</nature>
|
||||
<nature>org.eclipse.cdt.make.core.ScannerConfigNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -0,0 +1,3 @@
|
|||
#Tue Aug 04 21:28:00 BST 2009
|
||||
eclipse.preferences.version=1
|
||||
indexerId=org.eclipse.cdt.core.fastIndexer
|
|
@ -0,0 +1,6 @@
|
|||
#Tue Aug 04 21:27:58 BST 2009
|
||||
eclipse.preferences.version=1
|
||||
nios2.exec.debug.746546544/internalBuilder/enabled=false
|
||||
nios2.exec.debug.746546544/internalBuilder/ignoreErr=true
|
||||
nios2.exec.release.1419815778/internalBuilder/enabled=false
|
||||
nios2.exec.release.1419815778/internalBuilder/ignoreErr=true
|
|
@ -0,0 +1,3 @@
|
|||
#Tue Aug 04 21:40:26 BST 2009
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false
|
|
@ -0,0 +1,134 @@
|
|||
/*
|
||||
FreeRTOS V7.1.1 - Copyright (C) 2012 Real Time Engineers Ltd.
|
||||
|
||||
|
||||
***************************************************************************
|
||||
* *
|
||||
* FreeRTOS tutorial books are available in pdf and paperback. *
|
||||
* Complete, revised, and edited pdf reference manuals are also *
|
||||
* available. *
|
||||
* *
|
||||
* Purchasing FreeRTOS documentation will not only help you, by *
|
||||
* ensuring you get running as quickly as possible and with an *
|
||||
* in-depth knowledge of how to use FreeRTOS, it will also help *
|
||||
* the FreeRTOS project to continue with its mission of providing *
|
||||
* professional grade, cross platform, de facto standard solutions *
|
||||
* for microcontrollers - completely free of charge! *
|
||||
* *
|
||||
* >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
|
||||
* *
|
||||
* Thank you for using FreeRTOS, and thank you for your support! *
|
||||
* *
|
||||
***************************************************************************
|
||||
|
||||
|
||||
This file is part of the FreeRTOS distribution.
|
||||
|
||||
FreeRTOS is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License (version 2) as published by the
|
||||
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
|
||||
>>>NOTE<<< The modification to the GPL is included to allow you to
|
||||
distribute a combined work that includes FreeRTOS without being obliged to
|
||||
provide the source code for proprietary components outside of the FreeRTOS
|
||||
kernel. FreeRTOS is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
more details. You should have received a copy of the GNU General Public
|
||||
License and the FreeRTOS license exception along with FreeRTOS; if not it
|
||||
can be viewed here: http://www.freertos.org/a00114.html and also obtained
|
||||
by writing to Richard Barry, contact details for whom are available on the
|
||||
FreeRTOS WEB site.
|
||||
|
||||
1 tab == 4 spaces!
|
||||
|
||||
***************************************************************************
|
||||
* *
|
||||
* Having a problem? Start by reading the FAQ "My application does *
|
||||
* not run, what could be wrong? *
|
||||
* *
|
||||
* http://www.FreeRTOS.org/FAQHelp.html *
|
||||
* *
|
||||
***************************************************************************
|
||||
|
||||
|
||||
http://www.FreeRTOS.org - Documentation, training, latest information,
|
||||
license and contact details.
|
||||
|
||||
http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
|
||||
including FreeRTOS+Trace - an indispensable productivity tool.
|
||||
|
||||
Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
|
||||
the code with commercial support, indemnification, and middleware, under
|
||||
the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
|
||||
provide a safety engineered and independently SIL3 certified version under
|
||||
the SafeRTOS brand: http://www.SafeRTOS.com.
|
||||
*/
|
||||
|
||||
#ifndef FREERTOS_CONFIG_H
|
||||
#define FREERTOS_CONFIG_H
|
||||
|
||||
/*
|
||||
* The following #error directive is to remind users that a batch file must be
|
||||
* executed prior to this project being built. The batch file *cannot* be
|
||||
* executed from within the IDE! Once it has been executed, re-open or refresh
|
||||
* the Eclipse project and remove the #error line below.
|
||||
*/
|
||||
#error Ensure CreateProjectDirectoryStructure.bat has been executed before building. See comment immediately above.
|
||||
|
||||
#include "system.h"
|
||||
|
||||
/*-----------------------------------------------------------
|
||||
* Application specific definitions.
|
||||
*
|
||||
* These definitions should be adjusted for your particular hardware and
|
||||
* application requirements.
|
||||
*
|
||||
* THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
|
||||
* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
|
||||
*----------------------------------------------------------*/
|
||||
|
||||
#define configUSE_PREEMPTION 1
|
||||
#define configUSE_IDLE_HOOK 0
|
||||
#define configUSE_TICK_HOOK 0
|
||||
#define configTICK_RATE_HZ ( ( portTickType ) 1000 )
|
||||
#define configCPU_CLOCK_HZ ( ( unsigned long ) SYS_CLK_FREQ )
|
||||
#define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 )
|
||||
#define configMINIMAL_STACK_SIZE ( 1024 )
|
||||
#define configISR_STACK_SIZE configMINIMAL_STACK_SIZE
|
||||
#define configTOTAL_HEAP_SIZE ( ( size_t ) 8388608 )
|
||||
#define configMAX_TASK_NAME_LEN ( 8 )
|
||||
#define configUSE_TRACE_FACILITY 0
|
||||
#define configUSE_16_BIT_TICKS 0
|
||||
#define configIDLE_SHOULD_YIELD 0
|
||||
#define configUSE_MUTEXES 1
|
||||
#define configUSE_RECURSIVE_MUTEXES 1
|
||||
#define configUSE_COUNTING_SEMAPHORES 1
|
||||
#define configCHECK_FOR_STACK_OVERFLOW 2
|
||||
#define configQUEUE_REGISTRY_SIZE 0
|
||||
|
||||
/* Co-routine definitions. */
|
||||
#define configUSE_CO_ROUTINES 0
|
||||
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
|
||||
|
||||
/* Set the following definitions to 1 to include the API function, or zero
|
||||
to exclude the API function. */
|
||||
|
||||
#define INCLUDE_vTaskPrioritySet 1
|
||||
#define INCLUDE_uxTaskPriorityGet 1
|
||||
#define INCLUDE_vTaskDelete 1
|
||||
#define INCLUDE_vTaskCleanUpResources 0
|
||||
#define INCLUDE_vTaskSuspend 1
|
||||
#define INCLUDE_vTaskDelayUntil 1
|
||||
#define INCLUDE_vTaskDelay 1
|
||||
#define INCLUDE_uxTaskGetStackHighWaterMark 1
|
||||
|
||||
/* The priority at which the tick interrupt runs. This should probably be
|
||||
kept at 1. */
|
||||
#define configKERNEL_INTERRUPT_PRIORITY 0x01
|
||||
|
||||
/* The maximum interrupt priority from which FreeRTOS.org API functions can
|
||||
be called. Only API functions that end in ...FromISR() can be used within
|
||||
interrupts. */
|
||||
#define configMAX_SYSCALL_INTERRUPT_PRIORITY 0x03
|
||||
|
||||
#endif /* FREERTOS_CONFIG_H */
|
|
@ -0,0 +1,130 @@
|
|||
/*
|
||||
FreeRTOS V7.1.1 - Copyright (C) 2012 Real Time Engineers Ltd.
|
||||
|
||||
|
||||
***************************************************************************
|
||||
* *
|
||||
* FreeRTOS tutorial books are available in pdf and paperback. *
|
||||
* Complete, revised, and edited pdf reference manuals are also *
|
||||
* available. *
|
||||
* *
|
||||
* Purchasing FreeRTOS documentation will not only help you, by *
|
||||
* ensuring you get running as quickly as possible and with an *
|
||||
* in-depth knowledge of how to use FreeRTOS, it will also help *
|
||||
* the FreeRTOS project to continue with its mission of providing *
|
||||
* professional grade, cross platform, de facto standard solutions *
|
||||
* for microcontrollers - completely free of charge! *
|
||||
* *
|
||||
* >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
|
||||
* *
|
||||
* Thank you for using FreeRTOS, and thank you for your support! *
|
||||
* *
|
||||
***************************************************************************
|
||||
|
||||
|
||||
This file is part of the FreeRTOS distribution.
|
||||
|
||||
FreeRTOS is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License (version 2) as published by the
|
||||
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
|
||||
>>>NOTE<<< The modification to the GPL is included to allow you to
|
||||
distribute a combined work that includes FreeRTOS without being obliged to
|
||||
provide the source code for proprietary components outside of the FreeRTOS
|
||||
kernel. FreeRTOS is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
more details. You should have received a copy of the GNU General Public
|
||||
License and the FreeRTOS license exception along with FreeRTOS; if not it
|
||||
can be viewed here: http://www.freertos.org/a00114.html and also obtained
|
||||
by writing to Richard Barry, contact details for whom are available on the
|
||||
FreeRTOS WEB site.
|
||||
|
||||
1 tab == 4 spaces!
|
||||
|
||||
***************************************************************************
|
||||
* *
|
||||
* Having a problem? Start by reading the FAQ "My application does *
|
||||
* not run, what could be wrong? *
|
||||
* *
|
||||
* http://www.FreeRTOS.org/FAQHelp.html *
|
||||
* *
|
||||
***************************************************************************
|
||||
|
||||
|
||||
http://www.FreeRTOS.org - Documentation, training, latest information,
|
||||
license and contact details.
|
||||
|
||||
http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
|
||||
including FreeRTOS+Trace - an indispensable productivity tool.
|
||||
|
||||
Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
|
||||
the code with commercial support, indemnification, and middleware, under
|
||||
the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
|
||||
provide a safety engineered and independently SIL3 certified version under
|
||||
the SafeRTOS brand: http://www.SafeRTOS.com.
|
||||
*/
|
||||
|
||||
/*-----------------------------------------------------------
|
||||
* Simple parallel port IO routines.
|
||||
*-----------------------------------------------------------*/
|
||||
|
||||
|
||||
/* Scheduler includes. */
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
|
||||
/* Demo app includes. */
|
||||
#include "system.h"
|
||||
#include "altera_avalon_pio_regs.h"
|
||||
#include "partest.h"
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
#define partstNUM_LEDS ( 8 )
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
static unsigned long ulLedStates;
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
void vParTestInitialise( void )
|
||||
{
|
||||
IOWR_ALTERA_AVALON_PIO_DIRECTION( LED_PIO_BASE, ALTERA_AVALON_PIO_DIRECTION_OUTPUT );
|
||||
ulLedStates = 0;
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )
|
||||
{
|
||||
if( uxLED < partstNUM_LEDS )
|
||||
{
|
||||
taskENTER_CRITICAL();
|
||||
{
|
||||
if ( xValue > 0 )
|
||||
{
|
||||
ulLedStates |= 1 << uxLED;
|
||||
}
|
||||
else
|
||||
{
|
||||
ulLedStates &= ~( 1 << uxLED );
|
||||
}
|
||||
IOWR_ALTERA_AVALON_PIO_DATA( LED_PIO_BASE, ulLedStates );
|
||||
}
|
||||
taskEXIT_CRITICAL();
|
||||
}
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
void vParTestToggleLED( unsigned portBASE_TYPE uxLED )
|
||||
{
|
||||
if( uxLED < partstNUM_LEDS )
|
||||
{
|
||||
taskENTER_CRITICAL();
|
||||
{
|
||||
vParTestSetLED( uxLED, !( ulLedStates & ( 1 << uxLED ) ) );
|
||||
}
|
||||
taskEXIT_CRITICAL();
|
||||
}
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<stf>
|
||||
<project sdk="RTOSDemo_syslib" target="Nios II Application">
|
||||
</project>
|
||||
</stf>
|
575
FreeRTOS/Demo/NiosII_CycloneIII_DBC3C40_GCC/RTOSDemo/main.c
Normal file
575
FreeRTOS/Demo/NiosII_CycloneIII_DBC3C40_GCC/RTOSDemo/main.c
Normal file
|
@ -0,0 +1,575 @@
|
|||
/*
|
||||
FreeRTOS V7.1.1 - Copyright (C) 2012 Real Time Engineers Ltd.
|
||||
|
||||
|
||||
***************************************************************************
|
||||
* *
|
||||
* FreeRTOS tutorial books are available in pdf and paperback. *
|
||||
* Complete, revised, and edited pdf reference manuals are also *
|
||||
* available. *
|
||||
* *
|
||||
* Purchasing FreeRTOS documentation will not only help you, by *
|
||||
* ensuring you get running as quickly as possible and with an *
|
||||
* in-depth knowledge of how to use FreeRTOS, it will also help *
|
||||
* the FreeRTOS project to continue with its mission of providing *
|
||||
* professional grade, cross platform, de facto standard solutions *
|
||||
* for microcontrollers - completely free of charge! *
|
||||
* *
|
||||
* >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
|
||||
* *
|
||||
* Thank you for using FreeRTOS, and thank you for your support! *
|
||||
* *
|
||||
***************************************************************************
|
||||
|
||||
|
||||
This file is part of the FreeRTOS distribution.
|
||||
|
||||
FreeRTOS is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License (version 2) as published by the
|
||||
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
|
||||
>>>NOTE<<< The modification to the GPL is included to allow you to
|
||||
distribute a combined work that includes FreeRTOS without being obliged to
|
||||
provide the source code for proprietary components outside of the FreeRTOS
|
||||
kernel. FreeRTOS is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
more details. You should have received a copy of the GNU General Public
|
||||
License and the FreeRTOS license exception along with FreeRTOS; if not it
|
||||
can be viewed here: http://www.freertos.org/a00114.html and also obtained
|
||||
by writing to Richard Barry, contact details for whom are available on the
|
||||
FreeRTOS WEB site.
|
||||
|
||||
1 tab == 4 spaces!
|
||||
|
||||
***************************************************************************
|
||||
* *
|
||||
* Having a problem? Start by reading the FAQ "My application does *
|
||||
* not run, what could be wrong? *
|
||||
* *
|
||||
* http://www.FreeRTOS.org/FAQHelp.html *
|
||||
* *
|
||||
***************************************************************************
|
||||
|
||||
|
||||
http://www.FreeRTOS.org - Documentation, training, latest information,
|
||||
license and contact details.
|
||||
|
||||
http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
|
||||
including FreeRTOS+Trace - an indispensable productivity tool.
|
||||
|
||||
Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
|
||||
the code with commercial support, indemnification, and middleware, under
|
||||
the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
|
||||
provide a safety engineered and independently SIL3 certified version under
|
||||
the SafeRTOS brand: http://www.SafeRTOS.com.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Creates all the demo application tasks, then starts the scheduler.
|
||||
* In addition to the standard demo tasks, the following tasks and tests are
|
||||
* defined and/or created within this file:
|
||||
*
|
||||
* "Check" task - This only executes every five seconds but has the highest
|
||||
* priority so is guaranteed to get processor time. Its main function is to
|
||||
* check that all the standard demo tasks are still operational. The check
|
||||
* task will write an error message to the console should an error be detected
|
||||
* within any of the demo tasks. The check task also toggles the LED defined
|
||||
* by mainCHECK_LED every 5 seconds while the system is error free, with the
|
||||
* toggle rate increasing to every 500ms should an error occur.
|
||||
*
|
||||
* "Reg test" tasks - These fill the registers with known values, then check
|
||||
* that each register still contains its expected value. Each task uses
|
||||
* different values. The tasks run with very low priority so get preempted very
|
||||
* frequently. A register containing an unexpected value is indicative of an
|
||||
* error in the context switching mechanism.
|
||||
*
|
||||
* See the online documentation for this demo for more information on interrupt
|
||||
* usage.
|
||||
*/
|
||||
|
||||
/* Standard includes. */
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
/* Scheduler includes. */
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "queue.h"
|
||||
|
||||
/* Demo application includes. */
|
||||
#include "partest.h"
|
||||
#include "flash.h"
|
||||
#include "blocktim.h"
|
||||
#include "semtest.h"
|
||||
#include "serial.h"
|
||||
#include "comtest.h"
|
||||
#include "GenQTest.h"
|
||||
#include "QPeek.h"
|
||||
#include "integer.h"
|
||||
#include "PollQ.h"
|
||||
#include "BlockQ.h"
|
||||
#include "dynamic.h"
|
||||
#include "countsem.h"
|
||||
#include "recmutex.h"
|
||||
#include "death.h"
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
#error The batch file Demo\NiosII_CycloneIII_DBC3C40_GCC\CreateProjectDirectoryStructure.bat must be executed before the project is imported into the workspace. Failure to do this will result in the include paths stored in the project being deleted. Remove this line after CreateProjectDirectoryStructure.bat has been executed.
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* The rate at which the LED controlled by the 'check' task will toggle when no
|
||||
errors have been detected. */
|
||||
#define mainNO_ERROR_PERIOD ( 5000 )
|
||||
|
||||
/* The rate at which the LED controlled by the 'check' task will toggle when an
|
||||
error has been detected. */
|
||||
#define mainERROR_PERIOD ( 500 )
|
||||
|
||||
/* The LED toggled by the Check task. */
|
||||
#define mainCHECK_LED ( 7 )
|
||||
|
||||
/* The first LED used by the ComTest tasks. One LED toggles each time a
|
||||
character is transmitted, and one each time a character is received and
|
||||
verified as being the expected character. */
|
||||
#define mainCOMTEST_LED ( 4 )
|
||||
|
||||
/* Priority definitions for the tasks in the demo application. */
|
||||
#define mainLED_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
||||
#define mainCREATOR_TASK_PRIORITY ( tskIDLE_PRIORITY + 3 )
|
||||
#define mainCHECK_TASK_PRIORITY ( tskIDLE_PRIORITY + 4 )
|
||||
#define mainQUEUE_POLL_PRIORITY ( tskIDLE_PRIORITY + 2 )
|
||||
#define mainQUEUE_BLOCK_PRIORITY ( tskIDLE_PRIORITY + 3 )
|
||||
#define mainCOM_TEST_PRIORITY ( tskIDLE_PRIORITY + 2 )
|
||||
#define mainSEMAPHORE_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
||||
#define mainGENERIC_QUEUE_PRIORITY ( tskIDLE_PRIORITY )
|
||||
#define mainREG_TEST_PRIORITY ( tskIDLE_PRIORITY )
|
||||
|
||||
/* Misc. */
|
||||
#define mainDONT_WAIT ( 0 )
|
||||
|
||||
/* The parameters passed to the reg test tasks. This is just done to check
|
||||
the parameter passing mechanism is working correctly. */
|
||||
#define mainREG_TEST_1_PARAMETER ( ( void * ) 0x12345678 )
|
||||
#define mainREG_TEST_2_PARAMETER ( ( void * ) 0x87654321 )
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/*
|
||||
* Setup the processor ready for the demo.
|
||||
*/
|
||||
static void prvSetupHardware( void );
|
||||
|
||||
/*
|
||||
* Execute all of the check functions to ensure the tests haven't failed.
|
||||
*/
|
||||
static void prvCheckTask( void *pvParameters );
|
||||
|
||||
/*
|
||||
* The register test (or RegTest) tasks as described at the top of this file.
|
||||
*/
|
||||
static void prvFirstRegTestTask( void *pvParameters );
|
||||
static void prvSecondRegTestTask( void *pvParameters );
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* Counters that are incremented on each iteration of the RegTest tasks
|
||||
so long as no errors have been detected. */
|
||||
volatile unsigned long ulRegTest1Counter = 0UL, ulRegTest2Counter = 0UL;
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/*
|
||||
* Create the demo tasks then start the scheduler.
|
||||
*/
|
||||
int main( void )
|
||||
{
|
||||
/* Configure any hardware required for this demo. */
|
||||
prvSetupHardware();
|
||||
|
||||
/* Create all the other standard demo tasks. These serve no purpose other
|
||||
than to test the port and demonstrate the use of the FreeRTOS API. */
|
||||
vStartLEDFlashTasks( tskIDLE_PRIORITY );
|
||||
vStartIntegerMathTasks( mainGENERIC_QUEUE_PRIORITY );
|
||||
vStartPolledQueueTasks( mainQUEUE_POLL_PRIORITY );
|
||||
vStartBlockingQueueTasks( mainQUEUE_BLOCK_PRIORITY );
|
||||
vCreateBlockTimeTasks();
|
||||
vStartSemaphoreTasks( mainSEMAPHORE_TASK_PRIORITY );
|
||||
vStartDynamicPriorityTasks();
|
||||
vStartQueuePeekTasks();
|
||||
vStartGenericQueueTasks( mainGENERIC_QUEUE_PRIORITY );
|
||||
vStartCountingSemaphoreTasks();
|
||||
vStartRecursiveMutexTasks();
|
||||
vAltStartComTestTasks( mainCOM_TEST_PRIORITY, 0, mainCOMTEST_LED );
|
||||
|
||||
/* prvCheckTask uses sprintf so requires more stack. */
|
||||
xTaskCreate( prvCheckTask, "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL );
|
||||
|
||||
/* The RegTest tasks as described at the top of this file. */
|
||||
xTaskCreate( prvFirstRegTestTask, "Rreg1", configMINIMAL_STACK_SIZE, mainREG_TEST_1_PARAMETER, mainREG_TEST_PRIORITY, NULL );
|
||||
xTaskCreate( prvSecondRegTestTask, "Rreg2", configMINIMAL_STACK_SIZE, mainREG_TEST_2_PARAMETER, mainREG_TEST_PRIORITY, NULL );
|
||||
|
||||
/* This task has to be created last as it keeps account of the number of tasks
|
||||
it expects to see running. */
|
||||
vCreateSuicidalTasks( mainCREATOR_TASK_PRIORITY );
|
||||
|
||||
/* Finally start the scheduler. */
|
||||
vTaskStartScheduler();
|
||||
|
||||
/* Will only reach here if there is insufficient heap available to start
|
||||
the scheduler. */
|
||||
for( ;; );
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
static void prvSetupHardware( void )
|
||||
{
|
||||
/* Setup the digital IO for the LED's. */
|
||||
vParTestInitialise();
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
void vApplicationStackOverflowHook( void )
|
||||
{
|
||||
/* Look at pxCurrentTCB to see which task overflowed its stack. */
|
||||
for( ;; )
|
||||
{
|
||||
asm( "break" );
|
||||
}
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
void _general_exception_handler( unsigned long ulCause, unsigned long ulStatus )
|
||||
{
|
||||
/* This overrides the definition provided by the kernel. Other exceptions
|
||||
should be handled here. */
|
||||
for( ;; )
|
||||
{
|
||||
asm( "break" );
|
||||
}
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
static void prvCheckTask( void *pvParameters )
|
||||
{
|
||||
portTickType xLastExecutionTime, ulTicksToWait = mainNO_ERROR_PERIOD;
|
||||
unsigned long ulLastRegTest1 = 0UL, ulLastRegTest2 = 0UL;
|
||||
const char * pcMessage;
|
||||
|
||||
/* Initialise the variable used to control our iteration rate prior to
|
||||
its first use. */
|
||||
xLastExecutionTime = xTaskGetTickCount();
|
||||
|
||||
for( ;; )
|
||||
{
|
||||
/* Wait until it is time to run the tests again. */
|
||||
vTaskDelayUntil( &xLastExecutionTime, ulTicksToWait );
|
||||
|
||||
/* Have any of the standard demo tasks detected an error in their
|
||||
operation? */
|
||||
if( xAreIntegerMathsTaskStillRunning() != pdTRUE )
|
||||
{
|
||||
ulTicksToWait = mainERROR_PERIOD;
|
||||
pcMessage = "Error: Integer Maths.\n";
|
||||
}
|
||||
else if( xAreGenericQueueTasksStillRunning() != pdTRUE )
|
||||
{
|
||||
ulTicksToWait = mainERROR_PERIOD;
|
||||
pcMessage = "Error: GenQ.\n";
|
||||
}
|
||||
else if( xAreBlockingQueuesStillRunning() != pdTRUE )
|
||||
{
|
||||
ulTicksToWait = mainERROR_PERIOD;
|
||||
pcMessage = "Error: BlockQ.\n";
|
||||
}
|
||||
else if( xArePollingQueuesStillRunning() != pdTRUE )
|
||||
{
|
||||
ulTicksToWait = mainERROR_PERIOD;
|
||||
pcMessage = "Error: PollQ.\n";
|
||||
}
|
||||
else if( xAreQueuePeekTasksStillRunning() != pdTRUE )
|
||||
{
|
||||
ulTicksToWait = mainERROR_PERIOD;
|
||||
pcMessage = "Error: PeekQ.\n";
|
||||
}
|
||||
else if( xAreBlockTimeTestTasksStillRunning() != pdTRUE )
|
||||
{
|
||||
ulTicksToWait = mainERROR_PERIOD;
|
||||
pcMessage = "Error: Block Time.\n";
|
||||
}
|
||||
else if( xAreSemaphoreTasksStillRunning() != pdTRUE )
|
||||
{
|
||||
ulTicksToWait = mainERROR_PERIOD;
|
||||
pcMessage = "Error: Semaphore Test.\n";
|
||||
}
|
||||
else if( xAreComTestTasksStillRunning() != pdTRUE )
|
||||
{
|
||||
ulTicksToWait = mainERROR_PERIOD;
|
||||
pcMessage = "Error: Comm Test.\n";
|
||||
}
|
||||
else if( xIsCreateTaskStillRunning() != pdTRUE )
|
||||
{
|
||||
ulTicksToWait = mainERROR_PERIOD;
|
||||
pcMessage = "Error: Suicidal Tasks.\n";
|
||||
}
|
||||
else if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )
|
||||
{
|
||||
ulTicksToWait = mainERROR_PERIOD;
|
||||
pcMessage = "Error: Dynamic Priority.\n";
|
||||
}
|
||||
else if( xAreCountingSemaphoreTasksStillRunning() != pdTRUE )
|
||||
{
|
||||
ulTicksToWait = mainERROR_PERIOD;
|
||||
pcMessage = "Error: Count Semaphore.\n";
|
||||
}
|
||||
else if( xAreRecursiveMutexTasksStillRunning() != pdTRUE )
|
||||
{
|
||||
ulTicksToWait = mainERROR_PERIOD;
|
||||
pcMessage = "Error: Recursive Mutex.\n";
|
||||
}
|
||||
else if( ulLastRegTest1 == ulRegTest1Counter )
|
||||
{
|
||||
/* ulRegTest1Counter is no longer being incremented, indicating
|
||||
that an error has been discovered in prvFirstRegTestTask(). */
|
||||
ulTicksToWait = mainERROR_PERIOD;
|
||||
pcMessage = "Error: Reg Test1.\n";
|
||||
}
|
||||
else if( ulLastRegTest2 == ulRegTest2Counter )
|
||||
{
|
||||
/* ulRegTest2Counter is no longer being incremented, indicating
|
||||
that an error has been discovered in prvSecondRegTestTask(). */
|
||||
ulTicksToWait = mainERROR_PERIOD;
|
||||
pcMessage = "Error: Reg Test2.\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
pcMessage = NULL;
|
||||
}
|
||||
|
||||
/* Remember the counter values this time around so a counter failing
|
||||
to be incremented correctly can be spotted. */
|
||||
ulLastRegTest1 = ulRegTest1Counter;
|
||||
ulLastRegTest2 = ulRegTest2Counter;
|
||||
|
||||
/* Print out an error message if there is one. Mutual exclusion is
|
||||
not used as this is the only task accessing stdout. */
|
||||
if( pcMessage != NULL )
|
||||
{
|
||||
printf( pcMessage );
|
||||
}
|
||||
|
||||
/* Provide visual feedback of the system status. If the LED is toggled
|
||||
every 5 seconds then no errors have been found. If the LED is toggled
|
||||
every 500ms then at least one error has been found. */
|
||||
vParTestToggleLED( mainCHECK_LED );
|
||||
}
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
static void prvFirstRegTestTask( void *pvParameters )
|
||||
{
|
||||
/* Check the parameters are passed in as expected. */
|
||||
if( pvParameters != mainREG_TEST_1_PARAMETER )
|
||||
{
|
||||
/* Don't execute any further so an error is recognised by the check
|
||||
task. */
|
||||
vTaskDelete( NULL );
|
||||
}
|
||||
|
||||
/* Fill registers with known values, then check that each register still
|
||||
contains its expected value. An incorrect value is indicative of an error
|
||||
in the context switching process.
|
||||
|
||||
If no errors are found ulRegTest1Counter is incremented. The check task
|
||||
will recognise an error if ulRegTest1Counter stops being incremented.
|
||||
This task also performs a manual yield in the middle of its execution, just
|
||||
to increase the test coverage. */
|
||||
asm volatile (
|
||||
" .extern ulRegTest1Counter \n" \
|
||||
" \n" \
|
||||
" addi r3, r0, 3 \n" \
|
||||
" addi r4, r0, 4 \n" \
|
||||
" addi r5, r0, 5 \n" \
|
||||
" addi r6, r0, 6 \n" \
|
||||
" addi r7, r0, 7 \n" \
|
||||
" addi r8, r0, 8 \n" \
|
||||
" addi r9, r0, 9 \n" \
|
||||
" addi r10, r0, 10 \n" \
|
||||
" addi r11, r0, 11 \n" \
|
||||
" addi r12, r0, 12 \n" \
|
||||
" addi r13, r0, 13 \n" \
|
||||
" addi r14, r0, 14 \n" \
|
||||
" addi r15, r0, 15 \n" \
|
||||
" addi r16, r0, 16 \n" \
|
||||
" addi r17, r0, 17 \n" \
|
||||
" addi r18, r0, 18 \n" \
|
||||
" addi r19, r0, 19 \n" \
|
||||
" addi r20, r0, 20 \n" \
|
||||
" addi r21, r0, 21 \n" \
|
||||
" addi r22, r0, 22 \n" \
|
||||
" addi r23, r0, 23 \n" \
|
||||
" addi r28, r0, 28 \n" \
|
||||
" addi r31, r0, 31 \n" \
|
||||
"RegTest1: \n" \
|
||||
" addi r2, r0, 0 \n" \
|
||||
" trap \n" \
|
||||
" bne r2, r0, RegTest1Error \n" \
|
||||
" addi r2, r0, 3 \n" \
|
||||
" bne r2, r3, RegTest1Error \n" \
|
||||
" addi r2, r0, 4 \n" \
|
||||
" bne r2, r4, RegTest1Error \n" \
|
||||
" addi r2, r0, 5 \n" \
|
||||
" bne r2, r5, RegTest1Error \n" \
|
||||
" addi r2, r0, 6 \n" \
|
||||
" bne r2, r6, RegTest1Error \n" \
|
||||
" addi r2, r0, 7 \n" \
|
||||
" bne r2, r7, RegTest1Error \n" \
|
||||
" addi r2, r0, 8 \n" \
|
||||
" bne r2, r8, RegTest1Error \n" \
|
||||
" addi r2, r0, 9 \n" \
|
||||
" bne r2, r9, RegTest1Error \n" \
|
||||
" addi r2, r0, 10 \n" \
|
||||
" bne r2, r10, RegTest1Error \n" \
|
||||
" addi r2, r0, 11 \n" \
|
||||
" bne r2, r11, RegTest1Error \n" \
|
||||
" addi r2, r0, 12 \n" \
|
||||
" bne r2, r12, RegTest1Error \n" \
|
||||
" addi r2, r0, 13 \n" \
|
||||
" bne r2, r13, RegTest1Error \n" \
|
||||
" addi r2, r0, 14 \n" \
|
||||
" bne r2, r14, RegTest1Error \n" \
|
||||
" addi r2, r0, 15 \n" \
|
||||
" bne r2, r15, RegTest1Error \n" \
|
||||
" addi r2, r0, 16 \n" \
|
||||
" bne r2, r16, RegTest1Error \n" \
|
||||
" addi r2, r0, 17 \n" \
|
||||
" bne r2, r17, RegTest1Error \n" \
|
||||
" addi r2, r0, 18 \n" \
|
||||
" bne r2, r18, RegTest1Error \n" \
|
||||
" addi r2, r0, 19 \n" \
|
||||
" bne r2, r19, RegTest1Error \n" \
|
||||
" addi r2, r0, 20 \n" \
|
||||
" bne r2, r20, RegTest1Error \n" \
|
||||
" addi r2, r0, 21 \n" \
|
||||
" bne r2, r21, RegTest1Error \n" \
|
||||
" addi r2, r0, 22 \n" \
|
||||
" bne r2, r22, RegTest1Error \n" \
|
||||
" addi r2, r0, 23 \n" \
|
||||
" bne r2, r23, RegTest1Error \n" \
|
||||
" addi r2, r0, 28 \n" \
|
||||
" bne r2, r28, RegTest1Error \n" \
|
||||
" addi r2, r0, 31 \n" \
|
||||
" bne r2, r31, RegTest1Error \n" \
|
||||
" ldw r2, %gprel(ulRegTest1Counter)(gp) \n" \
|
||||
" addi r2, r2, 1 \n" \
|
||||
" stw r2, %gprel(ulRegTest1Counter)(gp) \n" \
|
||||
" br RegTest1 \n" \
|
||||
"RegTest1Error: \n" \
|
||||
" br RegTest1Error \n"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
static void prvSecondRegTestTask( void *pvParameters )
|
||||
{
|
||||
/* Check the parameters are passed in as expected. */
|
||||
if( pvParameters != mainREG_TEST_2_PARAMETER )
|
||||
{
|
||||
/* Don't execute any further so an error is recognised by the check
|
||||
task. */
|
||||
vTaskDelete( NULL );
|
||||
}
|
||||
|
||||
/* Fill registers with known values, then check that each register still
|
||||
contains its expected value. An incorrect value is indicative of an error
|
||||
in the context switching process.
|
||||
|
||||
If no errors are found ulRegTest2Counter is incremented. The check task
|
||||
will recognise an error if ulRegTest2Counter stops being incremented. */
|
||||
asm volatile (
|
||||
" .extern ulRegTest2Counter \n" \
|
||||
" \n" \
|
||||
" addi r3, r0, 3 \n" \
|
||||
" addi r4, r0, 4 \n" \
|
||||
" addi r5, r0, 5 \n" \
|
||||
" addi r6, r0, 6 \n" \
|
||||
" addi r7, r0, 7 \n" \
|
||||
" addi r8, r0, 8 \n" \
|
||||
" addi r9, r0, 9 \n" \
|
||||
" addi r10, r0, 10 \n" \
|
||||
" addi r11, r0, 11 \n" \
|
||||
" addi r12, r0, 12 \n" \
|
||||
" addi r13, r0, 13 \n" \
|
||||
" addi r14, r0, 14 \n" \
|
||||
" addi r15, r0, 15 \n" \
|
||||
" addi r16, r0, 16 \n" \
|
||||
" addi r17, r0, 17 \n" \
|
||||
" addi r18, r0, 18 \n" \
|
||||
" addi r19, r0, 19 \n" \
|
||||
" addi r20, r0, 20 \n" \
|
||||
" addi r21, r0, 21 \n" \
|
||||
" addi r22, r0, 22 \n" \
|
||||
" addi r23, r0, 23 \n" \
|
||||
" addi r28, r0, 28 \n" \
|
||||
" addi r31, r0, 31 \n" \
|
||||
"RegTest2: \n" \
|
||||
" addi r2, r0, 0 \n" \
|
||||
" bne r2, r0, RegTest2Error \n" \
|
||||
" addi r2, r0, 3 \n" \
|
||||
" bne r2, r3, RegTest2Error \n" \
|
||||
" addi r2, r0, 4 \n" \
|
||||
" bne r2, r4, RegTest2Error \n" \
|
||||
" addi r2, r0, 5 \n" \
|
||||
" bne r2, r5, RegTest2Error \n" \
|
||||
" addi r2, r0, 6 \n" \
|
||||
" bne r2, r6, RegTest2Error \n" \
|
||||
" addi r2, r0, 7 \n" \
|
||||
" bne r2, r7, RegTest2Error \n" \
|
||||
" addi r2, r0, 8 \n" \
|
||||
" bne r2, r8, RegTest2Error \n" \
|
||||
" addi r2, r0, 9 \n" \
|
||||
" bne r2, r9, RegTest2Error \n" \
|
||||
" addi r2, r0, 10 \n" \
|
||||
" bne r2, r10, RegTest2Error \n" \
|
||||
" addi r2, r0, 11 \n" \
|
||||
" bne r2, r11, RegTest2Error \n" \
|
||||
" addi r2, r0, 12 \n" \
|
||||
" bne r2, r12, RegTest2Error \n" \
|
||||
" addi r2, r0, 13 \n" \
|
||||
" bne r2, r13, RegTest2Error \n" \
|
||||
" addi r2, r0, 14 \n" \
|
||||
" bne r2, r14, RegTest2Error \n" \
|
||||
" addi r2, r0, 15 \n" \
|
||||
" bne r2, r15, RegTest2Error \n" \
|
||||
" addi r2, r0, 16 \n" \
|
||||
" bne r2, r16, RegTest2Error \n" \
|
||||
" addi r2, r0, 17 \n" \
|
||||
" bne r2, r17, RegTest2Error \n" \
|
||||
" addi r2, r0, 18 \n" \
|
||||
" bne r2, r18, RegTest2Error \n" \
|
||||
" addi r2, r0, 19 \n" \
|
||||
" bne r2, r19, RegTest2Error \n" \
|
||||
" addi r2, r0, 20 \n" \
|
||||
" bne r2, r20, RegTest2Error \n" \
|
||||
" addi r2, r0, 21 \n" \
|
||||
" bne r2, r21, RegTest2Error \n" \
|
||||
" addi r2, r0, 22 \n" \
|
||||
" bne r2, r22, RegTest2Error \n" \
|
||||
" addi r2, r0, 23 \n" \
|
||||
" bne r2, r23, RegTest2Error \n" \
|
||||
" addi r2, r0, 28 \n" \
|
||||
" bne r2, r28, RegTest2Error \n" \
|
||||
" addi r2, r0, 31 \n" \
|
||||
" bne r2, r31, RegTest2Error \n" \
|
||||
" ldw r2, %gprel(ulRegTest2Counter)(gp) \n" \
|
||||
" addi r2, r2, 1 \n" \
|
||||
" stw r2, %gprel(ulRegTest2Counter)(gp) \n" \
|
||||
" br RegTest2 \n" \
|
||||
"RegTest2Error: \n" \
|
||||
" br RegTest2Error \n"
|
||||
);
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
260
FreeRTOS/Demo/NiosII_CycloneIII_DBC3C40_GCC/RTOSDemo/serial.c
Normal file
260
FreeRTOS/Demo/NiosII_CycloneIII_DBC3C40_GCC/RTOSDemo/serial.c
Normal file
|
@ -0,0 +1,260 @@
|
|||
/*
|
||||
FreeRTOS V7.1.1 - Copyright (C) 2012 Real Time Engineers Ltd.
|
||||
|
||||
|
||||
***************************************************************************
|
||||
* *
|
||||
* FreeRTOS tutorial books are available in pdf and paperback. *
|
||||
* Complete, revised, and edited pdf reference manuals are also *
|
||||
* available. *
|
||||
* *
|
||||
* Purchasing FreeRTOS documentation will not only help you, by *
|
||||
* ensuring you get running as quickly as possible and with an *
|
||||
* in-depth knowledge of how to use FreeRTOS, it will also help *
|
||||
* the FreeRTOS project to continue with its mission of providing *
|
||||
* professional grade, cross platform, de facto standard solutions *
|
||||
* for microcontrollers - completely free of charge! *
|
||||
* *
|
||||
* >>> See http://www.FreeRTOS.org/Documentation for details. <<< *
|
||||
* *
|
||||
* Thank you for using FreeRTOS, and thank you for your support! *
|
||||
* *
|
||||
***************************************************************************
|
||||
|
||||
|
||||
This file is part of the FreeRTOS distribution.
|
||||
|
||||
FreeRTOS is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License (version 2) as published by the
|
||||
Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
|
||||
>>>NOTE<<< The modification to the GPL is included to allow you to
|
||||
distribute a combined work that includes FreeRTOS without being obliged to
|
||||
provide the source code for proprietary components outside of the FreeRTOS
|
||||
kernel. FreeRTOS is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
more details. You should have received a copy of the GNU General Public
|
||||
License and the FreeRTOS license exception along with FreeRTOS; if not it
|
||||
can be viewed here: http://www.freertos.org/a00114.html and also obtained
|
||||
by writing to Richard Barry, contact details for whom are available on the
|
||||
FreeRTOS WEB site.
|
||||
|
||||
1 tab == 4 spaces!
|
||||
|
||||
***************************************************************************
|
||||
* *
|
||||
* Having a problem? Start by reading the FAQ "My application does *
|
||||
* not run, what could be wrong? *
|
||||
* *
|
||||
* http://www.FreeRTOS.org/FAQHelp.html *
|
||||
* *
|
||||
***************************************************************************
|
||||
|
||||
|
||||
http://www.FreeRTOS.org - Documentation, training, latest information,
|
||||
license and contact details.
|
||||
|
||||
http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
|
||||
including FreeRTOS+Trace - an indispensable productivity tool.
|
||||
|
||||
Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell
|
||||
the code with commercial support, indemnification, and middleware, under
|
||||
the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also
|
||||
provide a safety engineered and independently SIL3 certified version under
|
||||
the SafeRTOS brand: http://www.SafeRTOS.com.
|
||||
*/
|
||||
|
||||
/* NOTE: This is just a test file and not intended to be a generic
|
||||
COM driver. */
|
||||
|
||||
#include "altera_avalon_uart.h"
|
||||
#include "altera_avalon_uart_regs.h"
|
||||
#include "sys/alt_irq.h"
|
||||
|
||||
#include "FreeRTOS.h"
|
||||
#include "queue.h"
|
||||
#include "system.h"
|
||||
#include "Serial.h"
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
#define serINVALID_QUEUE ( ( xQueueHandle ) 0 )
|
||||
#define serNO_BLOCK ( ( portTickType ) 0 )
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
static xQueueHandle xRxedChars;
|
||||
static xQueueHandle xCharsForTx;
|
||||
|
||||
alt_u32 uartControl;
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
static void vUARTInterruptHandler( void* context, alt_u32 id );
|
||||
static void vUARTReceiveHandler( alt_u32 status );
|
||||
static void vUARTTransmitHandler( alt_u32 status );
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned portBASE_TYPE uxQueueLength )
|
||||
{
|
||||
/* Create the queues used to hold Rx and Tx characters. */
|
||||
xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
|
||||
xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
|
||||
|
||||
/* If the queues were created correctly then setup the serial port hardware. */
|
||||
if( ( xRxedChars != serINVALID_QUEUE ) && ( xCharsForTx != serINVALID_QUEUE ) )
|
||||
{
|
||||
portENTER_CRITICAL();
|
||||
{
|
||||
uartControl = ALTERA_AVALON_UART_CONTROL_RTS_MSK | ALTERA_AVALON_UART_CONTROL_RRDY_MSK | ALTERA_AVALON_UART_CONTROL_DCTS_MSK;
|
||||
IOWR_ALTERA_AVALON_UART_CONTROL( UART_BASE, uartControl );
|
||||
|
||||
/* register the interrupt handler */
|
||||
alt_irq_register ( UART_IRQ, NULL, vUARTInterruptHandler );
|
||||
}
|
||||
portEXIT_CRITICAL();
|
||||
}
|
||||
else
|
||||
{
|
||||
return ( xComPortHandle ) 0;
|
||||
}
|
||||
return ( xComPortHandle ) 1;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
void vSerialClose( xComPortHandle xPort )
|
||||
{
|
||||
/* Never used. */
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
signed portBASE_TYPE xSerialGetChar( xComPortHandle pxPort, signed char *pcRxedChar, portTickType xBlockTime )
|
||||
{
|
||||
/* The port handle is not required as this driver only supports one port. */
|
||||
( void ) pxPort;
|
||||
|
||||
|
||||
/* Get the next character from the buffer. Return false if no characters
|
||||
are available, or arrive before xBlockTime expires. */
|
||||
if( xQueueReceive( xRxedChars, pcRxedChar, xBlockTime ) )
|
||||
{
|
||||
return pdTRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
uartControl |= ALTERA_AVALON_UART_CONTROL_RRDY_MSK;
|
||||
IOWR_ALTERA_AVALON_UART_CONTROL( UART_BASE, uartControl );
|
||||
return pdFALSE;
|
||||
}
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
signed portBASE_TYPE xSerialPutChar( xComPortHandle pxPort, signed char cOutChar, portTickType xBlockTime )
|
||||
{
|
||||
signed portBASE_TYPE lReturn = pdPASS;
|
||||
|
||||
/* Place the character in the queue of characters to be transmitted. */
|
||||
if( xQueueSend( xCharsForTx, &cOutChar, xBlockTime ) == pdPASS )
|
||||
{
|
||||
/*Triggers an interrupt on every character or (down) when queue is full. */
|
||||
uartControl |= ALTERA_AVALON_UART_CONTROL_TRDY_MSK;
|
||||
IOWR_ALTERA_AVALON_UART_CONTROL( UART_BASE, uartControl );
|
||||
lReturn = pdPASS;
|
||||
}
|
||||
else
|
||||
{
|
||||
lReturn = pdFAIL;
|
||||
}
|
||||
return lReturn;
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
void vSerialPutString( xComPortHandle pxPort, const signed char * const pcString, unsigned short usStringLength )
|
||||
{
|
||||
signed char *pxNext;
|
||||
|
||||
/* A couple of parameters that this port does not use. */
|
||||
( void ) usStringLength;
|
||||
( void ) pxPort;
|
||||
|
||||
/* NOTE: This implementation does not handle the queue being full as no block time is used! */
|
||||
|
||||
/* The port handle is not required as this driver only supports UART0. */
|
||||
( void ) pxPort;
|
||||
|
||||
/* Send each character in the string, one at a time. */
|
||||
pxNext = ( signed char * ) pcString;
|
||||
while( *pxNext )
|
||||
{
|
||||
xSerialPutChar( pxPort, *pxNext, serNO_BLOCK );
|
||||
pxNext++;
|
||||
}
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
static void vUARTInterruptHandler( void* context, alt_u32 id )
|
||||
{
|
||||
alt_u32 status;
|
||||
|
||||
/* Read the status register in order to determine the cause of the
|
||||
interrupt. */
|
||||
status = IORD_ALTERA_AVALON_UART_STATUS( UART_BASE );
|
||||
|
||||
/* Clear any error flags set at the device */
|
||||
IOWR_ALTERA_AVALON_UART_STATUS( UART_BASE, 0 );
|
||||
|
||||
/* process a read irq */
|
||||
if ( status & ALTERA_AVALON_UART_STATUS_RRDY_MSK )
|
||||
{
|
||||
vUARTReceiveHandler( status );
|
||||
}
|
||||
|
||||
/* process a write irq */
|
||||
if ( status & ( ALTERA_AVALON_UART_STATUS_TRDY_MSK ) )
|
||||
{
|
||||
vUARTTransmitHandler( status );
|
||||
}
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
static void vUARTReceiveHandler( alt_u32 status )
|
||||
{
|
||||
signed char cChar;
|
||||
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
|
||||
|
||||
/* If there was an error, discard the data */
|
||||
if ( status & ( ALTERA_AVALON_UART_STATUS_PE_MSK | ALTERA_AVALON_UART_STATUS_FE_MSK ) )
|
||||
{
|
||||
asm("break");
|
||||
return;
|
||||
}
|
||||
|
||||
/* Transfer data from the device to the circular buffer */
|
||||
cChar = IORD_ALTERA_AVALON_UART_RXDATA( UART_BASE );
|
||||
if ( pdTRUE != xQueueSendFromISR( xRxedChars, &cChar, &xHigherPriorityTaskWoken ) )
|
||||
{
|
||||
/* If the circular buffer was full, disable interrupts. Interrupts will
|
||||
be re-enabled when data is removed from the buffer. */
|
||||
uartControl &= ~ALTERA_AVALON_UART_CONTROL_RRDY_MSK;
|
||||
IOWR_ALTERA_AVALON_UART_CONTROL( UART_BASE, uartControl );
|
||||
}
|
||||
|
||||
portEND_SWITCHING_ISR( xHigherPriorityTaskWoken );
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
static void vUARTTransmitHandler( alt_u32 status )
|
||||
{
|
||||
signed char cChar;
|
||||
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
|
||||
/* Transfer data if there is some ready to be transferred */
|
||||
if( xQueueReceiveFromISR( xCharsForTx, &cChar, &xHigherPriorityTaskWoken ) == pdTRUE )
|
||||
{
|
||||
IOWR_ALTERA_AVALON_UART_TXDATA( UART_BASE, cChar );
|
||||
}
|
||||
else
|
||||
{
|
||||
uartControl &= ~ALTERA_AVALON_UART_CONTROL_TRDY_MSK;
|
||||
}
|
||||
|
||||
IOWR_ALTERA_AVALON_UART_CONTROL( UART_BASE, uartControl );
|
||||
portEND_SWITCHING_ISR( xHigherPriorityTaskWoken );
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?fileVersion 3.1.0?>
|
||||
|
||||
<ManagedProjectBuildInfo>
|
||||
<project id="RTOSDemo_syslib.nios2.lib.1122692399" name="Nios II Library" projectType="nios2.lib">
|
||||
<configuration artifactExtension="a" artifactName="RTOSDemo_syslib" cleanCommand="rm -rf" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser" id="nios2.lib.debug.1710955039" name="Debug" parent="nios2.lib.debug">
|
||||
<toolChain id="com.altera.nj.ui.lib.Debug.629598059" name="com.altera.nj.ui.lib.Debug" superClass="com.altera.nj.ui.lib.Debug">
|
||||
<tool id="com.altera.nj.ui.tool.compiler.lib.debug.2113232429" name="Nios II Compiler" superClass="com.altera.nj.ui.tool.compiler.lib.debug"/>
|
||||
<tool id="com.altera.nj.ui.tool.archiver.lib.debug.346993942" name="Archiver" superClass="com.altera.nj.ui.tool.archiver.lib.debug"/>
|
||||
</toolChain>
|
||||
</configuration>
|
||||
<configuration artifactExtension="a" artifactName="RTOSDemo_syslib" cleanCommand="rm -rf" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.GASErrorParser" id="nios2.lib.release.872414519" name="Release" parent="nios2.lib.release">
|
||||
<toolChain id="com.altera.nj.ui.lib.Release.1045176498" name="com.altera.nj.ui.lib.Release" superClass="com.altera.nj.ui.lib.Release">
|
||||
<tool id="com.altera.nj.ui.tool.compiler.lib.release.1684787927" name="Nios II Compiler" superClass="com.altera.nj.ui.tool.compiler.lib.release"/>
|
||||
<tool id="com.altera.nj.ui.tool.archiver.lib.release.2019566308" name="Archiver" superClass="com.altera.nj.ui.tool.archiver.lib.release"/>
|
||||
</toolChain>
|
||||
</configuration>
|
||||
</project>
|
||||
</ManagedProjectBuildInfo>
|
|
@ -0,0 +1,59 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<?eclipse-cdt version="2.0"?>
|
||||
|
||||
<cdtproject id="org.eclipse.cdt.managedbuilder.core.managedMake">
|
||||
<extension id="org.eclipse.cdt.managedbuilder.core.ManagedBuildManager" point="org.eclipse.cdt.core.ScannerInfoProvider"/>
|
||||
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
|
||||
<data>
|
||||
<item id="scannerConfiguration">
|
||||
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="true" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="true"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="false" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="makefileGenerator">
|
||||
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
|
||||
<parser enabled="false"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="false" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="false"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
|
||||
<buildOutputProvider>
|
||||
<openAction enabled="false" filePath=""/>
|
||||
<parser enabled="true"/>
|
||||
</buildOutputProvider>
|
||||
<scannerInfoProvider id="specsFile">
|
||||
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
|
||||
<parser enabled="false"/>
|
||||
</scannerInfoProvider>
|
||||
</profile>
|
||||
</item>
|
||||
<item id="org.eclipse.cdt.core.pathentry">
|
||||
<pathentry kind="src" path=""/>
|
||||
<pathentry kind="out" path=""/>
|
||||
<pathentry kind="con" path="org.eclipse.cdt.make.core.DISCOVERED_SCANNER_INFO"/>
|
||||
<pathentry kind="con" path="org.eclipse.cdt.managedbuilder.MANAGED_CONTAINER"/>
|
||||
</item>
|
||||
</data>
|
||||
</cdtproject>
|
|
@ -0,0 +1,89 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>RTOSDemo_syslib</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.make.core.makeBuilder</name>
|
||||
<triggers>clean,full,incremental,</triggers>
|
||||
<arguments>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.enableCleanBuild</key>
|
||||
<value>false</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.append_environment</key>
|
||||
<value>true</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.stopOnError</key>
|
||||
<value>false</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.enabledIncrementalBuild</key>
|
||||
<value>false</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.build.command</key>
|
||||
<value>make</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.build.target.inc</key>
|
||||
<value>all</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.build.arguments</key>
|
||||
<value></value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
|
||||
<value>true</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.environment</key>
|
||||
<value></value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.enableFullBuild</key>
|
||||
<value>false</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.build.target.auto</key>
|
||||
<value>all</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.enableAutoBuild</key>
|
||||
<value>false</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.make.core.build.target.clean</key>
|
||||
<value>clean</value>
|
||||
</dictionary>
|
||||
<dictionary>
|
||||
<key>org.eclipse.cdt.core.errorOutputParser</key>
|
||||
<value>org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.VCErrorParser;</value>
|
||||
</dictionary>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.altera.ide.core.alterabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.make.core.ScannerConfigBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
||||
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
||||
<nature>com.altera.ide.core.AlteraNios2Nature</nature>
|
||||
<nature>com.altera.ide.core.AlteraSDKNature</nature>
|
||||
<nature>org.eclipse.cdt.make.core.makeNature</nature>
|
||||
<nature>org.eclipse.cdt.make.core.ScannerConfigNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -0,0 +1,3 @@
|
|||
#Tue Aug 04 21:28:00 BST 2009
|
||||
eclipse.preferences.version=1
|
||||
indexerId=org.eclipse.cdt.core.fastIndexer
|
|
@ -0,0 +1,6 @@
|
|||
#Tue Aug 04 21:27:57 BST 2009
|
||||
eclipse.preferences.version=1
|
||||
nios2.lib.debug.1710955039/internalBuilder/enabled=false
|
||||
nios2.lib.debug.1710955039/internalBuilder/ignoreErr=true
|
||||
nios2.lib.release.872414519/internalBuilder/enabled=false
|
||||
nios2.lib.release.872414519/internalBuilder/ignoreErr=true
|
|
@ -0,0 +1,20 @@
|
|||
/*******************************************************************************
|
||||
*
|
||||
* System Library Project
|
||||
* ======================
|
||||
*
|
||||
* This is the library project custom created for your hardware system.
|
||||
* It is built up from auto-generated files and component source files.
|
||||
*
|
||||
* The auto-generated system source files can be found in:
|
||||
* <configuration_folder>/system_description
|
||||
* e.g. Release/system_description/system.h *
|
||||
*
|
||||
* The component source files from the relevant sopc component folders
|
||||
* e.g. <sopc_kit_nios2>/components/altera_nios2
|
||||
*
|
||||
* To change the system library build properties, right click on the project
|
||||
* and select properties. This allows you to set options like timers,
|
||||
* memory sections and build options.
|
||||
* *
|
||||
*******************************************************************************/
|
|
@ -0,0 +1,27 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<stf>
|
||||
<project ptf="..\cpu.ptf" target="Nios II System Library">
|
||||
</project>
|
||||
<cpu name="cpu_0">
|
||||
</cpu>
|
||||
<os_spec clean_exit="yes" direct_drivers="no" exception_stack="no" instruction_emulation="no" name="none (single-threaded)" no_c_plus_plus="no" no_exit="no" profiling="no" small_footprint="no" sopc_component_dir="altera_hal" stack_checking="no" stderr="jtag_uart_0" stdin="jtag_uart_0" stdout="jtag_uart_0">
|
||||
<sys_defines>
|
||||
<define name="alt_max_fd" quote="no" value="32"/>
|
||||
<define name="alt_sys_clk" quote="no" value="SYS_CLK"/>
|
||||
<define name="alt_timestamp_clk" quote="no" value="none"/>
|
||||
</sys_defines>
|
||||
<make_macros>
|
||||
<macro name="alt_sim_optimize" quote="no" value="0"/>
|
||||
</make_macros>
|
||||
</os_spec>
|
||||
<link_spec auto_gen_script="yes">
|
||||
<script name="none">
|
||||
<section memory="sdram" name=".text"/>
|
||||
<section memory="sdram" name=".rodata"/>
|
||||
<section memory="sdram" name=".rwdata"/>
|
||||
<section memory="sdram" name=".stack"/>
|
||||
<section memory="sdram" name=".heap"/>
|
||||
<section memory="sdram" name=".exceptionstack" size="0x400"/>
|
||||
</script>
|
||||
</link_spec>
|
||||
</stf>
|
4855
FreeRTOS/Demo/NiosII_CycloneIII_DBC3C40_GCC/cpu.ptf
Normal file
4855
FreeRTOS/Demo/NiosII_CycloneIII_DBC3C40_GCC/cpu.ptf
Normal file
File diff suppressed because it is too large
Load diff
258
FreeRTOS/Demo/NiosII_CycloneIII_DBC3C40_GCC/onchip_memory.hex
Normal file
258
FreeRTOS/Demo/NiosII_CycloneIII_DBC3C40_GCC/onchip_memory.hex
Normal file
|
@ -0,0 +1,258 @@
|
|||
:020000020000FC
|
||||
:200000000000000000000000000000000000000000000000000000000000000000000000E0
|
||||
:200008000000000000000000000000000000000000000000000000000000000000000000D8
|
||||
:200010000000000000000000000000000000000000000000000000000000000000000000D0
|
||||
:200018000000000000000000000000000000000000000000000000000000000000000000C8
|
||||
:200020000000000000000000000000000000000000000000000000000000000000000000C0
|
||||
:200028000000000000000000000000000000000000000000000000000000000000000000B8
|
||||
:200030000000000000000000000000000000000000000000000000000000000000000000B0
|
||||
:200038000000000000000000000000000000000000000000000000000000000000000000A8
|
||||
:200040000000000000000000000000000000000000000000000000000000000000000000A0
|
||||
:20004800000000000000000000000000000000000000000000000000000000000000000098
|
||||
:20005000000000000000000000000000000000000000000000000000000000000000000090
|
||||
:20005800000000000000000000000000000000000000000000000000000000000000000088
|
||||
:20006000000000000000000000000000000000000000000000000000000000000000000080
|
||||
:20006800000000000000000000000000000000000000000000000000000000000000000078
|
||||
:20007000000000000000000000000000000000000000000000000000000000000000000070
|
||||
:20007800000000000000000000000000000000000000000000000000000000000000000068
|
||||
:20008000000000000000000000000000000000000000000000000000000000000000000060
|
||||
:20008800000000000000000000000000000000000000000000000000000000000000000058
|
||||
:20009000000000000000000000000000000000000000000000000000000000000000000050
|
||||
:20009800000000000000000000000000000000000000000000000000000000000000000048
|
||||
:2000A000000000000000000000000000000000000000000000000000000000000000000040
|
||||
:2000A800000000000000000000000000000000000000000000000000000000000000000038
|
||||
:2000B000000000000000000000000000000000000000000000000000000000000000000030
|
||||
:2000B800000000000000000000000000000000000000000000000000000000000000000028
|
||||
:2000C000000000000000000000000000000000000000000000000000000000000000000020
|
||||
:2000C800000000000000000000000000000000000000000000000000000000000000000018
|
||||
:2000D000000000000000000000000000000000000000000000000000000000000000000010
|
||||
:2000D800000000000000000000000000000000000000000000000000000000000000000008
|
||||
:2000E000000000000000000000000000000000000000000000000000000000000000000000
|
||||
:2000E8000000000000000000000000000000000000000000000000000000000000000000F8
|
||||
:2000F0000000000000000000000000000000000000000000000000000000000000000000F0
|
||||
:2000F8000000000000000000000000000000000000000000000000000000000000000000E8
|
||||
:200100000000000000000000000000000000000000000000000000000000000000000000DF
|
||||
:200108000000000000000000000000000000000000000000000000000000000000000000D7
|
||||
:200110000000000000000000000000000000000000000000000000000000000000000000CF
|
||||
:200118000000000000000000000000000000000000000000000000000000000000000000C7
|
||||
:200120000000000000000000000000000000000000000000000000000000000000000000BF
|
||||
:200128000000000000000000000000000000000000000000000000000000000000000000B7
|
||||
:200130000000000000000000000000000000000000000000000000000000000000000000AF
|
||||
:200138000000000000000000000000000000000000000000000000000000000000000000A7
|
||||
:2001400000000000000000000000000000000000000000000000000000000000000000009F
|
||||
:20014800000000000000000000000000000000000000000000000000000000000000000097
|
||||
:2001500000000000000000000000000000000000000000000000000000000000000000008F
|
||||
:20015800000000000000000000000000000000000000000000000000000000000000000087
|
||||
:2001600000000000000000000000000000000000000000000000000000000000000000007F
|
||||
:20016800000000000000000000000000000000000000000000000000000000000000000077
|
||||
:2001700000000000000000000000000000000000000000000000000000000000000000006F
|
||||
:20017800000000000000000000000000000000000000000000000000000000000000000067
|
||||
:2001800000000000000000000000000000000000000000000000000000000000000000005F
|
||||
:20018800000000000000000000000000000000000000000000000000000000000000000057
|
||||
:2001900000000000000000000000000000000000000000000000000000000000000000004F
|
||||
:20019800000000000000000000000000000000000000000000000000000000000000000047
|
||||
:2001A00000000000000000000000000000000000000000000000000000000000000000003F
|
||||
:2001A800000000000000000000000000000000000000000000000000000000000000000037
|
||||
:2001B00000000000000000000000000000000000000000000000000000000000000000002F
|
||||
:2001B800000000000000000000000000000000000000000000000000000000000000000027
|
||||
:2001C00000000000000000000000000000000000000000000000000000000000000000001F
|
||||
:2001C800000000000000000000000000000000000000000000000000000000000000000017
|
||||
:2001D00000000000000000000000000000000000000000000000000000000000000000000F
|
||||
:2001D800000000000000000000000000000000000000000000000000000000000000000007
|
||||
:2001E0000000000000000000000000000000000000000000000000000000000000000000FF
|
||||
:2001E8000000000000000000000000000000000000000000000000000000000000000000F7
|
||||
:2001F0000000000000000000000000000000000000000000000000000000000000000000EF
|
||||
:2001F8000000000000000000000000000000000000000000000000000000000000000000E7
|
||||
:200200000000000000000000000000000000000000000000000000000000000000000000DE
|
||||
:200208000000000000000000000000000000000000000000000000000000000000000000D6
|
||||
:200210000000000000000000000000000000000000000000000000000000000000000000CE
|
||||
:200218000000000000000000000000000000000000000000000000000000000000000000C6
|
||||
:200220000000000000000000000000000000000000000000000000000000000000000000BE
|
||||
:200228000000000000000000000000000000000000000000000000000000000000000000B6
|
||||
:200230000000000000000000000000000000000000000000000000000000000000000000AE
|
||||
:200238000000000000000000000000000000000000000000000000000000000000000000A6
|
||||
:2002400000000000000000000000000000000000000000000000000000000000000000009E
|
||||
:20024800000000000000000000000000000000000000000000000000000000000000000096
|
||||
:2002500000000000000000000000000000000000000000000000000000000000000000008E
|
||||
:20025800000000000000000000000000000000000000000000000000000000000000000086
|
||||
:2002600000000000000000000000000000000000000000000000000000000000000000007E
|
||||
:20026800000000000000000000000000000000000000000000000000000000000000000076
|
||||
:2002700000000000000000000000000000000000000000000000000000000000000000006E
|
||||
:20027800000000000000000000000000000000000000000000000000000000000000000066
|
||||
:2002800000000000000000000000000000000000000000000000000000000000000000005E
|
||||
:20028800000000000000000000000000000000000000000000000000000000000000000056
|
||||
:2002900000000000000000000000000000000000000000000000000000000000000000004E
|
||||
:20029800000000000000000000000000000000000000000000000000000000000000000046
|
||||
:2002A00000000000000000000000000000000000000000000000000000000000000000003E
|
||||
:2002A800000000000000000000000000000000000000000000000000000000000000000036
|
||||
:2002B00000000000000000000000000000000000000000000000000000000000000000002E
|
||||
:2002B800000000000000000000000000000000000000000000000000000000000000000026
|
||||
:2002C00000000000000000000000000000000000000000000000000000000000000000001E
|
||||
:2002C800000000000000000000000000000000000000000000000000000000000000000016
|
||||
:2002D00000000000000000000000000000000000000000000000000000000000000000000E
|
||||
:2002D800000000000000000000000000000000000000000000000000000000000000000006
|
||||
:2002E0000000000000000000000000000000000000000000000000000000000000000000FE
|
||||
:2002E8000000000000000000000000000000000000000000000000000000000000000000F6
|
||||
:2002F0000000000000000000000000000000000000000000000000000000000000000000EE
|
||||
:2002F8000000000000000000000000000000000000000000000000000000000000000000E6
|
||||
:200300000000000000000000000000000000000000000000000000000000000000000000DD
|
||||
:200308000000000000000000000000000000000000000000000000000000000000000000D5
|
||||
:200310000000000000000000000000000000000000000000000000000000000000000000CD
|
||||
:200318000000000000000000000000000000000000000000000000000000000000000000C5
|
||||
:200320000000000000000000000000000000000000000000000000000000000000000000BD
|
||||
:200328000000000000000000000000000000000000000000000000000000000000000000B5
|
||||
:200330000000000000000000000000000000000000000000000000000000000000000000AD
|
||||
:200338000000000000000000000000000000000000000000000000000000000000000000A5
|
||||
:2003400000000000000000000000000000000000000000000000000000000000000000009D
|
||||
:20034800000000000000000000000000000000000000000000000000000000000000000095
|
||||
:2003500000000000000000000000000000000000000000000000000000000000000000008D
|
||||
:20035800000000000000000000000000000000000000000000000000000000000000000085
|
||||
:2003600000000000000000000000000000000000000000000000000000000000000000007D
|
||||
:20036800000000000000000000000000000000000000000000000000000000000000000075
|
||||
:2003700000000000000000000000000000000000000000000000000000000000000000006D
|
||||
:20037800000000000000000000000000000000000000000000000000000000000000000065
|
||||
:2003800000000000000000000000000000000000000000000000000000000000000000005D
|
||||
:20038800000000000000000000000000000000000000000000000000000000000000000055
|
||||
:2003900000000000000000000000000000000000000000000000000000000000000000004D
|
||||
:20039800000000000000000000000000000000000000000000000000000000000000000045
|
||||
:2003A00000000000000000000000000000000000000000000000000000000000000000003D
|
||||
:2003A800000000000000000000000000000000000000000000000000000000000000000035
|
||||
:2003B00000000000000000000000000000000000000000000000000000000000000000002D
|
||||
:2003B800000000000000000000000000000000000000000000000000000000000000000025
|
||||
:2003C00000000000000000000000000000000000000000000000000000000000000000001D
|
||||
:2003C800000000000000000000000000000000000000000000000000000000000000000015
|
||||
:2003D00000000000000000000000000000000000000000000000000000000000000000000D
|
||||
:2003D800000000000000000000000000000000000000000000000000000000000000000005
|
||||
:2003E0000000000000000000000000000000000000000000000000000000000000000000FD
|
||||
:2003E8000000000000000000000000000000000000000000000000000000000000000000F5
|
||||
:2003F0000000000000000000000000000000000000000000000000000000000000000000ED
|
||||
:2003F8000000000000000000000000000000000000000000000000000000000000000000E5
|
||||
:200400000000000000000000000000000000000000000000000000000000000000000000DC
|
||||
:200408000000000000000000000000000000000000000000000000000000000000000000D4
|
||||
:200410000000000000000000000000000000000000000000000000000000000000000000CC
|
||||
:200418000000000000000000000000000000000000000000000000000000000000000000C4
|
||||
:200420000000000000000000000000000000000000000000000000000000000000000000BC
|
||||
:200428000000000000000000000000000000000000000000000000000000000000000000B4
|
||||
:200430000000000000000000000000000000000000000000000000000000000000000000AC
|
||||
:200438000000000000000000000000000000000000000000000000000000000000000000A4
|
||||
:2004400000000000000000000000000000000000000000000000000000000000000000009C
|
||||
:20044800000000000000000000000000000000000000000000000000000000000000000094
|
||||
:2004500000000000000000000000000000000000000000000000000000000000000000008C
|
||||
:20045800000000000000000000000000000000000000000000000000000000000000000084
|
||||
:2004600000000000000000000000000000000000000000000000000000000000000000007C
|
||||
:20046800000000000000000000000000000000000000000000000000000000000000000074
|
||||
:2004700000000000000000000000000000000000000000000000000000000000000000006C
|
||||
:20047800000000000000000000000000000000000000000000000000000000000000000064
|
||||
:2004800000000000000000000000000000000000000000000000000000000000000000005C
|
||||
:20048800000000000000000000000000000000000000000000000000000000000000000054
|
||||
:2004900000000000000000000000000000000000000000000000000000000000000000004C
|
||||
:20049800000000000000000000000000000000000000000000000000000000000000000044
|
||||
:2004A00000000000000000000000000000000000000000000000000000000000000000003C
|
||||
:2004A800000000000000000000000000000000000000000000000000000000000000000034
|
||||
:2004B00000000000000000000000000000000000000000000000000000000000000000002C
|
||||
:2004B800000000000000000000000000000000000000000000000000000000000000000024
|
||||
:2004C00000000000000000000000000000000000000000000000000000000000000000001C
|
||||
:2004C800000000000000000000000000000000000000000000000000000000000000000014
|
||||
:2004D00000000000000000000000000000000000000000000000000000000000000000000C
|
||||
:2004D800000000000000000000000000000000000000000000000000000000000000000004
|
||||
:2004E0000000000000000000000000000000000000000000000000000000000000000000FC
|
||||
:2004E8000000000000000000000000000000000000000000000000000000000000000000F4
|
||||
:2004F0000000000000000000000000000000000000000000000000000000000000000000EC
|
||||
:2004F8000000000000000000000000000000000000000000000000000000000000000000E4
|
||||
:200500000000000000000000000000000000000000000000000000000000000000000000DB
|
||||
:200508000000000000000000000000000000000000000000000000000000000000000000D3
|
||||
:200510000000000000000000000000000000000000000000000000000000000000000000CB
|
||||
:200518000000000000000000000000000000000000000000000000000000000000000000C3
|
||||
:200520000000000000000000000000000000000000000000000000000000000000000000BB
|
||||
:200528000000000000000000000000000000000000000000000000000000000000000000B3
|
||||
:200530000000000000000000000000000000000000000000000000000000000000000000AB
|
||||
:200538000000000000000000000000000000000000000000000000000000000000000000A3
|
||||
:2005400000000000000000000000000000000000000000000000000000000000000000009B
|
||||
:20054800000000000000000000000000000000000000000000000000000000000000000093
|
||||
:2005500000000000000000000000000000000000000000000000000000000000000000008B
|
||||
:20055800000000000000000000000000000000000000000000000000000000000000000083
|
||||
:2005600000000000000000000000000000000000000000000000000000000000000000007B
|
||||
:20056800000000000000000000000000000000000000000000000000000000000000000073
|
||||
:2005700000000000000000000000000000000000000000000000000000000000000000006B
|
||||
:20057800000000000000000000000000000000000000000000000000000000000000000063
|
||||
:2005800000000000000000000000000000000000000000000000000000000000000000005B
|
||||
:20058800000000000000000000000000000000000000000000000000000000000000000053
|
||||
:2005900000000000000000000000000000000000000000000000000000000000000000004B
|
||||
:20059800000000000000000000000000000000000000000000000000000000000000000043
|
||||
:2005A00000000000000000000000000000000000000000000000000000000000000000003B
|
||||
:2005A800000000000000000000000000000000000000000000000000000000000000000033
|
||||
:2005B00000000000000000000000000000000000000000000000000000000000000000002B
|
||||
:2005B800000000000000000000000000000000000000000000000000000000000000000023
|
||||
:2005C00000000000000000000000000000000000000000000000000000000000000000001B
|
||||
:2005C800000000000000000000000000000000000000000000000000000000000000000013
|
||||
:2005D00000000000000000000000000000000000000000000000000000000000000000000B
|
||||
:2005D800000000000000000000000000000000000000000000000000000000000000000003
|
||||
:2005E0000000000000000000000000000000000000000000000000000000000000000000FB
|
||||
:2005E8000000000000000000000000000000000000000000000000000000000000000000F3
|
||||
:2005F0000000000000000000000000000000000000000000000000000000000000000000EB
|
||||
:2005F8000000000000000000000000000000000000000000000000000000000000000000E3
|
||||
:200600000000000000000000000000000000000000000000000000000000000000000000DA
|
||||
:200608000000000000000000000000000000000000000000000000000000000000000000D2
|
||||
:200610000000000000000000000000000000000000000000000000000000000000000000CA
|
||||
:200618000000000000000000000000000000000000000000000000000000000000000000C2
|
||||
:200620000000000000000000000000000000000000000000000000000000000000000000BA
|
||||
:200628000000000000000000000000000000000000000000000000000000000000000000B2
|
||||
:200630000000000000000000000000000000000000000000000000000000000000000000AA
|
||||
:200638000000000000000000000000000000000000000000000000000000000000000000A2
|
||||
:2006400000000000000000000000000000000000000000000000000000000000000000009A
|
||||
:20064800000000000000000000000000000000000000000000000000000000000000000092
|
||||
:2006500000000000000000000000000000000000000000000000000000000000000000008A
|
||||
:20065800000000000000000000000000000000000000000000000000000000000000000082
|
||||
:2006600000000000000000000000000000000000000000000000000000000000000000007A
|
||||
:20066800000000000000000000000000000000000000000000000000000000000000000072
|
||||
:2006700000000000000000000000000000000000000000000000000000000000000000006A
|
||||
:20067800000000000000000000000000000000000000000000000000000000000000000062
|
||||
:2006800000000000000000000000000000000000000000000000000000000000000000005A
|
||||
:20068800000000000000000000000000000000000000000000000000000000000000000052
|
||||
:2006900000000000000000000000000000000000000000000000000000000000000000004A
|
||||
:20069800000000000000000000000000000000000000000000000000000000000000000042
|
||||
:2006A00000000000000000000000000000000000000000000000000000000000000000003A
|
||||
:2006A800000000000000000000000000000000000000000000000000000000000000000032
|
||||
:2006B00000000000000000000000000000000000000000000000000000000000000000002A
|
||||
:2006B800000000000000000000000000000000000000000000000000000000000000000022
|
||||
:2006C00000000000000000000000000000000000000000000000000000000000000000001A
|
||||
:2006C800000000000000000000000000000000000000000000000000000000000000000012
|
||||
:2006D00000000000000000000000000000000000000000000000000000000000000000000A
|
||||
:2006D800000000000000000000000000000000000000000000000000000000000000000002
|
||||
:2006E0000000000000000000000000000000000000000000000000000000000000000000FA
|
||||
:2006E8000000000000000000000000000000000000000000000000000000000000000000F2
|
||||
:2006F0000000000000000000000000000000000000000000000000000000000000000000EA
|
||||
:2006F8000000000000000000000000000000000000000000000000000000000000000000E2
|
||||
:200700000000000000000000000000000000000000000000000000000000000000000000D9
|
||||
:200708000000000000000000000000000000000000000000000000000000000000000000D1
|
||||
:200710000000000000000000000000000000000000000000000000000000000000000000C9
|
||||
:200718000000000000000000000000000000000000000000000000000000000000000000C1
|
||||
:200720000000000000000000000000000000000000000000000000000000000000000000B9
|
||||
:200728000000000000000000000000000000000000000000000000000000000000000000B1
|
||||
:200730000000000000000000000000000000000000000000000000000000000000000000A9
|
||||
:200738000000000000000000000000000000000000000000000000000000000000000000A1
|
||||
:20074000000000000000000000000000000000000000000000000000000000000000000099
|
||||
:20074800000000000000000000000000000000000000000000000000000000000000000091
|
||||
:20075000000000000000000000000000000000000000000000000000000000000000000089
|
||||
:20075800000000000000000000000000000000000000000000000000000000000000000081
|
||||
:20076000000000000000000000000000000000000000000000000000000000000000000079
|
||||
:20076800000000000000000000000000000000000000000000000000000000000000000071
|
||||
:20077000000000000000000000000000000000000000000000000000000000000000000069
|
||||
:20077800000000000000000000000000000000000000000000000000000000000000000061
|
||||
:20078000000000000000000000000000000000000000000000000000000000000000000059
|
||||
:20078800000000000000000000000000000000000000000000000000000000000000000051
|
||||
:20079000000000000000000000000000000000000000000000000000000000000000000049
|
||||
:20079800000000000000000000000000000000000000000000000000000000000000000041
|
||||
:2007A000000000000000000000000000000000000000000000000000000000000000000039
|
||||
:2007A800000000000000000000000000000000000000000000000000000000000000000031
|
||||
:2007B000000000000000000000000000000000000000000000000000000000000000000029
|
||||
:2007B800000000000000000000000000000000000000000000000000000000000000000021
|
||||
:2007C000000000000000000000000000000000000000000000000000000000000000000019
|
||||
:2007C800000000000000000000000000000000000000000000000000000000000000000011
|
||||
:2007D000000000000000000000000000000000000000000000000000000000000000000009
|
||||
:2007D800000000000000000000000000000000000000000000000000000000000000000001
|
||||
:2007E0000000000000000000000000000000000000000000000000000000000000000000F9
|
||||
:2007E8000000000000000000000000000000000000000000000000000000000000000000F1
|
||||
:2007F0000000000000000000000000000000000000000000000000000000000000000000E9
|
||||
:2007F8000000000000000000000000000000000000000000000000000000000000000000E1
|
||||
:00000001FF
|
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue