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.
Part Number: CCSTUDIO-SITARA
Hi.
I used syscfg to add DDR to my existing project configuration. After rebuilding, I found that I was not completing the project generated initialization. It appears that I hit an error in Sciclient_init() at the last line, the call to CSL_getProxyGetMaxMsgSize(), and end up at HwiP_data_abort_handler().
It appears that gSciClientSecProxyCfg is empty at this point. Is this supposed to be initialized at some point? If not, what else could lead to this problem and how can I approach correcting it? Thanks.
Lee Thalblum
Hi,
Did you load the DMSC firmware as mentioned in section Getting Started -> EVM Setup -> AM64X EVM -> Additional Details -> SOC Initialization ->SOC Initialization Using CCS scripting of the the MCU+ SDK manual available at dev.ti.com/.../node.
Regards
Hi,
Yes, I run
loadJSFile "C:/ti/mcu_plus_sdk_{soc}_{sdk version}/tools/ccs_load/am64x/load_dmsc.js" and
"AM64_DDR_Initialization_ECC_Disabled" before each debug run.
Regards,
Lee
Hi,
In my opinion the issue is not with the gSciClientSecProxyCfg structure. Sysconfig does not generate this structure. To confirm you can add the gSciClientSecProxyCfg to watch window and validate its content.
The gSciClientSecProxyCfg is declared as extern in sciclient.c and is defined in <mcu_plus_sdk_install>\source\drivers\sciclient\soc\am64x_am243x\sciclient_soc_priv.c.
I am not able to reproduce the issue at my end.
Can you assist me with your project, SDK version and steps to reproduce the issue.
Regards
Hi,
I'm currently using mcu_plus_sdk_am64x_08_01_00_36. Before starting debug I run the two scripts mentioned above. Currently I always end up at HwiP_data_abort_handler().
How can I send you the project file? I don't see a way to attach a file.
Regards,
Lee
Hi,
You can attach your project using Insert->Image/video/file -> Upload.
Regards
Hi,
After debugging your code I observe that the issue is caused by the MPU configuration. I deleted MPU region 6 from your sysconfig and rebuild the project, now I am able to pass system init.
The issue is that the MPU region 6 overlaps with MPU region 0 causing uintended caching.
Let me know if that resolves your issue.
Regards
Hi Rajat,
I deleted MPU region 6 from sysconfig. I now get the message "Register SP not found. (C:\ti\mcu_plus_sdk_am64x_08_01_00_36\tools\ccs_load\am64x_am243x\load_dmsc.js#194)" after running the "load_dmsc.js"" script.
I also notice that MPU region 7 has the same configuration as region 6. Does that need to be removed as well?
I also crash with the following messages:
abort() at C:/TI\mcu_plus_sdk_am64x_08_01_00_36\tools\ccs_load\am64x_am243x\sciclient_set_boardcfg.release.out:{3} 0x70093890{
exit + 0x48 () at C:/TI\mcu_plus_sdk_am64x_08_01_00_36\tools\ccs_load\am64x_am243x\sciclient_set_boardcfg.release.out:{3} 0x70091808{4}"
Regards,
Lee
Hi Lee,
Are you still referring to the FDIC project you have attached in the previous conversation. As I only see MPU_REGION 0-6 configured.
May be there is a miscommunication so just to clarify when I speak for MPU region x the index for x starts from 0.
So you need to delete MPU_REGION_6 that has the following attributes:-
Region Start Address (hex) |
0x0
|
Region Size (bytes) |
4GB
|
Access Permissions |
Supervisor RD+WR, User RD+WR
|
Region Attributes | Cached |
I deleted MPU region 6 from sysconfig. I now get the message "Register SP not found. (C:\ti\mcu_plus_sdk_am64x_08_01_00_36\tools\ccs_load\am64x_am243x\load_dmsc.js#194)" after running the "load_dmsc.js"" script.
I did not face any such issue. Anyways to make your life easy you can use steps under Getting Started -> EVM Setup -> Flash SOC Binary Initialization
The default_sbl_null.cfg that will get programmed as part of the setup steps will load dmsc firmware and perform DDR initialization automatically while booting. So you donot have to perform these steps manually by running ccs script.
Hope that helps
Hi Rajat,
Yes, the FDIC project I sent you had 7 MPU regions. Region 7 has the same attributes as region 6 has. I had to scroll down in the list of regions to find it.
Do I not have to run both the load dmsc script or the DDR initialization scripts at startup? Just start debugging the application?
Regards
Hi,
Once you program the default_sbl_null.cfg and set boot mode to OSPI then you donot need to do any dmsc load or ddr init the sbl will do it.
Yes, the FDIC project I sent you had 7 MPU regions. Region 7 has the same attributes as region 6 has. I had to scroll down in the list of regions to find it.
I looked at the project again and i can see only MPU region 0-6 configured as shown in image below
Regards
Hi Rajat,
I programmed the new .cfg file and set the boot mode to OSPI. I also deleted CONFIG_MPU_REGION7. Now when I run I get stuck in LPDDR4_PollCtlIrq(). I ran several tests and always get the same result.
Regards
Hi,
Can you comment out DDR_init() in ti_drivers_config.c or take it out from sysconfig as sbl is initializing and setting up DDR.
Let me know if this resolves the issue.
Regards
Hi Rajat,
I removed the DDR setting from sysconfig and I seem to be running normally again. Thanks for all your help. One last (I hope) question: Which CONFIG_MPU_REGION is the DDR memory?
Hi Lee,
I removed the DDR setting from sysconfig and I seem to be running normally again.
Glad to know that all the issues are now resolved.
One last (I hope) question: Which CONFIG_MPU_REGION is the DDR memory?
Looking at your project it is MPU_REGION_5 that starts at address 0x80000000 with size 2GB.
Let me know if this ticket can be closed.
Regards
Thanks Rajat, for all your help. Yes, you can close the ticket. Have a great day.
Regards,
Lee