Jump to content

Shalin

Members
  • Posts

    54
  • Joined

  • Last visited

Everything posted by Shalin

  1. Thanks Atilla for sharing the latest version. It has resolved most of the things. I will let you know in case I find any bug related to the functionality of SPI.
  2. Hello Attila, I have 2 queries, 1. In SPI Mode. how to write to a address ? For example, I need to write 0001 to address h0012. Please explain. 2. The master window of SPI interface is showing constant read output of 0000 for all read/write address commands. I have attached a screenshot below. Thanks, Shalin
  3. Hello Attila, There is a bug in Waveforms version 3.20.26. While capturing the waveform in Logic window and exporting the complete capture, only SPI MOSI and SPI MISO data is shown in the excel. I am not able to see the detailed data of each SPI channel such as Select, Clock, MOSI, and MISO. Please add the detailed data of each SPI channel to the export excel. I have also attached a screenshot below for your reference. Thanks, Shalin
  4. Hi @attila We are trying to use Digilent digital discovery for JTAG read and write. Currently, in the waveforms tool, there is no option available to write/read, execute the script. I am also attaching a screenshot below for your reference. Thanks, Shalin
  5. Hello Attila, I have added the SWD clear function and reinstalled the Waveform beta which includes the updated SDK. Now, I am getting the correct output in LabView when I read a address. Thank you so much for solving the issue in such a short time span. Shalin
  6. Hello Attila, I was working on SWD read VI function ("FDwfDigitalSwdRead ()") driver in labview. The output data (hAE8091DC) appearing in labview for read ID code does not match with the correct output data (h6BA02477) from the waveforms GUI . However, the pattern obtained from both labview and waveforms GUI appear the same for read ID code. I am attaching both the patterns alongwith the screenshot of labview block diagram/front panel window below. According to me, there is some issue in the data interpretation by the "pRead out" parameter of SWD read function "FDwfDigitalSwdRead ()" of labview. Thanks, Shalin
  7. Hello Attila, Its working now, the error has gone. I re-installled Digilent and then re-imported the header file into the labview by updating the path. Now, the complete list of SWD based VIs are being displayed. Thanks, Shalin
  8. Hello Attila, I was in process of importing the SWD functions in labview. However, error is popping up in the function window against the developed SWD functions. I am attaching a screenshot below. It is asking to check the header file. Thanks, Shalin
  9. Hello Attila, Thank you so much for pointing the issue. I was missing the CTRL/STAT register. Its pulling up completely through Digilent now. I am very happy and satisfied that I can control my project through Digilent Digital discovery completely. It’s all your efforts which has made this possible today. Now, I am looking forward to control Digilent pattern generation through LabView. I will use the latest version of Digilent which provides support for inbuilt SWD functions to control Digilent pattern generation. I will keep you posted about the same. Thanks, Shalin
  10. Hello Attila, I tried just now. By using this I am getting the correct ID code in the protocol window. However some write commands are failing. I am attaching the screenshots of prtotocol and script window below. Also I am attaching the workspace of mine. Also, when I debug each command, in SWD reset sequence I see around 156 bit line reset sequence in logic window whereas I had set 52 bits in protocol window. In addition, I am getting wrong ID code in logic window. Thanks, Shalin spiswd.dwf3work
  11. Hello Attila, Sorry, I had got a bit tied up yesterday. I tried today with 58 bits and also took higher number of bit line reset sequence. However, the target is not responding. The output is still 0. I am trying other ways in case if we are missing some command because when I connect the Segger Ultra+ debug probe, the target responds immediately when I give "connect" command through the J-link commander. In my project, I want to eliminate the use of J-link debugger probe for initial connect and use Digilent throughout. Currently, I need to use Segger for initial connect and then I need to remove Segger and then connect Digilent for subsequent read/write patterns. Thanks, Shalin
  12. Hello Attila, I have captured the initialization process in Digilent and have attached the project file below. The initialization sequence is up till IDCode pattern request. Please see if there is any missing pattern between the first 50 bit line reset sequence and IDcode pattern request which is to be added in the form of javascript commands. In our JS scripts we have only given 50 but line reset sequence and ID code request. In between the two there is some sequence which we have missed in our commands. Thanks, Shalin connection_line_sequence_Digilent.dwf3logic
  13. Hello Attila, Thanks for the prompt reply. Yes, I saw that there is no response from the target. It shows the response once it is connected using the Segger J-link. Once it becomes connected, we remove J-link, and attach Digilent to see further read/write response. Then the Digilent starts showing the response. The Digilent does not show the response initially when I power up. After power up, I need to connect the Segger to establish connection and then I see response in Digilent. Mainly, I wanted to use Digilent completely for setup. This is the reason I thought that Digilent is not able to pull up the target initially. Thanks Shalin
  14. Hello Attila, I have a query. In the protocol and output window tab, I am unable to get the data while I read/write a script. I think the device Digilent digital discovery is unable to pull up. It pulls up when I initially connect using J-link debugger probe and then further read/writes through Digilent. However, in the beginning, when I power up the board and send read/write commands through Digilent, it does not show any data. I am attaching some screenshots below. Thanks, Shalin
  15. Hello Attila, I would like to thank you for putting in so much efforts to make things work and taking out time to work on weekends. Now, the things are working perfectly. In case I face some issue while doing the debug, I will let you know. Thanks again for getting the things done so quickly in a brilliant manner. You were very helpful to us. Shalin
  16. You will just have to add the Wait command support. I think it should be fine then.
  17. Hello Attila, Thank you so much. I have debugged from my end, the wrong value in DRW is due to the lack of wait command which appears between TAR and DRW access. Once we give wait, the correct value appears in DRW register. Thanks, Shalin
  18. Hello Atilla, Thanks for the prompt reply. Meanwhile, I will be very grateful if you can have a look because we are not able to get the right value in DRW register. Is it possible to do something from your end so that we can see the correct value in DRW. Actually, we are stuck in the middle of validating a module. Thanks again for taking out time to correct the things in a short span of time. Shalin
  19. Hello Atilla, I am unable to get the data 00102073 in DRW register. It shows some invalid data after write to TAR. The first five data values of the registers ID code, ABORT, SELECT, CSW, TAR match with the read waveform. However, the value of last register i.e. DRW should be 00102073 which does not match with the read waveform attached below. In the waveform shown below, you can see the value is 00102073 in DRW register whereas in your waveform protocol (shown below) it can be seen that the value is hFFFFFFE0 in DRW register. Please see if there is any issue of wait which can be seen in the read waveform between TAR and DRW register, whereas there is no option to put wait in your developed protocol. read_add_h40086ff8_data_00102073.dwf3logic
  20. In addition to my above statement, when we give wait (0.01); , we get the parity error in DRW. Also tell me what is the syntax for wait/fault ?
  21. Hello, Thanks for providing the solution to our queries. In our read capture, there is a wait present. If we do not give wait, it will result in showing wrong output value at h40086FF8. We need to give wait. Could you please let me know the solution to the same. Thanks, Shalin
  22. Hello Attila, Thanks for releasing the new version with fixes in the debugging of the logic analyzer amd other bugs in the waveform tool. Now, the Digilent LOGIC ANALYZER is debugging the captured sequence correctly. In the SWD protocol part where we can generate the sequence, I have two queries, 1. In reset(), a 50 bit line reset sequence is generated. However, in addition to it there are other sequences which is required to be added in order to enter SWD operation mode. If we do not add the other sequences, we will not receive acknowledgment from the target. The other sequence includes read of ID code register. You can refer page 17, section 7.2.1 of SWD document provided by NXP attached below. 2. I am also attaching the captured logic analyzer waveform for a read command sent from J-link commander tool. I had to use j-link commander tool to send a read command because the Digilent SWD protocol read/write commands created are not functioning correctly and therefore the waveform captured are incorrect. By using Jlink commander, I am sending a read command to read a value at the address h40086ff8. Therefore, at the output, I am able to get the value h00102073 stored at the address h40086ff8. I have also captured the waveform for this read command in Digilent waveform logic and attached the same below. In the waveform, you will see that the address h40086ff8 is written in TAR register and then the data h00102073 is read from the DRW register. I would request you to modify the SWD protocol commands based on the captured read waveform so that the output of logic is same. Thanks, Shalin SWD Programming NXP Doc.pdf read_add_h40086ff8_data_00102073.dwf3logic
  23. Hello Atilla, Thanks for taking the above issues into consideration. Meanwhile, I have a query. In SWD protocol section, under Custom tab, is it possible to customize the waveform generated for the reset() command ?. Actually, in SWD protocol, to initialize SWD operation, a 50 bit line reset sequence followed by 16 bit JTAG to SWD sequence and read the ID code register is required. Therefore, I was interested that if there is an option to modify the waveform for this reset() command and develop waveforms for new developed functions related to read/write memory. This will help in providing flexibility to frequent changes raised by our team and we can implement the same by writing a command for a different wave pattern. I will be very grateful if you can provide us with some support regarding the same. Thanks, Shalin.
  24. There is one more thing to add to my previous post, at some places in captured Digilent LA sequence, you can see that 32 bit data is not being displayed completely. For example, in the case of ABORT register at the end, there are only ACK bits (3 bits) being displayed and the 32 bit data is absent. In addition, you can compare the results with the attached PDF file which shows results captured from different LA.
  25. Hello Atilla, I captured the the waveform against a read command on Digillent logic analyzer (LA) in SWD mode. The Digilent LA is showing incorrect debugging sequence. I have compared the Digilent LA results with another LA and have attached both the digilent project file and sequence captured from another LA (in pdf file). You can match the sequence which appears incorrect in digilent LA. The correct sequence is in pdf file in the order Abort>Select>CSW>TAR>DRW. Please see and let me know. Thanks, Shalin debugging error LA waveform.dwf3logic Saleae read command debugging.pdf
×
×
  • Create New...