|
打开Processor Expert
在继续之前,请确保现在可以生成工程,并且没有错误。如果有错误,那么请确保你已经按照指示进行操作,并且理解了文章工具链:KSDK以及Eclipse 4.4(Luna)和GNU ARM插件中描述的如何设置Eclipse环境,特别是“设置Eclipse工作区首选项”部分。
1. 打开 Processor Expert,在Eclipse的右上角有一个按钮。
如果没有,请点击“Open Perspective”按钮,然后在出现的表中选择“Processor Expert”。
添加SD卡组件
1. 点击“Components Library”选项卡,搜索组件“fsl_sdcard”并双击。
2. 在Components窗口选择“memoryCard1:fsl_sdcard”。
3. 单击“Component Inspector”选项卡。然后选择Initialization选项卡。取消选中“Auto initialization”。这一步是非常重要的,因为FatFs组件将会替我们完成初始化。其实即使你不使用FatFs,每次想要打开SD卡的文件,需要手动执行这一步。
4. 现在返回Components窗口,展开"memoryCard1:fsl_sdcard"组件,然后选择“fsl_sdhc1:fsl_sdhc”组件。
5. 单击“Component Inspector”选项卡。然后选择“Configurations”选项卡,然后发送模式选择“ADMA2”。确保选择“GPIO”用于Card detection type。FRDM-K64F开发板的SD卡卡座和连接到PTE6的开关相连,用来监测卡的插入。SD卡卡座本身也可以检测卡的插入,但是通过设置和使用GPIO引脚会更容易些。 不用担心时钟总线设置成400KHz,当fsl_sdcard组件初始化后,该组件最终能达到50MHz。你不会在这个例子中看到该代码,但是基本上,当FatFs组件打卡一个文件时,该组件执行挂载检测SD卡,然后初始化fsl_sdcard,以不同的速度进行,首先100KHz,然后400KHz,然后25MHz,最后是50MHz。
6. 现在切换到“Pins”选项卡。参考FRDM-K64F开发板的用户手册的第7部分“Secure digital card”,然后将引脚按照指定的进行映射。
7. 现在切换到“Initialization”选项卡。我们需要确保生成了中断服务程序的处理程序,因为fsl_sdcard初始化会用到。我们不能添加处理程序,除非先启用“Auto initialisation”然后勾选“Install interrupts”复选框。除了能够安装中断以外,没有什么特殊的需要来设置“Auto initialise”。预计KSDK以后的版本又能会分开这两个属性。幸运的是,当fsl_sdcard程序的初始化代码先关闭fsl_sdhc,然后重新初始化时,启用Auto initialization并没有引起危害。
|