repstosw 18 15 августа, 2022 Опубликовано 15 августа, 2022 (изменено) · Жалоба 2 hours ago, repstosw said: Новая проблема: не могу заставить происходить прерывание от CSI - оно не работает. Все смежные вектора перебрал - жизни нет. Прерывания от других источников работают. Что-то опять китайцы намудрили Пока делаю программный опрос регистра статуса и очищаю его. Прерывание от CSI заработало. Причина была в неправильном порядке включения этих прерываний. Вот так прерывание будет работать: void CSI_Init(void) { //инит CSI.... //... bsp_csi_int_clear_status(0,0,CSI_INT_ALL); //очистка флагов прерывания bsp_csi_int_enable(0,0,CSI_INT_FRAME_DONE); //разрешение прерывания, по завершению фрейма CLI(); //запрет прерываний на уровне ядра eGon2_Int_Init(); //инит GIC eGon2_InsINT_Func(CSI1_INT_NUM,(int*)CSI1_Handler,(void*)0); //установка обработчика прерывания на указанный номер eGon2_EnableInt(CSI1_INT_NUM); //разрешение прерываний в GIC //здесь прерывания пока запрещены на уровне ядра } void CSI_Start(void) { STI(); //разрешить прерывания на уровне ядра bsp_csi_cap_start(0,BI.ch_total_num,CSI_VCAP); //начать захват CSI с камеры //здесь прерывания уже везде разрешены и они будут возникать } void main(void) { //инит всего и вся //... CSI_Init(); //... тут может быть всё что угодно: по времени несколько мс. CSI_Start(); //... } void CLI(void) { asm volatile ( "mrs r0, cpsr \n" "orr r0, r0, #0xC0 \n" "msr cpsr_c, r0 \n" ); } void STI(void) { asm volatile ( "mrs r0, cpsr \n" "bic r0, r0, #0xC0 \n" "msr cpsr_c, r0 \n" ); } А вот так - НЕТ (некоторые функции, отвечающие за прерывания, переставлены): void CSI_Init(void) { //инит CSI.... //... CLI(); //запрет прерываний на уровне ядра eGon2_Int_Init(); //инит GIC eGon2_InsINT_Func(CSI1_INT_NUM,(int*)CSI1_Handler,(void*)0); //установка обработчика прерывания на указанный номер eGon2_EnableInt(CSI1_INT_NUM); //разрешение прерываний в GIC STI(); //разрешить прерывания на уровне ядра //здесь прерывания пока не разрешены в CSI } void CSI_Start(void) { bsp_csi_int_clear_status(0,0,CSI_INT_ALL); //очистка флагов прерывания bsp_csi_int_enable(0,0,CSI_INT_FRAME_DONE); //разрешение прерывания CSI, по завершению фрейма bsp_csi_cap_start(0,BI.ch_total_num,CSI_VCAP); //начать захват CSI с камеры //здесь прерывания НЕ будут работать } Интересно - почему? Изменено 15 августа, 2022 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 15 августа, 2022 Опубликовано 15 августа, 2022 · Жалоба Убедиться, что срабатывание прерываний настроено по уровню? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 15 августа, 2022 Опубликовано 15 августа, 2022 · Жалоба 23 часа назад, repstosw сказал: И USB в режиме хоста мне тоже неинтересен ))) ИМХО, ну и зря, если б добавили его поддержку в свой SDK, он был бы заметно популярнее... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 15 августа, 2022 Опубликовано 15 августа, 2022 (изменено) · Жалоба 1 hour ago, GenaSPB said: Убедиться, что срабатывание прерываний настроено по уровню? Попробовал все 4 комбинации - все одинаково работают. Прерывания возникают лишь только в том случае, если их разрешить на уровне ядра сразу же перед запуском захвата (как об этом было сказано в предыдущем моём посте). #define GICD_ICFGR(n) (*(IO u32*)(ARMV7_GIC_BASE + 0xC00 + 4 * (n))) /* First bit is a polarity bit (0 - low, 1 - high) */ #define GICD_ICFGR_POL_LOW (0 << 0) #define GICD_ICFGR_POL_HIGH (1 << 0) #define GICD_ICFGR_POL_MASK 0x1 /* Second bit is a trigger bit (0 - level, 1 - edge) */ #define GICD_ICFGR_TRIG_LVL (0 << 1) #define GICD_ICFGR_TRIG_EDGE (1 << 1) #define GICD_ICFGR_TRIG_MASK 0x2 // set trigger type to be level-triggered, active low u32 p=GICD_ICFGR_TRIG_LVL|GICD_ICFGR_POL_HIGH; //pattern for 16 interrupts p=p|(p<<2)|(p<<4)|(p<<6)|(p<<8)|(p<<10)|(p<<12)|(p<<14)|(p<<16)|(p<<18)|(p<<20)|(p<<22)|(p<<24)|(p<<26)|(p<<28)|(p<<30); for (i=0; i<GIC_IRQ_NUM; i+=16) { GICD_ICFGR(i>>4) = p; } 30 minutes ago, mantech said: ИМХО, ну и зря, если б добавили его поддержку в свой SDK, он был бы заметно популярнее... В настоящий момент есть задачи более приоритетные. Если совсем будет делать нечего, то начну ковырять USB хост. Либо если кто-то из заказчиков проспонсирует этот фронт работ. Изменено 15 августа, 2022 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 0 16 августа, 2022 Опубликовано 16 августа, 2022 (изменено) · Жалоба On 7/22/2022 at 12:50 PM, sasamy said: где-то на таобао есть 100ask t113-core http://download.100ask.org/boards/Allwinner/T113/index.html#id6 появились на алике https://aliexpress.ru/item/1005004603664445.html там есть ещё на 300 рублей подороже платка на h616 который превосходит t113 на пару порядков https://aliexpress.ru/item/1005004552707340.html Изменено 16 августа, 2022 пользователем sasamy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 16 августа, 2022 Опубликовано 16 августа, 2022 · Жалоба 2 hours ago, sasamy said: появились на алике 2 hours ago, sasamy said: там есть ещё на 300 рублей подороже платка на h616 который превосходит t113 на пару порядков Класс! Красавцы... Надо будет заказать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 16 августа, 2022 Опубликовано 16 августа, 2022 (изменено) · Жалоба 2 часа назад, sasamy сказал: платка на h616 который превосходит t113 на пару порядков Не увидел никаких пары порядков. Из видео только HDMI, да еще и проц 64битный, который курить нет никакого желания... 2 часа назад, sasamy сказал: появились на алике https://aliexpress.ru/item/1005004603664445.html А вот это уже куда лучше, спасибо! Жаль только то,что там spi-nand, а не классический nor. Изменено 16 августа, 2022 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sasamy 0 16 августа, 2022 Опубликовано 16 августа, 2022 (изменено) · Жалоба On 8/16/2022 at 4:32 PM, mantech said: Из видео только HDMI а что ещё надо для 4К ? On 8/16/2022 at 4:32 PM, mantech said: Жаль только то,что там spi-nand, а не классический nor. xfel её поддерживает, что куда писать для загрузки надо разбираться Quote xfel spinand - Detect spi nand flash xfel spinand erase <address> <length> - Erase spi nand flash xfel spinand read <address> <length> <file> - Read spi nand flash to file xfel spinand write <address> <file> - Write file to spi nand flash xfel spinand splwrite <split-size> <address> <file> - Write file to spi nand flash with split support $ sudo xfel spinand Found spi nand flash 'W25N01GV' with 134217728 bytes PS лог от другой платы, какая у них nand не знаю Изменено 16 августа, 2022 пользователем sasamy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 16 августа, 2022 Опубликовано 16 августа, 2022 · Жалоба On 8/15/2022 at 11:15 AM, repstosw said: начну ковырять USB хост Так камера это device... просто камеру сделайте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 17 августа, 2022 Опубликовано 17 августа, 2022 (изменено) · Жалоба 11 hours ago, mantech said: Не увидел никаких пары порядков. Из видео только HDMI, да еще и проц 64битный, который курить нет никакого желания... Там ещё менеджер питания AXP203, так просто будет не завести: придётся его программировать. У Lichee Zero и Mango Pi MQ-Dual микросхема питания выдаёт готовые напряжения. 10 hours ago, GenaSPB said: Так камера это device... просто камеру сделайте. Да я в курсе что всякие вёбки, камеры с ноутов или просто покупные USB-камеры - это связка из : той же OV2640 (или более поздний её клон) + чип USB. Пока интересна сама камера без абстракционных наворотов через USB. Мой девиз - сделать всё максимально прозрачным и простым. Изменено 17 августа, 2022 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 18 17 августа, 2022 Опубликовано 17 августа, 2022 (изменено) · Жалоба Принципиальная схема платы T113-s3 ARM Dual-core Cortex A7 Core Board (ядро): https://forums.100ask.net/uploads/short-url/ka4fENWFKC3AeVsTaCwgZ1a0ixH.pdf Принципиальная схема платы верхнего уровня: https://forums.100ask.net/uploads/short-url/hbl6crUJzeMn13stMmXA4jmfi2z.pdf Остальная инфа: https://forums.100ask.net/t/topic/399 Репозиторий продавца плат касаемо T113-s3: https://github.com/DongshanPI/buildroot_100ask_t113-pro Форум: https://forums.100ask.net/c/aw/15/l/latest?board=default Tina Linux SDK для T113-s3: SDK T113-s3 - для раздербана на BareMetal Изменено 17 августа, 2022 пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 17 августа, 2022 Опубликовано 17 августа, 2022 (изменено) · Жалоба 15 часов назад, sasamy сказал: а что ещё надо для 4К ? Да просто это 4К нафиг не надо))) А вот eDP порт был бы кстати, но увы и ах(( 15 часов назад, sasamy сказал: xfel её поддерживает, что куда писать для загрузки надо разбираться Да, я видел, записать туда мне надо 2 файла, один 32К, для инита ДДР и второй 100К - основной загрузчик, который уже делает инит всего, что надо и загружает фреймворк с СД карты сети или УСБ. Проблема в том, что первый загружает сам проц, а второй мне у же надо грузить самостоятельно, т.е. делать функцию чтения из этого нанда, как - пока х.з. Изменено 17 августа, 2022 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 17 августа, 2022 Опубликовано 17 августа, 2022 · Жалоба Чтение посекторное из nand ногодрыгом у меня в проекте есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 53 17 августа, 2022 Опубликовано 17 августа, 2022 · Жалоба Только что, GenaSPB сказал: Чтение посекторное из nand ногодрыгом Из SPI нанда или обычного? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 17 августа, 2022 Опубликовано 17 августа, 2022 · Жалоба Обычного восьимбитного Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться