|
Atmel SAM3U4, Различные вопросы |
|
|
|
Jun 26 2011, 18:46
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Доброго времени суток! Начал потихоньку осваивать SAM3U4C, сделал темку, так как возникают различные вопросы, которые хотелось бы обсудить.
В этом камне, не смотря на два банка, RAM можно использовать как единый блок по адресам 0x20078000 - 0x20083FFF.
Можно ли такую же методику применить к флеш? В комплекте с ИАРом идёт флешлоадер, который шьёт сразу два банка по адресам 0x000E0000 - 0x0011FFFF.
Сделал в .icf файле также, посмотрим, как получится на практике, если вместо 0x00080000 везде в программе использовать 0x000E0000.
Ещё хотел спросить про встроенный RTC, если кто им пользовался.
Я так понял, что модифицировать время тут не так просто - надо сначала остановить часы, записать новые значения, запустить их, и подождать около 1 секунды, пока можно будет проводить следующую модификацию. Вот что интересно - после записи и запуска часов сбрасывается ли прескалер секунд? То есть переход на следующую секунду наступит ровно через секунду после запуска, или раньше, в зависимости от значения прескалера?
|
|
|
|
|
 |
Ответов
|
Dec 15 2011, 16:15
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(sonycman @ Dec 15 2011, 15:19)  Впрочем, ошибок нет, даже если совсем убрать ожидание NOTBUSY. То ли это из-за низкой скорости интерфейса (работает пока на паре мегагерц, в отладочных соображениях), и карта успевает отпустить линию данных, то ли всё же контроллер отслеживает статус автоматически... Ну, на CMD7 карте задумываться особо и не о чем. Цитата(sonycman @ Dec 15 2011, 19:05)  Может ли DMAC выполнять чтение\запись памяти по произвольному адресу, а не только по выровненному до слова? Может, но тогда ширина передачи должна быть снижена до байта, что скажется на производительности - 3/4 возможности шины будут пущены на ветер. Цитата(sonycman @ Dec 15 2011, 19:05)  Можно ли обойтись одним так, чтобы чтение 32 секторов выполнялось за один раз, или придётся 32 раза перепрограммировать DMA (на каждый сектор)? Теоретически можно обойтись одним. Контроллеру HSMCI в общем-то все равно, как запрограммирован контроллер DMA, лишь бы данные шли.
|
|
|
|
|
Dec 15 2011, 18:59
|

Любитель
    
Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695

|
Цитата(aaarrr @ Dec 15 2011, 20:15)  Может, но тогда ширина передачи должна быть снижена до байта, что скажется на производительности - 3/4 возможности шины будут пущены на ветер. Понятно. Но зато не надо париться с выравниванием. Что-то я слабо представляю, как вообще возможно всегда получать выровненный адрес в памяти, с которой будет работать файловая система в реальном приложении. Хотя, среди примеров есть способ программирования DMA несколькими дескрипторами для передачи блока данных длиной не кратной 4. Если только делать что-то похожее... Среди регистров DMAC есть поля Source Chunk Transfer Size и Destination Chunk Transfer size. Могут принимать значения 1 или 4. Это что-то типа пакетной передачи? Последнее, как я понимаю, будет лучше? Цитата(aaarrr @ Dec 15 2011, 20:15)  Теоретически можно обойтись одним. Контроллеру HSMCI в общем-то все равно, как запрограммирован контроллер DMA, лишь бы данные шли. В общем, буду пробовать
|
|
|
|
|
Dec 15 2011, 19:10
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(sonycman @ Dec 15 2011, 22:59)  Что-то я слабо представляю, как вообще возможно всегда получать выровненный адрес в памяти, с которой будет работать файловая система в реальном приложении. А в чем проблема? Файловой системе все равно придется работать с целыми секторами, так почему бы их не выровнять по границе слова? Кроме того, не стоит забывать, что ядру тоже не всегда удобно работать с не выровненными адресами - всякие memset/memcpy это замедлит. Цитата(sonycman @ Dec 15 2011, 22:59)  Среди регистров DMAC есть поля Source Chunk Transfer Size и Destination Chunk Transfer size. Могут принимать значения 1 или 4. Это что-то типа пакетной передачи?
Последнее, как я понимаю, будет лучше? Да, это значит, что HSMCI и DMA будут между собой обмениваться блоками по 4 слова, что, несомненно, лучше. Только не забудьте установить это поле и у HSMCI и у DMAC одинаково.
|
|
|
|
Сообщений в этой теме
sonycman Atmel SAM3U4 Jun 26 2011, 18:46 aaarrr Цитата(sonycman @ Jun 26 2011, 22:46) Мож... Jun 26 2011, 19:17 sonycman Цитата(aaarrr @ Jun 26 2011, 23:17) Это т... Jun 26 2011, 21:03  aaarrr Цитата(sonycman @ Jun 27 2011, 01:03) При... Jun 26 2011, 21:07   sonycman Цитата(aaarrr @ Jun 27 2011, 01:07) Конеч... Jun 27 2011, 01:37    aaarrr Цитата(sonycman @ Jun 27 2011, 05:37) Но ... Jun 27 2011, 02:35 sonycman Да, в даташите довольно много ошибок\опечаток... Jun 29 2011, 15:48 aaarrr Цитата(sonycman @ Jun 29 2011, 19:48) Да,... Jun 29 2011, 17:03  sonycman Цитата(aaarrr @ Jun 29 2011, 21:03) Увы, ... Jun 29 2011, 17:13   aaarrr Цитата(sonycman @ Jun 29 2011, 21:13) Кст... Jun 29 2011, 17:31    sonycman Цитата(aaarrr @ Jun 29 2011, 21:31) Это п... Jun 29 2011, 17:41     aaarrr Цитата(sonycman @ Jun 29 2011, 21:41) Вот... Jun 29 2011, 17:46      sonycman Цитата(aaarrr @ Jun 29 2011, 21:46) На са... Jun 29 2011, 17:59       aaarrr Цитата(sonycman @ Jun 29 2011, 21:59) Вот... Jun 29 2011, 18:45 sonycman Из мануала не совсем понятно, в режиме Sleep Mode ... Jul 1 2011, 11:20 aaarrr Цитата(sonycman @ Jul 1 2011, 15:20) Но о... Jul 1 2011, 12:36  sonycman Цитата(aaarrr @ Jul 1 2011, 16:36) Не отн... Jul 1 2011, 13:50   aaarrr Цитата(sonycman @ Jul 1 2011, 17:50) ЗЫ: ... Jul 1 2011, 14:13    sonycman Цитата(aaarrr @ Jul 1 2011, 18:13) В Slee... Jul 1 2011, 14:29     aaarrr Цитата(sonycman @ Jul 1 2011, 18:29) Каки... Jul 1 2011, 14:42 sonycman Провозился вчера весь день с блоком таймеров, реал... Jul 4 2011, 10:10 aaarrr Цитата(sonycman @ Jul 4 2011, 14:10) Приш... Jul 4 2011, 11:22  sonycman Цитата(aaarrr @ Jul 4 2011, 15:22) Не пон... Jul 4 2011, 12:29   aaarrr Цитата(sonycman @ Jul 4 2011, 16:29) Цифр... Jul 4 2011, 12:37 sonycman Кстати, ещё одна фишка по поводу странной работы с... Jul 4 2011, 13:28 aaarrr Цитата(sonycman @ Jul 4 2011, 17:28) Стра... Jul 4 2011, 14:41  sonycman Цитата(aaarrr @ Jul 4 2011, 18:41) В ваше... Jul 4 2011, 16:25 sonycman Цитата(aaarrr @ Jul 4 2011, 15:22) Нет, о... Jul 4 2011, 21:46 aaarrr Цитата(sonycman @ Jul 5 2011, 01:46) К сл... Jul 5 2011, 06:31  sonycman Цитата(aaarrr @ Jul 5 2011, 10:31) Странн... Jul 5 2011, 08:27   aaarrr Цитата(sonycman @ Jul 5 2011, 12:27) Наве... Jul 5 2011, 09:14    sonycman Цитата(aaarrr @ Jul 5 2011, 13:14) Надо б... Jul 5 2011, 09:37 aaarrr Проверил на SAM7: таки да, не доходит до RC, что с... Jul 5 2011, 15:58 sonycman Цитата(aaarrr @ Jul 5 2011, 19:58) То ест... Jul 5 2011, 18:10  aaarrr Цитата(sonycman @ Jul 5 2011, 22:10) И с ... Jul 5 2011, 18:19 singlskv Цитата(aaarrr @ Jul 5 2011, 19:58) Провер... Aug 25 2011, 21:29  sonycman Цитата(singlskv @ Aug 26 2011, 01:29) ну ... Aug 26 2011, 13:27   BurglarInt Здравствуйте, у меня появилась проблема при работе... Aug 30 2011, 12:12  singlskv Цитата(singlskv @ Aug 26 2011, 01:29) то ... Sep 12 2011, 22:03 sonycman Начал разбираться с SDIO (MCI) контроллером.
У не... Aug 9 2011, 15:48 aaarrr При записи может возникнуть только underrun, если ... Aug 9 2011, 16:01 sonycman Понятно, тогда устанавливаю их и забываю про это
... Aug 9 2011, 16:09 aaarrr Цитата(sonycman @ Aug 9 2011, 20:09) Даль... Aug 9 2011, 16:57  sonycman Цитата(aaarrr @ Aug 9 2011, 20:57) А вот ... Aug 9 2011, 17:02   aaarrr Цитата(sonycman @ Aug 9 2011, 21:02) ЗЫ: ... Aug 9 2011, 17:30    sonycman Цитата(aaarrr @ Aug 9 2011, 21:30) Да, то... Aug 9 2011, 18:06 aaarrr Я вводил поддержку SD за пару дней в страшной спеш... Aug 9 2011, 20:40 sonycman Цитата(aaarrr @ Aug 10 2011, 00:40) Я вво... Aug 11 2011, 16:55  aaarrr Цитата(sonycman @ Aug 11 2011, 20:55) За ... Aug 11 2011, 18:02   sonycman Цитата(aaarrr @ Aug 11 2011, 22:02) Что с... Aug 11 2011, 18:26    aaarrr Цитата(sonycman @ Aug 11 2011, 22:26) А н... Aug 11 2011, 19:49 sonycman Что-то не пойму, почему у меня виснет контроллер п... Aug 21 2011, 18:34 aaarrr Цитата(sonycman @ Aug 21 2011, 22:34) Всё... Aug 31 2011, 12:13 sonycman Цитата(aaarrr @ Aug 31 2011, 16:13) Наблю... Aug 31 2011, 21:08 aaarrr Охладить попробуйте - кит у меня зависал после ули... Aug 31 2011, 21:27 aaarrr 1-2. Нет.
3. Каких-либо прямых ограничений не имее... Sep 12 2011, 22:12 singlskv Цитата(aaarrr @ Sep 13 2011, 02:12) 1-2. ... Sep 12 2011, 22:27  aaarrr Цитата(singlskv @ Sep 13 2011, 02:27) А ч... Sep 12 2011, 22:32   singlskv Цитата(aaarrr @ Sep 13 2011, 02:32) Как и... Sep 12 2011, 22:39    aaarrr Цитата(singlskv @ Sep 13 2011, 02:39) то ... Sep 12 2011, 22:51     singlskv Цитата(aaarrr @ Sep 13 2011, 02:51) ообще... Sep 12 2011, 23:22 sonycman Потихоньку пишу инициализацию карты памяти контрол... Sep 22 2011, 18:22 aaarrr Цитата(sonycman @ Sep 22 2011, 22:22) Спр... Sep 22 2011, 19:57  sonycman Цитата(aaarrr @ Sep 22 2011, 23:57) Это н... Sep 23 2011, 01:37 sonycman Инициализация карты у меня получается такая:
Power... Sep 23 2011, 16:29 aaarrr Цитата(sonycman @ Sep 23 2011, 20:29) Ини... Sep 23 2011, 16:52  sonycman Спасибо!
Цитата(aaarrr @ Sep 23 2011, 20... Sep 23 2011, 17:00   aaarrr Цитата(sonycman @ Sep 23 2011, 21:00) А в... Sep 23 2011, 17:22 sonycman Цитата(aaarrr @ Sep 23 2011, 21:21) Можно... Sep 23 2011, 17:25 aaarrr Цитата(sonycman @ Sep 23 2011, 21:25) А в... Sep 23 2011, 17:30  sonycman Цитата(aaarrr @ Sep 23 2011, 21:30) Нет, ... Sep 23 2011, 17:44   aaarrr Цитата(sonycman @ Sep 23 2011, 21:44) То ... Sep 23 2011, 18:14 sonycman Хм, этот HSMCI вообще может корректно обрабатывать... Dec 15 2011, 10:28 aaarrr Цитата(sonycman @ Dec 15 2011, 14:28) Но ... Dec 15 2011, 10:40  sonycman Цитата(aaarrr @ Dec 15 2011, 14:40) Нет. ... Dec 15 2011, 10:43   aaarrr Цитата(sonycman @ Dec 15 2011, 14:43) но ... Dec 15 2011, 10:55    sonycman Цитата(aaarrr @ Dec 15 2011, 14:55) Кстат... Dec 15 2011, 11:00 aaarrr Ну, на CMD7(DESELECT) ответа и не должно быть.
Сд... Dec 15 2011, 11:14 sonycman Цитата(aaarrr @ Dec 15 2011, 15:14) Ну, н... Dec 15 2011, 11:19 sonycman Ну вот, вроде сделал чтение сектора, теперь надо б... Dec 15 2011, 15:05   sonycman Цитата(aaarrr @ Dec 15 2011, 20:15) Теоре... Dec 15 2011, 19:22    aaarrr Цитата(sonycman @ Dec 15 2011, 23:22) Но ... Dec 15 2011, 20:30     sonycman Цитата(aaarrr @ Dec 16 2011, 00:30) Упс. ... Dec 16 2011, 01:41      aaarrr Цитата(sonycman @ Dec 16 2011, 05:41) Поч... Dec 16 2011, 02:08       sonycman Цитата(aaarrr @ Dec 16 2011, 06:08) Так н... Dec 16 2011, 06:46        aaarrr Цитата(sonycman @ Dec 16 2011, 10:46) Инт... Dec 16 2011, 20:47         sonycman Цитата(aaarrr @ Dec 17 2011, 00:47) Карта... Dec 17 2011, 01:39          aaarrr Цитата(sonycman @ Dec 17 2011, 05:39) То ... Dec 19 2011, 08:12 sonycman Эмм... дошёл до конфигурирования DMA применительно... Dec 20 2011, 10:30 aaarrr Цитата(sonycman @ Dec 20 2011, 14:30) Наш... Dec 20 2011, 13:34  sonycman Цитата(aaarrr @ Dec 20 2011, 17:34) Табли... Dec 20 2011, 14:12 sonycman В мануале в примерах программирования DMA под HSMC... Dec 20 2011, 21:40 aaarrr Цитата(sonycman @ Dec 21 2011, 01:40) Оче... Dec 20 2011, 22:13 sonycman Попробовал запрограммировать DMAC на чтение из HSM... Dec 20 2011, 23:37 sonycman По поводу мультисекторной записи - в примерах в ма... Dec 22 2011, 12:05 aaarrr Мутный момент. Я смотрю DMADONE при чтении и BLKE ... Dec 22 2011, 12:14 sonycman Цитата(aaarrr @ Dec 22 2011, 16:14) XFRDO... Dec 22 2011, 12:41
2 страниц
1 2 >
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|