Build error: 'SCB_SCB_IRQ__INTC_NUMBER' undeclared (SCB redefinition)

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

cross mob
Anonymous
Not applicable

 Hello forum,

   

I struggle with solving the build error: 'SCB_SCB_IRQ__INTC_NUMBER' undeclared.

   

The setting

   

For my implementation I need to use SPI & UART, but once in a while also the CapSense tuner GUI, but the PSoC42xx BLE does only offer two SCBs.  My solution was to disable the UART SCB and enable the EZI2C SBC if needed and adopt the Code with #if/#else.

   

I can successfully run the UART and EZI2C in different projects with the same code (but with different parts of the #if/#else enabled), so my code should be fine.

   

The Problem

   

When I merge the two mentioned projects together (UART and EZI2C in one project on the same SCB number, one disabled) and try to build, I get the quoted error.

   

Can anybody help?

0 Likes
1 Solution
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Welcome in the forum, J.

   

It was a bit late yesterday night to answer your question. I would like to have seen your original (not working) project to help you out. To upload a complete project, use
Creator->File->Create Workspace Bundle (minimal)
and attach the resulting file.

This will help me (us) from creating our own project and being able to look at all properties and build settings you have used.

   

The code generation for a disabled component is switched off, so there will be no (implied) reference to such a component. The build-error must have a different source.

   

 

   

There is another "Trick" using SCBs for different purposes: There is an initialization API that uses a pointer to a structure telling the SCB what it should perform. Structure is a bit complex, but that way you may use an SCB-block for any purpose at any time.

   



Bob
Ps: Where are you located? I live near Bremen

View solution in original post

0 Likes
6 Replies
Anonymous
Not applicable

 OK, never mind.

   

I am now using the software-UART-TX component and it works fine. It seems that simply disabling components does not keep them from being taken into account in a build.

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Welcome in the forum, J.

   

It was a bit late yesterday night to answer your question. I would like to have seen your original (not working) project to help you out. To upload a complete project, use
Creator->File->Create Workspace Bundle (minimal)
and attach the resulting file.

This will help me (us) from creating our own project and being able to look at all properties and build settings you have used.

   

The code generation for a disabled component is switched off, so there will be no (implied) reference to such a component. The build-error must have a different source.

   

 

   

There is another "Trick" using SCBs for different purposes: There is an initialization API that uses a pointer to a structure telling the SCB what it should perform. Structure is a bit complex, but that way you may use an SCB-block for any purpose at any time.

   



Bob
Ps: Where are you located? I live near Bremen

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

 Hello Bob,

   

thank you for your hint to the init-API. I will not dive into that right now, but it's good to know such powerful tools exist. And again it's a case of people (me) not reading datasheets...

   

So: attached to this post you find the zipped project. The error occurs when UART-SCB is activated and the #define UART_INSTEAD_OF_TUNER is set to 1.

   

Oh, Bremen is a nice place! I study in Munich.

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

The reason for the errormessage lies within the CapSense: you enabled the tuner helper named "SCB" which doesn't exist because disabled. Remove the check at "Enable Tuner Helper"

   

 

   

Bob

Anonymous
Not applicable

 Hello Bob,

   

sorry for this mistake. But to my defence I have to admit I spend more than two hours with solving it myselve. Without success, but...anyway. Thanks!

   

Jannai

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Nothing at all to excuse for! I am working with PSoCs for several years now and there was no pitfall I left out!

   

When you locate the source of your error by double-clicking the errormessage you will see nearby this line

   

 

   

#if (CapSense_CSD_TUNER_API_GENERATE)
 

   

wich reflects the property of the component "Enable CapSense Tuner". You might use that in conjunction with (another trick:)

   

#ifdef CY_SCB_UART_H for your enabled UART or a similar one for your enabled SCB. You find those names at the beginning of the appropiate .h-files

   

 

   

Bob