Hi All,
I am using BSC9131RDB board and i wanted to know whether following is possible. I am new to this board/platform, so please correct me wherever i am wrong.
1.I understand that once linux boots on PA [Power Arch core]. This can be used to boot dsp using /dsp_bt application.
2. I have 5 applications written and each is made into DSP application binary image [ dsp image 1, dsp image 2, dsp image 3...etc].
3. currently i am writing an automation framework to boot the images one by one..
like
/dsp_bt dspimage1
wait for 10 minutes
/dsp_bt dspimage2
wait for 10 minutes
/dsp_bt dspimage3.
wait for 10 minutes
/dsp_bt dspimage4.
wait for 10 minutes
/dsp_bt dspimage5.
wait for 10 minutes
4. I wanted to know is it possible to use /dsp_bt in that way. In other words, i wanted to reload the DSP core with different images repeatedly from PA core based linux [ Please note PA core is not at all reset during that time, my automation framework will be running on PA core].
Thanks
RC Reddy
Hi Freescale team,
I am awaiting your response/reply. Kindly answer.
Thanks
RC Reddy
Hello RC REDDY,
Please refer to the following Linux-SmartDSP OS boot Procedure.
(1) On Power-on-Reset Phase
PA: Load u-boot, Linux Kernel, Linux Kernel starts booting and partition manager Kernel module which does memory partition for heterogeneous cores communication.
DSP: DSP core executes boot code from internal ROM. After completing the initialization, DSP core sets DSP_READY and polls for PPC_READY.
(2) The phase of Linux booted up
When Linux is booted up, the DSP boot application needs to be executed as “$dsp_bt <dsp image file>”, which triggers the partition manager Kernel module to use shamget to create a hugetlb of 16MB, this is set in the shared control area structure before DSP is booted up.
a. Check if the DSP_READY is set.
b. Parses the DSP binary file and loads into M2/DDR.
c. Set START_ADDRESS as the SmartDSP OS entry point.
DSP: DSP core still polls for PPC_READY from PA.
(3) The phase after Linux settting PPC_READY
PA:
a. Linux sets PPC_READY and start a timer.
b. Waits for HW semaphore 1 to be set to the value 0xfe.
DSP:
a. After PPC_READY is set, SmartDSP OS executes.
b. After SmartDSP OS is up, it set HW semaphore 1 to PA unique value 0xfe.
c. SmartDSP polls for HW semaphore 0 to be cleared by PA Linux.
(4) The phase checking DSP boot
PA: PA checks HW semaphore 1 set correctly, clear the semaphore 0.
DSP:
a. Check HW semaphore 0 to be cleared by Linux.
b. DSP sends a message on Channel 0 to indicate that the DSP IPC is up, and waits for further actions from Linux side.
So I think the way which you mentioned above is impossible to execute DSP OS images one by one on the same DSP core without reset.
Have a great day,
Yiping
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Yiping Wang wrote:
Please refer to the following Linux-SmartDSP OS boot Procedure.
(1) On Power-on-Reset Phase
PA: Load u-boot, Linux Kernel, Linux Kernel starts booting and partition manager Kernel module which does memory partition for heterogeneous cores communication.
DSP: DSP core executes boot code from internal ROM. After completing the initialization, DSP core sets DSP_READY and polls for PPC_READY.
Is there any way to trigger the DSP to re-execute the boot code from the internal ROM and put it back into the DSP_READY / polling state?
Hi,
Thanks for your answers.Its very detailed and i appreciate it.
Thanks
RC Reddy