KDocs 研发资料库
  • 手表穿戴技术应用文档入口汇总
  • JL707N穿戴客述问题FAQ
  • 彩屏仓 硬件开发指南 与 量产作业流程规范
  • 彩屏仓 AC98N和JL701烧录升级注意事项
  • JL707 硬件开发资料
  • JL707 手表硬件设计注意事项 总结
  • 穿戴生产烧录OTA和key文件添加使用说明
  • JL707N-入门到进阶开发指导文档
  • 彩屏仓982相关
  • 彩屏仓耳机介绍
  • 杰理701_707双屏demo介绍
  • 707电子吧唧开发资料
  • GPIO相关
  • UART串口相关
  • SPI相关
  • nandflash相关
  • norflash相关
  • IIC相关
  • PWM相关
  • SD卡相关
  • 定时器TIMER
  • 文件系统接口设计说明文档
  • 音视频录像开发流程
  • rdec编码器
  • 穿戴功耗数据标准
  • 手表蓝牙开发文档
  • 701蓝牙PAN联网demo
  • BLE开发使用说明
  • 701手表2.0.0版本SDK EQ在线调试和离线调试方法 V1.1
  • JL707 手表喇叭输出声音大小评估方法 V1.0
  • JL707 手表音频EQ调试方法 V1.0
  • AC707N 手表通话写卡 软件配置方法
  • 录音功能
  • 701手表2.X.X系列SDK调试EQ配置方法及音频调试技巧V1.1
  • 701手表104版本SDK EQ在线调试和离线调试方法 V1.1
  • mic2dac示例
  • P11 SensorHub相关
  • 手表升级操作文档
  • AC707NGPU
  • DBI模块介绍
  • GPU模块介绍
  • 701N屏幕驱动配置说明
  • 701N_UI编辑工具用户手册
  • 支付宝资料
  • 支付宝硬件接入资料
  • 支付宝乘车码接入资料
  • CAT1 接入文档
  • 701N_WATCH_CAT1开发说明
  • Findmy功能
  • music模式相关
  • 707电池曲线
  • 707N内置FLASH挂载FAT文件系统251112_v1.2
  • AC707N_本地视频播放demo(AVI-MJPEG-PCM)
  • 光波导屏幕调试
  • 耳机研发和生产流程 指南
  • 707-NandFlash 代码和UI资源独立烧录方案
  • 彩屏仓时间同步补丁
  • 彩屏仓抖音点赞移植
  • 707LVGLv8双屏开发
  • 707N蓝牙互传图传demo
  • AVIPCM数据流接入AIVOICE
  • Flash分区操作demo
  • 手表发射问题
  • 701_707 双备份升级DEMO
  • 707_乘车码刷码失败问题_共性

SD卡相关

📎 原始文档:https://www.kdocs.cn/l/cs11pw8tr9Fd SD卡相关

  1. SD卡定义 SD卡是Secure Digital Card,直译就是“安全数字卡”,使用SPI或者SDIO接口驱动,AC695N/JL701N/JL707N全部采用SDIO驱动方式。
  2. SD卡应用

1、SD卡 io 和驱动配置

image

2、检测方式配置

可以配置检测方式,鉴于手表考虑功耗,则主动去除了了检测功能,默认SD卡全程在线;如果需要热插拔可以如下修改,并且硬件也需要有硬件电路支持方可。
image

3、读写sd卡的速度评估()

写卡测试方法:
imageimageimage

卡1
20k数据大小每次
卡1
40k数据大小每次
卡2
20k数据大小每次
卡2
40k数据大小每次
1线12M时钟22ms40ms20ms40ms
1线24M时钟14ms26ms14ms27ms
1线48M时钟10ms20ms下图报错下图报错
4线12M时钟10ms19ms写入速度不稳定,大多时候11ms 概率会有一包时长达到120ms写入速度不稳定,大多时候19ms概率会有一包时长达到120ms
4线24M时钟10ms15ms写入速度不稳定,最短8ms,最长能达到400ms写入速度不稳定,概率会有一包时长达到120ms
4线48M时钟7ms12ms下图报错下图报错

image

SD 卡分区隐藏与 PC 模式暴露控制

  1. 打开pc模式 TCFG_APP_PC_EN 1
  2. 按键或其他事件触发pc 模式 pp_task_switch_to(APP_PC_TASK); 切换正常APP_BT_TASK image

image

三、常见问题处理

  1. SD 卡直接地址偏移读写接口 sd 支持fat文件系统,直接操作分区地址也可以 ,需要管控好对应分区逻辑 否则操作到文件系统部分会出现挂载不上 (建议直接使用文件系统接口)
    image

  2. MMC卡读写支持

const int sdx_can_operate_mmc_card = 1;

2、701n更换io控制MOS供电配置,注意这个需要跟PSRAM互斥,因为psram 用到了PE5的io,所以在使用MOS控制的时候,需要注意宏的修改:

image

3、JL701N系列使用SDPG 供电有些SD卡会挂不上问题,主要是有些SD卡的功耗比较大,默认的上电驱动带不动,导致挂载失败,可以参考如下修改:

image

4、读取SD卡容量

读取总容量:

struct vfs_partition *fget_partition(const char *path);//获得分区part
//sd0
struct vfs_partition *part;
part = fget_partition("storage/sd0/C/");
printf("total_size %dKB - %d MB,clust size %d\n",part->total_size,part->total_size/1024,part->clust_size);

//sd1
struct vfs_partition *part;
part = fget_partition("storage/sd1/C/");
printf("total_size %dKB - %d MB,clust size %d\n",part->total_size,part->total_size/1024,part->clust_size);

//USB
struct vfs_partition *part;
part = fget_partition("storage/udisk0/C/");
printf("total_size %dKB - %d MB,clust size %d\n",part->total_size,part->total_size/1024,part->clust_size);

读取剩余容量:

int fget_free_space(const char *path, u32 *space);   函数返回值单位为KB
//sd0
u32 free_space = 0;
fget_free_space("storage/sd0/C/",&free_space);
printf("free_space %d\n",free_space);

//sd1
u32 free_space = 0;
fget_free_space("storage/sd1/C/",&free_space);
printf("free_space %d\n",free_space);

//USB
u32 free_space = 0;
fget_free_space("storage/udisk0/C/",&free_space);
printf("free_space %d\n",free_space);

5、获取SD卡格式

使用接口fget_partition("storage/sd0/C/")->fs_type 值1、2、3、4,分别对应 fat12\16\32和exfat

本文档为保密信息,未经授权,请勿转发或告知第三方。非常感谢!
This electronic documentation and any attachments are confidential and may be legally privileged or otherwise protected from disclosure. If you are not the intended recipient, please do not disclose the contents to anyone。
Thank you for your cooperation!
解析权归杰理所有!
The analysis right belongs to JieLi Technology Co., Ltd.

Prev
PWM相关
Next
定时器TIMER