Part Number: TMS320C6678
We are using all 8 cores of c6678 DSP with the same firmware apart from the first core which isthe master for the packet accelerator.we are using system bios.
when a core is Initializing after a local reset the function Qmss_queuePop returns NULL.
Do we need to reset the qmss and how?
All other core should not be affected by that reset since they are using also the qmss.
when the reset vector of local reset is set to _c_int00, Qmss_queuePop will function well and not return NULL. But when we set _c_int00 as the reset vector then all other cores are affected by the local reset.
what happens between c_int00 and main that causes the qmss to function like that?
Sorry.. I am not following what you are trying to do...
I am guessing, everything is working okay after you power cycle and start all 8 cores, with master core downloading the firmware and start the QMSS.
Something bad happens in the system during the middle, and you wanted to reset only the master core? Please let me know the details.
Please note that there are many internal static global variables in the QMSS low level driver that needs to be correctly initialized.
Also, only master core downloads the firmware to pdsps and other cores wait for master to complete.
We are glad that we were able to resolve this issue, and will now proceed to close this thread.
If you have further questions related to this thread, you may click "Ask a related question" below. The newly created question will be automatically linked to this question.
In reply to Aravind Batni:
HiThank you for your reply
We are trying to develop algorithm that one core will reset other cores
For now the core that will be reset will not be the master,.
The core that will reset, will use the QMSS and restart running.
For example the system is functioning for all 8 cores and we would like to resart one of the cores 2 to 8.
So core 3 will do a local reset to 2 without affecting the functionality other then core 2.
If the local reset vector is set to c_int00 then all core will not be able to use the EMAC by the PA.
If the reset vector for the local reset is set to main then the local reset will not damaged the functionality of QMSS
In all other cores.
But when using main as local reset vector then all the QMSS initialization is not functioning.
The question is how can we set the local reset vector for one of the cores and not damage the QMSS
For all other cores
Best RegardsDoron Gabbay
It is also good to explain the code flow details, is it very similar to the PA_multicoreExample_evmc6678_C66BiosExampleProject? As you tried to recover/restart the EMAC by CPU local reset (not a power cycle), do you have info what caused the program failure before?
In reply to lding:
I am sorry that I am unable to explain my self well.
we have 8 cores running, we would like to have algorithm that in case one of the cores(not the maser)
crush/fail for unknown reason. any other core will reset that core using local reset.
without affecting all other cores.
The reset core will resume functionality using QMSS and will be able to communicate with the host using the EMAC.
Please let me now what i did not explain well.
Best RegardDoron Gabbay
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.