打印
[DSP编程]

28035在线仿真与烧写到FLASH内的变化求教

[复制链接]
3181|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fengyefeng|  楼主 | 2014-2-14 21:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    以前做实验一直是在RAM里进行,用的CMD文件是28033_RAM_lnk.CMD, 使用外部晶振20M,内部经12倍频再4分频,得到60M的总线频率,但在烧到FLASH内后就发现时钟频率被减半了,本来在设置的串口波特率是38400,串口调试助手的波特率设置成38400,可以正常接收到数据,但是烧到FLASH内后就得将串口调试助手的波特率设置成19200才能正常接收。在烧写时烧写工具On-Chip Flash Programer的左上角的Clock Configuration 选择项上,OSCCLK是10,DIVSEL是/2,PLLCR是12,这三项均是灰色的,不可选,只有SYSTEMCLOCKOUT是60.0000。我将烧录进去的代码全部只擦除,这个问题依然存在,好像是你只要在FLASH上烧了一次代码后,时钟就被锁死了。后来我在程序的PLL设置时将DIVSEL由原来的1改成了2,串口恢复正常,不过不管是下载到RAM里还是FLASH里,DIVSEL都要改为2才行,原来能够正常工作的CAN却出现了问题,数据都已进了发送邮箱了,但就是一直在等待CANTA置位,数据使终发不出,邮箱接收中断也进不了了,给人的感觉就好像这个邮箱的CANME没有打开一样,但我确实是打开了。这是什么原因啊,求教各位了,最重要的就是如何解决这个问题,谢谢各位的回答。这个问题说也奇怪,我当天晚上下班前已烧到FLASH里用了,能用,后来第二天上班打开电脑再去用就发现串口不对了

相关帖子

沙发
fengyefeng|  楼主 | 2014-2-14 22:05 | 只看该作者
我按照官网提供的FLASH例程将FLASH进行了初始化,也将中断放到了相应的位置,也使用了MEMCOPY将FLASH内的内容COPY到了RAM,但CAN还是不能发出,卡好久了,求教

使用特权

评论回复
板凳
wangch_sh| | 2014-2-15 08:45 | 只看该作者
在flash里运行比在RAM里慢。

使用特权

评论回复
地板
zhangmangui| | 2014-2-15 23:55 | 只看该作者
烧写的时候不能选择  灰色的不知道什么原因   从你的现象来看
应该是时钟的问题   虽然是灰色的   但是60M还是与你设置的是相同的
flash烧写第一次记得会出现设置分频和倍频  接下来是否锁死没注意
flash中运行只有在RAM中的70-80%的效率  

使用特权

评论回复
5
fengyefeng|  楼主 | 2014-2-16 01:08 | 只看该作者
串口时钟解决,CAN可有好法解决啊

使用特权

评论回复
6
kingzlt| | 2014-2-17 11:39 | 只看该作者
fengyefeng 发表于 2014-2-16 01:08
串口时钟解决,CAN可有好法解决啊

何不将晶振换成10M?

烧写时要求实际使用的晶振、倍频、分频与仿真工具设置一致,如果你用的是20M,仿真配置里是10M,工作异常事小,芯片挂了就麻烦了

使用特权

评论回复
7
fengyefeng|  楼主 | 2014-2-17 12:15 | 只看该作者
手头只有这晶振呀,郁闷得很,再多来的朋友看看这问题呀

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

87

帖子

1

粉丝