HostExampleApp is a cmd line project based on SI_PCIe library. SI_PCIe library provides API calls that allows user to communicate to SI C667x embedded boards without worrying about the details of drivers. HostExampleApp provides some simple cases for user to play and get familiar with SI_PCIe APIs. Below is a breakdown of how to use each case and brief info of what is going on under the hood for each case:
1. Load EABI File
Brief Info
This option enables user to load DSP files into SI C667x boards. EADI(.out file, COFF file) files are DSP projects compiled by Texas Instruments tool chains. C667x is a multi core board, each core would be idle when the board boots up. DSP files are loaded separately into each core. After DSP file is loaded, a DSP side interrupt would be triggered to start the core running.
Specific Steps
Enter EABI filename:
Specify the path of the DSP file to be uploaded
Enter Core:
Select which core to load the project
Start Core: (y/n)?
Whether or not to start the core
2. Read Address
3. Write Address
Brief Info
Those two options allow user to direct access single 32-bit memory address on DSP. A brief accessible memory map would be shown. Please note that the memory address is raw DSP address, and it is not mapped onto host space.
Specific Steps
Enter address : 0x
enter a hexadecimal DSP address to access
(for write) Enter data : 0x
enter a hexadecimal 32-bit binary data to write
4. Read Address Buffer
5. Write Address Buffer
Brief Info
Those two are simliar to option 2 & 3, but allow user to access multiple contiguous memory addresses on DSP side.
Specific Steps
Enter address : 0x
enter a hexadecimal DSP address to access
Enter count :
enter number of elements to access
Enter Width (0:Byte, 1:Short: 2:Int):
enter the width for each elaments
(for write) Enter data : 0x
enter a hexadecimal binary data to write
6. DMA Read
7. DMA Write
Brief Info
Those options allow user to access DSP memory address through TI EDMA hardware module. To begin with, default parameters could be used to schedule the DMAs. To know more details about TI EDMA engine and use them more effectively, please refer to http://www.ti.com/lit/ug/sprugs5b/sprugs5b.pdf
8. Program FPGA
Brief Info
Load FPGA program into SI C667x on board FPGA chip (if there is one)
A. Read Config Space
B. Write Config Space
Brief Info
There two options allow user to access C667x on board configuration space. Please note that it is not suggested to modify any value in the config space, doing so may make the board from being recognized properly by host OS.
P. Access PCIESS Registers
Brief Info
This option allows user to read info assigned by host OS in the PCIESS Registers.
R. DSP Local Reset
Brief Info
This option allows user to reset cores and on board hardware peripherals. Please note choosing reset all would reset all cores and peripherals and choosing reset single would reset a individual core itself.
Specific Steps
Reset a single core (S) or Reset all cores and peripherals (A):
Reset everything or a single core
(for reset single)Enter a core id to do DSP local reset:
Choose which core to reset
M. Basic Calculator
Brief Info
This option allows user to interact with a simple calculator DSP program. To use this option, sample.out should be loaded into core0 first.
Specific Steps
Select operation (1 - add / 2 - subtract / 3 - multiply / 4- divide) : \\
select what math operation you want to pass into the DSP program
Enter input 1 :
enter 32-bit input1
Enter input 2 :
enter 32-bit input2