前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mpc5748g sdhc调试

mpc5748g sdhc调试

作者头像
羽翰尘
修改2019-11-26 16:39:39
8240
修改2019-11-26 16:39:39
举报
文章被收录于专栏:技术向技术向

本文由腾讯云+社区自动同步,原文地址 https://cloud.tencent.com/developer/article/1540983

现象:

在测试工程中无法初始化SD卡,但是在示例工程中却可以

猜测

可能是引脚初始化的问题

解决方案

使用debug中的查看寄存器功能记录了两个工程中与SDHC相关的引脚的寄存器值,发现如下不同:

寄存器名称 | 该寄存器对应的引脚 | 正常工作的寄存器内容 | 不正常工作的寄存器内容 —– —| —- ——— | ——————-| —————–

MSCR120| PH8 |0x0208 0001| 0x3208 0001 MSCR131 |PI3 |0x020B 0003| 0x320B 0003 MSCR70 |PE6 |0x020B 0005 | 0x320B 0005 MSCR71 |PE7 |0x0208 0005 | 0x3208 0005

这里的不同是 测试工程中MSCR寄存器中用的是Half drive strength with slew rate control 在示例工程中使用的是 Full driver strength without slew rate control

随后,在测试工程中修改driver strength 和slew rate control后,SD卡初始化正常

后续工作:

  1. 曾经把示例工程中的Generated_Code搬移到测试工程中,没有效果,意味着什么? 后记: 只是文件的搬移,创建时间没有改变,所以不会参与编译。 如果把该文件的时间戳更新一下,现象就会与预期相符
  2. 串口经常出现乱码,是否和driver strength and slew rate control有关系 后记: 没有关系,这个是opensda自己的问题,换用外部串口就好了
  3. 了解driver strength and slew rate control 的内涵, and what’s pad?
    • driver strength 实际上是有很多并联的驱动模块,寄存器里选择哪种strength,就会有多少驱动模块加入到IO口中
    • slew rate control 暂时没有权威资料,但是这个与IO口信号的上升沿陡峭程度有关。slew rate越高,可以捕捉到越快的变化电平,但是噪声也会增加,可能会引起无动作。
    • pad 我翻译不好,pad应该是GPIO系统中的一部分,一个pad里面包含寄存器和驱动,对应一个实物的引脚。一个对pad解释较为清楚的文档

其他

  • 刚刚发现自己的markdown编辑器不能识别表格?有待以后解决
  • 至于具体表格里面哪一栏是正常工作的记不清楚了,使用S32DS内置的样例工程测试下就好
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-01-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 现象:
  • 猜测
  • 解决方案
  • 后续工作:
  • 其他
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档