Jump to content

    

mantech

Участник
  • Content Count

    2704
  • Joined

  • Last visited

Community Reputation

0 Обычный

About mantech

  • Rank
    Гуру
  • Birthday 09/01/1978

Информация

  • Город
    Киров

Старые поля

  • Facebook
    Соцсетями НЕ пользуюсь!!!

Recent Profile Visitors

8499 profile views
  1. Виртуальная машина

    Тут вопрос некорректно задан, ибо клиенту должно быть до лампочки, какой там проц и сколь у него ОЗУ. Ему важно то, что он может сделать на вашей программе, вирт. машине или ОС, может ли он реализовать свои алгоритмы, на необходимом языке и останется-ли еще "пространство для маневров", если да - это и следует выбирать. На счет всяких беремисов и т.п. вы сначала попробуйте все это развернуть у себя, создать рабочий демо-проект, потом сделать для всего этого вменяемую инструкцию, желательно по шагам и с примерами, чтоб человеку не знакомому со всей этой кухней было понятно, тогда это будет хоть как-то доступно к пониманию, а если вы дадите ему вашу железку и скажите "вот там, на гитхабе скачай, установи... и будет тебе счастье, а не понимаешь - твои проблемы, у меня работает..." - то боюсь, больше вы этого клиента никогда не увидите...
  2. STM32MP1 - bare metal

    Они глубоко убеждены, что для баре-метал есть М4, и вам достаточно, остальное только в соответствии с мейнстримом. Так что забудьте про эту глупость - как мне уже говорили, изучайте питонов, нанимайте профессионального Qt-дизайнера и в путь
  3. STM32MP1 - bare metal

    Как же не люблю я этот i2c, его постоянно поллить надо, реагировать на прерывания и т.д. У меня раньше был ИК тач с выходом передатчика УАРТа на 9600 бит\сек. Всего одна нога и порт стандартный, передает 7 байт. Просто на тиньке сделал такой же передатчик и все, система "думает", что это и есть ИК тач ЗЫ. Посмотрел еще на корпус этой БУшки - Мм да, на любителя...
  4. Приветствую. Накопилось пару вопросов и непоняток. В инете примеры в основном серверов, а меня интересует "клиент". Собственно, пока требовалось только одно соединение в данный момент все работало как надо но встала задача нескольких соединений с удаленными серверами и тут начались сюрпризы... Запускаю соединениен с удаленным сервером,IP адрес начинается на 88, затем, пока идет соединение с первым сервером, запускаю второе (IP адрес начинается на 192) ... uint32_t TCP_SocketCliInit(uint16_t num) { struct ip_addr server_ip; IP4_ADDR(&server_ip, TCP_Sock[num].IP_Adr[0],TCP_Sock[num].IP_Adr[1],TCP_Sock[num].IP_Adr[2],TCP_Sock[num].IP_Adr[3]); TCP_SockPCB[num] = tcp_new(); if (TCP_SockPCB[num]==NULL) {return 1;}//out of mem TCP_Sock[num].SocketVarIntr=TCP_Sock[num].SocketVar; tcp_recv(TCP_SockPCB[num], TCP_SockCliReceive); tcp_sent(TCP_SockPCB[num], TCP_SockCliSending); tcp_connect(TCP_SockPCB[num], &server_ip, TCP_Sock[num].PortNum, TCP_Sock_connected); printf( "Cli REQ CONN: %d Adr:%d, PCB:%d, IP0:%d\n", num,TCP_Sock[num].SocketVar,TCP_SockPCB[num],TCP_Sock[num].IP_Adr[0]); return 0; и вижу чудеса, оказывается они оба закинулись на одну и ту же PCB. В результате передача встает "колом". Т.е. пока нет соединения, я второе запустить не могу? Cli REQ CONN: 0 Adr:396416180, PCB:382828968, IP0:88 Cli REQ CONN: 1 Adr:396416184, PCB:382828968, IP0:192 Cli CONNECT: 0 Adr:396416180 TCP_SOCK Cli Send_OK: 0 Adr:396416180, PCB:382828968 И второй вопрос, при запуске соединения к удаленному серверу, оно какое-то время пытается установиться, а потом отваливается. Если я его закрываю, пока идет это время, все закрывается корректно, но если после - выпадаю в ассерт. Не нашел ничего лучшего, как проверку активных соединений. Правильно так делать, или надо как-то по-другому? void TCP_SockCliReleaseSession( struct tcp_pcb *pxPCB,char mode) { uint16_t i=0; struct tcp_pcb *pcb; while (i<MAX_TCP_Sessions) {if ((pxPCB==TCP_SockPCB[i])&&(TCP_Sock[i].Type==TCP_TypeCliSession)) break;i++;} if ((pxPCB != NULL)&&(i<MAX_TCP_Sessions)) { if ((pxPCB == TCP_SockPCB[i])&&(TCP_SockPCB[i]!=NULL)) { //printf("\n<%d>tcp_close<%d>--%p\r\n",i,pxPCB->state,(void*)pxPCB); tcp_arg(pxPCB, NULL); tcp_recv(pxPCB, NULL); tcp_err(pxPCB, NULL); tcp_sent(pxPCB, NULL); for(pcb = tcp_active_pcbs; pcb != NULL; pcb = pcb->next) { if (pxPCB == pcb) { #ifdef TCP_SOCK_DEBUG printf ("CLOSE ACTIVE --- <%p>---\n",pcb); #endif if( tcp_close( pxPCB ) != ERR_OK) {tcp_abort( pxPCB );} break; } } }
  5. STM32MP1 - bare metal

    В МХ6 тоже нет, но никто не мешает поставить на плату Tiny25\45 с программой простейшего драйвера тача+ацп+фильтр, все это есть в тиньке Для рокчипа - это пожалуй только в теории
  6. STM32MP1 - bare metal

    Уже давно на промавтоматику ставлю только резистивку, там никаких мультитачей не нужно, работает надежнее и в любых условиях (холод, сырость и т.п.) И не дорогая (2т.р. за 15 дюймов, без контроллера, стекло, контроллер встроенный).
  7. STM32MP1 - bare metal

    Что такое СТР?
  8. Неа, не получится. Вообщем - идея изначально "гнилая" - сэмулировал несколько нештатных ситуаций, реально надежного выхода из них нет, разве, что только "оформлять" весь этот стек ввиде вытесняющей задачи и потом, при сваливании в аборт - задачу полностью глушить, обнулять все стеки переменных и запускать заново, иначе с вероятностью 50% уходит в hardfault или еще куда, вообщем виснет намертво. Отсюда вопрос, в чем принципиальное отличие uIP от LwIP? Сразу скажу, DNS,DHCP, SNMP не используются, Нужна работа с TCP пакетами, и верхний уровень - HTTP, FTP, Telnet, modbus-tcp
  9. STM32MP1 - bare metal

    Хе-хе, я в былые времена, так же ванговал про IMX6, и потом оочень жестко обломался, так что воздержусь от восторга пока вживую не проверю... А что там такого навороченного в ЧПУ, что 2 ядра по 650 не справятся, да если еще управление "железкой" на М4 выкинуть?? Или из-за линуксовых прог только... Ну не факт, мне с LVDS удобнее гораздо, матриц полно, от 7 до 15дюймов, и дешевые...
  10. STM32MP1 - bare metal

    В принципе, 29 баксов - это вполне нормальная цена, другое дело, сколь "наши" к ней прикрутят, и к сожалению, нет нормального дисплейного выхода (LVDS)... PS. Кстати, а кто-нить испытывал его по температуре, насколь он горяч?
  11. STM32MP1 - bare metal

    Что-то уж очень махрово-китайское, аж в глазах от иероглифов зарябило Интересно, зачем станку HDMI? И схемы че-то не видать, а без нее для "прочих опытов" как-то не айс...
  12. Тут другая задача, повысить надежность системы, т.е. при наличии какой-либо внештатки (внутренняя ошибка, переполнение памяти и пр...) можно было перезапустить стек не перезагружая систему.
  13. Виртуальная машина

    Идиотов и лентяев у нас на века припасено...К сожалению Наверно потому, что большинство функционала ненужно и тяжело для МК...
  14. atmel 252-0107 ARM

    В каком изделии применяется, У атмела много шифрованных чипов, в тех-же форматтерах для принтеров.
  15. Виртуальная машина

    Скорей для тех, кому делать нечего, а руки чешутся Тогда и порты делайте одинаковыми, а то совсем независимым не получится... Пример - виртуалка на МХ6 порт включения модема PC3, а на allwinner A20 - PH4. Алгоритм-то один, прогу переписывать не надо, но порты другие, номера уартов другие и т.п. Конечно, можно сделать условной компиляцией или по ИД чипа, но это нужно учесть...