I am trying to get the ZMOD ADC demo working on Windows 11. I remember a post on the forum from (the man, the myth, the legend) zygot, where they mentioned it was not possible, or incredibly difficult, to get the demo working on Windows 10 due to an issue with the SYSROOT path. I am doing my best to follow the instructions of the demo very carefully, the only exception being not using the recommended operating system host.
I was wondering if this particular issue has been resolved yet, since it seems like it has yet to be. I could very well be making a mistake somewhere (probably with using Windows 11), so I will list out what exactly I am doing starting from the step in the demo where we define our SYSROOT.
My path is correct, since it is copy/pasted directly from the file system GUI. Checking the validity of the other two environment variables that define our working directory, PWD/CWD, I determined these were also correct.
Upon applying the changes we have made to our environment variables, I notice in the outline three error symbols appear next to adcZmod, writeADCData, and adcDemo. When I hover over these definition/functions, the error thrown states "undefined reference to 'func(arbitrary param, arbitrary param, arbitrary param, ...).'"
Building the project results in the following makefile throw:
16:34:49 **** Auto Build of configuration Debug for project ZmodADC1410_Demo_Linux ****
make all
'Building target: ZmodADC1410_Demo_Linux.elf'
'Invoking: ARM v7 Linux g++ linker'
arm-linux-gnueabihf-g++ -L"C:\Users\dwamai\Downloads\eclypse-debian-buster-armhf-sysroot_0.3/usr/lib" -L"C:\Users\dwamai\Downloads\eclypse-debian-buster-armhf-sysroot_0.3/lib" --sysroot=C:\Users\dwamai\Downloads\eclypse-debian-buster-armhf-sysroot_0.3 -o "ZmodADC1410_Demo_Linux.elf" ./src/main.o -luio
c:/xilinx/sdk/2019.1/gnu/aarch32/nt/gcc-arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabihf/8.2.0/../../../../arm-linux-gnueabihf/bin/ld.exe: ./src/main.o: in function `writeADCData(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int*, unsigned char, unsigned char, unsigned int)':
C:\Users\dwamai\Desktop\Eclypse-Z7-SW\ZmodADC1410_Demo_Linux\Debug/../src/main.cpp:51: undefined reference to `ZMOD::formatValue(char*, float, char const*)'
c:/xilinx/sdk/2019.1/gnu/aarch32/nt/gcc-arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabihf/8.2.0/../../../../arm-linux-gnueabihf/bin/ld.exe: C:\Users\dwamai\Desktop\Eclypse-Z7-SW\ZmodADC1410_Demo_Linux\Debug/../src/main.cpp:55: undefined reference to `ZMOD::formatValue(char*, float, char const*)'
c:/xilinx/sdk/2019.1/gnu/aarch32/nt/gcc-arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabihf/8.2.0/../../../../arm-linux-gnueabihf/bin/ld.exe: C:\Users\dwamai\Desktop\Eclypse-Z7-SW\ZmodADC1410_Demo_Linux\Debug/../src/main.cpp:58: undefined reference to `ZMODADC1410::signedChannelData(unsigned char, unsigned int)'
c:/xilinx/sdk/2019.1/gnu/aarch32/nt/gcc-arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabihf/8.2.0/../../../../arm-linux-gnueabihf/bin/ld.exe: C:\Users\dwamai\Desktop\Eclypse-Z7-SW\ZmodADC1410_Demo_Linux\Debug/../src/main.cpp:59: undefined reference to `ZMODADC1410::getVoltFromSignedRaw(int, unsigned char)'
c:/xilinx/sdk/2019.1/gnu/aarch32/nt/gcc-arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabihf/8.2.0/../../../../arm-linux-gnueabihf/bin/ld.exe: C:\Users\dwamai\Desktop\Eclypse-Z7-SW\ZmodADC1410_Demo_Linux\Debug/../src/main.cpp:60: undefined reference to `ZMOD::formatValue(char*, float, char const*)'
c:/xilinx/sdk/2019.1/gnu/aarch32/nt/gcc-arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabihf/8.2.0/../../../../arm-linux-gnueabihf/bin/ld.exe: ./src/main.o: in function `adcDemo(unsigned char, unsigned char, unsigned int)':
C:\Users\dwamai\Desktop\Eclypse-Z7-SW\ZmodADC1410_Demo_Linux\Debug/../src/main.cpp:77: undefined reference to `ZMODADC1410::setGain(unsigned char, unsigned char)'
c:/xilinx/sdk/2019.1/gnu/aarch32/nt/gcc-arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabihf/8.2.0/../../../../arm-linux-gnueabihf/bin/ld.exe: C:\Users\dwamai\Desktop\Eclypse-Z7-SW\ZmodADC1410_Demo_Linux\Debug/../src/main.cpp:80: undefined reference to `ZMODADC1410::allocChannelsBuffer(unsigned int&)'
c:/xilinx/sdk/2019.1/gnu/aarch32/nt/gcc-arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabihf/8.2.0/../../../../arm-linux-gnueabihf/bin/ld.exe: C:\Users\dwamai\Desktop\Eclypse-Z7-SW\ZmodADC1410_Demo_Linux\Debug/../src/main.cpp:81: undefined reference to `ZMODADC1410::acquireImmediatePolling(unsigned int*, unsigned int&)'
c:/xilinx/sdk/2019.1/gnu/aarch32/nt/gcc-arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabihf/8.2.0/../../../../arm-linux-gnueabihf/bin/ld.exe: C:\Users\dwamai\Desktop\Eclypse-Z7-SW\ZmodADC1410_Demo_Linux\Debug/../src/main.cpp:83: undefined reference to `ZMODADC1410::freeChannelsBuffer(unsigned int*, unsigned int)'
c:/xilinx/sdk/2019.1/gnu/aarch32/nt/gcc-arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabihf/8.2.0/../../../../arm-linux-gnueabihf/bin/ld.exe: ./src/main.o: in function `__static_initialization_and_destruction_0(int, int)':
C:\Users\dwamai\Desktop\Eclypse-Z7-SW\ZmodADC1410_Demo_Linux\Debug/../src/main.cpp:29: undefined reference to `ZMODADC1410::ZMODADC1410(unsigned int, unsigned int, unsigned int, unsigned int, int, int)'
c:/xilinx/sdk/2019.1/gnu/aarch32/nt/gcc-arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabihf/8.2.0/../../../../arm-linux-gnueabihf/bin/ld.exe: ./src/main.o: in function `ZMODADC1410::~ZMODADC1410()':
c:\users\dwamai\desktop\eclypse-z7-sw\zmodlib\zmodadc1410/zmodadc1410.h:82: undefined reference to `ZMOD::~ZMOD()'
c:/xilinx/sdk/2019.1/gnu/aarch32/nt/gcc-arm-linux-gnueabi/bin/../lib/gcc/arm-linux-gnueabihf/8.2.0/../../../../arm-linux-gnueabihf/bin/ld.exe: c:\users\dwamai\desktop\eclypse-z7-sw\zmodlib\zmodadc1410/zmodadc1410.h:82: undefined reference to `vtable for ZMODADC1410'
collect2.exe: error: ld returned 1 exit status
make: *** [makefile:50: ZmodADC1410_Demo_Linux.elf] Error 1
16:34:49 Build Finished (took 293ms)
I have tried using both versions (v0.2, v0.3) of the sysroot and had the same result.
I have verified that each errored function is present in their respective header declarations.
I tried applying the compressed .zip as the SYSROOT as per this comment
I am just trying to figure out if I have lost all sanity, or if this issue is not of my design. It would be of no surprise to me to see I have made an incredibly stupid mistake somewhere.
Please let me know if anyone can figure out where I went wrong based on the information I have provided. If more is needed, I will happily share it.
Question
davwamai
Hello,
I am trying to get the ZMOD ADC demo working on Windows 11. I remember a post on the forum from (the man, the myth, the legend) zygot, where they mentioned it was not possible, or incredibly difficult, to get the demo working on Windows 10 due to an issue with the SYSROOT path. I am doing my best to follow the instructions of the demo very carefully, the only exception being not using the recommended operating system host.
I was wondering if this particular issue has been resolved yet, since it seems like it has yet to be. I could very well be making a mistake somewhere (probably with using Windows 11), so I will list out what exactly I am doing starting from the step in the demo where we define our SYSROOT.
My path is correct, since it is copy/pasted directly from the file system GUI. Checking the validity of the other two environment variables that define our working directory, PWD/CWD, I determined these were also correct.
Upon applying the changes we have made to our environment variables, I notice in the outline three error symbols appear next to adcZmod, writeADCData, and adcDemo. When I hover over these definition/functions, the error thrown states "undefined reference to 'func(arbitrary param, arbitrary param, arbitrary param, ...).'"
Building the project results in the following makefile throw:
I have tried using both versions (v0.2, v0.3) of the sysroot and had the same result.
I have verified that each errored function is present in their respective header declarations.
I tried applying the compressed .zip as the SYSROOT as per this comment
I am just trying to figure out if I have lost all sanity, or if this issue is not of my design. It would be of no surprise to me to see I have made an incredibly stupid mistake somewhere.
Please let me know if anyone can figure out where I went wrong based on the information I have provided. If more is needed, I will happily share it.
Best,
David
i am incredibly stupid
Link to comment
Share on other sites
3 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now