Nand Flash调试日志(5)——GPIO口的配置

GPIO的配置 软件与硬件的联接点!!!

因为首次进行此类设计的原故,对于Flash及CPU的功能特性不是太熟悉,因此第一版设计后为Flash的AL、CL、E#、RB#四个功能pin脚连接到普通的GPIO口,并将其都设置为作为普通的GPIO口的特性。

根据的是《STR910FAW32》芯片手册中的Table 5. Device pin description来对此四个口进行配置,都选择为GP Output的功能。

根据Flash芯片手册中的时序图来进行这四个口的时序配置,以满足功能性要求。

PS:在对各个GPIO口进行配置之前使能相应的GPIO口时钟。


以页写操作为例,CL、AL、E#、RB#、I/O信号线都需要自己手动进行程序编写,而在编写程序的期间则无需W#、R#信号的处理。


尤其需要注意是RB#的GPIO的配置及其硬件连接,此处因为最初未进行单独考虑,耗了大量时间。

从此图中可以清楚地看出,RB#是open drain,在Str91x的库函数里有pushpull和opencollector两个选择,原先一直将RB#和其它的功能口都设置成pushpull,并没有对此引脚过多地关注,直到后续的程序始终会卡在此语句上,才开始注意到可能是配置方式的问题,重新查阅手册后发现此图。并且,此引脚是自动模式,并非我起初理解的手动抬高拉低中间加延时的操作,原理得先要弄明白

图8-5-4为RB#引脚的上拉电阻的计算公式,对此公式目前不是太明白,目前采用的上拉电阻是经验值的4.7K。


Port 8作为复用口,其中之一的功能是EMI的专用数据口,在配置上有其特殊性。

在91x_gpio.c的库函数的文件里可以看出,GPIO_EMIConfig()函数的本质即为将SCU_EMI寄存器的相应位从0设为1。

在子函数里的配置如下图。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值