OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5497|回复: 2

stm32SD卡官方例程移植到战舰开发板的详细步骤

[复制链接]

17

主题

344

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1280
金钱
1280
注册时间
2013-12-14
在线时间
567 小时
发表于 2019-12-2 15:32:22 | 显示全部楼层 |阅读模式
本帖最后由 东北小辉辉 于 2019-12-3 13:00 编辑

一不小心发出去了......大家先别看,不是最终版本......施工中......

最近做一个小玩意而接触到了SD卡,尝试着对st官方的标准库代码进行移植,固件库版本为3.5.0,sd卡的驱动版本是4.5.0,好记性不如烂笔头,为了自己复习方便把移植步骤记了下来,新手也看了也能少走一点弯路。
一、需要准备的硬件
战舰stm32(我的开发板是老版本的V2),SD卡(或TF卡加上SD卡座),注意TF卡和MicroSD是同一种卡,俗称“小卡”(后文中统一用TF卡来表示),在老式手机中很常用,SD卡俗称大卡,常用在数码相机中。TF卡与SD卡虽然功能大致一样,但是卡的接口和卡座的接口都有区别,由于我们的战舰开发板上是插SD卡的,所以我们重点看SD卡。
SD卡座比SD卡多出10脚和11脚,主要跟硬件相关。二、注意短接战舰开发板上的引脚,开发板用的是SPI传输方式,我们用的是SDIO方式,所以短接,看图。

SD卡引脚

SD卡引脚

实际卡座图.gif
二、战舰V2短路帽接法,战舰的接法是红线的短路帽,绿线是我们要修改的短路帽
战舰V2电路接法.png
三、去st官网上下载3.5.0版本的固件库代码
三,1.png
三,2.png 三,3.png
三,4.png
获取软件需要注册,163邮箱就可以,记得接受那个很长的协议。
下载完以后是这样一个压缩包
3.5.0固件库压缩包.png
解压后得到文件夹
3.5.0固件库文件夹.png
可以看到这个文件夹的最后更新日期是2011年,现在大家更喜欢用HAL库,专注应用开发。目录下的那个chm文件是固件库文件的总览,对固件库的使用有问题时可以随时查阅。
四、开始移植
在把官方例程移植到自己的开发板上时,首先要用官方的template把
固件库目录1.png
Libraries包含库函数的头文件和C文件,现在的keil5可以直接添加,不需要手动移植。
Utilities包含了ST官方的各种评估板,囊括了stm32f1mcu的各种产品类型,小型,中型,大型,经济型,互联型产品。
评估板.png
战舰开发板用的是stm32f103zet6,与STM3210E-EVAL评估板最为接近。
用keil4(我的是4.53.0.0版本)打开
目录中的Project,
固件库目录2.png
固件库目录3.png
选择开发环境,我们选择MDK-ARM。
readme.txt中有How to use it?教我们如何使用这个template
怎么使用template.png

然后在option中选择芯片型号,stm32f103ze,
选择启动文件.png
可以看到启动文件都有一个小钥匙,这个小钥匙代表只读的意思,我们有时候可能需要修改heap与stack,但是在本文中我们不需要,所以暂时不去管它。问题的关键是,我们看到8个启动文件,前7个左侧都有3个“小红点”,这3个小红点代表该文件未被编译到当前工程中,因为这个模板包含了各种类型的评估板,单片机的型号不统一,所以st官方采用了这种方式,让我们根据实际情况去选择使用哪个启动文件,众所周知stm32f103zet6使用的是startup_stm32f10x_hd.s,所以我们选这个,具体选取方法如下:
template默认使用的是startup_stm32f10x_hd_vl.s,我们首先要把它取消掉,右击该.s文件,进入option,

启动文件1.png
启动代码2.png
include in Target Build(用红线圈出)这个选项决定这个文件是否编译到当前工程中,该选项共有三种状态
1.未选中
未选中.png
2.手动选中
手动选中.png
3.系统选中
系统选中.png
单击一下是手动选中,单击两下是系统默认,我们把startup_stm32f10x_hd_vl.s取消掉,然后把startup_stm32f10x_hd.s改成系统默认模式。关于mdk的文件属性及其表示方法,可以打开keil4,按F1查看帮助,里面讲解的很详细
mdk帮助.png
Include in Target Build.png 修改启动文件后左边的文件目录变成这样
文件目录.png
下一步点击魔术棒,修改宏定义
option.png
改成
修改后的option.png 修改头文件包含路径
头文件路径.png
改成
修改后的肉文件路径.png
编译以下,发现报了一些错误
sd相关报错.png
由于我们使用的是SDIO模式,所以要取消stm32_eval_spi_sd.c的编译
spi_sd模式取消.png
然后打开
SD例程文件与使用说明.png

这个readme中有example的使用说明,我们要把该文件夹内的所有文件复制到
工程目录的文件.png
然后编译文件,编译就能通过了
编译通过.png
半导体->模拟电路->数字电路->单片机->汇编->C->操作系统->java
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

134

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1793
金钱
1793
注册时间
2015-3-13
在线时间
273 小时
发表于 2020-11-5 23:06:58 | 显示全部楼层
回复 支持 反对

使用道具 举报

14

主题

821

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2106
金钱
2106
注册时间
2021-7-17
在线时间
659 小时
发表于 2021-11-19 18:17:38 | 显示全部楼层
        
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-13 00:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表