Dma неправильно получает данные от uart в Linux ⇐ Linux
-
Anonymous
Dma неправильно получает данные от uart в Linux
Я использую Linux 3.4.113 на Orange Pi One с allwinner h3 soc я пишу ниже код для передачи полученных данных по UART в память данные получены, но в буфере они неверны
#include #include #include #include #include #include #include #include #include #include #include #include #include #define CCU_BASE_ADDRESS 0x01C20000 #define IO_BASE_ADDRESS 0x01C20800 #define DMA_BASE_ADDRESS 0x01C02000 #define SPI0_BASE_ADDRESS 0x01C68000 #define UART3_BASE_ADDRESS 0x01C28C00 u8 *dst_buf; void __iomem *uart3BaseAddress; недействительный uart3_init (недействительный) { значение u32; недействительный __iomem *baseAddress; baseAddress = ioremap(CCU_BASE_ADDRESS, 1024); если (базовыйадрес == NULL) { printk("Не удалось подключить память к драйверу\n"); возвращаться; } значение = readl(baseAddress+0x02D8); значение |=(1
Я использую Linux 3.4.113 на Orange Pi One с allwinner h3 soc я пишу ниже код для передачи полученных данных по UART в память данные получены, но в буфере они неверны
#include #include #include #include #include #include #include #include #include #include #include #include #include #define CCU_BASE_ADDRESS 0x01C20000 #define IO_BASE_ADDRESS 0x01C20800 #define DMA_BASE_ADDRESS 0x01C02000 #define SPI0_BASE_ADDRESS 0x01C68000 #define UART3_BASE_ADDRESS 0x01C28C00 u8 *dst_buf; void __iomem *uart3BaseAddress; недействительный uart3_init (недействительный) { значение u32; недействительный __iomem *baseAddress; baseAddress = ioremap(CCU_BASE_ADDRESS, 1024); если (базовыйадрес == NULL) { printk("Не удалось подключить память к драйверу\n"); возвращаться; } значение = readl(baseAddress+0x02D8); значение |=(1
Мобильная версия