Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
Кто нить работал с UART у BF532?
В файле ../include/defBF532.h есть вот такое:
#define UART_THR 0xFFC00400
#define UART_RBR 0xFFC00400
#define UART_DLL 0xFFC00400
#define UART_IER 0xFFC00404
#define UART_DLH 0xFFC00404
#define UART_IIR 0xFFC00408
#define UART_LCR 0xFFC0040C
Странно, у первых трёх регистров адреса то одинаковые...
Дык значит вот и получается следующий косяк:
Делаю так (ну ясно дело, что там перед этим весь этот хлам инициализируется...):
while (!(*pUART_LSR & THRE)) { }; //wait
*pUART_THR = c;
Запускаю симулятор, и выполняю эту выдачу в порт (ну там надо в THRE регистр единичку руками поставить дабы на месте не висеть), получается, что симулятор пихает мой символ не в THR регистр, а в DLL регистр.
В принципе так и должно быть наверное, ведь адреса то у них одинаковые...
А вот например при инициализации SDRAM (4M16):
*pEBIU_SDRRC = 0x0000074A;
*pEBIU_SDBCTL = 0x00000001;
*pEBIU_SDGCTL = 0x0091998F;
ssync();
в регистрах симулятора вообще ничего не меняеется.
VDSP++ 4.0 майская версия
ADSP-BF532 Blackfin Family Compiled Simulator