为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 展讯平台软件调试介绍图文

展讯平台软件调试介绍图文

2022-08-27 3页 doc 182KB 73阅读

用户头像 个人认证

is_800902

暂无简介

举报
展讯平台软件调试介绍图文展讯平台软件调试介绍Spreadtrum7/21/2009培训目的能够使用展讯供应的调试工具对开发中的问题进行调试能够剖析几种常有ASSERT主要内容展讯调试工具简介调试方法展讯调试工具简介主要的调试工拥有:?Dloader?NVEditor?ChannelServer?Logel?PhoneTester?DSPLogDloader(1功能:下载程序设置界面:双击能够选择下载文件路径选择端口选择项目选择下载速率制作打包文件选择可否下载NandFlash下载配置:大小页选择分区策略选择分区策略向来分区出现不兼容分区时停止下载出现...
展讯平台软件调试介绍图文
展讯平台软件调试介绍Spreadtrum7/21/2009目的能够使用展讯供应的调试工具对开发中的问题进行调试能够剖析几种常有ASSERT主要内容展讯调试工具简介调试方法展讯调试工具简介主要的调试工拥有:?Dloader?NVEditor?ChannelServer?Logel?PhoneTester?DSPLogDloader(1功能:下载程序设置界面:双击能够选择下载文件路径选择端口选择项目选择下载速率制作打包文件选择可否下载NandFlash下载配置:大小页选择分区策略选择分区策略向来分区出现不兼容分区时停止下载出现不兼容分区,使用Flash中原有分区进行下载出现不兼容分区,使用FDL中的分区方式进行分区注:此配置项只对NANDFLASH有效备份信息配置:将NV保留到当地选择需要保留的信息正在下载:下载成功:下载失败:Dloader(4打包文件特别说明:展讯升级工具中使用打包文件来进行升级操作,打包文件中不但包括了全部的下载文件,还包括了下载项目的地址信息,这样可以降低产线升级工具配置出错的可能性,同时简化了操作。打包文件的制作方法:DloadeR在配置好全部的配置项后,点击左图中的按钮,尔后依照提示即可达成打包文件的制作。点击这个按钮进行打包操作展讯调试工具简介?Downloader?NVEditor?ChannelServer?Logel?PhoneTester?DSPLog功能:?对fixedNV参数进行读取,编写,保留,下载?擦除NV?从手机中读出NVItem改正某项数据:选择菜单[File\saveimage]保留并生成二进制数据文件:选择菜单[File\Savetophone]直接下载得手机中——手机需要在下载模式若是需要保留校准参数需要选择上获得手机NV数据:选择菜单[File\LoadFromPhone(bootmode]来获得数据在下载模式下从保留地区处获得下载的nvitem数据。某些nvitem可能会被改正并被储藏到数据区,若是需要获得这些最新的数据,则用LoadFromPhone(normalmode。此时手机应在正常开机状态,并且没有进入deepsleep。读Flash:选择菜单[Facility\ReadFlash](NANDFlash选择ReadNANDFlash。手机需要在下载模式。该地址为下载模式下flash的地址空间,地址必然若是有效地址。擦除某地区的Flash:选择菜单[Facility\EraseFlash](NandFlash选择EraseNandFlash。手机需要在下载模式展讯调试工具简介?Downloader?NVEditor?ChannelServer?Logel?PhoneTester?DSPLog功能:管理其他工具与手机通讯。它经过Socket与其他工具通讯,经过串口与手机连结。信息储藏转发信息字节次序变换信息记录运行ChannelServer.exe:变绿代成功连结串口或虚假串口端口号波特率设置由于展讯平台使用大端,这里要勾上单击右下角托盘中的ChannelServer小图标,在弹出的对话框中的进行配置(成功后,小图标变绿色展讯调试工具简介?Downloader?NVEditor?ChannelServer?Logel?PhoneTester?DSPLogLogel(1功能:实时诊疗和监控手机运行情况,解决、剖析问题?Trace功能,Layer3的空中信息,应用窗口的信息流手机出错时的信息的收集、记录回放功能信息包的剖析线程间的信息利用SCI_TRACE_XXX打印的字符串先将手机与ChannelSever连结上,翻开Logel,连结ChannelServerLogel(2展讯调试工具简介?Downloader?NVEditor?ChannelServer?Logel?PhoneTester?DSPLog功能:读写内存/存放器值?RF校准?Audio设置注意:使用PhoneTester时,若是手机进入DeepSleep,操作会失败;有的平台中,使用的是MobileTester,功能与使用方法都同PhoneTester近似。点击使之与channelserver相连存放器/内存地址需读取的大小若是存放器的读取,mode应设为D展讯调试工具简介?Downloader?NVEditor?ChannelServer?Logel?PhoneTester?DSPLog功能:抓取DSPLog使用从前,需要在NV中将DSPLog翻开:DownloadParam/log_switch_struct设置为0x1选择菜单[Action\Setting],设置串口参数,以及LOG文件保留路径?单击工具栏图标连结?单击图标开始抓取LOG?详尽使用方法,请参照相应工具的使用手册主要内容展讯调试工具简介调试方法调试方法?LOG剖析断言(ASSERT信息经过PhoneTester实时查察存放器、内存信息LOG(1利用平台供应的LOG接口,能够将字符串通过Logel工具在PC上打印出来,使得开发人员能够追踪程序的运行,接口是SCI_TRACE_LOW使用LOG的注意事项:?尽量防备在会频频调用的函数也许循环中调用SCI_TRACE_LOW,会影响程序的效率某些栈空间很小的线程中,调用SCI_TRACE_LOW会致使货仓溢出,要特别注意,一般若是栈空间小于1KBytes就不能够调用了?中止办理中不能够调用SCI_TRACE_LOW需要特别说明的是log工具需要和软件版本配套。调试方法?LOG剖析断言(ASSERT信息经过PhoneTester实时查察存放器、内存信息在开发的过程中,合理的利用ASSERT检查程序的合法性是特别必要的。比方,我们一般会在函数入口利用ASSERT检查参数合法性。这是发生assert时弹出的assert提示窗口。遇到ASSERT时需要保留的信息:?Assert产生时连着Logel工具:Assert时Logel会自动弹出AssertFrame,并显示提示信息,ChannelServer显示红色;②选择[Logel\Assert\OpenMapFile]翻开相应的Map文件;③依照提示信息,依次输入1-8保留相应的信息;④封闭AssertFrame,信息会保留在\\Logel\Bin\History目录下的文件中,文件名中包括时间信息。?Assert产生时未连着Logel工具:①经过串口连结线将手机和PC相连,运行ChannelServer、Logel,并进行必要的设置;②点击[Logel\Assert\OpenAssertFrame],在弹出的Frame中频频输入字符‘0直’,至Frame中显示提示信息、ChannelServer显示红色;③依照上面的②、③、④步操作。ASSERTFrame框选项:Printhelpinfo②Printassertinfo,包括Assert时的软硬件版本信息,产生Assert的地址(文件名,行号,目前线程(或中止服务程序的信息Printimportantregisters,包括SVC,IRQ,ABORT,UNDEFINED模式下的R13,R14,SPSR,以及目前模式下的全部存放器④Dumpallmemorytoafile,内容包括ExternalRam,InternalRam,SharedMemory,ARMRegisters。Dump达成此后会保留为*.mem文件。Printmemoryallocatedinfo,列出经过动向分派、到目前还没有被释放的内存信息。包括分派的序列号(No.,长度(Size,分派的地址(FileName(LinePrintmemorypoolsinfo,列出各个内存池的使用信息Printtasksinfo,列出各个线程的ID,控制块地址,目前运行地址,信息行列的使用情况⑧Printstackinfo,列出各个线程的货仓使用情况⑨Printcallbackfunctionlist,列出全部线程的函数调用情况⑩Readmemory,实时的读取输入地址的内存内容剖析ASSERT需要的其他信息:相应的软、硬件版本产生断言条件(在什么环境下、怎样操作的说明必定有相应的文件:*.bin,*.axf,*.map,*.mem?Log信息也是需要的。相对应的全部log文件Mem文件的使用:配合map文件能够对各个全局变量进行剖析结合*.axf文件,载入ADS的AXD中进行剖析经过TaskSwitch,能够查察Assert从前的一段时间内系统运行的情况,对剖析有些任务长时间得不到运行的问题很有帮助分别介绍几类常有ASSERT的debug方法:?一般ASSERT?QueueFull?StackOverflow?NoMemory?其他一些ASSERT一般ASSERT:指开发人员在程序中加的ASSERT。该类ASSERT最简单剖析,经过1:Printassertinfo,查察ASSERT产生的行号,经过8:Printcallbackfunctionlist,查察程序调用流程,再利用LOG信息,很简单判断出错误根源QueueFullASSERT:第一步,查察6:Printtasksinfo,找出QueueFull的线程表面原因是线程的信息行列已满,内部原因大概有:?线程内部有死循环,致使线程无法办理信息经过LOG信息结合代码,推断出在运行哪段程序,检查相应代码可否存在死循环的可能?被其他线程抢占,或存在死锁,致使线程长时间得不到运行能够经过mem和TaskSwitch工具查察ASSERT前一段时间内的TASK以及中止的运行情况,判断出被抢占的原因,比方是由于优先级设置不合理造成,仍是无法获得资源等等?线程信息行列大小设置过小增大Queue即可
/
本文档为【展讯平台软件调试介绍图文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索