查看: 7659|回复: 13

[12月26日更新]关于Keil 创建LM4F120 新工程的问题

[复制链接]
  • TA的每日心情
    奋斗
    2012-11-12 10:50
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2012-12-20 11:03:13 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 lxc115 于 2012-12-26 09:48 编辑

    12月26日更新:
               又发现了问题,自己建的模板进不了中断,会卡住,而例程的就可以,不知如何解决?

    12月23日更新:
         今天用自己建的模板检验了一下延时的精确性:系统时钟50M,设置延时值为SysCtlDelay(1000*1000*(50000000/3000000))=1s,发现模板的延时是准确的,每隔1s灯闪一下,而project0例程是每2s闪一下,这是不是说明例程有问题,而我自己建的模板没问题?
    @suyong_yq  @shower.xu

              最近见几位坛友都在用各种IDE创建新工程,本人比较习惯用Keil,因此想用Keil也创建一个。
            正如suyong_yq在创建IAR工程框架时所说,例程中对于StellarisWare这个文件夹的文件结构过于依赖,导致用Keil打开例程时,即使选择Create Browse Information也无法通过Open Definition来查看相关函数、宏等在其他文件中的定义(貌似ROM_开头的可以)。
           把StellarisWare文件夹中的.h,.c等文件都拷贝出来,按照使用Keil的习惯建立新工程。这里没有使用suyong_yq的方法,使用库,而是直接使用了库的源文件。修改了相关编译错误之后可以顺利编译。
           但是此时碰到一个问题:用Keil打开Project0例程,编译下载之后,灯正常交替变化。而用创建的新工程,加入projec0源文件之后编译下载,发现两个的时间间隔是不同的。延时同样的时间,例程比新工程长一倍时间。
           随后又试了几下,例程中使用的是PLL,然后分频至50MHz,如果新工程中将分频系数加倍,则延时一样。但是无论打开Blinky例程还是用新工程创建Blinky例程,延时就又一样了,难道是因为Blinky没使用库的原因?之后又试了timer的例程,发现ROM_打头的好像也没问题。
          总结一下,就是例程和新工程同样的例子但是延时不一样的问题。怀疑可能是新工程中哪里设置的有问题,导致实际频率高了一倍,暂时还找不到原因。可能的话使用suyong_yq的方法,使用库来建工程,不知道问题能不能解决。
          不知各位坛友有什么高见?

    回复

    使用道具 举报

  • TA的每日心情

    2015-8-27 11:09
  • 签到天数: 207 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2012-12-20 11:59:22 | 显示全部楼层
    1、用lib文件会加快编译速度,但是你就无法通过Open Definition来查看相关函数源码。
    2、“例程和新工程同样的例子但是延时不一样的问题”,示波器看的还是Keil的逻辑分析器看的,晶振值设对了么?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2014-7-16 09:10
  • 签到天数: 361 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2012-12-20 13:10:57 | 显示全部楼层
    dlyt03 发表于 2012-12-20 11:39
    抢沙发!

    这个也行啊
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-10-29 22:48
  • 签到天数: 731 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-12-20 15:51:08 | 显示全部楼层
    如果直接复制源文件创建工程,要确定两个问题:
    (1)是否复制了正确的源程序文件
    (2)是否调用了正确的函数执行操作
    存在这种原因的可能在于,StellarisWare中集成了N多种芯片,即使同样是LM4F,也有LM4F120和LM4F232两种不同的型号。清风板主的LM4F教程是以LM4F232为硬件平台的,例程中使用的库函数没有“ROM_”前缀,而LM4F120的库函数是有“ROM_”前缀的。但由于两款芯片有着极为相似的寄存器映射,因此,即使混用也不容易发现。
    LZ根据具体情况再分析一下,确保提到的两个要点没有问题。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2012-11-12 10:50
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2012-12-20 18:19:08 | 显示全部楼层
    shower.xu 发表于 2012-12-20 11:59
    1、用lib文件会加快编译速度,但是你就无法通过Open Definition来查看相关函数源码。
    2、“例程和新工程同 ...

    就直接从灯闪的频率上就直观地能看到差大概一倍的样子
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2012-11-12 10:50
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2012-12-20 18:25:21 | 显示全部楼层
    suyong_yq 发表于 2012-12-20 15:51
    如果直接复制源文件创建工程,要确定两个问题:
    (1)是否复制了正确的源程序文件
    (2)是否调用了正确的函 ...

    源文件应该是复制的对的,复制了driverlib、inc文件夹中的.c,.h文件。
    照你的说法,我觉得应该是没有调用到正确函数。
    但是我建工程使用的main函数还是project0的main函数,没有作改动,就直接加入工程了,里面就是没有ROM_前缀的。难道是因为这个问题?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-6-6 11:41
  • 签到天数: 1662 天

    连续签到: 2 天

    [LV.Master]伴坛终老

    发表于 2012-12-24 23:58:16 | 显示全部楼层
    我也发现这个问题了。。。找到一个解释,不知道对不对

    引用
    可能是没用发挥到MCU的哈佛结构性能
    哈佛结构是ROM与RAM同时提取数据的,如果只用到RAM上面,那运行就直接影响了吧,还有TI的ROM是单周期指令,那不存在运行速度跟不上的问题。以上是个人理解
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2012-11-12 10:50
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2012-12-25 09:26:41 | 显示全部楼层
    chuaizicai 发表于 2012-12-24 23:58
    我也发现这个问题了。。。找到一个解释,不知道对不对

    引用

    什么意思,没看明白
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-3-6 09:47
  • 签到天数: 51 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2013-1-12 16:53:54 | 显示全部楼层
    我也发现了同样的问题,不解,静待高手解惑
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2018-3-6 09:47
  • 签到天数: 51 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2013-1-14 12:45:39 | 显示全部楼层
    ROM_SysCtlClockSet(SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|
                        SYSCTL_OSC_MAIN);
    ROM_SysCtlDelay(SysCtlClockGet()/3);

    SysCtlClockSet(SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|
                        SYSCTL_OSC_MAIN);
    SysCtlDelay(SysCtlClockGet()/3);

    相比延时时间在板子上反映的要相差一倍:第一个延时是1秒,第二个是2秒
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-19 12:43 , Processed in 0.192495 second(s), 31 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.