c55x Port - eZDSP C5535 Port

westmorelandeng wrote on Friday, September 07, 2018:

Hello All,

I would like to post a port for the TI c55x family - I’ve tried to put it here:
Some details:
The workspace you want to grab is here:


Within that is dir->test - that is the project you want to run.

Note, since this is a 7zip file - you may have to fix some paths. I have this running on the eZDSP 5535 USB Stick and my dev drive for this is f:.

The debugger could croak a little if you break and it is in a lib routine - but hit continue and it should hit the next breakpoint - I think that could be another artifact of the DBSTAT issue.

The file also contains instructions on how to build a bootable SD image.

I started work on this awhile ago - CCS 7.4.0 is the current build tool for the archive plus the port is using v.6.0.5. I have it running on the 'C5545 Booster Pack board and will release that a little later.

For both boards - the demo blinks as many LEDs as possible and a few messages get written to the OLED screen.

John Westmoreland

rtel wrote on Friday, September 07, 2018:

Hi John - thanks for this - I’ve just approved the post so it should be
visible now (unlike this forum the interactive forum has suffered a lot
of spam so posts don’t show automatically). The other issue with the
forum is that the hosts now prevent attachments so we are looking for an
alternative - so for now links to code are best.

westmorelandeng wrote on Friday, September 07, 2018:


Sure - no problem. I’ve actually had this port running for awhile - and it’s gone through a small peer review already - but I suppose the actual peer review starts now; and any issues with the assembly - well - I’ll take it on the chin. Ha!

Anyway - I put it up on github - I wish there was a way to do this on Code Commit - but oh well. Here’s the link:


Hope that works for everyone - if it doesn’t - then going to github and searching for eZdsp c55X should land you in the right spot.

I’ll update the post also on the contributor’s page. Hope you’re liking Seattle.

John Westmoreland

westmorelandeng wrote on Sunday, September 09, 2018:

Hello Again Everyone,

I’ve posted a new dir in the repository:
It has the kernel updated to v10.1.1 which was just released.
I’ve also updated to the latest TI IDE - CCS v8.1.0 - and the workspace that’s in the commit is for this version of CCS (ccsw2). Note, due to TI deprecating support for the 'c55x modules and boards - the IDE won’t load everying quite automatically; and, when you make an SD image, you have to make sure and use the x-standalone.x files - there’s a dir for those you’ll find. I’ve also posted an SD bootimage that will boot both the ezDSP 'c5535 and the 'c5545 BP boards. So that can be used as a diagnostic if needed.
When you get things running in the debugger - depending on how much you may have to change directories, etc. - you may have to set up a new debug workspace - but you can still use the EZDSP5535.ccxml and ezdsp5535.gel files but you may have to set up loading the test.out file, etc. manually. Hopefully the workspace loads OK.
And here’s another interesting part - tasks.c - I decided to rename that tasks_sysStk.c - and, the port sortof breaks the current porting convention; but that assumes there really is one and since this is a new target so-to-speak; and it has two stacks, one ‘regular’ stack and a system stack; it was necessary to add the secondary system stack to tasks.c (tasks_sysStk.c). The addition is fairly straight forward; and does use a litte unnecessary memory; but the port runs. So, just blindly adding new kernel files and not making the necessary updates to tasks_sysStk.c and/or just taking tasks.c and not doing the necessary work for the system stack will result in the port not running.
So, officially though - this is for Richard:
I humbly submit tasks_sysStk.c as an addition to the kernel files that enables the use of the system stack on the Texas Instruments 'c55x Low Power DSP architecture. I know we’ve talked about this in the past - but here it is, finally.
I also do not claim this is the ONLY way to do this; it’s A way, and it works; and debugging that isn’t fast or easy. I think we’ve all experienced how a debugger can completely lose it’s mind with the stack is blown - imagine now when two stacks are blown.
OK - have fun with this, and good luck everyone!
John Westmoreland

westmorelandeng wrote on Thursday, September 13, 2018:

To All:

My original commits had some demo code in it based on PLL timing set via the debugger vs. the timing of the vTickISR; I will fix that and post. I’m having to make a few updates to the demo code.

And I’m making it a little easier to get debugging going in the lastest TI IDE (v8.1.x now).

John Westmoreland

westmorelandeng wrote on Saturday, September 15, 2018:

To All:

The latest demo code is posted in the repository on github - the workspace you want to grab is here:
I’ve also posted an image that will boot the eZdsp 'c5535 running the demo:
I’ve also posted a version that uses the on-board 12MHz oscillator vs. the PLL - and that’s posted as well. All commits have notes regarding the commit.
Best Regards,
John W.

westmorelandeng wrote on Wednesday, September 26, 2018:

To All:

The README.md has been updated:
Addendum: (9/25/18 - jcw) Before you go embarking on debugging this build (these builds now) - please be aware of the following document: http://www.ti.com/lit/ug/spru652g/spru652g.pdf Apparently CPU_119 hasn’t been fixed. It’s virtually impossible to tell if you have a stack issue and/or a DBSTAT issue right now. I’ve asked TI for the definition of DBSTAT more than once; just so I can check to see if valid values are on the stack. DBSTAT is basically in the ‘middle’ of sysstack; so there’s really no good way to deal with it. Wanted to mention this since I imagine some will wonder why I’ve taken the approach I have taken. Note CPU_119 isn’t the only item that’s a possible issue still in the SPRU652 document.

John W.

westmorelandeng wrote on Monday, October 08, 2018:

Hello Again Everyone,

In case some could be interested; I’ve posted a workspace that runs the c55x simulator using the 5.5.x CCS IDE toolchain here:
The workspace you want to grab is here:
I’ve done some quick comparisons with the simulator (functional) and the hardware; the simulator is pretty good; definitely easier to work on the project since CPU_119 makes debugging pretty difficult on just the hardware target.

John W.