分享在STM32F103VE的片内Flash(512K)使用FatFS系统系统。
, G3 y' R8 ?- I: K E- s; R
5 b3 K! S2 i; M1 k$ j: ~* i1 F, \ 在我所做的测量仪器需要长年运行,并且保存数据和查寻数据,刚开始我是把数据按一定格式存放在片内Flash中的,但是由于数据种类多,还需要查找历史数据和参数,有些复杂,做的并不好。后来想用文件系统,据说FatFS挺不错的,就在开发板上学习了一下,使用的NAND Flash。
8 v, ]5 b$ D/ n& h 暂时仪器板子上没有放NAND Flash,所以就先在片内Flash上使用FatFS,这个搞了两天,终于弄出来了,和大家分享,源码在附件中。+ X' M, F. P- a( D( ~
, c& t- _2 K/ T3 r! Y2 @
思路是在STM32片内Flash最后100页(可宏定义设置区间和大小)使用FatFS, 模拟NAND Flash把片内Flash做为一个zone,每页做为一块(block),每页分成4份(每份为一段sector, 512字节)。0 _0 n! D8 N- z- o' _/ L
( e) L) o) q% e( ^7 y2 X+ t3 h9 h, n应用示例:
. V- P8 }0 E6 V: p! T ) Q* F6 \, `& u8 O' J% e
-
0 O: i v4 }3 Z4 } - FATFS fs; : q6 r( a8 ]3 |3 m' J
- FIL file;
! |& g! Z4 P. t. v# u) X+ t - FRESULT res;
/ `7 B7 `' I+ g" I7 h% h/ `; ? - char array[512]={0}, *parray = array; ; ^; G4 X; p. @% K
-
6 J6 l, F# M7 F0 |6 Z - res = f_mount(0, &fs); 3 W% W3 Z8 P P( n- r% Z; c" j( [
- res = f_mkfs(0 , 0, _MAX_SS); - j3 y3 k) s% r; F) i. `9 A& ?: k8 w
- res = f_open(&file, "data.txt", FA_OPEN_ALWAYS | FA_WRITE | FA_READ); * x/ l. K) |- @& S8 A2 U [6 T
- f_printf(&file, "%s\n", "Success"); /* "Success" */ 2 q5 h$ o1 G- }2 _/ M
- parray = f_gets(parray , 8, &file); 2 `6 J; s; X, N0 [7 i& ~/ t @
- LCMTextOutExt( 0, 0, parray ); # c( i4 f- @8 a2 E" c
- f_close(&file);
3 s- c6 _- x0 w6 g* M - f_mount(0, NULL);
+ F0 m6 i) C% } * Z7 ~% m% z5 E+ g% J0 F) O( r' D0 \
复制代码 |
RE:【MCU实战经验】STM32F103VE的片内Flash(512K)使用FatFS系统系统
RE:【MCU实战经验】STM32F103VE的片内Flash(512K)使用FatFS系统系统
RE:【MCU实战经验】STM32F103VE的片内Flash(512K)使用FatFS系统系统
回复:【MCU实战经验】STM32F103VE的片内Flash(512K)使用FatFS系统系统
回复:【MCU实战经验】STM32F103VE的片内Flash(512K)使用FatFS系统系统
回复:【MCU实战经验】STM32F103VE的片内Flash(512K)使用FatFS系统系统
回复:【MCU实战经验】STM32F103VE的片内Flash(512K)使用FatFS系统系统
回复:【MCU实战经验】STM32F103VE的片内Flash(512K)使用FatFS系统系统
RE:【MCU实战经验】STM32F103VE的片内Flash(512K)使用FatFS系统系统
RE:【MCU实战经验】STM32F103VE的片内Flash(512K)使用FatFS系统系统
回复:【MCU实战经验】STM32F103VE的片内Flash(512K)使用FatFS系统系统
RE:【MCU实战经验】STM32F103VE的片内Flash(512K)使用FatFS系统系统
回复:【MCU实战经验】STM32F103VE的片内Flash(512K)使用FatFS系统系统
回复:【MCU实战经验】STM32F103VE的片内Flash(512K)使用FatFS系统系统