你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 5731|回复: 4

【急】STM32F130ZE在UC/OS环境下读写SD卡失败!

[复制链接]

1

主题

5

回帖

0

蝴蝶豆

新手上路

最后登录
2020-7-22
发表于 2011-6-2 08:33:20 | 显示全部楼层 |阅读模式
各位大侠,小弟最近做在UC/OS环境下读写SD卡的实验,UC/OS能够正常运行,裸机下SD卡也能正常读写,可是把UC/OS和读写SD卡的程序放到一个工程中,就不能读写SD卡了。我用中断方式查看是否写完毕,好像中断程序根本就进不去,最终程序就死在HardFaultException这了,实在是不解,望各位大侠不吝赐教!我用的MDK4.11开发环境
<
回复

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2011-6-2 08:44:17 | 显示全部楼层

RE:【急】STM32F130ZE在UC/OS环境下读写SD卡失败!

不看程序不知道错误问题在什么地方,只能估计:
1、中断中未处理UCOS系统进入和退出中断
2、SD卡驱动中有数组操作超出数组大小。
回复 支持 反对

使用道具 举报

1

主题

5

回帖

0

蝴蝶豆

新手上路

最后登录
2020-7-22
 楼主| 发表于 2011-6-2 14:23:45 | 显示全部楼层

回复:【急】STM32F130ZE在UC/OS环境下读写SD卡失败!

回复第 2 楼 安于2011-06-02 00:44:17发表:
不看程序不知道错误问题在什么地方,只能估计:
1、中断中未处理UCOS系统进入和退出中断
2、SD卡驱动中有数组操作超出数组大小。 

首先感谢斑竹的即时回复!主要是程序有10M左右没法上传!
单个运行UCOS和SD卡程序均能正常运行,把两个合到一个工程中运行到红色的那一句就出现上面的错误了!
下面是我写SD卡的子程序和中断子程序
SD_Error SD_WriteBlock(u32 addr, u32 *writebuff, u16 BlockSize)
{
  SD_Error errorstatus = SD_OK;
  u8  power = 0, cardstate = 0;
  u32 timeout = 0, bytestransferred = 0;
  u32 cardstatus = 0, count = 0, restwords = 0;
  u32 *tempbuff = writebuff;
  if (writebuff == NULL)
  {
    errorstatus = SD_INVALID_PARAMETER;
    return(errorstatus);
  }
  TransferError = SD_OK;
  TransferEnd = 0;
  TotalNumberOfBytes = 0;
  SDIO_DataInitStructure.SDIO_DataTimeOut = SD_DATATIMEOUT;
  SDIO_DataInitStructure.SDIO_DataLength = 0;
  SDIO_DataInitStructure.SDIO_DataBlockSize = SDIO_DataBlockSize_1b;
  SDIO_DataInitStructure.SDIO_TransferDir = SDIO_TransferDir_ToCard;
  SDIO_DataInitStructure.SDIO_TransferMode = SDIO_TransferMode_Block;
  SDIO_DataInitStructure.SDIO_DPSM = SDIO_DPSM_Disable;
  SDIO_DataConfig(&amp;SDIO_DataInitStructure);
  SDIO_DMACmd(DISABLE);
  if (SDIO_GetResponse(SDIO_RESP1) &amp; SD_CARD_LOCKED)
  {
    errorstatus = SD_LOCK_UNLOCK_FAILED;
    return(errorstatus);
  }

  /* Set the block size, both on controller and card */
  if ((BlockSize &gt; 0) &amp;&amp; (BlockSize
回复 支持 反对

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2011-6-2 16:03:53 | 显示全部楼层

RE:【急】STM32F130ZE在UC/OS环境下读写SD卡失败!

很可能不是这里的问题,你看看你写数据的时候,写入数据的个数和数组大小比较一下。
回复 支持 反对

使用道具 举报

1

主题

5

回帖

0

蝴蝶豆

新手上路

最后登录
2020-7-22
 楼主| 发表于 2011-6-3 09:28:17 | 显示全部楼层

回复:【急】STM32F130ZE在UC/OS环境下读写SD卡失败!

回复第 4 楼 安于2011-06-02 08:03:53发表:
很可能不是这里的问题,你看看你写数据的时候,写入数据的个数和数组大小比较一下。 

大小是一样的。UCOS下跟裸机写入的是同一个数据,裸机可以成功但是UCOS就不行了!实在是不解
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版