Announcements

Help us improve the Power & Sensing Selection Guide. Share feedback

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

cross mob
IronWaffle
Level 2
Level 2
10 sign-ins 5 replies posted 5 sign-ins

Good day! 

I am working with the CY8CPROTO-062-4343W microcontroller and using the Infineon/abstraction_rtos library for an application. For porting, an additional header filcyabs_rtos_impl.h is needed and rtos thread types must be defined in it. However, despite defining the thread types and adding the libraries, "error: unknown type name" still appears for all the thread types.

cyabs_rtos_impl.h: cyabs_rtos_impl.h - Pastebin.com
A handful of the many build errors: Errors - Pastebin.com

Additional notes:
1)  "publisher_task.h", "mqtt_task.h", and "subscriber_task.h" were taken from mtb-example-wifi-dual-core-virtual-mqtt-client/proj_cm4/source at master · Infineon/mtb-example-wifi...


2 ) Our main file, publisher_task.c, was able to use the same types as in the cyabs_rtos_impl.h without errors. Both files are in the same folder. I have also attempted to copy all the libraries used in publisher_task.c into cyabs_rtos_impl.h, which did not work. The line of code and libraries used are in the pastebin:

a portion of publisher_task.c - Pastebin.com

3) The code used in our cyabs_rtos_impl.h were mainly copied from: abstraction-rtos/include/COMPONENT_FREERTOS/cyabs_rtos_impl.h at master · Infineon/abstraction-rtos ...


4) I am using Eclipse IDE for ModusToolBox 3.1 and all the libraries seem to be updated just as in its github pages. 

We have been stumped with this error for more than two days and was wondering if anyone has had a similar problem or may know the cause. 

Edit:
5) Here is the makefile:
makefile - Pastebin.com


Thank you very much!



0 Likes
1 Solution
IronWaffle
Level 2
Level 2
10 sign-ins 5 replies posted 5 sign-ins

Good day!

I'm very sorry for the late response. 

We found out that we did not need the cyabs_rtos.h library, which was requiring the cyabs_rtos_impl.h.

Thank you very much to  for your help and support!

View solution in original post

9 Replies
Aditi_B
Moderator
Moderator
Moderator
500 replies posted 5 questions asked 250 replies posted

Hi,

Good day to you too!

Can you provide the makefile of your project?

Thanks

Aditi

0 Likes

Ok!

Here is the makefile:
makefile - Pastebin.com

I also added it to the main post. 

0 Likes
Aditi_B
Moderator
Moderator
Moderator
500 replies posted 5 questions asked 250 replies posted

Hi,

I'm not able to view the files that you're providing. The pastebin.com doesn't seem to load. Please provide the above files again.

Thanks

Aditi

0 Likes
lock attach
Attachments are accessible only for community members.

Hello!

Hmm, that is weird. Here are the files attached. 


0 Likes
Aditi_B
Moderator
Moderator
Moderator
500 replies posted 5 questions asked 250 replies posted

Hi,

Thank You for providing the files. 

1. cyabs_rtos.h is the file that you need to include to use the abstraction-rtos functionality.

2. If you check the Getting Started page, you'll see that you need to update the application's makefile to use the RTOS solution in your setup-

https://github.com/Infineon/abstraction-rtos

To use the RTOS Abstraction, simply include a reference to cyabs_rtos.h and update the application's makefile to include the appropriate component. e.g. one of:

  • COMPONENTS+=RTX
  • COMPONENTS+=FREERTOS
  • COMPONENTS+=THREADX

3. cyabs_rtos_impl.h is a file that maps the internal definitions of RTOS abstraction layer. You needn't provide it. If you check the repo, it's provided to you under the RTOS component that you're choosing.

Just update the COMPONENTS in your makefile and it should resolve the issue.

Thanks

Aditi

DannyWatson
Employee
Employee
First solution authored First reply posted First like given

Hi,

Software Marketing here,

What is the reason header file cyabs_rtos.h is not used and the cyabs_rtos_imp.h is used?

0 Likes
Aditi_B
Moderator
Moderator
Moderator
500 replies posted 5 questions asked 250 replies posted

Hi,

cyabs_rtos.h is the only reference to be used. It'll automatically include cyabs_rtos_impl.h. This file is specific to the RTOS solution being used. It basically maps the definitions of the abstraction rtos layer to the RTOS used in the solution.

For more information, you can visit this link - 

https://github.com/Infineon/abstraction-rtos

Thanks

Aditi

0 Likes
IronWaffle
Level 2
Level 2
10 sign-ins 5 replies posted 5 sign-ins

Good day!

I'm very sorry for the late response. 

We found out that we did not need the cyabs_rtos.h library, which was requiring the cyabs_rtos_impl.h.

Thank you very much to  for your help and support!

Aditi_B
Moderator
Moderator
Moderator
500 replies posted 5 questions asked 250 replies posted

Okay. Thanks for the update. Good Day!

0 Likes