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.

CCS/TM4C123GH6PM: Working with Pervasive Displays EPD and Extension Board

Part Number: TM4C123GH6PM
Other Parts Discussed in Thread: EK-TM4C123GXL

Tool/software: Code Composer Studio

So, I have a TM4C123GH6PM microcontroller and I am trying to control an Electronic Paper Display (EPD) purchased from Pervasive Displays. The part numbers are E1260CS021-ND for the EPD and B3000MS032-ND for the Extension board. This is my first project using a TI microcontroller, CSS, and an EPD. 

I started with reading the User's Guide and following it step by step. I connected everything, installed all the necessary drivers and libraries, and modified some of the code as it said in the guide. The project can run in one of two different modes: PDI Apps mode or single driver mode. PDI Apps mode uses the software provided by PDI and just uploads a picture to the display. The code for that is provided and it works perfectly for me. The single driver mode is used to control and program a specific EPD (in my case, a 2.6" EPD). In order to run that mode some of the code had to be modified and I believe I did everything correctly. The code chooses between all of the EPD's manufactured by Pervasive Displays and once the EPD's size is chosen, it runs the specific code for it. This is the part I have problems with. The code runs in PDI Apps mode, but does not run in single driver mode. It does not give me any errors, it just does not work. The PDI Apps mode just allows you to use their software and upload a picture, while the single driver mode is supposed to just switch between two images on the EPD. In debug mode, the PDI Apps code runs and stops when it is done, so I can step into any function or insert a breakpoint in order to see how the code works. But in single driver mode, the code starts running and it never stops; it has to be terminated in order to exit debug mode. I do not know if the code actually starts running and just gets stuck in an infinite loop, or if it starts running at all. I have no idea if the issue is in the code or in CSS. 

I know it may sound complicated and vague and I apologize for that, but if anyone who has had any experience with anything like that, or at least knows what I am talking about, can help me I would really appreciate it. I can provide more detailed information, code, screenshots, or anything that will help. 

Thank you in advance!

  • I'm sorry you are having problems. Since the first demo works, it looks like the hardware is working properly and you were able to build and program the first example. I take it you could build and program the second example into the TM4C123, but "it just does not work". When you halt the CPU with CCS, (hit the suspend button), where is the PC? Unfortunately I cannot help with the Pervasive Displays hardware or software as I do not have it, but perhaps I can help you debug what the TM4C123 CPU is doing.
  • Thank you for replying, Bob. The problem is that the "suspend" button is not available to press. The only button I can press is "terminate". I am not that familiar with CSS, so I do not know if it runs the code at all. I have attached a screenshot of the main function in debug mode and the buttons available to hit.

    Thank you.

    Screenshot: drive.google.com/.../view
  • OK, it seems that something bad happened in the software resetting the in-circuit debugger. I downloaded the Pervasive Displays software and built the PDI_Apps configuration with only a little trouble (I had to add some include file paths). Then I built the eTC_G2_... configuration. I had to exclude the file EK-TM4C123GXL\src\HW_drivers\uart_Driver.c to avoid a duplicate definition of the interrupt routine. Then the file built, but had warning messages that it did not have a link command file (creating section xxxx without ..). I suspect that means it put the stack in the wrong place. Then I included (cleared the "exclude from build") the file EK-TM4C123GXL\tm4c123gh6pm_Debug.cmd. The file then linked without the warnings. I could load and run that code properly. Of course I don't have the display so it did not really do anything. If that does not work, you will probably have to contact Pervasive Displays.
  • Thank you, Bob! Including the "tm4c123gh6pm_Debug.cmd" file fixed everything. I do not know why it was initially excluded but I am glad you helped me fix it.

    Thank you very much again! You have been of great help.