Jump to content

Laerke

Members
  • Posts

    8
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Laerke's Achievements

Newbie

Newbie (1/4)

0

Reputation

  1. Hello, I need to connect to a board at remote location where only Windows PC is available. On that PC, I installed Vivado Lab tools, FTDI driver and Digilent Adept System v2. But "This device is not configured correctly. (Code 1)". Am I missing something?
  2. Hi @BogdanVanca, After changing the value for XPAR_FABRIC_EXT_IRQ_INTR, everything works. Thank you very much for your help!
  3. Hello, I am trying to make work this example: http://www.globaltek.kr/zynq-interrupt-example-tutorial/?ckattempt=1 I generated ~1 Hz signal and routed it to pl_ps_irq[0:0]. Following this document https://docs.xilinx.com/r/en-US/ug1085-zynq-ultrascale-trm/Signal-Overview, the XPAR_FABRIC_EXT_IRQ_INTR variable should be set to 89 - is this correct? The problem is that the handler is never called. I can see the signal 1Hz is present on the output pin. Perhaps XPAR_FABRIC_EXT_IRQ_INTR should be in xparameters.h file? For some reason, it's not there. But after I enabled interrupt for axi_gpio_buttons, the corresponding entry has appeared in xparameters.h: #define XPAR_FABRIC_AXI_GPIO_BUTTONS_IP2INTC_IRPT_INTR 136U I will appreciate if somebody gives an idea on what I am doing wrong. Below is my design and the code. And here is the code #include <stdio.h> #include "platform.h" #include "xil_printf.h" #include "xgpio.h" #include "xil_types.h" #include "xscugic.h" #include "xparameters.h" #include "xscugic_hw.h" #define XPAR_FABRIC_EXT_IRQ_INTR 89U XScuGic InterruptController; static XScuGic_Config *GicConfig; void ExtIrq_Handler(void *InstancePtr) { xil_printf("ExtIrq_Handler\r\n"); } int SetUpInterruptSystem(XScuGic *XScuGicInstancePtr) { Xil_ExceptionRegisterHandler(XIL_EXCEPTION_ID_INT, (Xil_ExceptionHandler) XScuGic_InterruptHandler, XScuGicInstancePtr); Xil_ExceptionEnable(); return XST_SUCCESS; } int interrupt_init() { int Status; GicConfig = XScuGic_LookupConfig(XPAR_SCUGIC_0_DEVICE_ID); if (NULL == GicConfig) { return XST_FAILURE; } Status = XScuGic_CfgInitialize(&InterruptController, GicConfig, GicConfig->CpuBaseAddress); if (Status != XST_SUCCESS) { return XST_FAILURE; } Status = SetUpInterruptSystem(&InterruptController); if (Status != XST_SUCCESS) { return XST_FAILURE; } Status = XScuGic_Connect(&InterruptController, XPAR_FABRIC_EXT_IRQ_INTR, (Xil_ExceptionHandler)ExtIrq_Handler, (void *)NULL); if (Status != XST_SUCCESS) { return XST_FAILURE; } XScuGic_Enable(&InterruptController, XPAR_FABRIC_EXT_IRQ_INTR); return XST_SUCCESS; } int main() { init_platform(); print("Hello World\n\r"); interrupt_init(); while(1); print("Successfully ran Hello World application"); cleanup_platform(); return 0; }
  4. I was able to improve the performance after disabling all xil_printf which were on the way.
  5. Hello all, Playing with lwIP UDP Perf Server example on ZU-3EG board, I found that the maximum achievable speed was ~300 Mbs. I managed to increase it only after commenting out some strings (statistics updates) in udp_recv_perf_traffic function. Then the speed was at 957 Mbs. The current CPU clock frequency seems to be 100 MHz. Where it is set up and how to increase it? Thanks for help.
  6. Hi @JColvin, I walked through these repositories, but no luck. So would be nice to hear more on that, then. Thanks for help!
  7. Hi @JColvin, Thank you very much for your feedback and the provided links. With the precompiled fsbl, I managed to successfully run the examples on DDR using Vitis 2022.2. However, when looking at the https://github.com/Digilent/embeddedsw repository, it appears to me that only ZCU102 is supported?
  8. Hello everybody, I am new to SoC, but was still thinking that "Hello world" would go quite smoothly for me. Not the case. I already spent days on figuring out why I am able to launch only the memory test from the standard template list. More specifically: "Memory Tests" and "Zynq MP DRAM Tests" work and all the rest including "Hello world" don't. I managed to see some activity from an app (see the output of print and xil_printf) only if I switch to OCM. For my task, I need to enable lpiw, and these examples I can't compile for OCM because they are too big. Unfortunately, I have no idea on what to do next. Will appreciate if someone could shed some light. Using Vivado and Vitis 2022.2. Also tried combination Vivado 2022.2 and Vitis 2020.1 with exactly the same result. XSCT says: Downloading Program -- /home/workuser/workspace/Hello/Debug/Hello.elf section, .text: 0x00000000 - 0x00001513 section, .init: 0x00001540 - 0x00001573 section, .fini: 0x00001580 - 0x000015b3 section, .rodata: 0x000015b8 - 0x00001657 section, .rodata1: 0x00001658 - 0x0000167f section, .sdata2: 0x00001680 - 0x0000167f section, .sbss2: 0x00001680 - 0x0000167f section, .data: 0x00001680 - 0x00001e37 section, .data1: 0x00001e38 - 0x00001e3f section, .note.gnu.build-id: 0x00001e40 - 0x00001e63 section, .ctors: 0x00001e64 - 0x00001e7f section, .dtors: 0x00001e80 - 0x00001e7f section, .eh_frame: 0x00001e80 - 0x00001e83 section, .mmu_tbl0: 0x00002000 - 0x0000200f section, .mmu_tbl1: 0x00003000 - 0x00004fff section, .mmu_tbl2: 0x00005000 - 0x00008fff section, .preinit_array: 0x00009000 - 0x00008fff section, .init_array: 0x00009000 - 0x00009007 section, .fini_array: 0x00009008 - 0x00009047 section, .sdata: 0x00009048 - 0x0000907f section, .sbss: 0x00009080 - 0x0000907f section, .tdata: 0x00009080 - 0x0000907f section, .tbss: 0x00009080 - 0x0000907f section, .bss: 0x00009080 - 0x000090bf section, .heap: 0x000090c0 - 0x0000b0bf section, .stack: 0x0000b0c0 - 0x0000e0bf 0% 0MB 0.0MB/s ??:?? ETA 100% 0MB 0.2MB/s 00:00 Setting PC to Program Start Address 0x00000000 Successfully downloaded /home/workuser/workspace/Hello/Debug/Hello.elf Info: Cortex-A53 #0 (target 9) Running Vitis Serial Terminal: Release 2022.2 Mar 12 2023 - 08:55:34 PMU-FW is not running, certain applications may not be supported.
×
×
  • Create New...