使用teensy 2.0++ 开发板模拟U盘

Teensy 开发板简介

teensy 是一种基于AVR或ARM处理器的USB开发板, 可以用来开发或试验各种USB应用, 我购买的为TEENSY 2.0++开发板, 因为这是在国内所有TEENSY 开发板中最为便宜的型号. 它大概长下面这个样子.

 

好了, 由于电子科技的快速发展, 如今U盘的容量动不动就为好几百GB了, 那么这样U盘的基本原理又是怎样的呢? 又如何能在只花几十人民币的情况下, 就拥有一个几百GB的大容量移动U盘呢? 下面我就介绍一种方法.

材料

  • Teensy 2.0++ 开发板: 大概30元

  • SD卡模块单片机 Micro SD卡模块CH376S SPI接口 迷你TF卡读写器: 大概2块钱

  • tf卡一张: 不要太好的, 买几年前的型号, 大概10元钱

上面的这些淘宝都有售卖, 也不是很贵.

编译模拟U盘程序

我已经调试好了一份可工作的模拟U盘的程序, 下载地址: https://github.com/atmgnd/Teensy2ppSD , 使用下面的命令下载:

git clone https://github.com/atmgnd/Teensy2ppSD.git
cd Teensy2ppSD
git submodule init
git submodule update

安装avr-gcc 编译器及C库:

sudo apt-get install -y gcc-avr
sudo apt-get install -y avr-libc

使用下面的命令编译:

cd Teensy2ppSD/Teensy2pp/MassStorage
make

编译生成的MassStorage.hex 程序就是可以在TEENSY 开发析上运行的目标可执行程序. 将其刷写到开发板上, 就可以实现使用tf卡模拟U盘了.

烧录程序到开发板

首先需要去TEENSY官网下载Teensy Loader, 下载链接: Teensy Loader

Teensy Loader 的使用说明: https://www.pjrc.com/teensy/loader_linux.html

按照上面网页中的说明将上一节中编译的目标程序烧制到开发板.

连接spi tf读卡器到teensy

按照下面的表格将TEENSY与读卡器连接起来:

TEENSY 2.0++TF卡读卡器
VCCVCC
B3MISO
B2MOSI
B1SCK
B0CS
GNDGND

TEENSY开发板和读卡器上都有引脚标注, 接好以后如下:

 

连接PC插入SD卡连接PC, 如果没有问题, 就可以看到模拟的U盘了. 如下:

xxx@TM19:~/code/github/Teensy2ppSD$ sudo lsblk /dev/sdc
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdc      8:32   1 466.1G  0 disk 
└─sdc1   8:33   1  14.9G  0 part 

修改Teensy2pp/MassStorage/MassStorage.c中的media_blocks变量就可以实现修改模拟U盘的大小, 如上, sdc1的大小为15G, 而sdc大小为466G, 就是通过这样实现的. 至此, 我们完成了U盘的模拟程序.

性能

在Windows 下实测可以达到300KB/S, 不是太快. 在Linux下似乎要更慢一些.

Reference

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值