No API created for non contiguous output port

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

cross mob
Anonymous
Not applicable

Hi.

   

In my design I've defined an 8 pin non contiguous output port.

   

   

 

   

After executing Build, there is no API created for the port.

   

I can't post the design here.

   

Is there a solution for this?

   

 

   

Also, in the same design I have a 4 pin non contiguous input port. For this port there is only one file in the API - Port_aliases.h. There are no Read() or Write() functions for the pins. How can I read these pins?

   

Thanks.

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

Try to delete the pins for which the APIs aren't generated and create them anew.

   

 

   

Bob

View solution in original post

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

"I can't post the design here."

   

You do not need to post the design, but you can make an example which you can post here. This would ease my amount of work to see what you want to do and try out different solutions.

   

 

   

Bob

0 Likes
Anonymous
Not applicable

I made an example with 2 ports - one contiguous and the other non-contiguous. The contiguous port compiles with "full" API. The non-contiguous gets only the _aliases.h file (which is more than in my main design).

   

It seems that I couldn't recreate the problem in the example.

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

The term "Port" describes the chip-internal connection to the outer world which is grouped in (up to) 8 data lines with its internal registers. So a "non contiguous port" does not exist. There are a couple of APIs to access pins listed in the "System Reference Guide" (from Creator Help). These you will need to use when accessing non countiguous pins.

   

 

   

Bob

0 Likes
Anonymous
Not applicable

A "non contiguous port" is my definition for multi-pin input (or output) pin component, with Contiguous option disabled in the Mapping tab.

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

Yes, I was aware of "your definition".

   

Datasheet says:

   

The API functions access all pins in the Component in a single function call. Efficient
implementation of Component-wide function is only possible if all pins are placed in a single
physical port on the device. They are generated only if the Component is configured to be
contiguous. Non-contiguous Pins Components only allow access on the per-pin basis described
under Per-Pin API.

   

 

   

Bob

0 Likes
Anonymous
Not applicable

I see.

   

But still, there is no API for these pins in my design (not even aliases), as if they don't exist.

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

Yes, that is what is said in the datasheet. Use the APIs from "System Reference Guide".

   

Still no example project upload?

   

 

   

Bob

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

I've attached the example design. But as I've said before, it doesn't recreate the problem I've mentioned (no API creation).

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

Try to delete the pins for which the APIs aren't generated and create them anew.

   

 

   

Bob

0 Likes