一种高效嵌入式系统调试方法技术方案

技术编号:8489734 阅读:194 留言:0更新日期:2013-03-28 09:03
本发明专利技术公开了一种高效嵌入式系统调试方法,包括步骤:1、首先编写starter程序,所述starter程序能够对系统硬件进行初始化;2、采用kermit、xmodem或zmodem开发串口协议;3、通过starter程序中对系统硬件进行初始化,如果初始化成功则进行步骤4;如果初始化不成功,则初始化过程可参考开源软件代码uboot的执行过程;4、进行检测。本发明专利技术通过上述方法,可通过starter对bootloader进行加载调试。即使bootloader失败也只需要重新加载Bootloader即可,不需要再烧录starter。

【技术实现步骤摘要】

本专利技术涉及软件开发测试
,更具体地说,特别涉及。
技术介绍
在高速发展的信息化社会,每天都有新技术和新产品被专利技术推出,各种各样的嵌入式设备被部署到各个领域。在研发新产品的过程中,特别是调试bootloader阶段,每调试一个新功能或是解决一个新bug失效时,我们就得重新拆flash,烧录flash,焊接flash ;或许我们有高科技的调试工具如Trace等,但我们必须得面对他们昂贵的价格和被损坏的不确定性等等,为此,找到一个避免经常拆卸flash还可以直接烧录的方法是多么重要,而且还可以降低开发成本。
技术实现思路
本专利技术要解决的技术问题为提供了,该高效嵌入式系统调试方法能够避免出现重新拆flash,烧录flash,焊接flash的情况发生。为解决上述技术问题,本专利技术提供了,包括步骤S1、首先编写starter程序,所述starter程序能够对系统硬件进行初始化;S2、米用 kermit、xmodem 或 zmodem 开发串 口协议;S3、通过starter程序中对系统硬件进行初始化,如果初始化成功则进行S4 ;如果初始化不成功,则初始化过程可参考开源软件代码Uboot的执行过程;S4、进行检测。优选地,在starter程序中增加通过串口升级bootloader的功能,并定义功能键,在系统硬件上电前出发功能键,当starter程序运行时会自动检测功能键是否被触发如果功能键触发,则加载bootloader ;如果功能键没有触发,默认从flash继续执行。优选地,当加载bootloader不成功,贝U需重新调试bootloader,在执行以上相同步骤;当加载bootloader成功,则通过命令将bootloader烧录到flash。优选地,当starter程序运行时,若没检测到功能键触发,如果此时flash中还没有烧录好的bootloader,则starter会默认停留在等待加载bootloader的界面;若此时flash中已经有烧录好的bootloader,则直接从flash启动bootloader。本专利技术的目的是避免经常拆卸flash且可以直接烧录flash以提高调试嵌入式系统的效率并降低开发成本。主要是在bootloader运行之前,执行我们自己编写的starter程序,该程序主要对系统必要的器件(cpu,ddr, serial等)进行初始化,且必须支持串口协议,如kermit/xmodem/zmodem等,并提供串口升级Bootloader的功能。只需要一次烧录好starter后,便可通过starter对bootloader进行加载调试。即使bootloader失败也只需要重新加载Bootloader即可,不需要再烧录starter。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术一种实施例中高效嵌入式系统调试方法的流程图;图2为本专利技术另一种实施例中高效嵌入式系统调试方法的流程框图。具体实施例方式本专利技术的核心为提供,该高效嵌入式系统调试方法能够避免出现重新拆flash,烧录flash,焊接flash的情况发生。为了使本领域的技术人员更好地理解本专利技术的技术方案,下面结合附图和具体实施例对本专利技术作进一步的详细说明。请参考图1和图2,其中,图1为本专利技术一种实施例中高效嵌入式系统调试方法的流程图;图2为本专利技术另一种实施例中高效嵌入式系统调试方法的流程框图。本专利技术提供了,包括步骤S1、首先编写starter程序,所述starter程序能够对系统硬件进行初始化;S2、采用 kermit、xmodem 或 zmodem 开发串 口协议;S3、通过starter程序中对系统硬件进行初始化,如果初始化成功则进行S4 ;如果初始化不成功,则初始化过程可参考开源软件代码Uboot的执行过程;S4、进行检测。具体地,在starter程序中增加通过串口升级bootloader的功能,并定义功能键,在系统硬件上电前出发功能键,当starter程序运行时会自动检测功能键是否被触发如果功能键触发,则加载bootloader ;如果功能键没有触发,默认从flash继续执行。具体地,当加载bootloader不成功,贝U需重新调试bootloader,在执行以上相同步骤;当加载bootloader成功,则通过命令将bootloader烧录到flash。具体地,当starter程序运行时,若没检测到功能键触发,如果此时flash中还没有烧录好的bootloader,则starter会默认停留在等待加载bootloader的界面;若此时flash中已经有烧录好的bootloader,则直接从flash启动bootloader。本专利技术的目的是避免经常拆卸flash且可以直接烧录flash以提高调试嵌入式系统的效率并降低开发成本。主要是在bootloader运行之前,执行我们自己编写的starter程序,该程序主要对系统必要的器件(cpu,ddr, serial等)进行初始化,且必须支持串口协议,如kermit/xmodem/zmodem等,并提供串口升级Bootloader的功能。只需要一次烧录好starter后,便可通过starter对bootloader进行加载调试。即使bootloader失败也只需要重新加载Bootloader即可,不需要再烧录starter。本专利技术解决的技术问题及采用的方案是在一般调试新产品时,首先要调试bootloader,而在调试过程中需要多次反复验证调试,这就不可避免的去多次拆卸flash并烧录,这样不仅浪费时间,而且会经常出现板卡或flash被损坏。当用模拟器调试时,必须得承受它高昂的价格和被损坏的可能。为此提出我的方案首先编写一个最简化的初始化程序starter, bin,在该程序中只对cpu/ddr/serial/clock必要的器件进行初始化,并支持串口协议和加载bootloader的功能。在调试新产品时只要烧录一次starter, bin即可,后续就可以通过starter中的加载bootloader的功能来调试bootloader,避免直接调试bootloader时,拆卸烧录flash,以及用到其他的工具,这样可以提高调试效率,降低开发成本。本专利技术的有益效果就是在starter程序烧录一次后,就不再改动starter。不管硬件外设器件怎么变换,都可以通过starter来加载bootloader去调试硬件,可以避免因为调试错误或硬件外设问题而导致拆卸flash去直接烧录bootloader而浪费的时间,也可以省去购买模拟研发器的花销而降低成本。在本专利技术的一个具体实施方式中,其具体操作包括步骤1.编写系统初始化程序starter, bin,该程序类似通用的bootloader,但比bootloader更精简,主要初始化系统必须的通用的器件cpu/ddr/serial/clock ;对板卡的其他器件都不进行操作;2.在starter中增加对串口协议的支持,并根据本文档来自技高网...

【技术保护点】
一种高效嵌入式系统调试方法,其特征在于,包括:步骤1、首先编写starter程序,所述starter程序能够对系统硬件进行初始化;步骤2、采用kermit、xmodem或zmodem开发串口协议;步骤3、通过starter程序中对系统硬件进行初始化,如果初始化成功则进行步骤4;如果初始化不成功,则初始化过程可参考开源软件代码uboot的执行过程;步骤4、进行检测。

【技术特征摘要】

【专利技术属性】
技术研发人员:张晓成莫越章
申请(专利权)人:太仓市同维电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1