|
STM32 SDIO 4bit SD-card, Подскажите кто делал, в чем может быть проблема |
|
|
|
 |
Ответов
|
Feb 16 2013, 11:32
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 18-03-11
Пользователь №: 63 690

|
пытаюсь "поженить" scmRTOS на stm32f103 с SD картой fatfs через стмовский драйвер по SDIO интерфейсу. процесс с обработчиком SD-карты имеет самый низкий приоритет. проблема заключается в том, что при чтении с карты виснет время от времени после посылки команды на чтение. что в режиме дма, что в режиме прерываний. выяснил, что если ОС прерывает процесс между посылкой команды и обработкой ответа на команду в процедуре CmdResp1Error, в которой сбрасываются флаги прерываний модуля sd, буфер фифо успевает заполниться и соответственно после сброса флагов прерывание не возникает. вопрос состоит в том, как безболезненно заблокировать ОС на эти пару команд? худо-бедно начинает работать при делителе тактового сигнала на 30 примерно 2 МГц. без ОС все работает.
Сообщение отредактировал dezna - Feb 16 2013, 11:34
|
|
|
|
|
Feb 17 2013, 07:26
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 18-03-11
Пользователь №: 63 690

|
Цитата(DmitryM @ Feb 17 2013, 10:34)  TCritSect cs; если не трудно объясните пожалуйста что это даст, и как этим воспользоваться?
|
|
|
|
|
Feb 18 2013, 06:27
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 18-03-11
Пользователь №: 63 690

|
Цитата(DmitryM @ Feb 18 2013, 10:18)  деструктор вызовется компилятором при выходе из секции. а нельзя ли принудительно его вызвать? код просто написан так, что в теле одного блока нужно запретить/разрешить. драйвер SD карты взят от STM. а там упаришься переделывать.
|
|
|
|
|
Feb 18 2013, 06:56
|
Знающий
   
Группа: Свой
Сообщений: 583
Регистрация: 7-06-06
Из: Таганрог
Пользователь №: 17 840

|
Цитата(dezna @ Feb 18 2013, 09:27)  а нельзя ли принудительно его вызвать? код просто написан так, что в теле одного блока нужно запретить/разрешить. драйвер SD карты взят от STM. а там упаришься переделывать. При выходе из блока автоматически будет вызван деструктор, который восстановит состояние, предшествовавшее входу в критическую секцию. Т.е. при таком способе отсутствует возможность «забыть» разрешить прерывания при выходе из критической секции. P.S. для обсуждения scmRTOS есть отдельный форум scmRTOS
|
|
|
|
|
Feb 18 2013, 07:01
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 18-03-11
Пользователь №: 63 690

|
Цитата(DmitryM @ Feb 18 2013, 10:56)  P.S. для обсуждения scmRTOS есть отдельный форум scmRTOSспасибо.
|
|
|
|
Сообщений в этой теме
zksystem STM32 SDIO 4bit SD-card Jul 16 2010, 10:12 zksystem Вопрос снят, оказывается забыл запаять подтягивающ... Jul 16 2010, 11:16 klen Цитата(zksystem @ Jul 16 2010, 15:16) Воп... Jul 17 2010, 05:01 011119xx Столкнулся с проблемой чтения блока из карты. Код ... May 3 2011, 06:05 ALXLight Цитата(011119xx @ May 3 2011, 09:05) Чтен... Mar 23 2012, 11:28 011119xx В качестве эксперимента попробовал другой режим:
К... May 4 2011, 08:43 011119xx Проблема неработоспособности была в том, что вывод... May 6 2011, 02:42 zksystem Цитата(011119xx @ May 6 2011, 05:42) Проб... May 8 2011, 06:49 011119xx Проблема решена полностью. Работают все режимы. Де... May 10 2011, 02:57 011119xx Если использовал стартовый ассемблерный файл, созд... Mar 23 2012, 11:48 ALXLight Я брал файл с диска от платы. Насчёт startup_stm32... Mar 23 2012, 12:03 AHTOXA Цитата(ALXLight @ Mar 23 2012, 18:03) Взя... Mar 23 2012, 17:53  ALXLight Цитата(AHTOXA @ Mar 23 2012, 20:53) Дык, ... Mar 26 2012, 05:57 ALXLight Не нашёл кнопки редактирования, поэтому прошу прощ... Mar 26 2012, 08:38 AHTOXA Попробуйте вызвать SD_SetDeviceMode() с другим пар... Mar 26 2012, 08:43 ALXLight Polling выдаёт ошибку, а interrupt мне не подходит... Mar 26 2012, 08:46 MBR 1. УМВР без подтяжки. Достаточно включить внутренн... Apr 28 2012, 08:10 dezna что это такое разобрался, но в документации нет пр... Feb 18 2013, 06:14 Allregia Блин, столкнулся с тем, что SD-коннекторы бывают с... Feb 21 2013, 08:26 dezna Цитата(Allregia @ Feb 21 2013, 12:26) Бли... Feb 21 2013, 11:50 Allregia У меня и так стоят 4 джампера конфигурирования, но... Feb 21 2013, 19:26 A.Lex Столкнулся с проблемой:
Делаю
Status = SD_Init()... Feb 10 2014, 16:17
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|