Getting error undefined reference to `cyhal_sdio_init' while enabling WiFi

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
AnA_4675486
Level 2
Level 2
5 replies posted 5 questions asked First like received

Hi,

I have a custom board that is equipped with "CY8C6247BZI-D54" and "4343W" WiFi module.

I have made a custom BSP that I proved its functionality for other subsystems (i.e GPIO for LEDs, UART for communication, etc.).

Now, I'm trying to enable WiFi on my custom board.

I have enabled all the necessary libraries from library manager:

pastedImage_0.png

I spent some time on the Makefile as well to add all necessary paths and variables. (I have attached my Makefile)

At this point, every time that I build the project I get an error saying : undefined reference to `cyhal_sdio_init.

Basically cybsp.c file can't find reference to "cyhal_sdio_init"

pastedImage_5.png

I went through packages under mtb_shared folder of my project and noticed the file that is supposed to have the definition for "cyhal_sdio_init" is "cyhal_sdhc.c" which that is under mtb-hal-cat1/latest-v1.X/COMPONENT_PSOC6HAL/source.

pastedImage_7.png

I made sure my make file has "PSOC6HAL".

pastedImage_8.png

However, I'm still not able to build the project without the error. For some reason the compiler can't see the source file for SDIO under mtb-hal-cat1.

Any idea what I'm missing here? I have a feeling something is still missing in my Makefile (attached).

Thanks,

0 Likes
1 Solution
Rakshith
Moderator
Moderator
Moderator
250 likes received 1000 replies posted 750 replies posted

Hi AnA_4675486​,

Can you please let me know if you have udb-sdio-whd library under Board Utils in Library Manager? If yes, please enable the library.

If you do not have that library, please add the attached file in the deps folder of your TARGET_BSP folder as mentioned in this document - ModusToolbox 2.2 and later: Make a Custom BSP - KBA231373

Once that is done, run the make getlibs command and build the application.

Please let me know if that helps.

Thanks and Regards,

Rakshith M B

Thanks and Regards,
Rakshith M B

View solution in original post

0 Likes
9 Replies
Rakshith
Moderator
Moderator
Moderator
250 likes received 1000 replies posted 750 replies posted

Hi AnA_4675486​,

Can you please let me know if you have udb-sdio-whd library under Board Utils in Library Manager? If yes, please enable the library.

If you do not have that library, please add the attached file in the deps folder of your TARGET_BSP folder as mentioned in this document - ModusToolbox 2.2 and later: Make a Custom BSP - KBA231373

Once that is done, run the make getlibs command and build the application.

Please let me know if that helps.

Thanks and Regards,

Rakshith M B

Thanks and Regards,
Rakshith M B
0 Likes

Hi Rakshith,

Thanks for the response. I noticed udb-sdio-whd was not selected in library manager. This is how my library manager looks like:

pastedImage_0.png

pastedImage_1.png

However, even after adding udb-sdio-whd, I'm still getting same error saying undefined reference to 'cyhal_sdio_init':

pastedImage_5.png

Any idea what else might be missing?

Thanks,

0 Likes
Rakshith
Moderator
Moderator
Moderator
250 likes received 1000 replies posted 750 replies posted

Hi AnA_4675486,

Would it be possible for you to attach your project here so that we can try to debug the issue?

Regards,

Rakshith

Thanks and Regards,
Rakshith M B
0 Likes
AnA_4675486
Level 2
Level 2
5 replies posted 5 questions asked First like received

Hi RakshithM_16​,

I have attached the main project folder. The mtb_shared folder was 200MB and I didn't attached it here. Actually not go off topic, I still don't know the correct way of sharing project with other folks using Modustoolbox. I tried to give the whole project to someone else in my team and after they were opening the workspace, the had nothing in their Project Explorer. I hope you can open this attached project.

A few notes:

- I have made a custom BSP "MyBSP".

- The project compiles without any error before adding WiFi related libraries.

- I had to add #include "resources.h" to "whd_resources.c" and "cybsp_wifi.c" and "cybsp.c" to resolve most of my initial errors due to GPIO references.

- At the current stage, even after adding udb-sdio library, I'm still getting error for " undefined reference to `cyhal_sdio_init' "

Please let me know if you can help me resolving this last error.

Thanks,

0 Likes
Rakshith
Moderator
Moderator
Moderator
250 likes received 1000 replies posted 750 replies posted

Hi AnA_4675486,

I tried importing the project and I saw that the libraries were not imported properly. So, I deleted the mtb_shared folder and reimported the libraries. I did not get the above error but I did get other errors related to the generated source.

I had to add #include "resources.h" to "whd_resources.c" and "cybsp_wifi.c" and "cybsp.c" to resolve most of my initial errors due to GPIO references.

These files are added automatically, you should not be asked to edit these files.

So I think there was an error when importing the libraries or when creating the custom BSP. Can you please create a WiFi project using any of the Target Kit BSPs which is closest to your device, ensure that the project builds properly, and then create a custom BSP?

Please let me know if that works.

Thanks and Regards,

Rakshith M B

Thanks and Regards,
Rakshith M B
0 Likes

Hi RakshithM_16​,

Please note the "resources.h" file that I was referring to was a .h file that I wrote myself for taking care of all GPIO custom names. That's why I had to manually add it.

On another note, I was hoping you can clarify couple of confusing notes that I just found on another discussion.

WiFi-BT PSOC Creator Wiced combination, have questions (CY8CKIT-062-WiFi-BT)

Is that true that true if I want to use 4343W wifi module I "have to" use WICED only? Or is this an outdated post?

My custom board currently have "CY8C6247BZI-D54" for the main processor and "4343W" for the WiFi module. Will I be able to use WiFi using ModusToolbox?

Thanks,

0 Likes
Rakshith
Moderator
Moderator
Moderator
250 likes received 1000 replies posted 750 replies posted

Hi AnA_4675486,

Yes, WiFi Applications can now be created using ModusToolbox.

These blogs might help you with the confusion -

Wi-Fi Support added to PSoC 6 SDK

Session 4: AnyCloud WIFI Design Flow

Thanks and Regards,

Rakshith

Thanks and Regards,
Rakshith M B
0 Likes

Hi RakshithM_16​,

Thanks for the feedback. I will go over the instructions in the links that you sent me and see if I can resolve the error. Meanwhile, I have another followup question. The Anycloud examples cover either a server or a client TCP/IP setup where it requires a pre-existing network to connect to knowing its SSID and password. Is there any instructions how I can create an access point using 4343W and PSOC6 SDK?

Please advise.

Thanks,

0 Likes
Rakshith
Moderator
Moderator
Moderator
250 likes received 1000 replies posted 750 replies posted

Hi AnA_4675486,

Is there any instructions how I can create an access point using 4343W and PSOC6 SDK?

WiFi AP is currently not supported in the WCM library. The underlying WHD APIs can be used to bring up a softAP although there is no official support for the same.

Thanks and Regards,

Rakshith M B

Thanks and Regards,
Rakshith M B
0 Likes