Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

timer_psled_r5.c is broken

Open
#65 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
c
Domain
embedded-iot

Research direction

Start with timer_psled_r5.c on the 2023.2 branch and compare it with the 2024.2 version, then inspect the generated platform headers used by the build. Re-run the reported build to verify the result; done means timer_psled_r5.c compiles without the listed undeclared XPAR identifiers.

Written by the indexing model from the issue text.

Description

I'm following the tutorial here using 2023.2. When I try to build timer_psled_r5.c from the 2023.2 branch of the tutorial I get the following errors.

[ 50%] Building C object CMakeFiles/tmr_psled_r5.elf.dir/timer_psled_r5.c.obj
 /data/packages/Xilinx/Vitis/2023.2/gnu/armr5/lin/gcc-arm-none-eabi/bin/armr5-none-eabi-gcc  -isystem /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/zynqpspl_platform/export/zynqpspl_platform/sw/standalone_psu_cortexr5_0/include -isystem /data/packages/Xilinx/Vitis/2023.2/gnu/armr5/lin/gcc-arm-none-eabi/x86_64-oesdk-linux/usr/lib/arm-xilinx-eabi/gcc/arm-xilinx-eabi/12.2.0/include -isystem /data/packages/Xilinx/Vitis/2023.2/gnu/armr5/lin/gcc-arm-none-eabi/x86_64-oesdk-linux/usr/lib/arm-xilinx-eabi/gcc/arm-xilinx-eabi/12.2.0/include-fixed -isystem /data/packages/Xilinx/Vitis/2023.2/gnu/armr5/lin/gcc-arm-none-eabi/armrm-xilinx-eabi/usr/include -O2 -DSDT -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -DARMR5  -MMD -MP -specs=/srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/zynqpspl_platform/export/zynqpspl_platform/sw/standalone_psu_cortexr5_0/Xilinx.spec -I/srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/zynqpspl_platform/export/zynqpspl_platform/sw/standalone_psu_cortexr5_0/include -Wall -Wextra      -O0  -g3     -U__clang__ -MD -MT CMakeFiles/tmr_psled_r5.elf.dir/timer_psled_r5.c.obj -MF CMakeFiles/tmr_psled_r5.elf.dir/timer_psled_r5.c.obj.d -o CMakeFiles/tmr_psled_r5.elf.dir/timer_psled_r5.c.obj -c /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c: In function 'main':
[ERROR] /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:102:33: error: 'XPAR_XUARTPS_1_DEVICE_ID' undeclared (first use in this function); did you mean 'XPAR_XADCPS_0_DEVICE_ID'?
   102 | #define UART_DEVICE_ID          XPAR_XUARTPS_1_DEVICE_ID
       |                                 ^~~~~~~~~~~~~~~~~~~~~~~~
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:174:33: note: in expansion of macro 'UART_DEVICE_ID'
   174 |                                 UART_DEVICE_ID, UART_INT_IRQ_ID);
       |                                 ^~~~~~~~~~~~~~
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:102:33: note: each undeclared identifier is reported only once for each function it appears in
   102 | #define UART_DEVICE_ID          XPAR_XUARTPS_1_DEVICE_ID
       |                                 ^~~~~~~~~~~~~~~~~~~~~~~~
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:174:33: note: in expansion of macro 'UART_DEVICE_ID'
   174 |                                 UART_DEVICE_ID, UART_INT_IRQ_ID);
       |                                 ^~~~~~~~~~~~~~
[ERROR] /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:109:33: error: 'XPAR_XGPIOPS_0_DEVICE_ID' undeclared (first use in this function); did you mean 'XPAR_XADCPS_0_DEVICE_ID'?
   109 | #define GPIO_DEVICE_ID          XPAR_XGPIOPS_0_DEVICE_ID
       |                                 ^~~~~~~~~~~~~~~~~~~~~~~~
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:181:39: note: in expansion of macro 'GPIO_DEVICE_ID'
   181 |         Status = PsGpioSetup(&PsGpio, GPIO_DEVICE_ID);
       |                                       ^~~~~~~~~~~~~~
[ERROR] /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:59:33: error: 'XPAR_TMRCTR_0_DEVICE_ID' undeclared (first use in this function); did you mean 'XPAR_XADCPS_0_DEVICE_ID'?
    59 | #define TMRCTR_DEVICE_ID        XPAR_TMRCTR_0_DEVICE_ID
       |                                 ^~~~~~~~~~~~~~~~~~~~~~~
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:192:35: note: in expansion of macro 'TMRCTR_DEVICE_ID'
   192 |                                   TMRCTR_DEVICE_ID,
       |                                   ^~~~~~~~~~~~~~~~
[ERROR] /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:60:33: error: 'XPAR_FABRIC_AXI_TIMER_0_INTERRUPT_INTR' undeclared (first use in this function); did you mean 'XPAR_AXI_TIMER_0_INTERRUPT_PARENT'?
    60 | #define TMRCTR_INTERRUPT_ID     XPAR_FABRIC_AXI_TIMER_0_INTERRUPT_INTR
       |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:60:33: note: in definition of macro 'TMRCTR_INTERRUPT_ID'
    60 | #define TMRCTR_INTERRUPT_ID     XPAR_FABRIC_AXI_TIMER_0_INTERRUPT_INTR
       |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c: In function 'PsGpioSetup':
[ERROR] /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:109:33: error: 'XPAR_XGPIOPS_0_DEVICE_ID' undeclared (first use in this function); did you mean 'XPAR_XADCPS_0_DEVICE_ID'?
   109 | #define GPIO_DEVICE_ID          XPAR_XGPIOPS_0_DEVICE_ID
       |                                 ^~~~~~~~~~~~~~~~~~~~~~~~
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:263:46: note: in expansion of macro 'GPIO_DEVICE_ID'
   263 |         GpioConfigPtr = XGpioPs_LookupConfig(GPIO_DEVICE_ID);
       |                                              ^~~~~~~~~~~~~~
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:259:49: warning: unused parameter 'DeviceId' [-Wunused-parameter]
   259 | int PsGpioSetup(XGpioPs* PsGpioInstancePtr, u16 DeviceId)
       |                                             ~~~~^~~~~~~~
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c: In function 'TmrCtrSetupIntrSystem':
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:427:38: warning: unused parameter 'DeviceId' [-Wunused-parameter]
   427 |                                  u16 DeviceId,
       |                                  ~~~~^~~~~~~~
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:429:37: warning: unused parameter 'TmrCtrNumber' [-Wunused-parameter]
   429 |                                  u8 TmrCtrNumber)
       |                                  ~~~^~~~~~~~~~~~
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c: In function 'Handler':
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:690:20: warning: unused parameter 'CallBackRef' [-Wunused-parameter]
   690 | void Handler(void *CallBackRef, u32 Event, unsigned int EventData)
       |              ~~~~~~^~~~~~~~~~~
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:690:37: warning: unused parameter 'Event' [-Wunused-parameter]
   690 | void Handler(void *CallBackRef, u32 Event, unsigned int EventData)
       |                                 ~~~~^~~~~
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:690:57: warning: unused parameter 'EventData' [-Wunused-parameter]
   690 | void Handler(void *CallBackRef, u32 Event, unsigned int EventData)
       |                                            ~~~~~~~~~~~~~^~~~~~~~~
 make[2]: *** [CMakeFiles/tmr_psled_r5.elf.dir/build.make:80: CMakeFiles/tmr_psled_r5.elf.dir/timer_psled_r5.c.obj] Error 1
 make[2]: Leaving directory '/srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/build'
 make[1]: *** [CMakeFiles/Makefile2:86: CMakeFiles/tmr_psled_r5.elf.dir/all] Error 2
 make[1]: Leaving directory '/srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/build'
 make: *** [Makefile:94: all] Error 2

If I check out the 2024.2 branch of the tutorial and use that file it is better, but still

[ 50%] Building C object CMakeFiles/tmr_psled_r5.elf.dir/timer_psled_r5.c.obj
 /data/packages/Xilinx/Vitis/2023.2/gnu/armr5/lin/gcc-arm-none-eabi/bin/armr5-none-eabi-gcc  -isystem /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/zynqpspl_platform/export/zynqpspl_platform/sw/standalone_psu_cortexr5_0/include -isystem /data/packages/Xilinx/Vitis/2023.2/gnu/armr5/lin/gcc-arm-none-eabi/x86_64-oesdk-linux/usr/lib/arm-xilinx-eabi/gcc/arm-xilinx-eabi/12.2.0/include -isystem /data/packages/Xilinx/Vitis/2023.2/gnu/armr5/lin/gcc-arm-none-eabi/x86_64-oesdk-linux/usr/lib/arm-xilinx-eabi/gcc/arm-xilinx-eabi/12.2.0/include-fixed -isystem /data/packages/Xilinx/Vitis/2023.2/gnu/armr5/lin/gcc-arm-none-eabi/armrm-xilinx-eabi/usr/include -O2 -DSDT -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -DARMR5  -MMD -MP -specs=/srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/zynqpspl_platform/export/zynqpspl_platform/sw/standalone_psu_cortexr5_0/Xilinx.spec -I/srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/zynqpspl_platform/export/zynqpspl_platform/sw/standalone_psu_cortexr5_0/include -Wall -Wextra      -O0  -g3     -U__clang__ -MD -MT CMakeFiles/tmr_psled_r5.elf.dir/timer_psled_r5.c.obj -MF CMakeFiles/tmr_psled_r5.elf.dir/timer_psled_r5.c.obj.d -o CMakeFiles/tmr_psled_r5.elf.dir/timer_psled_r5.c.obj -c /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c: In function 'main':
[ERROR] /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:50:33: error: 'XPAR_FABRIC_AXI_TIMER_0_INTR' undeclared (first use in this function)
    50 | #define TMRCTR_INTERRUPT_ID     XPAR_FABRIC_AXI_TIMER_0_INTR
       |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:182:35: note: in expansion of macro 'TMRCTR_INTERRUPT_ID'
   182 |                                   TMRCTR_INTERRUPT_ID,
       |                                   ^~~~~~~~~~~~~~~~~~~
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:50:33: note: each undeclared identifier is reported only once for each function it appears in
    50 | #define TMRCTR_INTERRUPT_ID     XPAR_FABRIC_AXI_TIMER_0_INTR
       |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:182:35: note: in expansion of macro 'TMRCTR_INTERRUPT_ID'
   182 |                                   TMRCTR_INTERRUPT_ID,
       |                                   ^~~~~~~~~~~~~~~~~~~
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c: In function 'PsGpioSetup':
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:248:53: warning: unused parameter 'BaseAddr' [-Wunused-parameter]
   248 | int PsGpioSetup(XGpioPs* PsGpioInstancePtr, UINTPTR BaseAddr)
       |                                             ~~~~~~~~^~~~~~~~
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c: In function 'TmrCtrSetupIntrSystem':
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:416:42: warning: unused parameter 'BaseAddr' [-Wunused-parameter]
   416 |                                  UINTPTR BaseAddr,
       |                                  ~~~~~~~~^~~~~~~~
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:418:37: warning: unused parameter 'TmrCtrNumber' [-Wunused-parameter]
   418 |                                  u8 TmrCtrNumber)
       |                                  ~~~^~~~~~~~~~~~
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c: In function 'Handler':
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:679:20: warning: unused parameter 'CallBackRef' [-Wunused-parameter]
   679 | void Handler(void *CallBackRef, u32 Event, unsigned int EventData)
       |              ~~~~~~^~~~~~~~~~~
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:679:37: warning: unused parameter 'Event' [-Wunused-parameter]
   679 | void Handler(void *CallBackRef, u32 Event, unsigned int EventData)
       |                                 ~~~~^~~~~
 /srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/src/timer_psled_r5.c:679:57: warning: unused parameter 'EventData' [-Wunused-parameter]
   679 | void Handler(void *CallBackRef, u32 Event, unsigned int EventData)
       |                                            ~~~~~~~~~~~~~^~~~~~~~~
 make[2]: *** [CMakeFiles/tmr_psled_r5.elf.dir/build.make:80: CMakeFiles/tmr_psled_r5.elf.dir/timer_psled_r5.c.obj] Error 1
 make[2]: Leaving directory '/srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/build'
 make[1]: *** [CMakeFiles/Makefile2:86: CMakeFiles/tmr_psled_r5.elf.dir/all] Error 2
 make[1]: Leaving directory '/srv/bigdisk/jgwohlbier/zcu104/zynqpspl_workspace/tmr_psled_r5/build'
 make: *** [Makefile:94: all] Error 2

There is no variable XPAR_FABRIC_AXI_TIMER_0_INTR defined in any of the headers, and I don't see a suitable replacement.

Dominant language
No language data
Stars
172
Forks
70
Avg merge
9m
Merged PRs (30d)
1

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Xilinx/Embedded-Design-Tutorials

All issues in Xilinx/Embedded-Design-Tutorials

Similar issues

More Embedded & IoT issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.