wxzh的个人空间 https://blog.eetop.cn/wxzh [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

AT91SAM7X256使用心得

已有 2626 次阅读| 2011-5-20 14:39

  好久没有写日志了,最近一直忙着改个程序,把原先使用的S3C44B0X改成AT91SAM7X256,省去了外扩的FLASH和SRAM,节省了空间,增加了产品的可靠性。由于第一次使用这个芯片,走了许多弯路,这里把能想起来的给大家汇报一下,希望大家能少走我走过的弯路。

1、设置主机频率的时候一定不要忘了设置FLASH模式寄存器的FMCN(MC_FMR的FMCN),即FLASH每微秒周期数,一定要设置对,一开始没有注意到,以为只会影响FLASH的读写,谁知造成SRAM的读写不对,一开始只是看到显示上面有些点不对,以为线上的干扰,搞了很久一直找不到原因,程序也是莫名其妙的死机,后来确定是SRAM读写有误。把该项设置为主时钟(MASTER CLK)的百万分之一,也就是1US有多少个时钟。

2、几个时钟一定要搞清楚,MAIN CLK是晶振的时钟,它经过分频再倍频获得PLL时钟,这个时钟可以从80M-200M,再分频获得MASTER CLK ,即CPU的工作时钟。PCLK还是很不错的,可以使用PLL时钟,所以可以输出较高的频率用于外围设备,我这次就是用了100M用于采样脉冲。

3、中断比较麻烦一点就是老是要写中断完成位,不适应。

4、程序运行时写自身FLASH其实没什么复杂的,我用的开发环境是MDK,把该段程序所在的文件设置成IRAM运行就行了。在工程管理窗口,右击该文件名,点最上面一个选项,就打开一个设置窗口,在里面设置就行了。

5、因为程序内嵌操作系统,所以比较大,只能在FLASH中运行,无法仿真,所以调起来特别费劲,有时一个问题好几天都解决不了,这时最好缓缓,干点别的,然后再回来也许就有思路了。前一段发现程序运行OSQSEND就容易死机,进去还行,就死到里面了,搞了差不多有一周,就是搞不出来,后来都准备放弃了,用别的方法代替它,但是又会出其他问题,没办法先干别的活了,等了大概一周回来,结果却在半天时间解决问题,原来是中断程序出了点问题。

6、感触倒是挺多的,有时间的话还是要写写日志,把经验和教训分享一下。


点赞

发表评论 评论 (1 个评论)

回复 zhangyuan277 2011-5-24 08:32
同感同感,呵呵,谢谢楼主

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 0

    粉丝
  • 0

    好友
  • 0

    获赞
  • 15

    评论
  • 1259

    访问数
关闭

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

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-28 20:02 , Processed in 0.013289 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部