отвечаю
(«Телесистемы»: Конференция 'Микроконтроллеры и их применение')

миниатюрный аудио-видеорекордер mAVR

Отправлено Andy-spb 29 августа 2003 г. 18:16
В ответ на: Я с этим камнем не работал. Но с другими проблем не было(+) отправлено si 29 августа 2003 г. 17:19

я использую gcc и gdb. gdb работает через gdbserver, который в свою очередь использует отладчик monice (для связи с JTAG контроллером EPI Magic).

Есть атмеловская тестовая программа, которая нормально работает. В силу того, что атмел ориентируется на винды, все исходники заточены под средства разработки идущие вместе с их диском (в частности обработчик прерываний), поэтому загружал эту программу только из под виндов.

Та версия программы, которую я пытаюсь заставить работать, входит в состав некой операционки, для загрузки которой используется другой скрипт - другая конфигурация памяти и пр. Но принципиальных отличий нет.

Далее, я читаю данные из MMC контроллера, один блок 512 байт. Без разницы - из под отлачика, или из под монитора - после отработки программы буфер обмена оказывается порипаным. Ставлю брэйкпоинт сразу после запуска DMA обмена - читается все отлично.
У меня тоже были мысли насчет рассинхронизации ядра и DMA контроллера, но фактически DMA является частью ядра и тактируется напрямую (не через PMC контроллер). Другое дело, что регистры DMA мапятся на область памяти отдельных периферийных устройств, но там все очевидно.

Теперь самое интересное - состояние буфера, которое я получаю после DMA обмена:
(little-endian)

000: 00010203 04050607 08090A0B 0C0D0E0F 10111213 14151617 24191A1B 28291E1F
020: 2C2D2E2F 30313233 34353637 38393A3B 3C3D3E3F 4C414243 50515247 54555657
040: 58595A5B 5C5D5E5F 60616263 64656667 74756A6B 78797A7B 7C7D7E7F 80818283
060: 84858687 88898A8B 8C8D8E8F 9C919293 A0A19697 A4A5A69B A8A9AAAB ACADAEAF
080: B0B1B2B3 B4B5B6B7 B8B9BABB C8BDBEBF CCCDC2C3 D0D1D2C7 D4D5D6D7 D8D9DADB
0a0: DCDDDEDF E0E1E2E3 E4E5E6E7 E8E9EAEB F8EDEEEF FCFDF2F3 000102F7 04050607
0c0: 08090A0B 0C0D0E0F 10111213 14151617 24251A1B 28292A2B 2C2D2E2F 30313233
0e0: 34353637 44393A3B 48494A3F 4C4D4E4F 50515253 54555657 58595A5B 5C5D5E5F
100: 60616263 70656667 74757677 78797A7B 7C7D7E7F 80818283 84858687 94898A8B
120: 98998E8F 9C9D9E93 A0A1A2A3 A4A5A6A7 A8A9AAAB ACADAEAF B0B1B2B3 C0B5B6B7
140: C4C5BABB C8C9CABF CCCDCECF D0D1D2D3 D4D5D6D7 D8D9DADB DCDDDEDF ECE1E2E3
160: F0F1F2E7 F4F5F6F7 F8F9FAFB FCFDFEFF 00000000 00000000 00000000 00000000
180: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1a0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1c0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1e0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru