Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: data abort при обращении
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
andrvisht
при записи в область памяти USB получаю data abort.
Наблюдается только "в живую" (J-Link).
проблема возникает после включения USB
Код
PCONP |= 1u << 31;

из Errata было выяснено:
Цитата
USB.1:USB_NEED_CLK is always asserted
...
Workaround:After setting the PCUSB bit in PCONP (located at 0xE01F C0C4), write 0x1 to address 0xFFE0C008. The USB_NEED_CLK signal will now function correctly. Writing to address 0xFFE0C008 only needs to be done once after each chip reset.

изменение кода на
Код
    PCONP |= 1u << 31;
    HC_CMD_STAT = 1;
    FIO0DIR = 0;
    USBPortSel = 0x03;           // вот после этого - data abort

проблему не решает.
проект для Keil 3.8a прилагается.
надписи на проце:
LPC2378FBD144
SH4140.1 01
ZSD0747BY
cranky.gif
andrvisht
проблему решил путем внимательного прочтения user manual rolleyes.gif
в процессе было выявлено:
на стр. 339
для регистра USBCmdCode
имеем CMD_PHASE
0x01 - Read
0x02 - Write
0x05 - Command
на стр. 350
имеем пример
Код
USBCmdCode = 0x00F50200; // CMD_CODE=0xF5, CMD_PHASE=0x02(Read)

где уже 0x02 считается Read.
сравнив UM на другие LPC выяснил, что 0x02 действительно Read.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.