Part Number:AWR6843AOPOther Parts Discussed in Thread:UNIFLASH
The sbl and app program can be run directly,When they burn chips separately。
I want to launch the app program through SBL but it has failed.
Is there any way to troubleshoot problems or known causes?
Nancy Wang:
能否详细描述一下执行步骤?
,
shi guilin:
你好:
我当前有两个可执行的bin文件,分别是sbl.bin和app.bin.
我单独用uniflash烧录sbl.bin时程序可以启动执行。
我单独用uniflash烧录app.bin时程序也可以启动执行。
当我用sbl.bin加载app.bin到flash启动时,加载成功但是程序没有被引导启动。
我是用ccsdebug风别调试的sbl.bin和app.bin。
但是没办法用debug调试sbl.bin是加载app.bin.
因为调试的时候程序被修改重启会出错。
我想知道是否有什么异常点,或者有什么办法定位问题。
以上有什么不明白的再继续沟通。谢谢
石桂林
,
Chris Meng:
你好,
请问你是否使用的是mmwave sdk3.5、3.6里的sbl?这个sbl是可以正常启动app的,例如mmw demo。
shi guilin 说:但是没办法用debug调试sbl.bin是加载app.bin.
可以在sbl里加上一个变量判断循环,先让sbl运行在变量判断循环的地方一直循环,然后连上ccs,load sb的symbol,然后修改变量,让sbl跳出循环,然后你就可以单步sbl了。
Thanks,
Chris
,
shi guilin:
你好:
我使用的是mmwave_sdk_03_01_01_02版本的sdk,
mmwave_sdk_03_06_00_00-LTS这个版本的可以正常启动吗?我后面用这个版本的sbl在尝试一下
,
shi guilin:
你好,
我还有一个问题
在调试sdk中的sbl的时候,需要用串口传输bin文件。
请问sdk中有传输的工具吗?怎么使用?
,
shi guilin:
你好,
我尝试使用mmwave_sdk_03_06_00_00-LTS这个版本启动mmw demo.
还是会失败。
以下是我的错误日志
==========
Debug: Loading application metaImage from Flash address: c0040000Error: Meta header absent!!!
Error: Could not download the metaimage to RAM. Trying to boot the backup factory default image.
Debug: Loading backup factory default image from Flash address: c0180000Error: Meta header absent!!!
Error: Could not download the backup factory default image metaimage to RAM. Resetting the board to retry
==========
我是使用uniflash同时写入sbl和mmw demo的bin文件到flash中。下面是我选择的方式,请帮忙看一下是否有误
,
Chris Meng:
shi guilin 说:在调试sdk中的sbl的时候,需要用串口传输bin文件。
通用的串口工具就可以,例如tera term。
shi guilin 说:我是使用uniflash同时写入sbl和mmw demo的bin文件到flash中。下面是我选择的方式,请帮忙看一下是否有误
在SBL里跳转APP的地址并不是uniflahs里的image2的地址。解决方法1.使用sbl更新app,2修改sbl的app跳转地址,重新编译sbl
sbl.h
#define SBL_METAIMAGE_OFFSET (256U * 1024U)
https://www.ti.com/lit/an/swra627/swra627.pdf
Thanks,
Chris
,
shi guilin:
你好,
我的问题已经解决。
原因是在旧版sdk(mmwave_sdk_03_01_01_02)中,6843的sbl启动程序有bug。在新版的sdk中已经修复。
关键代码是:
/* ungate clock */
SOC_ungateClock(gSblMCB.socHandle, SOC_MODULE_BSS, &errCode);/* Enable the regions */
SBL_mpuConfigBSS(true);
在image解析时,解析到BSS的内容会使能BSS,但是旧版sdk中没有调用SOC_ungateClock.使能失败,后面进行程序复制时导致程序崩溃。==========
分享一下我在处理这个任务时的一些难以理解的操作。我初次调试代码时,芯片烧录的时demo文件,然后用ccs调试sbl程序(有问题的)时,程序能够正常启动加载并解析image文件。
但是当我直接将sbl.bin文件烧录到芯片中,程序不能启动。在我解决问题后发现。demo程序已经将bss启动,所以不会出现问题