OpenEdv-开源电子网

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

mini板 usb读卡器改sd卡为w25q16 编绎不过,求解?

[复制链接]

3

主题

7

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2013-3-28
在线时间
0 小时
发表于 2013-6-3 13:31:10 | 显示全部楼层 |阅读模式
接口函数修改如下: 
/******************************************************************************* 
* Function Name: MAL_Write 
* Description : Write sectors 
* Input       : None 
* Output      : None 
* Return      : 0,OK 
                   1,FAIL 
*******************************************************************************/ 
u16 MAL_Write(u8 lun, u32 Memory_Offset, u32 *Writebuff, u16 Transfer_Length) 
{    
//u8 STA; 
switch (lun) 

case 0:    
//STA=SD_WriteDisk((u8*)Writebuff, Memory_Offset>>9, Transfer_Length>>9); 
SPI_Flash_Write((u8*)Writebuff,Memory_Offset,Transfer_Length);    
break;    
case 1:     
break;  
default: 
return MAL_FAIL; 

//if(STA!=0)return MAL_FAIL; 
return MAL_OK; 


/******************************************************************************* 
* Function Name: MAL_Read 
* Description : Read sectors 
* Input       : None 
* Output      : None 
* Return      : 0,OK 
                   1,FAIL 
*******************************************************************************/ 
u16 MAL_Read(u8 lun, u32 Memory_Offset, u32 *Readbuff, u16 Transfer_Length) 

//u8 STA; 
switch (lun) 

case 0:      
//STA=SD_ReadDisk((u8*)Readbuff, Memory_Offset>>9, Transfer_Length>>9); 
SPI_Flash_Read((u8*)Readbuff,Memory_Offset,Transfer_Length);     
break;      
case 1:   
break;    
default: 
return MAL_FAIL; 

//if(STA!=0)return MAL_FAIL; 
return MAL_OK; 


初始化部分修改如下: 
sd_size=(long long)2048*4096;//SD_GetSectorCount()*512; //得到SD卡容量,字节.      
Mass_Memory_Size[0]=sd_size%4294967296; //当SD卡容量超过4G的时候,需要用到两个u32来表示 
Mass_Memory_Size[1]=sd_size>>32;     //容量的高32位 
Mass_Block_Size[0] =512; //因为我们在Init里面设置了SD卡的操作字节为512个,所以这里一定是512个字节. 
Mass_Block_Count[0]=sd_size/Mass_Block_Size[0]; //得到扇区数 
LCD_ShowString(60,150,"USB Connecting..."); //提示SD卡已经准备了 

在原例上修改已加上#include "flash.h"

出现问题
linking...
TEST.axf: Error: L6218E: Undefined symbol SPI_Flash_Write (referred from mass_mal.o).
Target not created





MINISTM32 实验27 USB读卡器.rar

191.19 KB, 下载次数: 164

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-6-3 21:34:07 | 显示全部楼层
记得论坛有网友已经实现了你说的功能,并且上传了代码,你搜索下.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

3

主题

7

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2013-3-28
在线时间
0 小时
 楼主| 发表于 2013-6-3 21:58:04 | 显示全部楼层
是修改中出现下列问题

出现问题
linking...
TEST.axf: Error: L6218E: Undefined symbol SPI_Flash_Write (referred from mass_mal.o).
Target not created

明明包含了flash.h,已经定义了
SPI_Flash_Write 这个函数

回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-6-3 22:03:33 | 显示全部楼层


我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

3

主题

7

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2013-3-28
在线时间
0 小时
 楼主| 发表于 2013-6-3 22:40:35 | 显示全部楼层
谢谢原子大哥,在菜鸟成长道路上有各位大虾的帮助少走了许多弯路
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-19 01:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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