Прошивка бортовых компов автомобилей
комп, который взаимодействует с водителем - навигация, проигрывание музыки и т.д.,
или комп, который управляет двигателем, выполняет диагностику и т.д.?
во втором случае, обычно, используются однокристалки и проги пишут на низкоуровневом C (вручную идет работа с портами и обработка прерываний).
Имхо, Java на embedded linux-е слабо представлена, а если делать без linux-а - это будет что-то очень специфичное.
например, в over95% смарткарт внутри Java
В первом случае, обычно, используется embedded linux и проги пишут на дикой смеси C/C++ и скриптов (Lua, Ruby, Python, Perl и т.д.),спасибо! я имел в виду второй случай - за инжектор, коробку, дифференциал и прочее. А не знаете, случайно, какой-нибудь форум или другой источник, где можно быстро и безболезненно вникнуть в тему?
во втором случае, обычно, используются однокристалки и проги пишут на низкоуровневом C (вручную идет работа с портами и обработка прерываний).
http://en.wikipedia.org/wiki/CAN_bus
Тут может стоит тоже покопаться среди даташитов
http://www.atmel.com/products/automotive/automotive_microcon...
например, в over95% смарткарт внутри Javaэто и есть специфичное использование, так же как, например, и то, что приложения под андроид делаются на Java.
насколько я понимаю там нет развитого IO. Обрабатывать же IO без ОС сложно, на Java-е операционки сейчас нет, а под embedded linux-ом java уже не распространена.
А не знаете, случайно, какой-нибудь форум или другой источник, где можно быстро и безболезненно вникнуть в тему?что именно хочется в результате?
Например, если хочется посвятить этому жизнь, то проще начинать с малого - взять любую однокристалку и попробовать с помощью нее позажигать лампочку, затем повращать электромоторчиком и т.д.,
если же хочется за 5 минут научиться тюнить прошивку под свою машину, то качать datasheet, toolchain и программатор под свой чип.
Сообщение удалил
Какие чипы наиболее распространены?с ходу не скажу, не было задачи делать анализ рынка однокристалок.
Сообщение удалил
навскидку:
Я бы рекомендовал глянуть на 16-битные и 32-битные контроллеры, типа MSP430 серию или Stellaris от TI.
сейчас уже армы подтягиваются до вполне DIY-решений.
"поиграться" можно купить в китае отладочную платку типа такой
Читать, например: www.easyelectronics.ru www.radiokot.ru
хабы хабра:
http://habrahabr.ru/hub/DIY/
http://habrahabr.ru/hub/controllers/
Хочу предупредить против "ардуино".
Оно конечно хорошо и для новичков в самый раз. Вот только потом с него слезть будет очень тяжко.
Тоже очень советую начать с easyelectronics, ДиХалт очень доступно всё объясняет
AVR - учебный курс
Основы электротехники для начинающих
Да, ардуино сразу нахуй имхо. Это для тех, кто хочет быстренько повторить готовую поделку из инета с минимумом усилий. Я не пробовал, но осуждаю Мне кажется, что после ардуины будет лениво разводить свои платы и прогать на си, а тем более на ассемблере.что мешает купить ардуину и писать под нее хоть на ассемблере?
или мсье любит поутюжить? )
что мешает купить ардуину и писать под нее хоть на ассемблере?или мсье любит поутюжить? )Говоря про ардуино, я подразумевал в первую очередь использование их "языка программирования"
А что с ним не так - С как С, с пачкой библиотек плюс инициализация программы немного иначе структурирована - есть setup/loop заместо main и прочие мелочи. При нежелании этим пользоваться можно писать на чистом С с ассемблерными вставками без каких либо проблем.
Просто она изначально позиционируется как конструктор, из которого можно, не вникая сильно в тонкости программирования и архитектуры мк, запилить интересный девайс. И основная мысль в том, что ардуино расслабляет - например ардуинщик для того, чтобы сохранить инфу в eeprom в своем проекте, совершенно не обязян даже примерно знать что такое прерывание, и естественно что он и не захочет узнавать. Или для того, чтобы прошить девайс, он не должен понимать принцип работы бутлоадера, уарта и isp - он просто нажимает на кнопочку. Надо передать строчку в уарт - подключил библитечку и написал пару команд. А если возникнет ситуация, что нужно передать/принять строчку без символа конца строки? А тут у ардуинщика будет батхерт. И такие ситуации сплошь и рядом, когда делаешь что-то сложнее мигалки диодом.
Я еще раз повторю, что это мое имхо, из серии "не пробовал, но осуждаю", но мне кажется что если начинать с ардуино - с большой вероятностью дальше него не уйдешь.
суть здесь: http://habrahabr.ru/post/146489/
DIY в промышленном программировании стал популярен как недавно было построение сайтов своими руками. И тут важно не нарваться вторично на ту же самую проблему: слабые и малофункциональные решения (php, js), ставшие благодаря маркетингу настолько популярными, что превратились в стандарты отрасли, где объективную техническую слабость покрывает огромное количество "программистов", туториалов, сообществ.
А можно купить ардуину (или ее хардварный клон от Olimex вдвое дешевле: http://www.terraelectronica.ru/ и начать уже программировать.
Я сам начинал с авр-ов в дип корпусах на бредборде и шил их через lpt и могу сказать, что ардуины и тренд который они породили - это манна небесная для самодельщиков и не только. И тот хер из статьи, который "презирает ардуины" тоже не с утюга начинал, а пришел в лабу, где ему выдали девборд за сотню другую баксов и ткнули носом в какие батоны жать. А то что он там на ebay делитель за 8 баксов нашел - это его личная половая травма.
А "хер" с хабра в основном пишет про ущербность использования арудиновских готовых либ. С этим ты тоже не согласен?
У меня возникает желание написать об истинной цене деталей после прочтения статьи о покупке конструктора за $200 почти ничего не содержащего (уж простите, запамятовал где видел).
Презираю я тех людей, которые, открыв для себя мир микроконтроллеров, не потрудились осмотреться в нём и тех, кто нагло наживается на подобных людях.и т.д.
автор в основном расписывает случаи "обмана нашего брата". про среду разработки там один невнятный пункт, который сводится в сопоставлению скриншотов IDE, из которого можно понять, что в ide для ардуино меньше окошечек.
зы api не пользовался, мне хватает avr-libc
http://arduino.cc/en/Reference/SPI. "Объектная модель" spi там совершенно прозрачная. Отличие от хардкорного подхода только в том, что всевозможные CLKDIV, CPOL, CPHA задаются вызовами библиотечных функций, а не битиками в управляющих регистрах. И это хорошо для начинающего - не надо трахаться с двоичной арифметикой, меньше шансов, что поделка не взлетит и человек бросит это дело. По собственному опыту знаю что это очень важно. Знали бы вы сколько фрустраций я пережил в школе пытаясь освоиться с цифровой логикой имея в качестве объекта для экспериментов 155-ю серию и стрелочный мультиметр. В книжке ведь как написано: это элемент и-не, подаем на входы 0, на выходе - 1. Ага, только выход у него ТТЛ и его выходного тока не хватает чтобы раскачать стрелочный вольтметр. И понимай эти два вольта на выходе как хочешь ))
С другой стороны когда что-то заработало, человек начнет двигаться вперед и скоро обнаружит, что в ардуиновском апи есть далеко не все, и чтобы, скажем, взвести прерывание атмеги от встроенного аналогового компаратора, ему уже придется столкнуться с регистрами, битами и пр. Это только вопрос времени. Если человек остановился на ардуиновском апи - это не вина апи, а просто человеку стало не инетересно. Не думаю что в этом случае ситуация сильно изменилась бы, если бы этот же человек начал с ассемблера.
Взглянул на ардуиновский api и не нашел там ничего крамольного. Вот например библиотека работы с spi: С другой стороны когда что-то заработало, человек начнет двигаться вперед и скоро обнаружит, что в ардуиновском апи есть далеко не все, и чтобы, скажем, взвести прерывание атмеги от встроенного аналогового компаратора, ему уже придется столкнуться с регистрами, битами и пр. Это только вопрос времени. Если человек остановился на ардуиновском апи - это не вина апи, а просто человеку стало не инетересно. Не думаю что в этом случае ситуация сильно изменилась бы, если бы этот же человек начал с ассемблера.
Пошел ботать курс на easyelectronics для начала.
Оставить комментарий
vukki2
Подскажите, на каком языке чаще всего пишут прошивки для компов в автомобилях? Какие основные особенности у этого направления? Где поизучать про это?Спасибо!