显示 [E/DFS] File system (elm) was not found.

发表在 Filesystem2019-6-25 16:19 [复制链接] 15 408

本帖最后由 aozima 于 2019-9-12 15:17 编辑
+ D" D" |" q2 {
/ Z) y4 H9 G7 F0 ?" Z1 n, m4 R正点原子战舰,挂载文件系统,开启显示[E/DFS] File system (elm) was not found.不知道如何解决2 s% q0 B2 q8 o0 f) S
程序里面已经启动了INIT_COMPONENT_EXPORT(elm_init);% X+ B" t- ]6 ]2 n* d9 A
还有另外一段初始化SPI的代码是这样的:
. R: y  c  V- t9 R6 V1 C# }
  1. static int rt_hw_spi_flash_init(void)
    # o3 @" _4 \9 `- _5 y1 h* D
  2. {
    ) x1 Y; \) V# @; q- ~
  3.     __HAL_RCC_GPIOB_CLK_ENABLE();: i1 z# O' J, Y( C) p! X
  4.     rt_hw_spi_device_attach("spi2", "spi20", GPIOB, GPIO_PIN_12);
    7 R5 m9 l, W$ `

  5. + L9 M4 D! P: v, Q( ~2 ^1 q, d. F
  6.     if (RT_NULL == rt_sfud_flash_probe("W25Q128", "spi20"))( Z/ Q2 M6 h' Y- `
  7.     {( b0 E2 H. J% I! Z- }
  8.         return -RT_ERROR;
    . p; [. p$ E, o  U6 o' U
  9.     };/ F4 R7 G. v! f
  10. + t- u2 V  P3 T( r, a8 Z
  11.     dfs_mount("W25Q128", "/", "elm", 0, 0);; ~5 p9 g" Y. ^- f
  12.     dfs_mkfs("elm","W25Q128");
    5 l6 }. g- p6 J7 l* q( d$ W& _! Q

  13. ! h( |$ \$ n) ?2 f% A5 U6 p( T  h- ?8 c
  14.     return RT_EOK;
    . [$ G5 K# D2 v2 o% a
  15. }
复制代码

3 H& l) k+ a6 ?2 ~8 F' v' q: V1 T3 }. ^8 o. c

# }- n7 U, C1 d0 {* K1 \$ M
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-6-25 17:57:26 | 显示全部楼层
怀疑你文件系统并没有使能,你可以检查一下ENV配置,也 可以贴出你的rtconfig.h
使用道具 举报 回复
发表于 2019-6-25 19:30:18 | 显示全部楼层
whj467467222 发表于 2019-6-25 17:578 U9 G# y" o4 x$ A. P1 ~
怀疑你文件系统并没有使能,你可以检查一下ENV配置,也 可以贴出你的rtconfig.h ...
  1. #ifndef RT_CONFIG_H__
    $ n: e6 _6 Q, M( \. t. I  l
  2. #define RT_CONFIG_H__
    5 h1 \5 T- d( L0 r; G

  3. . n1 P* I/ [; o
  4. /* Automatically generated file; DO NOT EDIT. */
    4 X( A. }) R  q3 h9 f
  5. /* RT-Thread Configuration */
    - T* q% E/ v3 U  t
  6. 7 K1 w' K" l4 G: y: v9 E
  7. /* RT-Thread Kernel */- D, I. W2 _6 S3 N5 \3 `

  8. ' w; j( m3 `8 |5 O; o4 A* N
  9. #define RT_NAME_MAX 8+ U  q& X  }3 D- F. ?3 K
  10. #define RT_ALIGN_SIZE 47 Y; e: Z" t2 n5 b+ m6 y6 i
  11. #define RT_THREAD_PRIORITY_32
    ( P) K" |7 O$ g6 O2 S; C& F2 [1 w9 C
  12. #define RT_THREAD_PRIORITY_MAX 32
    # y% G: T" L6 z* W: c: ]% ~/ o
  13. #define RT_TICK_PER_SECOND 1000
    6 c5 T1 @/ [% A  v. U0 L5 l; q
  14. #define RT_USING_OVERFLOW_CHECK
    * h+ [! b1 i* C2 g/ w
  15. #define RT_USING_HOOK* @3 a  w/ v+ N; f" x% N7 z1 J6 i
  16. #define RT_USING_IDLE_HOOK
    & g1 e; E7 \, c; A4 [# U0 _
  17. #define RT_IDEL_HOOK_LIST_SIZE 4
    5 r7 Q- E% R( ~' g2 X
  18. #define IDLE_THREAD_STACK_SIZE 256  a( E0 k! w. F( s. Y0 `' r
  19. #define RT_DEBUG
    $ C# J! g! I  Z+ \2 V

  20. ! H% V; U( T; T# U
  21. /* Inter-Thread communication */
    ! [* c0 F+ ~7 j* Y* A

  22. 1 [- W( G; ]4 x+ y/ ]/ M( h4 |
  23. #define RT_USING_SEMAPHORE7 S4 g5 M& c! ]% ]" }0 G
  24. #define RT_USING_MUTEX2 ?" c7 R& M  R
  25. #define RT_USING_EVENT3 M$ P, j- d: ?; W/ T! I% _( V
  26. #define RT_USING_MAILBOX9 R# o3 S; c; i8 B3 q) |8 T0 G- U
  27. #define RT_USING_MESSAGEQUEUE5 g1 s2 r' Q. z
  28. 1 l. L" w" @. e5 X
  29. /* Memory Management */
    " N% _. W; v7 O6 _
  30. ; n1 B. U; U6 ~
  31. #define RT_USING_MEMPOOL: ^: V  q' V& ^) g1 b
  32. #define RT_USING_SMALL_MEM
    8 \" J0 U1 ]4 M" c4 X
  33. #define RT_USING_HEAP# h$ i' R3 w0 p# J( F

  34. 6 }+ U0 [0 H) O3 z
  35. /* Kernel Device Object */- D7 v. ]$ e5 {& M. B) z) C+ c
  36. ) G& A; E3 ^9 p! |3 L( R- A
  37. #define RT_USING_DEVICE) c5 o$ r5 v1 z0 \6 w
  38. #define RT_USING_CONSOLE
    % Y6 }% f. |* N6 x
  39. #define RT_CONSOLEBUF_SIZE 128; B/ p: C3 X6 e  ^4 F
  40. #define RT_CONSOLE_DEVICE_NAME "uart1"
    / [% C+ ]" i+ o3 ^% J
  41. #define RT_VER_NUM 0x40002
    ! n- G9 k5 F& U$ G1 A* Z, L1 {; q
  42. #define ARCH_ARM
    % N6 l' ]+ }. j: l' \) P8 A5 a7 }  y
  43. #define RT_USING_CPU_FFS
    " ^  k# B, Q8 U, |0 C5 d2 G# ^
  44. #define ARCH_ARM_CORTEX_M
    % d& u$ \- c; }0 A
  45. #define ARCH_ARM_CORTEX_M3! m# t4 h0 m' s: R5 P
  46. # D$ X  j% H; J. ?
  47. /* RT-Thread Components */6 D: U; ~. I- C% k$ W* ~% E

  48. ; q$ b! H4 K! V( @* y6 L
  49. #define RT_USING_COMPONENTS_INIT
    4 h; p! Z6 W; V
  50. #define RT_USING_USER_MAIN
    # r6 L" S$ o' P! R
  51. #define RT_MAIN_THREAD_STACK_SIZE 2048
    ! `0 z9 [# q( e' _+ y" T
  52. #define RT_MAIN_THREAD_PRIORITY 10
    4 S' E3 d  _- `. Y  b* |3 n
  53. + @# g# e8 t7 o) i) g* l7 g, I% b
  54. /* C++ features */
    9 Z! A: ^) d! G, U; M

  55. : Z& t8 Z5 X* C6 s0 j+ X# \" v
  56. * h  ]* |: P9 p% J8 m' K; ^- e! `
  57. /* Command shell */  Y1 i) q/ A! O& ^4 W
  58. # S: E' g5 M; G* s- K
  59. #define RT_USING_FINSH4 p* j  \6 J# W3 n3 a" x& |
  60. #define FINSH_THREAD_NAME "tshell"
    + L  n* f6 B; H8 E
  61. #define FINSH_USING_HISTORY3 A3 E- Y7 n5 r$ n
  62. #define FINSH_HISTORY_LINES 50 K6 F( M' h% e6 c: a
  63. #define FINSH_USING_SYMTAB
    % h" [$ X2 a6 w8 V( T
  64. #define FINSH_USING_DESCRIPTION1 i. _- g1 ~# C# Q5 y- u
  65. #define FINSH_THREAD_PRIORITY 209 {) a8 W8 a: A' j0 ^0 s0 Y+ b" C
  66. #define FINSH_THREAD_STACK_SIZE 4096. W( ^( z/ s( v; v; C- f  |* W
  67. #define FINSH_CMD_SIZE 80# L8 o6 _( P' {9 t, a8 w, d
  68. #define FINSH_USING_MSH
    # v: X' T$ B3 A$ \5 x
  69. #define FINSH_USING_MSH_DEFAULT
    8 p# H6 V, g$ c
  70. #define FINSH_USING_MSH_ONLY" o  K. ~  D3 S) c
  71. #define FINSH_ARG_MAX 10) C! l5 _/ b( V
  72. " N$ G+ T% o$ }7 `. T/ K! R
  73. /* Device virtual file system */2 _% b7 d& _5 v6 E

  74. ; o6 a8 g4 J3 T3 s, j& c
  75. #define RT_USING_DFS
    ( c8 ]8 U4 y& m9 p
  76. #define DFS_USING_WORKDIR
    ( ]2 f' G5 w* F0 l+ \8 W9 Q
  77. #define DFS_FILESYSTEMS_MAX 26 D% t8 i& |+ W6 J. |- S6 ^0 e
  78. #define DFS_FILESYSTEM_TYPES_MAX 2& R1 E" b/ c& N% D& i4 ?: }( `+ z
  79. #define DFS_FD_MAX 168 I+ Y7 \' X4 ]+ Q! J
  80. #define RT_USING_DFS_ELMFAT
    ! A7 C1 g, O* Q7 M5 T/ s& |

  81. % E' b* u: j  \) T" \
  82. /* elm-chan's FatFs, Generic FAT Filesystem Module */
    ' C+ P8 Q  y3 D% v+ Q3 {

  83. ' U- {) Q) B+ e2 o+ A4 s
  84. #define RT_DFS_ELM_CODE_PAGE 437
    # E; s* v# `2 A: ]. b3 S
  85. #define RT_DFS_ELM_WORD_ACCESS
    8 ?2 n0 P6 {! ^+ ]2 N1 Y' S' Q
  86. #define RT_DFS_ELM_USE_LFN_3
    $ b0 f0 E& P2 n
  87. #define RT_DFS_ELM_USE_LFN 36 ~/ S) M/ r  s, d& `# U, I5 }
  88. #define RT_DFS_ELM_MAX_LFN 255
    # t  W8 s! B% o$ v* o( i
  89. #define RT_DFS_ELM_DRIVES 2* M: P% D5 p0 g% L3 f: A+ z
  90. #define RT_DFS_ELM_MAX_SECTOR_SIZE 4096/ Y. {0 I/ j& j  [
  91. #define RT_DFS_ELM_USE_ERASE" \+ `. ]. j+ ~1 R4 B" J" K
  92. #define RT_DFS_ELM_REENTRANT
    2 ^: ~: |3 ]$ y4 i& ^* D6 K" \7 Q. h
  93. #define RT_USING_DFS_DEVFS8 ?: r4 L- [( ]

  94. : w  X+ r; t! p6 K/ I! K
  95. /* Device Drivers */9 @2 [; i! ]/ b" j6 }& d& Y
  96. ' a6 Y1 `( o& a* Q9 g
  97. #define RT_USING_DEVICE_IPC: ^- c2 o# J: \! \* N# ^4 ]" p
  98. #define RT_PIPE_BUFSZ 512* x+ w4 R' L! l  R! M
  99. #define RT_USING_SERIAL
    % K* j- p3 i4 R7 A
  100. #define RT_SERIAL_USING_DMA
    3 {$ R8 E- Y1 [7 N0 z1 Z
  101. #define RT_SERIAL_RB_BUFSZ 64
      Q1 C+ K8 ~4 V1 Q# m; @" r; q9 @
  102. #define RT_USING_HWTIMER
    % p" o; j+ r& ^( y/ @% w4 b
  103. #define RT_USING_PIN" ?1 Q$ i* d# q, v
  104. #define RT_USING_ADC
    ( x+ |7 Z- r- h
  105. #define RT_USING_PWM
    # P0 f1 i6 R/ {3 Y* s: B# [3 j! Y
  106. #define RT_USING_MTD_NOR, j5 t  N+ B3 y  Q
  107. #define RT_USING_SPI& N$ [! M; n$ \) R1 v
  108. #define RT_USING_SFUD' P( P( U* X$ w+ @
  109. #define RT_SFUD_USING_SFDP
    7 _# ]9 t% n2 E* @6 c
  110. #define RT_SFUD_USING_FLASH_INFO_TABLE) r+ z; j3 i9 Z0 T

  111. % b; k' z; T! ~" x; v. U
  112. /* Using Hardware Crypto drivers */
    $ {( v) W& {( {' _7 J

  113. . W+ {1 L! E& E, [

  114. 1 i- W6 C% _" `! y2 u& r' N9 D
  115. /* Using WiFi */
    / e. Y3 G9 T$ z1 P2 @

  116. 6 {+ b* C  p* I# s0 }$ c

  117. ; E" ^5 I% s) L3 A
  118. /* Using USB */
    " h3 X4 @% K, n0 p- p

  119. . ~, Q/ p! D8 E0 t0 q# D

  120. 6 o! ?1 t1 f5 \% I
  121. /* POSIX layer and C standard library */  {- `+ [0 A) \
  122. 7 u" e& J: p, r3 q! Y, J0 R
  123. #define RT_USING_LIBC2 w1 H& J- G: W; ?  U# d
  124. #define RT_USING_POSIX
    - S% U' \/ r& a5 ]! e8 c" H+ ~8 t

  125. 5 z7 M0 Q: e6 N% i) ~
  126. /* Network */
    6 Z/ W- g0 m# `

  127. 8 T/ e0 e' D  L: n) k1 R( n  {
  128. /* Socket abstraction layer */- L3 T7 k  Y; |6 {  s: v
  129. ! q5 o0 v2 M, S, D

  130. . j! h/ I. F( d# @! v
  131. /* Network interface device */
    ! t3 ^4 n) c$ C6 k) y- M

  132. % k4 a% x$ Q# y
  133. 2 U/ q! q' A* a/ a* T
  134. /* light weight TCP/IP stack */
    : l+ g2 W2 b% }: \: y
  135.   {6 q9 F5 A# u9 k/ Z

  136. 7 e$ a: o" ^2 @  }
  137. /* Modbus master and slave stack */
    ' C% G6 o2 W7 {# y; E4 w, M

  138. - P1 w. O0 v/ Q3 [

  139. # w4 A5 r/ u7 y% Z6 \6 A
  140. /* AT commands */
    5 D- q. N6 v" V; c7 ]' D8 g4 p

  141. ) `9 W# I- u( C, v& k

  142. & r7 P2 [1 L+ z+ |
  143. /* VBUS(Virtual Software BUS) */! e' {" b* h4 c5 I

  144. 1 K6 a5 `* V8 K! ?+ ]

  145. 8 ]1 b# H3 E3 t- J: Z& R, ]
  146. /* Utilities */
    : i3 z7 b5 k& K

  147. 2 k- O6 o# @1 |2 \% i0 l) V% K

  148. 7 S( I5 T8 @9 k6 ^* ?2 b9 |
  149. /* RT-Thread online packages */
    + i) q" ]9 r& R6 V
  150. . P' F& r0 @& _8 K
  151. /* IoT - internet of things */
    ! h+ k* g: z/ m$ `5 d( S" K1 F) s

  152. 7 ^8 p  j- h% t) u7 `
  153. 3 W9 z: a+ X' b' l( h
  154. /* Wi-Fi */4 u+ P- T5 B, X' e" ^0 H  r( C

  155. # |: X6 b  s/ q( |' w
  156. /* Marvell WiFi */3 @2 s/ Z  ^! o( d
  157. 7 ^5 ?) E2 E. x) c) n0 M

  158. 2 {) v4 q6 H) v8 a) A( y+ ^+ {
  159. /* Wiced WiFi */
    ! Q! P* L/ h7 j2 E0 q  l/ _' D' M
  160. 4 p+ m* y' P5 N, r5 B( \' b+ N8 P9 U- n
  161. / y- s  V. x& y! m6 Q8 K1 ?
  162. /* IoT Cloud */
    & v& s, H$ d5 j2 i

  163. % r7 L% N5 |& o
  164. - i$ C' I/ }# R, O+ [1 A* r" H( I
  165. /* security packages */
    ( z4 i+ ^' g" ?* p/ y9 P
  166. ( [6 b6 L) ~& d$ h6 I6 f/ _- D1 P
  167. & J4 ?& S6 T% L9 ?8 q) X" \
  168. /* language packages */! B7 W1 j% ]+ @7 x+ a% x2 Q' w

  169. 8 @( ]  X8 @& K, B( I
  170. / R4 _# d$ P+ x" G; g1 T4 v5 J: F  N
  171. /* multimedia packages */
    6 n2 X+ X) k5 U( J! q0 p  Q8 K
  172. * t, ~: n- _8 j; N, @

  173. - d( N4 c. A) K8 `
  174. /* tools packages */, x! b' H0 @7 ^! W4 O8 P

  175. 9 A- _  {* y1 C/ p7 K% B2 b* n

  176. 7 ]  X6 Q+ K' t( G. W% Z3 }" U
  177. /* system packages */- r! B+ a- c+ K" c9 Z7 [& x
  178. 6 G5 m9 _" B9 L' a5 E* y3 B" e
  179. #define PKG_USING_FAL
    + M; m' P1 e  o* {  k5 }
  180. #define FAL_DEBUG_CONFIG- O9 V, {" G$ N3 l6 Z/ _- q6 `
  181. #define FAL_DEBUG 19 o3 l8 E; _3 x8 Z! ~
  182. #define FAL_PART_TABLE_FLASH_DEV_NAME "onchip"
    3 \7 c2 X" Q1 X9 a6 S5 x/ s( k
  183. #define FAL_PART_TABLE_END_OFFSET 65536
    8 e3 P2 v1 N: _1 y
  184. #define FAL_USING_SFUD_PORT6 B4 x5 ~- m+ g; W3 p
  185. #define FAL_USING_NOR_FLASH_DEV_NAME "W25Q128"
    + f: ?) Q  _! Z. c4 J
  186. #define PKG_USING_FAL_V00300
    ! A- [# z" x" ?5 s
  187. #define PKG_FAL_VER_NUM 0x00300% H' a, z. B! n1 b

  188. ; w2 w9 T7 w8 E8 H, \6 h
  189. /* peripheral libraries and drivers */
    # N* W. T3 a6 S- F

  190. ; ~9 ]- m3 _  C: l7 C9 ]- R
  191. " c, h/ ^. t/ f
  192. /* miscellaneous packages */
    4 o  \4 W! k) \* z& e  }: p

  193. % l5 m- T8 s3 l) [; \$ \9 T. r# y

  194. ( G1 k6 Q$ o5 e/ H
  195. /* samples: kernel and components samples */
    # `+ C7 B2 A: x& `' P( I

  196. ) T* t1 Z4 V" _, j/ |  d3 j
  197. #define SOC_FAMILY_STM32# ~  o3 b' h$ j+ M
  198. #define SOC_SERIES_STM32F1
    ! _& ?; P. ^8 J; \7 m# Y) X
  199. 0 q: X' b! |3 V" ~. l
  200. /* Hardware Drivers Config */9 f2 [; {% U/ Q  |  ^1 C

  201. & R* q; L9 C6 [/ M, O9 V
  202. #define SOC_STM32F103ZE& A$ P: Y* U; ?& _: a+ \  X  H
  203. 7 n( K! X; l) R4 j: ^+ z0 A5 {2 m
  204. /* Onboard Peripheral Drivers */( q; t3 a& a" J- d9 z
  205. . T1 A. K3 P  j1 U2 A0 {
  206. #define BSP_USING_USB_TO_USART
    6 L$ W# \6 R: Z; j
  207. #define BSP_USING_SPI_FLASH
    3 u; W$ s& y$ V$ S  ]
  208. + W7 a& a+ p3 v$ C, G
  209. /* On-chip Peripheral Drivers */
    & ^: G0 W, A2 W! w$ g+ R- }" u

  210. ! n1 g6 {  d% i1 t/ ?
  211. #define BSP_USING_GPIO( m- [6 f1 |) o5 e  n( |
  212. #define BSP_USING_UART% d6 f- {4 ]9 @$ Q
  213. #define BSP_USING_UART1
    7 T7 D9 g" ]3 A2 e1 e
  214. #define BSP_USING_PWM
    " z4 U' \) J5 n, r4 W7 y, n
  215. #define BSP_USING_PWM3
    - [# a& y* \$ T/ D
  216. #define BSP_USING_PWM3_CH2; F8 X4 R( L# i. H9 L) H0 P
  217. #define BSP_USING_SPI
    & @' m0 P: X: r
  218. #define BSP_USING_SPI2
    ) G; h+ ?9 R1 j, A, J

  219. 8 p( c3 b: i# K4 S& G6 v
  220. /* Board extended module Drivers */
    8 L, a* r' M9 ]0 e; N
  221. ( K1 [9 K. v3 q0 r8 Y% V
  222. 7 ]+ a) H& j+ e+ B2 k
  223. #endif' ]; B: A+ j! I% f
复制代码

* k4 n8 g# @& X$ y( o  O0 R5 @; S) ]& W$ |
以上为我的rtconfig.h
使用道具 举报 回复
发表于 2019-6-25 20:04:15 | 显示全部楼层
Jimyao 发表于 2019-6-25 19:307 V6 n4 w, p- d1 d4 Y
以上为我的rtconfig.h

+ M8 }" T6 \6 k楼主    dfs_mkfs("elm","W25Q128");是格式化的意思,格式化应该在dfs_mount之前,只需要执行过一次就行。. \+ a1 I2 [6 i9 `3 l7 V! n
这个跟电脑上硬盘一个道理,没有分区的硬盘应该先建立分区并格式化。
使用道具 举报 回复
发表于 2019-6-25 20:38:22 | 显示全部楼层
zhangjun 发表于 2019-6-25 20:04
, l" w+ s0 T5 r  z; e' u$ |楼主    dfs_mkfs("elm","W25Q128");是格式化的意思,格式化应该在dfs_mount之前,只需要执行过一次就行 ...

1 a3 I& `. Q3 Y2 B, Q% s) P对啊我现在不就是这样的吗
6 ^% e9 g6 B8 V- n
使用道具 举报 回复
发表于 2019-6-25 21:24:12 | 显示全部楼层
估计文件系统支持个数太少了吧,所以mount的时候没找到fatfs文件系统类型
使用道具 举报 回复
发表于 2019-6-27 09:58:04 | 显示全部楼层
Jimyao 发表于 2019-6-25 20:384 P) v* H, v5 R2 Y
对啊我现在不就是这样的吗
5 y  H9 }+ f' N8 Q/ E8 N
你贴出来的代码是先挂载后格式化的
使用道具 举报 回复
发表于 2019-6-27 16:46:10 | 显示全部楼层
zhangjun 发表于 2019-6-27 09:58
- `* Q$ v- g# R你贴出来的代码是先挂载后格式化的
, q4 `! k  n; ]1 N% x  ]
互换了位置,一样
使用道具 举报 回复
发表于 2019-6-28 14:51:12 | 显示全部楼层
zhangjun 发表于 2019-6-27 09:58: f0 b$ N! i; w" l+ d/ N
你贴出来的代码是先挂载后格式化的

/ F. x% b& l1 ^# @% C1 u( u所以这是无解?
使用道具 举报 回复
发表于 2019-6-28 16:25:23 | 显示全部楼层
Jimyao 发表于 2019-6-28 14:51; \! |+ [4 f# o1 E
所以这是无解?

  i  g. w8 l7 y7 C$ h" Q( j1 k) ]% C你的rt_hw_spi_flash_init是不是比文件系统还要早调用的,这个时候文件系统还没初始化
% _, b6 A4 s3 }/ x0 ]+ l4 e  @* y5 X0 B, O) ^' l. h: Y, V
一般rt_hw_spi_flash_init只做flash设备初始化,挂载文件系统之类的往往要放到初始化进程中。
使用道具 举报 回复
发表于 2019-7-2 21:50:21 | 显示全部楼层
zhangjun 发表于 2019-6-28 16:25, p( y3 J2 l" _6 g0 N; a, o# }
你的rt_hw_spi_flash_init是不是比文件系统还要早调用的,这个时候文件系统还没初始化2 m( e5 N. S3 N7 r) l
7 q9 D, I% ~4 o2 v
一般rt_hw_spi_fl ...

1 s. v& w1 s& F- i2 [  _没有,elf_init是在rt_hw_spi_flash_init之后调用的。。。
使用道具 举报 回复
发表于 2019-7-3 09:53:30 | 显示全部楼层
Jimyao 发表于 2019-7-2 21:50
1 g$ e# w- U: P没有,elf_init是在rt_hw_spi_flash_init之后调用的。。。
* r+ B2 |1 O  D8 o5 @3 [
是elm_init吧。elm_init得在和dfs_mkfsdfs_mount之前。
使用道具 举报 回复
发表于 2019-7-3 18:23:04 | 显示全部楼层
zhangjun 发表于 2019-7-3 09:536 t% H6 ~: h9 o7 \/ m$ M1 _
是elm_init吧。elm_init得在和dfs_mkfsdfs_mount之前。
  1. static int rt_hw_spi_flash_init(void)  W+ G3 r/ i1 l9 o  I3 j0 N
  2. {* U& w- y) d! h5 _4 q9 G5 C
  3.     __HAL_RCC_GPIOB_CLK_ENABLE();
      Q5 _# K* H# t' s  J& R
  4.     rt_hw_spi_device_attach("spi2", "spi20", GPIOB, GPIO_PIN_12);
    ( a8 s+ i1 N1 N3 G
  5. % v; Q. X2 x  y4 a4 m9 ~- p  j  D4 T
  6.     if (RT_NULL == rt_sfud_flash_probe("W25Q128", "spi20")): U7 _; ^3 a0 R0 l5 C! l
  7.     {6 [( H. ?8 D% g- c! q, H  {
  8.         return -RT_ERROR;
    8 |+ N* n; w8 j3 `
  9.     };
    . j- e( Z+ M( K# k% \
  10.     elm_init(void);8 ^: [5 T9 N% X' J# W+ E/ ^$ L
  11.     dfs_mkfs("elm","W25Q128");$ P; Y* o' f7 G9 }% Z# _) D; M" M
  12.     dfs_mount("W25Q128", "/", "elm", 0, 0);
    ) S# ]7 u" o4 k! r. K% p' k& z3 n. c
  13. ! H% V: V3 K) G6 C" r! [( L9 G% ]
  14.     return RT_EOK;
    ) Q5 X; n. U- P, d
  15. }
    ( T- a5 y8 f7 ^( a4 R
  16. /* 导出到自动初始化 */
    4 u9 S; S3 z: V6 V6 a8 C: b* a
  17. INIT_COMPONENT_EXPORT(rt_hw_spi_flash_init);
复制代码

- Y% {  o" u, T. m/ r$ S现在改成这样,结果是一样的
使用道具 举报 回复
发表于 2019-7-3 18:34:50 | 显示全部楼层
是这样子的,elm 文件系统自动初始化级别是 INIT_COMPONENT_EXPORT。* T1 s* ]  Z/ G8 g) v. J, C1 j
详见:rt-thread/components/dfs/filesystems/elmfat/dfs_elm.c 文件 819 行左右。
6 V* i5 G9 d/ K/ x5 F" R
* O( p& |3 n) C0 Y楼主驱动使用的初始化级别也是 INIT_COMPONENT_EXPORT,可能文件系统还未初始化好,就在使用了。导致上述问题。  g# S$ B# |. e) O
  q3 ?% T. w6 e
建议楼主在 应用中初始化文件系统。确保文件系统初始化完成之后,再使用
使用道具 举报 回复
发表于 2019-7-3 18:42:56 | 显示全部楼层
还没想好 发表于 2019-7-3 18:34
: e/ t3 b& ^" a是这样子的,elm 文件系统自动初始化级别是 INIT_COMPONENT_EXPORT。
, i! b: U6 z1 Z- B% m0 v详见:rt-thread/components/dfs/files ...

4 |% k4 i1 Q3 N  E2 a7 h我这里已经手动添加了elm_init(void);
使用道具 举报 回复
发表于 2019-9-12 14:22:23 | 显示全部楼层
最后结果呢、? 我也无法正常挂载
6 B# \; Z+ `. |+ e. ]
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|RT-Thread开发者社区 ( 沪ICP备13014002号-1

有害信息举报电话:021-31165890 手机:18930558079

© 2006-2019 上海睿赛德电子科技有限公司

Powered by RT-Thread

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