Advertisement
Guest User

SDK code

a guest
Jun 27th, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.55 KB | None | 0 0
  1. /******************************************************************************
  2. *
  3. * Copyright (C) 2009 - 2014 Xilinx, Inc.  All rights reserved.
  4. *
  5. * Permission is hereby granted, free of charge, to any person obtaining a copy
  6. * of this software and associated documentation files (the "Software"), to deal
  7. * in the Software without restriction, including without limitation the rights
  8. * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  9. * copies of the Software, and to permit persons to whom the Software is
  10. * furnished to do so, subject to the following conditions:
  11. *
  12. * The above copyright notice and this permission notice shall be included in
  13. * all copies or substantial portions of the Software.
  14. *
  15. * Use of the Software is limited solely to applications:
  16. * (a) running on a Xilinx device, or
  17. * (b) that interact with a Xilinx device through a bus or interconnect.
  18. *
  19. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  20. * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  21. * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
  22. * XILINX  BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  23. * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
  24. * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  25. * SOFTWARE.
  26. *
  27. * Except as contained in this notice, the name of the Xilinx shall not be used
  28. * in advertising or otherwise to promote the sale, use or other dealings in
  29. * this Software without prior written authorization from Xilinx.
  30. *
  31. ******************************************************************************/
  32.  
  33. /*
  34.  * helloworld.c: simple test application
  35.  *
  36.  * This application configures UART 16550 to baud rate 9600.
  37.  * PS7 UART (Zynq) is not initialized by this application, since
  38.  * bootrom/bsp configures it to baud rate 115200
  39.  *
  40.  * —----------------------------------------------
  41.  * | UART TYPE   BAUD RATE                        |
  42.  * —----------------------------------------------
  43.  *   uartns550   9600
  44.  *   uartlite    Configurable only in HW design
  45.  *   ps7_uart    115200 (configured by bootrom/bsp)
  46.  */
  47.  
  48. #include <stdio.h>
  49. #include "platform.h"
  50. #include "xil_printf.h"
  51. #include <xmatrixsplitter.h>
  52. #include <xmatrixjoiner.h>
  53. #include <xmatrixsplitter_hw.h>
  54. #include <xmatrixjoiner_hw.h>
  55.  
  56.  
  57. int main()
  58. {
  59.     init_platform();
  60.  
  61.     //Xil_ICacheDisable();
  62.     //Xil_DCacheDisable();
  63.  
  64.     int matA[2][2]={
  65.         {1, 3},
  66.       {5, 7}
  67.     };
  68.     int matB[2][2]={
  69.         {11, 13},
  70.       {17, 19}
  71.     };
  72.     int result[2][2]={
  73.             {0, 0},
  74.           {0, 0}
  75.         };
  76.  
  77.     XMatrixsplitter splitter;
  78.     XMatrixsplitter_Initialize(&splitter, (char*) 0x43c00000);
  79.     XMatrixjoiner joiner;
  80.     XMatrixjoiner_Initialize(&joiner, (char*) 0x43c10000);
  81.  
  82.     while (!XMatrixsplitter_IsReady(&splitter));
  83.     XMatrixsplitter_Write_a_Words(&splitter, 0, (char*) matA, 4);
  84.     XMatrixsplitter_Write_b_Words(&splitter, 0, (char*) matB, 4);
  85.  
  86.     print("Starting\n");
  87.  
  88.     for (int i = 0; i<4; i++){//this is the mysterious loop
  89.         XMatrixsplitter_Start(&splitter);
  90.         XMatrixjoiner_Start(&joiner);
  91.        
  92.     }
  93.  
  94.     print("Started\n");
  95.  
  96.     while (!XMatrixjoiner_IsDone(&joiner));//<-this is where the code gets stuck
  97.                                             //(unless we call start 4 times)
  98.    
  99.     print("Joiner is done\n");
  100.    
  101.     XMatrixjoiner_Read_out_r_Words(&joiner, 0, (char*)result, 4);
  102.  
  103.     printf("Result:\n[%d, %d,\n%d, %d]\r", result[0][0],result[0][1],result[1][0],result[1][1]);
  104.    
  105.    
  106.     cleanup_platform();
  107.     return 0;
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement