搜索
bottom↓
回复: 8

用KL05-SC文件夹下的自动生成工程工具的问题

[复制链接]

出0入0汤圆

发表于 2013-11-21 12:16:55 | 显示全部楼层 |阅读模式
我用它提供的工具,生成了很多文件,单片机是mkl05z32vfm4,打开生成的文件夹,将我的程序写了进去,配置中选择了单片机用j-link下载,进去,进行在线仿真,但是我发现在线仿真的这个指针在crt0.s文档下移动,并且是
/*
* File:        crt0.s
* Purpose:        Lowest level routines for Kinetis.
*
* Notes:       
*
*/


;         AREA   Crt0, CODE, READONLY      ; name this block of code
  SECTION .noinit : CODE

        EXPORT  __startup
__startup
    LDR     r0,=0                   ; Initialize the GPRs
        LDR     r1,=0
        LDR     r2,=0
        LDR     r3,=0
        LDR     r4,=0
        LDR     r5,=0
        LDR     r6,=0
        LDR     r7,=0

        CPSIE   i                       ; Unmask interrupts
        import start
        BL      start               ; call the C code
__done
        B       __done

        END
这个内容,当把所有的drive文件,和其他的文件都从工程中删除了后,就是做的一个led灯闪烁的程序,发现没问题,我想问问这是个什么问题。是在设置中需要改什么吗?
还有个问题是在配置中的Debugger中setup相的Run to main勾上后发生这个问题在各个文件中乱走,就是不执行main的函数,问题是我在main中并没有调用其他的函数,是我下进去的东西的路径错了,还是没有生成正确的文件来更新原来的文件??
头像被屏蔽

出0入0汤圆

发表于 2013-11-21 12:40:47 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

 楼主| 发表于 2013-11-21 12:48:23 | 显示全部楼层
Henjay724 发表于 2013-11-21 12:40
先不要勾选Run to main,调试看断点是不是停在crt0.s里,然后F11一步步走,跑到start()函数内,那里面最后 ...

这么说,你看是不是这样,我就想运行个led的闪烁的主函数,是不是还要改动下start.c里的内容?或者说每次建个新工程,还需要改动start.c中的内容?
头像被屏蔽

出0入0汤圆

发表于 2013-11-21 13:22:47 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

 楼主| 发表于 2013-11-21 13:33:06 | 显示全部楼层
本帖最后由 qqliyunpeng 于 2013-11-21 13:35 编辑
Henjay724 发表于 2013-11-21 13:22
一般情况不需要改啊

start函数内一般如下:里面其实也没做什么事情。实质就是关了看门狗,配置系统时 ...


确实有问题呀,单步调试的时候出现,实在是想不明白,你说是不是可能我的这个自动生成的文件下载的有问题呢,本身他就不能顺畅的走到main函数中呢,还有我发现,我的start.c是这样的,跟你的稍有不同。
void start(void)
{
        /* Disable the watchdog timer */
    SIM_COPC = 0x00;

        /* Copy any vector or data sections that need to be in RAM */
#ifndef CMSIS    // If conforming to CMSIS, we do not need to perform this code
#ifndef BOOTLOADER
        /* Copy any vector or data sections that need to be in RAM */
        common_startup();
#endif
#endif


        /* Perform processor initialization */
        sysinit();
#ifndef BRIDGE_BOARD  
#ifndef BOOTLOADER   
    //printf("           \r\n");
       
        /* Determine the last cause(s) of reset */
        outSRS();       
       
        /* Determine specific Kinetis device and revision */
        cpu_identify();
#endif
#endif       
#ifndef CMSIS    // If conforming to CMSIS, we do not need to perform this code
        /* Jump to main process */
        main();

        /* No actions to perform after this so wait forever */
        while(1);
#endif
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2013-11-21 14:00:28 | 显示全部楼层
本帖最后由 qqliyunpeng 于 2013-11-21 14:02 编辑
Henjay724 发表于 2013-11-21 13:22
一般情况不需要改啊

start函数内一般如下:里面其实也没做什么事情。实质就是关了看门狗,配置系统时 ...


我还想看看你的自动生成的sysinit.c的文件,我现在认为,可能这个有问题
在cpu文件夹下

出0入0汤圆

 楼主| 发表于 2013-11-21 14:22:48 | 显示全部楼层
经过一步一步的调试,我把串口uart0和貌似是是一些个外部中断什么的,给屏蔽掉了,调试成功了,只是我想可能如果加上别的一些,像uart或者i2c或者spi的时候可能就会有问题,还有生成的sysinit中的一些语句比如设置pin引脚的时钟打开什么的语句,我认为还是没有必要的,毕竟,如果我们开发,通常也是在外部设置的,只是,可能对于熟悉了这些个文件的人来说,用起来可能会方便些,但是如果这都熟悉了,可能自己建立个文件什么的,也就比阅读给的文件,然后去用它方便了些,或者,这是给我们提供了一种思路吧。谢谢楼上的回复,很专业,很给力,一下子知道了iar的使用方法和调试的步骤。。

出0入0汤圆

发表于 2014-5-9 12:54:29 | 显示全部楼层
qqliyunpeng 发表于 2013-11-21 14:22
经过一步一步的调试,我把串口uart0和貌似是是一些个外部中断什么的,给屏蔽掉了,调试成功了,只是我想可 ...

飞思卡尔的芯片要慢慢去跟他沟通,争不来,呵呵!

出0入0汤圆

 楼主| 发表于 2014-5-9 23:54:56 | 显示全部楼层
wangpengcheng 发表于 2014-5-9 12:54
飞思卡尔的芯片要慢慢去跟他沟通,争不来,呵呵!

奥,飞思卡尔的服务到是挺耐心的,我还得到了一本书,看样子是真的在大力推广呢。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-2 07:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表