This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

EMAC and PHY

Other Parts Discussed in Thread: HALCOGEN, DP83640

Hi all, 

I'm using Hercules TMS570 kit.  I would like to send few bits of information from one board to another just using EMAC, MDIO and PHY and without using any standard ethernet protocol. I took the PHYdp83640 file from the lwIP example software, to use for my work. But, i don't understand how are the EMAC or the MDIO and PHY connected. Is there any PHY register where i need to copy the data in order to put that into the bus ? 
 Is there any document where i could get detailed information on Ethernet functionality on this device ? 

  • Peter,

    For transmitting data over ethernet you will have to use EMAC, MDIO & PHY modules. This is required because of the way Ethernet operates. We do not have a sample that demonstrates ethernet transfers using just the EMAC, MDIO & PHY HAL.

    HDK specific interface to lwIP is implemented in the hdkif.c file. You can use this as a reference for you implementation. For more information on the Hercules EMAC peripheral you can refer to TRM @ this link.

    Regards,

    Pramod 

  • Pramod, 

    Thanks for your reply and the TRM.  I'm working on that and now i'm able to get the RX count registers updated with the broadcast frames recieved, but still i'm not able to broadcast my frames. Guess, I'm stuck  with memory allocation to the TX buffer. I'm having a look on that.  Meantime if you could suggest me anything on this, it would be really useful. 

  • Peter,

    For TX sequence refer to the lwIP port. For TX specifics refer to hdkif_transmit function in hdkif.c.

    If you can share your code, I can review it for any obvious omissions.

    Regards,
    Pramod 

  • 0143.hdkif.c

    Hey Pramod, 

    I used the hdkif.c of lwIP port, but omiited all other functions except hdkif_transmit. 
    Upon runnnig i see the RX Registers getting updated with the recieved frames. But the frame which i'm trying to send doesn't seem to work.  Neither in TX registers nor in wireshark i see this packet. I'm not sure where i've gone wrong.

    Could you please suggest something on this.

    Regards

    Peter 

  • Peter,

    I'm guessing that the RX packets are broadcasts. Are you connected via a switch? If yes then it's possible that the switch is discarding the packet due to invalid data. Can you try the following:

    1. Connect via a Hub

    2. Use the broadcast address as destination in your data packet.

    Regards,
    Pramod 

  • Pramod,

    Yes, the RX packets are broadcasts.  

    1. I would try doing that.

    2. I think i have the broadcast address as destination in my data packet. I have specified destination as FF:FF:FF:FF:FF:FF.

    Actually i tried connecting the board, using a crossover cable directly to my PC. But still, i didn't get anything transmitted. 

    Regards
    Peter 

  • Hello Peter,

    Were you able to work through your issues? If so, please let us know so we may close the thread.

  • hi Peter,

       I am working on similar lines where i need to transfer data through ethernet but using only EMAC, PHY and MDIO. can u pls help me as u seemed to b implemented the same thing. Can u share ur code and give me some more details about what u have done? It will b really helpful. I am new to Ethenet as well as ARM.

    Thanks in advance.

    Regards,

    Manmesha.

  • Hello Peter,

    Given the length of time since there has been any activity on this thread I am going to close the thread. If the issue still persists or if there are additional questions, please make a new post to start a new thread. Thanks you.

     

    Hello Manmesha,

    As stated, above, this thread will be closed due to the long period of inactiviy from the original poster. As such, I would recommend that you also make a new post starting a new thread with specific questions for your application. I believe that this will provide the quickest resolution for your question from the forum moderators.

  • Hi Chuck,

       I have posted several questions on different posts but haven't received relevant answer from any of those (few r not even answered ). Peter has worked on the same problem as that of mine and might b he can help me. If i start wid a new post, how can i relate my problem with this thread?? pls help before closing this thread.

    Regards,

    Manmesha.

  • Hello Manmesha,

    I apologize for the difficulty in getting an answer. I will forward your post to our EMAC experts to see if they could be of assistance.

  • Dear Chuck,

       I really appreciate ur instant reply and look forward for ur help. I just want to transfer a couple of bytes over Ethernet using simple data transfer and not like HTTP or so. The code which i have, initializes the TMS570 for HHTP. I am nt familiar with Ethernet or socket programming. I received only a CD with one code from TI when I ordered HDK kit.

    Pls let me know if u will reply on the same post or i have to create a new thread. But pls help me with this issue. I am struggling for a long time.  

    Regards,

    Manmesha

  • Manmesha,

    Unfortunately, EMAC/PHY is not my particular area of expertise either so I have forwarded your post to our experts within the organization. If there are any issues in response to your posts/support, let me know and I will try and push to get you more help/support.

  • 3755.EMAC.zipHi Manmesha,

    I am attaching two projects one which enables ethernet packet transmission(without using LWIP) and other is the ethernet recieve project.These projects are based on Halcogen 3.02 version.Can you refer to these projects.

    The projects for the TMS570LS31 HDK.Let me know if this is useful.

    Regards

    Manoj

  • Dear Chuck,

        I also want to use the CAN port. I need to receive ordinary data (and not in HTML format or so ) through CAN port of this board . I am looking for sample programes for both Ethernet and CAN operations. That is a bidirectional data transfer through Ethernet between PC and HDK kit and bidirectional data transfer through CAN between HDK board and other outside network.

     Dear Manoj,

      Thanks for ur help. I will look into those files and get back to u.

    Regards,

    Manmesha.

  • Dear Manoj,

       I tried executing the the code only for transmitter out of the two. Pls tell me what i understood is right or nt.

    While creating packet in function, create_packet(8 rows, 16 columns) ,

    u have created a array (2 rows),

    in the first row --   where in 0 to 5 you have inserted data 0xFFh.

                                    in next 6 to 11 bits you have inserted the EMAC address.

                                   and from 11 to 16 you r writing data 2.

      in the second row-- where in 0 to 7 (if i am nt wrong   'j' will vary from 0 to max 7) you have inserted data2.

    pls help me understand, which of these fields are related to data (from where exactly u r fetching the data) ??

    At the PC end i am trying to sniff data coming from MAC address- 78:2B:CB:AB:63:6D but i am nt getting anything.

     where am i going wrong???

    inserting the code  create_function()  for reference. 


    void create_packet() { int i,j; packet.packet_length = 0; for(j=0;j<6;j++) { packet.buff[0].buffer[j]=0xff; } for(j=0;j<6;j++) { packet.buff[0].buffer[j+6]=emacAddress[j]; } packet.buff[0].buffer_length = 150; packet.packet_length += packet.buff[0].buffer_length; for(j=0;j<packet.buff[0].buffer_length;j++) { packet.buff[0].buffer[j+11] = 2; } for (i=1;i<8;i++) { packet.buff[i].buffer_length = 150; packet.packet_length += packet.buff[i].buffer_length; for(j=0;j<packet.buff[i].buffer_length;j++) { packet.buff[i].buffer[j] = 2; } } }

    Kindly help.

    Regards,

    Manmesha

  • Manmesha,

    Please open a new thread regarding your request for CAN so we can focus on the EMAC question in this thread and not add confusion from 2 different support questions in the same thread. This helps for future questions from others that might benefit from searching the posts for answers to their questions. I will respond to your new post once you have started the thread.

  • Dear Chuck,

       I have created a new thread with name --  "simple Ethernet +CAN data transfer". have posted a question wrt Mr. Manoj's post. I need his help.

      Thanks for ur suggestion. Waiting for ur reply.

    Regards,

    Manmesha.

  • Dear Manoj,

       Along with the above queries, while running the code i noticed that the part of EMAC address (6D) is getting overwritten by data 02 at location  (j+11) for j-0;

    is it the way?? coz in that case my software on PC will never b able to sniff data from EMAC address 78:2B:CB:AB:63:6D.

    pls correct me if i am wrong.

    Regards,

    Manmesha

  • Dear Manoj,

        I got it!!! The MAC address gets changed  from 78:2B:CB:AB:63:6D to 78:2B:CB:AB:63:02 due to over writting of data byte 02. I changed the MAC accordingly and was able to get the data.

    Also, I got that where the data is fetched from. i changed data at the first 150 bytes from 2 to 8. but its nt changing. (due to that my MAC address also changed to 78:2B:CB:AB:63:08). but the code is nt workin nw. is the MAC address fixed for that device?? is there any realtion between MAC address and IP address?? 

    If i am correct, the data bytes FFFFFFFFFFFF are used for starting of data packet. But i didn't get how to convey end of the packet??

    Also in the current code the data is been broadcast but what if i want to send it to a particular m/c ?? can i set it somewhere?? 

    Also can u give me some more details about the code for example, which protocol is been used?

      will there b lots of changes if i want to use some other Ethernet protocol (say  FTP,Telnet, etc.) ?

    is there any document that will talk more about the code in detail.

    I will now try with the  code related to " receive " data. And will get back to u.

    Thanks a lot for ur support. Looking forward for your reply. 

    Regards,

    Manmesha.

  • Dear Manoj,

       I am still waiting for ur reply for all my above queries. Kindly reply. Along with it,  while executing the code i found that the data packets are being broadcast-ted. I have two queries,

    1. If i change the first few bytes of data which is currently 0XFFFFFFFFFF  to some PC's MAC address, will then instead of broadcasting the data will go to that particular machine??

    2. What is the exact protocol that is been used for transfer of data??

    3. At the PC end, which port should i sniff to read the data packet ( eg. like for HTTP its port 80.) currently i am looking packets based on the MAC address?

    4. What should i do to change the data from broadcasting to uni casting?

    Please reply to my quires,

    Regards,

    Manmesha.

  • Dear Manoj,

         The code for receive doesn't have receive function. the complete code seems pretty much identical to that of transmit. Pl tell me if i am wrong. An help me in identifying part related to "receive"  operation.

    Regards,

    Manmesha

  • Hi Manmesha,

    The Halcogen has examples for using Can communication did you refer to the Halcogen examples?This example should enable you to configure can for bidirectional data transfer.

    The project which I had attached in the earlier post should help you achieve the bidirectional data transfer through Ethernet between PC and other network.

    Let me know your updates.

    Regards

    Manoj

  • Dear Manoj,

            Regarding the transmit code i want to know what exact protocol is been used?? Is it one of the standard Ethernet protocols (example -   ARP/Ethernet) or any different??

       I want to know on which port of the PC will i receive these data packets??

    Similarly for the receive code on which port of the HDK kit should i write the data??

    Kindly reply.

    Regards,

    Manmesha.

  • 1. The projects that have been posted implement  raw Ethernet data packet transfer(IEEE 802.3 Ethernet Protocol). It just transmits a given number of Ethernet broadcast packets.It is a test code and there is no documentation as such for this code. It does not use any tcp/ip stack so  it is a raw data transfer between devices and hence does not involve any ports which are normally used in network programming with a tcp/ip stack.

    2. Like you said earlier, you should be able to implement unicasting if you change the receive address from broadcast (FF..F) to a specific receiver’s MAC address. We don’t have a working sample code for this right now.

    3.We cannot comment on the effort required regarding the usage of FTP or Telnet. To use FTP or Telnet you need to port a tcp/ip stack  on the device. You could try out the port of lwIP (v1.4.1) for Hercules devices from here. lwIP is a lightweight TCP/IP stack for embedded devices. There is a demo project on the same page.

    If the stack does not implement FTP or Telnet you could probably implement FTP/ telnet yourself on top of the tcp/ip stack.(you can refer to the book Unix Network Programming: The Sockets Networking Api - Volume 1 for more information regarding this)

    Do let us know if there is any other way we can help. Also, please close the thread if you don’t have any more queries.

    Regards,

    Chaitanya

  • Hello Manoj,

    I am trying to implement the same thing on a RM48PGE on a custom board,. So I need to make changes in HalCoGen. If i open the .hcg file and close even without  any changes, there are errors as I am using HalCoGen 3.06. So is there any way I can port it, or any example to do exact same thing on the new HalCoGen?

    Thank you,

    Agraj

  • Hi Agraj,

    I'm assuming that you're trying out the Transmit and Receive demos that Manoj had posted earlier. 

    Just wanted to let you know that we're updating the EMAC drivers for HALCoGen and that contains new APIs for transmitting and receiving raw Ethernet packets, and also testing this out under loopback. It works almost straight out of the box. I'll post a demo by next week. That might suit your needs.

    Regards,

    Chaitanya

  • Hi Chaithanya,

    Thank you for your reply. Yes, they are the ones I am implementing, So a similar demo which works even after re-generating the HalCoGen files would be of great help.

    Thank you,

    Agraj Jain

  • Hi Agraj,

    I have attached a CCS project with an Ethernet Demo. This contains some new Ethernet APIs and hence is purely for demo purposes. A HALCoGen update should be out soon with official support for the new APIs, so for anything mission critical so to speak, you ought to wait for the update :).

    5086.EMACExample_TxRx.zip

    Some points to note: 

    * This demo performs a Tx broadcast and Rx using a loopback mode for an RM48 board. Rebuild for TMS.

    * The EMACTransmit API is used for transmitting a single packet. Here, it is called twice, thereby transferring two packets. The data input to this API is a linked list , which contains raw ethernet data, ie, the first 14 bytes must contain the destination MAC Address, source MAC Address and length, in that order (an ethernet frame basically). Go through the TRM for more details on the ethernet protocol and the EMAC module.
    * To see the transmitted information, the transmitted and receive buffer descriptors must be observed, which are located in the EMAC RAM.
    * In the default configuration, the transmitted descriptors can be found at 0xFC520000 (Base address of EMAC RAM) and the receive descriptors start at 0xFC521010.
    * One can also observe the number of packets transmitted and other such information in the EMAC network statistics registers.

    Hope this works, and helps you with what you're working on. Let me know in case of any issues.

    Thanks and Regards,

    Chaitanya

  • Hello Chaitanya,

    Thank you for the Demo. It is working fine on RM48 HDK. But then, I need to be able to work it even after regenerating code from HalCoGen, which does not happen. I even tried creating a new RM48 project, and importing the .dil file in the example and replacing emac.c, emac.h, mdio.c, mdio.h from the ones you sent, and the same main program. Still it was not able to build it. There were lot of unresolved symbols. This is essential for me as I want to port this onto a custom board where I use RMII instead of MII and a different clock etc. So I need to be able to make changes in HalCoGen later.

    Also, I am trying to see the packets sent from RM48 on my PC using WireShark. So I need to change from loopback mode to individual transmit/receive mode. Could you guide me on this?

    Thank you,

    Agraj Jain

  • Agraj,

    Like I said, there'll be a HALCoGen update very very soon with support for the new APIs. Till then you might have to play around with the source code and the APIs to get the desired functionality. 

    Also, in emac.h, there are a bunch of macros that look something like EMAC_MII_ENABLE and so on. You could toggle the values between 0 and 1 to disable/enable. These are actually configurable through the HALCoGen GUI, but they should serve your purpose for now. Also, there are APIs such as MIIDisable and MIIEnable and so on, which are called in EMACHWInit(). So you could make the calls directly if you need them, for now.

    Thanks and Regards,

    Chaitanya

  • Hello Chaitanya,

    I was wondering if the update has been released yet. Also is there any TCP/IP stack similar to 

    http://processors.wiki.ti.com/index.php/HALCoGen_Ethernet_Driver_and_lwIP_Integration_Demonstration

    Using the new API's. How do I go about using them for TCP/IP?

    Thank you

    Agraj Jain

  • Hi Agraj,

    Sorry there's been a delay in the release of the update due to some issues.

    Also, lwIP is meant for using TCP/IP on embedded systems. They have some pretty good documentation here: http://lwip.wikia.com/wiki/LwIP_Wiki . Do check it out. The link that you provided has a sample project that runs this lwIP TCP/IP stack on a Hercules board. If you're using lwIP for TCP/IP i think it'd be independent of the newer APIs since HALCoGen provides more low level drivers, while you only need the interface with the hardware, which the above demo already has.

    Thanks,

    Chaitanya

  • Hello Chaitanya,

    I am sorry to hear above the delay. I was intersted to know what is new date the release is expected.  About the lwIP link I had sent, It does not contain any HalCoGen Project I can modify for my board. So same problem as with the APIs you have sent. I was wondering, Even with the old APIs if there is any lwIP project that need not be installed but is a complete CCS project with just HalCoGen generated files. 

    Thank you,

    Agraj Jain

  • Hi Agraj,

    The link that you sent does in fact contain the complete CCS project with the HALCoGen project for version v3.06 of HALCoGen (old APIs). It's at the bottom of the page. You can download it here:

     http://processors.wiki.ti.com/images/4/44/HALCoGen_EMAC_Driver_with_lwIP_Demonstration.zip

    It is packaged as an installer due to user license requirements, but it's basically a folder with the CCS and HALCoGen projects along with lwIP integration. The projects are grouped according to the device variants.

    Do try it out and let me know. 

    Thanks and Regards,

    Chaitanya

  • Hello Chaitanya,

    Thank you very much for the zip file with the HalCoGen files. Using these I was able to Run the Demo on the RM48 HDK. With the HalCoGen files I was able to port the project on to my custom board and it is running till it starts initializing the ethernet, and stops working at the lines 

    hdkif->phy_autoneg = Dp83640AutoNegotiate;
    hdkif->phy_partnerability = Dp83640PartnerAbilityGet;

    It just displays DEBUG-Getting phy id... 

    The difference between the HDK and my custom board is that the transceiver ic is not Dp83640 but LAN8720AI-CP and that uses RMII. On comparing the register values of 8720 and 83640, there was no difference, so I din't have to do any changes in the autonegotiation.

    But since It uses RMII and not MII, are there any changes I need to make other than changing the pinmux in HalCoGen? Because changing pinmux made no effect.

    Hoping to hear from you soon.

    Thank you,

    Agraj Jain.

  • Agraj,

    Make sure that MDIO and MDCLK pins are selected in pinmux. Halcogen will not enable these lines (defect?) when you select RMII/MII check boxes. You need MDIO&MDCLK to rd/wr your PHY registers.

    Just a thought,

    Joe

     

  • Hello Chaitanya,

    Thank you for the suggestion on MDIO and MDCLK, it has helped move the code on much further. Now it is not getting stuck but finishing trying to get PHY id and displaying an error. It enters this loop in hdkif.c,

    while ((phyID == 0) && (phyIdReadCount > 0)) {
    phyID = Dp83640IDGet(hdkif->mdio_base, hdkif->phy_addr);
    phyIdReadCount--;
    sciDisplayText(scilinREG, txtProgress, sizeof(txtProgress));
    }

    if (0 != phyID) {
    sciDisplayText(scilinREG, txtSuccess, sizeof(txtSuccess));
    } else {
    sciDisplayText(scilinREG, txtError, sizeof(txtError));
    }

    But, the phyID = Dp83640IDGet(hdkif->mdio_base, hdkif->phy_addr); is returning phyID as 0

    Is this because of using LAN8720AI-CP instead of Dp83640? Do we have to modify hdkif->phy_addr or the values of PHYID1 and PHYID2 in phy_dp83640.h?

    Hoping to hear from you soon,

    Thank You,

    Agraj

  • Hi Agraj,

    The obvious answer seems to be the different PHY module, but as you mentioned earlier, both of these devices seem to have the same registers. I've been going through the datasheets of both and there really doesn't seem to be any difference. 

    Regarding whether it's because the 8720 being RMII only, i'm not sure. I've been enquiring about that and I'll get back to you soon.

    Regards,

    Chaitanya

  • Sounds like phy_addr configuration issue.

    hdkif->phy_addr should be your PHY's address.

    Also check your MDIO_FREQ_INPUT & OUTPUT

  • Hello Jonson,

    Thank you for your reply. As for as I understand, the hdkif->phy_addr is initialized to 1 and it takes on the PHY's address when we call Dp83640AutoNegotiate function. This uses the BSR, the BCR and the autonegotiation advisement register. These do not change much, so I am not sure why I am not able to get the PHY's address. 

    As for the MDIO, The VCLK3 in Halcogen is at 99.9, which I think is calculated based on the oscillator frequency, which is 7.4 on my board. Though we have used a 25 MHz crystal between XTAL1 and XTAL2 according to the simplified system level application diagram in the datasheet of LAN8270ai. Is there anywhere in the code that we need to modify to reflect this? 

    Hoping to hear from you soon,

    Thank you,

    Agraj.

  • Agraj,

    Briefly looking at the DS of your PHY (LAN8720A/LAN8720Ai),

    1.) Section 3.5 Serial Management Interface (SMI): "The minimum cycle time (time between two consecutive rising or two consecutive falling edges) is 400 ns."

    That means your MDIO CLK cannot be any faster than 2.5 MHz

    2) section 3.7.1  "PHYAD[0]: PHY Address Configuration - The PHYAD0 bit is driven high or low to give each PHY a unique address. This address is latched into an internal register at the end of a hardware reset (default = 0b)."

    That means - hdkif->phy_addr should be set 0, unless you have a pull-up on PHYAD0 (Pin 10) then addr is 1.

     

    Good Luck,

    Joe

     

  • Manmesha,

    I am attching an example for EMAC external loopback. The loopback is via a loopback tangle at the externet connector. The test does not use any ethernet stack. It shows how to set up the emac module and PHY. You may be able to modify it for your purpose. After upzipping the file, you should be able to find the project at \EMAC_LOOPBACK_EXTERNAL\platformverif\devices\champion\R4\EMAC1\EMAC\emac07aloopback_rmii. There are a CCS5 and CCS3 projects. This example runs from RAM.

    4722.EMAC_LOOPBACK_EXTERNAL.zip

    Thanks and regards,

    Zhaohong

     

  • Hello Joe,

    Thank you for the reply on the PHY. It was really useful. I have now been able to establish PHY ID and moved on to the further steps. I am now facing problems with the lwipInit.

    I do not want to use a router and am connecting the board directly to my computer. So i have replaced 

    ipAddr = lwIPInit(0, macAddress, 0, 0, 0, IPADDR_USE_DHCP);                   with 

    ipAddr = lwIPInit(0, macAddress,inet_addr("2.0.168.192"), inet_addr("0.255.255.255"), inet_addr("1.0.168.192"), IPADDR_USE_STATIC);

    I have set IPv4 of my system to 192.168.0.1 

    When I run it, it displays all the steps, and success and also 

    HERCULES MICROCONTROLLERS
    Texas Instruments
    Little Endian device
    Device IP Address: 192.168.0.2
    Webserver accessible @ http:\\192.168.0.2

    But if i try to open the webpage 192.168.0.2, it says webpage not found. Both on google chrome as well as internet explorer. But getting pHY Link status is successful. Could you suggest any reason for this? 

    Hope to hear from you soon,

    Thank you,

    Agraj

    PS: I have connected the PHY (8720a) to the RJ45 port through port MAGnetics ic, HX1188 as shown on pg 42 of the 8720 datasheet. 

  • Hello Joe,

    I did some debugging, and I observed that the EMACTxISR is being called only once. Is that a problem? Because like I said in the earlier post, I am not able to load the webpage from the browser. 

    Thank you,

    Agraj Jain

  • Hi Agraj,

    I tried the demo on an RM48 HDK with the same settings that you had, and it seemed to run fine. Are there any other changes that you have made? (Apart from the suggested PHY changes)

    Regards,

    Chaitanya

  • Hello Chaitanya, 

    I have run the example on RM48 HDK and faced no problems. The only changes  I have made are: 

    1) A different HalCoGen file with different clock settings as the crystal on my board is different from on HDK. I am attaching the new HalCoGen file here. 

    2) On the HalCoGen file I have made all the necessary changes suggested here such as MDIOCLK etc...

    3) In CCS I have only changed the hdkif->phy values and the lwipInit function call from DHCP to statis IP as I have described in the previous reply.

    I have not made any  other changes.

    Hope to hear from you soon,

    Agraj.

    7028.EMAC_trial_new.zip

  • Hi Agraj,

    Unfortunately I am not sure how to reproduce this error. Can you give me some more details if possible about where the program stops? Also, does the same demo work in DHCP mode?

    Regards,

    Chaitanya

  • Hello Chaitanya,

    The code doesn't actually stop. It first displays:

    HERCULES MICROCONTROLLERS
    Texas Instruments
    Little Endian device
    Initializing ethernet (DHCP)
    DEBUG - Getting PHY ID....SUCCESS
    DEBUG - Getting PHY Alive Status...SUCCESS
    DEBUG - Getting PHY Link Status...SUCCESS
    DEBUG - Setting up Link...SUCCESS

    And then enters Infinite Loop repeatedly displaying:

    HERCULES MICROCONTROLLERS
    Texas Instruments
    Little Endian device
    Device IP Address: 192.168.0.2
    Webserver accessible @ http:\\192.168.0.2

    When using DHCP, After DEBUG - Setting up Link...SUCCESS It says Hardware Initialization error.

    Hope to get some suggestions as to where the problem could be.

    Thank you,

    Agraj Jain

  • Hello Chaitanya,

    I see that there is a new version of HalCoGen out. Does this have support for the new APIs? I am still stuck in the same place and would appreciate some input on how I can proceed.

    Thank you,

    Agraj