金牌会员
 
- 积分
- 1155
- 金钱
- 1155
- 注册时间
- 2012-3-4
- 在线时间
- 80 小时
|
10金钱
本帖最后由 l1234564555 于 2020-1-9 17:04 编辑
不知道具体细节,也不知道需要多大RAM,改了堆栈都扩大了也不行,目前用的10kram当作的缓冲,没有写入flash函数。插到电脑上,第一步,电脑应该用这个函数来读取ram把,没有读到fat表,就人为没有格式化
int8_t STORAGE_Read_FS(uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t blk_len)
格式化(写数据)应该是这个函数把
int8_t STORAGE_Write_FS(uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t blk_len)
就不知道了,然后过10秒钟,PC就弹出未识别设备,U盘的盘符也没有了
补充:用F407的板子RAM测试,cubemx生成的可以用,原因是两个,一个是heap——size要扩大,默认0x200,设置成0x400,第二个是如果需要格式化,ram至少要20K,否则PC操作会出现问题,解决办法,对于F103 RB,20k这种片子来说,要先在ram里面放0扇区 512字节的FAT表格,让PC人为你不需要格式化,就骗过了PC。可能奸商都是这样做的吧,你可以写几个T都行。
主要是用来做IAP升级,不是U盘,所以,只要用户丢进来的bin文件能从写函数里面获取到,自己写flash里面就行了。
|
|