上海妇科疾病研究所 上海女性不孕医院 上海引产医院 无痛引产痛不痛 上海人流医院 白癜风治疗医院 上海小儿脑瘫医院 上海女子医院
failed to set aumatic breakpoint at "main"-21262-SHARC-技术中心-国内专业ADI仿真器,Blackfin开发板,DSP芯片,软件算法,解决方案提供商-北京四维卓信电子有限公司
用户名: 密码:
主页 设为首页 加入收藏
      产品中心       技术中心       下载中心        社区新闻        诚聘英才       大学计划        关于我们       技术论坛
  您的当前位置:ADSP开源社区 >> 技术中心 >> SHARC 今天是:
技术中心  
SigmaDSP
SHARC
Blackfin
TigerSAHRC
UCLinux
ADSP-218X
视频培训
ADI DSP仿真器
产品导航
ADI DSP仿真器
SigmaDSP开发板
ADI A2B总线开发板
SHARC DSP开发板
销售网络
SHARC  
failed to set aumatic breakpoint at "main"-21262
[ 作者:OP ] [ 来源:ADSP开源社区 ] [ 发布时间:2015-12-14 ]

问题:

现在用的VisualDSP++ 5.0 的8.0.6.41版本,ADZS-HPUSB-ICE仿真器,21262的板子,成功连接IDE后,编译工程,出现如下错误:

failed to set aumatic breakpoint at "main"

PS:我的VisualDSP++只能自动生成blackfin的LDF文件,不能自动生成其他系列DSP的LDF文件。

请问这个错误如何解决呢?

谢谢!

根据安装自带的ADSP-21262_ASM.LDF修改的ldf文件如下:

ARCHITECTURE(ADSP-21262)

#ifndef __NO_STD_LIB
SEARCH_DIR( $ADI_DSP/212xx/lib )
#endif

#ifdef __LIBIO_LITE
# define LIBIO libio_lite.dlb
# define LIBIOMT libio_litemt.dlb
#else
# define LIBIO libio.dlb
# define LIBIOMT libiomt.dlb
#endif

#ifdef _ADI_THREADS
#ifdef __ADI_LIBEH__
$LIBRARIES = libehmt.dlb, libc26xmt.dlb, LIBIOMT, libdsp26x.dlb;
#else
$LIBRARIES = libc26xmt.dlb, LIBIOMT, libdsp26x.dlb;
#endif
#else
#ifdef __ADI_LIBEH__
$LIBRARIES = libeh.dlb, libc26x.dlb, LIBIO, libdsp26x.dlb;
#else
$LIBRARIES = libc26x.dlb, LIBIO, libdsp26x.dlb;
#endif
#endif

$OBJECTS = $COMMAND_LINE_OBJECTS;

MEMORY
{
   seg_rth  { TYPE(PM RAM) START(0x00080000) END(0x000800ff) WIDTH(48) }
   seg_init { TYPE(PM RAM) START(0x00080100) END(0x000801ff) WIDTH(48) }
   seg_int_code { TYPE(PM RAM) START(0x00080200) END(0x000802cf) WIDTH(48) }
   seg_pmco { TYPE(PM RAM) START(0x000802d0) END(0x000841ff) WIDTH(48) }
   seg_pmda { TYPE(PM RAM) START(0x00086300) END(0x00087fff) WIDTH(32) }

    seg_dmda { TYPE(DM RAM) START(0x000c0000) END(0x000c6dff) WIDTH(32) }    
    seg_heap { TYPE(DM RAM) START(0x000c6e00) END(0x000c6eff) WIDTH(32) }
    seg_stak { TYPE(DM RAM) START(0x000c6f00) END(0x000c6fff) WIDTH(32) }
    seg_dm64 { TYPE(DM RAM) START(0x00063800) END(0x00063fff) WIDTH(64) }
}


PROCESSOR P0
{
    OUTPUT( $COMMAND_LINE_OUTPUT_FILE )

    SECTIONS
    {
        // .text output section
        seg_rth
        {
            INPUT_SECTIONS( $OBJECTS(seg_rth) $LIBRARIES(seg_rth))
        } > seg_rth

        seg_init
        {
            ldf_seginit_space = . ;
            INPUT_SECTIONS( $OBJECTS(seg_init) $LIBRARIES(seg_init))
        } > seg_init

        seg_int_code
        {
            INPUT_SECTIONS( $OBJECTS(seg_int_code) $LIBRARIES(seg_int_code))
        } > seg_int_code

        seg_pmco
        {
            INPUT_SECTIONS( $OBJECTS(seg_pmco) $LIBRARIES(seg_pmco))
        } > seg_pmco

        seg_pmda
        {
            INPUT_SECTIONS( $OBJECTS(seg_pmda) $LIBRARIES(seg_pmda))
        } > seg_pmda


        .bss ZERO_INIT
        {
           INPUT_SECTIONS( $OBJECTS(.bss) $LIBRARIES(.bss))
        } > seg_dmda

        seg_dmda
        {
            INPUT_SECTIONS( $OBJECTS(seg_dmda) $LIBRARIES(seg_dmda))
        } > seg_dmda


        seg_dm64
        {
            INPUT_SECTIONS( $OBJECTS(seg_dm64) $LIBRARIES(seg_dm64))
        } > seg_dm64
        
        stackseg
        {

            // allocate a stack for the application
            ldf_stack_space = .;
            ldf_stack_length = MEMORY_SIZEOF(seg_stak);
        } > seg_stak

        heap
        {
            // allocate a heap for the application
            ldf_heap_space = .;
            ldf_heap_length = MEMORY_SIZEOF(seg_heap);
            ldf_heap_end = ldf_heap_space + ldf_heap_length - 1;      
        } > seg_heap
        
    }
}

请问存在什么问题呢?

答:

你找一个VDSP下的例子,编译看是否能到Main,通常硬件内存出错,或者flash内部的代码将处理器运行到异常状态时,编译代码会出现这个现象。

sharc的LDF文件不是通过工程选项生成的,在VDSP下 tools 菜单Expert Linker -> Create LDF
 
问:

万分感谢您的回复!

我找了ADSP下的21262的不同工程,编译以后还是相同错误。

板子是新的,所有芯片都是全新的,21262用了SPI Slave Boot(00) 模式,flash还没有烧写过,现在只是利用仿真器编译工程阶段。

愁死啦!

答:

如果VDSP自带的例子代码都跑不过,多半和你的板卡有关,还有就是你注意看一下,你板卡的内存芯片和官方EZKIT上的容量和型号是否一致或兼容,如果代码中使用到内存,如果代码的内存初始化和硬件实际内存不匹配,也可能会造成编译后代码不能运行到main。
你再检查一下硬件上一些关键引脚上下拉电阻是否正确,和EZKIT的图对比一下。
 
问:

您好!

我的问题依旧,真是愁死了!

中间间隙做了TI的项目工作,回头重理思路,还是没有解决。

板卡的内存芯片是 ADSP-21262SBBC-150,官方EZKIT上是ADSP-21262SKBC-200,根据DATASHEET,他们之间除了温度和速率,其他方面都是一致的;

和EZKIT的图后,硬件上一些关键引脚上下拉电阻也是正确的。

目前设置CLKIN =ADSP_CLKIN=20MHz , CLK_CFG1:0 = 10 (8:1),连接成功,编译工程依然是

failed to set aumatic breakpoint at "main"!

请问还会存在什么问题呢?万分感谢啦


答:
接口没画错,

通常不能到main,大多和SDRAM出错有关。你再检查一下SDRAM焊接上有没有虚焊或者短路。
你把内核和系统时钟降低点看看,你的处理器是150M的,原厂是200M,不要超频。有时SDRAM的走线也会影响SDRAM速度,速度太快会造成内存数据错误,导致编译代码不能到main。

boot和时钟的4种模式你都通过跳线电阻跳跳试试。
 
问:

 
不知这个“failed to set aumatic breakpoint at "main"”最后是怎么解决的呢?

最近也碰到这样的问题。
编写简单的类似开发板的example操作外设的Project,不会有这个问题,
当编写产品的代码量较大时的Project,就出现了这样的问题,

实在找不到原因,难道要一个函数一个函数逐渐去解决吗?
 

联系我们 | 关于我们 | 免责声明 | 诚征英才 | 友情链接
Copyright 2019 All rights reserved  本网页版权属Open ADSP所有
北京海淀区中关村大街32号新中发市场3659 邮编100100
电话 18611096839 
粤ICP备14035876号-1