Jump to content

    

dlman

Участник
  • Content Count

    87
  • Joined

  • Last visited

Community Reputation

0 Обычный

About dlman

  • Rank
    Частый гость
  • Birthday 03/23/1981

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array
  1. сложные алгоритмы это сложные алгоритмы. я не буду рассказывать ни про цикломатическую сложность ПО, ни про метрику, ни про время вывода продукта на рынок и затраты на разработку ПО в человеко-часах. Это всем понятно. Да, кодогенерация крайне неоптимальна, но тем не менее такие проекты как DSPACE и ETAS широко используются при разработке ECU во всем мире. Я как-то работал над проектом который достался от NVIDIA. Что касается coding standards там все было по-правильному, но что касается архитектуры - так годы, за которые этот проект развивался, превратили ее в спагетти. В какой-то момент NVIDIA закрыла проект, так и не решив многих проблем, и которые пришлось решать мне. Проблемы весьма тривиальные, но вот на их решение, ввиду сложности кода, приходилось тратить недели. 3 млн строк вообще не показатель сложности проекта. Если проект разбивается на отдельные функционально независимые модули, каждый из которых может отлаживаться отдельно, то количество строк это прежде всего показатель трудоемкости проекта. P.S Господа, я делюсь реальным опытом, как оно все обстоит на самом деле. Люди, которые разрабатывают автоэлектронику, далеко не пальцем подкованные, так что не будем выставлять их кретинами, включая тех, кто разрабатывал ECU для тойоты.
  2. а вы представляете, насколько сложные алгоритмы заложены в контроллерах управления двигателем, чтобы пройти по нормам ЕВРО3, ЕВРО4, ЕВРО5? настолько сложные, что с чистым кодом работать практически невозможно. В МИКАСах и Январях при разработке используются DSPACE и MATLAB для графической разработки алгоритмов, которые затем генерируют С код. В Тойоте, по всей видимости, использовался такой же подход, откуда и взялись эти 16 тыс глобальных переменных. Никакая отладка не даст гарантии 100% что у вас нет косяка в коде, который будет проявляться при определенных условиях с вероятностью 0.001. А любой косяк в ECU - это уже потенциальная угроза жизни. Процессор безопасности, при всей своей примитивности реализации, перепроверяет основной процессор на предмет корректности алгоритмов управления. как говорится - 100 раз отмерь и 1 раз отрежь. Ну как-бы мотороллы уже давно нет. А у фрискейла PowerPC успешно развивается, как automotive, так и QorIQ. Да, CodeWarrior IDE пару лет назад был так себе, но по сравнению с IAR - приблизительно одно и то же. Что касается automotive компонентов - в этом фрискейл, безусловно, лидер, в отличие от инфинеона. К линейке iMX вообще никаких претензий - BSP, документация, поддержка - такого TI с их OMAPами и не снилось. А что вы под "ответственными системами" понимаете? В данном случае контроллер управления двигателем отвечает прежде всего за жизнь человека, отсюда и все пляски вокруг него. Не дай бог заложить в нем не automotive компонент - и при любой проблеме будет виновато предприятие-изготовитель. А с динамической памятью, как и с импульсными преобразователями, будут проблемы на ЭМС.
  3. от алгоритмических ошибок hw watchdog вас не спасет. Процессор безопасности как раз и нужен для того, чтобы не случилось как в тойоте - педаль газа отпущена а форсунка все равно открыта. Вот про Freescale MPC можно поподробнее? В данном случае как раз Cortex-M будет не совсем удачным решением для ECU.
  4. несколько процессоров в КСУД используются исключительно в целях безопасности - в случае программных/аппаратных сбоев в основном процессоре процессор безопасности глушит двигатель (а программные сбои весьма вероятны ввиду сложности программного обеспечения). Все компоненты должны иметь automotive сертификацию с температурным диапазоном -40...+125. Процессор лучше изначально выбирать из тех которые предназначены для применения в ECU - Infineon XC167, XE2000, Freescale MPC56xx Monaco. В качестве основы для "чистого и понятного" кода смотрите AUTOSAR. И никаких лишних наворотов типа SD карточки, GPS и .др. Для всего этого есть CAN. Про динамическую память тоже забудьте, исключительно SRAM (если нужна, конечно).
  5. Вообще говоря, это кварц в керамическом корпусе. В модуле двери водителя (МДВ), и в блоке управления элетропакетом (БУЭ) - тоже кварцы стоят. Заявляю Вам как один из разработчиков этих изделий.
  6. на фото 2, в центре рядом с батарейкой - это кварц в керамическом корпусе
  7. Попробуйте поменять номиналы емкостей в обвязке кварца, это самая капризная часть
  8. Рассмотрю предложения по участию в интересных проектах. Приоритет - разработка/кастомизация BSP WinCE. Есть опыт по следующим направлениям: - адаптирование BSP Windows CE 6.0 под кастомные платы с ARM9 процессорами iMX27, iMX233 (Eboot, OAL, разработка драйверов). - участие в разработке UI приложений (WinAPI); - разработка/отладка схемотехники процессорного модуля (iMX233); - разработка ПО производственного контроля процессорных модулей (WinAPI). Ключевые навыки: - Язык программирования: C/C++; - RTOS: Windows Embedded CE 6.0, ucOSII + ucGUI; - Архитектуры: PIC, x51, ARM7, ARM9; - Микроконтроллеры: PIC16, PCF79xx, XC8xx, LPC21xx, iMX27, iMX233 - Системы контроля версий: SVN - Среды разработки ПО: Visual Studio 2005 + Platform Builder 6, Keil, IAR, MPLAB - САПР: PCAD2006 SP2 Зарплата высокая, резюме по запросу. Почта для связи: rv4yy<с.o.б.а.к.a>ya.ru С уважением, Дмитрий
  9. Вы бы сначала разобрались что к чему, прежде чем давать прогугленные ссылки. Сами хоть смотрели от чего исходники предлагаете?
  10. по опыту работы с данным производителем у нас сложилось впечатление, что службы техподдержки у них вообще нет. Производство OLED дисплеев, по всей видимости, организовано на одном безымянном заводе, а остальные производители типа UMOH, bolimyn, Ampire только перепродают их под своими партнамберами. У них даже даташиты одинаковые. Попробуте поискать референс дизайн аналогичных дисплеев, если они есть, или же самим подобрать стабилитрон.
  11. есть некотрый опыт с ARM7, ARM9, WinCE, UCOSII+UC/GUI адрес для связи: rv4yy /sobaka/ yandex /tochka/ ru Дмитрий
  12. Нажать пробел в терминале не пробовали?
  13. Судя по логу, загрузчик у вас успешно запускается и пытается законнектится с компом чтобы загрузить образ. попробуйте сделать так: 1) в меню загрузчика явно задать IP адрес и отключить DHCP 2) подключить сетевой кабель через роутер (или кросс-кабель напрямую к компу) 3) включить девайс, дождаться появления Sent BOOTME to.. 4) в платформ билдере указать настройки подключения к устройству (Target->Connectivity options...), потом там же нажать кнопку Settings напротив Download, устройство должно появиться в списке Active target devices, если нет - разбираемся с настройками подключения. 5) для загрузки образа нажимаем Target->Attach Device
  14. к сожалению, нету.. но можно прицепить ENC28J60 к SPI, как это сделано в iMX233-EVK.. не 100Мб/с конечно, но хоть что-то...
  15. Кстати, по поводу "зверька" - очень рекомендую, iMX233 по сравнению с другими процами имеет у себя на борту встроенные стабилизаторы для питания DDR, ядра и переферии, зарядник для аккумулятора, аудио кодек, АЦП для тачскрина, USB OTG PHY и все это в корпусе BGA169 с шагом 0.8 и по цене 6 баксов. Все что вам остается - прицепить NAND и DDR, дизайн нового устройства получается существенно проще по сравнению с другими аналогичными ARM9.