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.

AM6548: AM6548 C/C++ development platform without need to use bootable RTOS image.

Part Number: AM6548

Hi There,

I would like to develop in C/C++ with Code Composer Studio my project without using any RTOS and bootable image for the AM6548 processor.

I have seen some information on TI website about TI  Platform Development Kit (PDK) for AM65xx family.

    1. Could I use such PDK for my development?

    2. If yes then how to go about access and installation of this PDK on my computer?

    3. If the PDK is not good as development platform for my C/C++ project then what is/are other options I could try?

Kind regards

Janusz.

  • Hello Janusz,

    Just to confirm:

    1) Which cores are you trying to program here?

    2) What operating system are you using on the cores?

    e.g., when you say "C/C++ project", are you talking about bare metal code running on an R5F core? Are you talking about a Linux userspace program running on the A53 cores? etc.

    Regards,

    Nick

  • The "C/C++ project" should be like a bare metal code running on an R5F core.

    Linux operating system will be running on the A53 cores.

     

    In general I would like to develop and run some C/C++ code on the R5F core.

    Rest of automation application to be developed in C/C++ and run on Linux on the A53 core.

  • Hello Janusz,

    AM65x SDKs

    We provide 2 different software development kits for AM65x R5F: MCU+ SDK, and RTOS SDK (which has PDK within it). You can find both of them on the AM65x SDK page here: https://www.ti.com/tool/PROCESSOR-SDK-AM65X 

    PROCESSOR-SDK-RTOS-AM65X (with PDK) is no longer supported on the forums - so you can use it if you want, but if you have any questions we will not be able to help you. The latest release for RTOS SDK was in December 2023, but that release was mostly just to fix some bugs for customers who are already using older RTOS SDKs in their products.

    MCU-PLUS-SDK-AM65X is currently supported on the forums. In addition to FreeRTOS, this SDK supports bare metal code.

    Is AM65x the right fit for your design? 

    AM65x is the right fit for some designs, but I have also talked with several customers who were planning to use AM65x, and then found that we had processors that cost less, and still fit their design needs (like AM64x). Have you also looked at other, cheaper options for your design?

    Regards,

    Nick

  • Hello Nick,

    Thank you for your feedback.

    I downloaded the MCU-PLUS-SDK-AM65X and now I am getting familar with bare metal code project.

    I am using XDS200 USB debugger and I tried to download the code to MCU processor and run on it but loading of the code failed.

    I verified from CCS that the debugger sees the target. so I guess more settings in the project needs to be set properly to get loading of a code working correctly.

    Would you have an another example of a project with a code which I could use as a template how to load and debugg code with XDS200 debugger?

    In regards to selection of the AM65x, we have a need to control display from our application so that is why the AM65x was selected, thank you for your suggestion.

    Kind regards

    Janusz

  • Hello Janusz,

    Getting Started with AM65x development 

    I assume you are using a TI EVM? Getting started steps with the EVM are here:
    https://software-dl.ti.com/mcu-plus-sdk/esd/AM65X/09_01_00_04/docs/api_guide_am65x/IDK_SETUP_PAGE.html

    You do not need a separate XDS200 debugger, since there is already an XDS110 debugger that is on the AM65x EVM. Details at https://software-dl.ti.com/mcu-plus-sdk/esd/AM65X/09_01_00_04/docs/api_guide_am65x/CCS_SETUP_PAGE.html#CCS_NEW_TARGET_CONFIG

    Please note that the featureset of the AM65x MCU+ SDK is a lot smaller than the featureset of MCU+ SDK on other devices, so there are not a lot of supported peripherals:
    https://software-dl.ti.com/mcu-plus-sdk/esd/AM65X/09_01_00_04/docs/api_guide_am65x/RELEASE_NOTES_09_01_00_PAGE.html

    Help me understand your design needs 

    Ok, so you want Linux controlling an external display. Are there any other Linux-side needs?

    What kinds of things do you want the R5F core (or cores) to be doing? Do you have an idea of how many baremetal cores that you need?

    Regards,

    Nick

  • Hello Nick,

    Thank you for your reply.

    I am about to start my development with Phytec KPCM-067 phyCORE®-AM65x Development Kit to get myself familiar with this technology (processor and tools).

    But soon I will migrate my development to use our own carrier board with the Phytec TI Sitara AM6548 CPU board.

    That is why I got the XDS200 debugger for my development.

    The Linux-side apart of controlling external display will also maintain network communication via Industrial Ethernet interfaces (TCP/IP, UDP EtherNet/IP protocols) and handle file system.

    One R5F core is going to run application with automation for industrial machine and handle CAN, SPI and UART communication with external modules and sensors.

    So I need to start first with one baremetal R5F core.

    After succsessful development of code for the first R5F core my next step will be to use the second core R5F to run a supervisory code for the machine application software which runs on the first R5F core.

    I am not sure yet how to go about it but I read that the AM654x has a lock-step functionality for the R5F cores.

    I do know what it takes in a code to implement such lock-step functionality.

    At this stage there is no requirement in my project to have such functionality but it would be good to know more about the lock-step feature for future implementation.

    I think later on for some other projects there will be a requirement to improve safety level of machine automation execution so I will need to use the second R5F core for such purpose I guess.

    Kind Regards

    Janusz

  • Hello Janusz,

    Thank you for the detailed design description & needs! I am going to send your thread over to another team member to discuss if AM65x seems like a good fit for your design, or if they would suggest evaluating a different processor. Feel free to ping the thread if they haven't replied within a couple of business days.

    Regards,

    Nick

  • Hi Janusz,

    Nick forwarded me your E2E thread.  I realize that the AM65x has some unique features that make it attractive, but from a cost and support perspective the AM62x, AM64x, and AM67x are the more preferred families for new designs. Would you be open to considering one of these devices for your design assuming you are not too far along in the deign process?

    I would be happy to help narrow down the section based on your requirements.  If you could let me know the major functions you are looking for in a processor, I'll do a bit of study and see if I can come up with an alternative device for your design. 

    Best regards,

    Mike

    PS - If you want to send me the requirements vs posting them in the forum, my email addres is: m-firth@ti.com

  • Hi Mike,

    Thank you for your reply.

    I got my AM65x EVM IDK and I am trying to run baremetal template app which is available in demos processor_sdk_rtos_am65xx_08_00_00_12 directory.

    I followed up with step by step instructions from document Processor SDK RTOS AM65XX 08_00_00 as in point 7.1 Template Application Workshop.

    The CCS debug session shows that Cortex_R5_0 is running, board configuration was done successfully, program was loaded, refer to screen shoot below.

    But the application program seems to be not running because there are no strings printed on UART port as per point 7.1.4.4.4 Running the Application, the user LED17 is not blinking as it should be and in the Disassembly window I can see that there are faults Target failed to read 0x00000010 [code=0x1].

    Would you be able to point out where I may have problem with running that demo application and how I can fix it.

    Kind regards

    Janusz

      

  • Hello Janusz,

    Apologies for the delayed response.

    Running the SDK RTOS demo

    As per my previous response, we are unable to answer questions about the AM65x RTOS SDK on the forums: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1355492/am6548-am6548-c-c-development-platform-without-need-to-use-bootable-rtos-image/5173580#5173580 

    You may be able to get software support from a third party.

    Any guidance on running Lock-step code? 

    From the Linux side, if the Linux remoteproc driver is the one initializing the R5F subsystem, then information about initializing the subsystem in LockStep mode is in the Linux kernel, Documentation/devicetree/bindings/remoteproc/ti,k3-r5f-rproc.yaml

    From the R5F code side, I am not sure what the code would look like to take advantage of lock-step mode (i.e., the same code is running on both cores, the system detects that there is a bit difference in the code running on both sides - what happens next?). I am reassigning your thread to another team member to see if we have a reference for that code anywhere.

    What about display? 

    I assume this would be driven by Linux. The subject owner is on vacation for the next week, but if you create a separate e2e thread we can assign that thread to him when he returns to work.

    Regards,

    Nick

  • I believe this issue is closed - please let me know if you need any additional assistance.