mantech 14 March 31, 2014 Posted March 31, 2014 (edited) · Report post Приветствую. Есть такое дело - нужно поднять какой-нить хотябы очень простой пример под данный проц на ИАРе, типа "hello world". Описание проца есть, отладочная плата тоже. Проблема вот в чем - как залить и запустить созданный ИАРом бинарь в проц? Есть варианты - 1) mfg_tools - проблема - она работает только с хитрыми бинарями *.imx Прог по конвертации обычного бинаря в этот я не нашел, все тыкают носом в исходники убута, но там черт ногу сломит и надо все это хозяйство компилить под линухой, что не вариант. и другой момент - только реверс-инжиниринг данной проги, что тоже не радует... 2) есть прога cfimager которая создает сд-карту с этим бинарем - проблема - в ее описании не сказано, что она может работать с imx6, только до 5й версии (может это и неважно, но хотелось бы точно знать) И третье - просьба если нечего сказать по теме, не тыкать, что дурак потому что не прграммишь на линухе :laughing: PS. Если то, что я прошу в принципе невозможно - то придется продать плату кому-нить другому и оставаться на х86, но хотелось бы лучшее B) Edited March 31, 2014 by mantech Quote Share this post Link to post Share on other sites More sharing options...
kovigor 1 March 31, 2014 Posted March 31, 2014 · Report post Приветствую. Есть такое дело - нужно поднять какой-нить хотябы очень простой пример под данный проц на ИАРе, типа "hello world". IAR - не подскажу ничего. Насколько я помню из своего опыта, общая методика такова: компилируем с помощью CodeSourcery из командной строки (последний запускаем на виртуальной машине, я использовал VmWare из-под Windows XP, а в нем разворачивал Ubuntu), полученный файл заливаем по TFTP на плату из U-Boot (Linux не грузим, только U-Boot) и потом запускаем ... P.S. Без U-Boot сложнее. Есть опыт решения вашей задачи для платы на AM1707. Пришлось глубоко изучить документацию на сам МП и на плату, после чего написать в IAR соотв. программу (Keil этот МП не поддерживал), откомпилировать ее, загрузить по JTAG в ОЗУ платы и оттуда запускать ... Quote Share this post Link to post Share on other sites More sharing options...
mantech 14 March 31, 2014 Posted March 31, 2014 · Report post IAR - не подскажу ничего. Насколько я помню из своего опыта, общая методика такова: компилируем с помощью CodeSourcery из командной строки (последний запускаем на виртуальной машине, я использовал VmWare из-под Windows XP, а в нем разворачивал Ubuntu), полученный файл заливаем по TFTP на плату из U-Boot (Linux не грузим, только U-Boot) и потом запускаем ... Ясно, но очень неудобно, что-нить бы под виндой хотя бы :rolleyes: Quote Share this post Link to post Share on other sites More sharing options...
SII 0 March 31, 2014 Posted March 31, 2014 · Report post Насколько помню, в документации описан протокол общения загрузчика, вшитого в ПЗУ i.MX6, с внешним миром в лице ПК. Соответственно, можно внимательно его изучить и написать свою программу-загружалку, которая будет пользоваться услугами уже имеющегося в i.MX6 загрузчика (не U-Boot, который не имеет отношения к процессору, а является сторонней программой, расположенной во внешней памяти -- соответственно, его может попросту не быть). Quote Share this post Link to post Share on other sites More sharing options...
kolobok0 0 March 31, 2014 Posted March 31, 2014 · Report post ...нужно поднять какой-нить хотябы очень простой пример под данный проц на ИАРе,...как залить и запустить созданный ИАРом бинарь в проц?... У Вас какая-то каша в голове. Или что то не договариваете. 1) определяете интерфейс программирования камня(что такой есть и что он реально вам подходит. т.е. в данном случае будет программировать камень) например JTAG 2) находите(читай покупаете) конкретный программатор под данный камень. У данного программатора должны быть а) примеры б) описалово в) _стандартный_ входной интерфейс заливаемого файла. например hex 3) находите компилятор позволяющий компилировать с необходимого языка(читай которым владеете). Например IAR 4) покупаете демо борду с данным камнем, если хотите быстро и практически без-гиморно. на каком нить ебэе. 5) компиляете свой пример. скармливаете загрузчику. получаете профит. при чём тут люниксы, оси, левые загрузчики и форматы - не вкуриваю....наверное Вы ведаете тайными знаниями - хз... ЗЫ все примеры даны гипотетически. Вам самому надо это проверить. Но что то мне подсказывает, что я не совсем далёк от истины в конкретном случае. Quote Share this post Link to post Share on other sites More sharing options...
Golikov 0 March 31, 2014 Posted March 31, 2014 · Report post кроме тех случаев когда процы плохо документированы ибо изначально сделаны для работы под юниксом или что-то типа того. К примеру попробуйте по вашему пути запустить 86 проц... демо бор в вашем компьютере стоит:)... Quote Share this post Link to post Share on other sites More sharing options...
kovigor 1 March 31, 2014 Posted March 31, 2014 · Report post К примеру попробуйте по вашему пути запустить 86 проц... демо бор в вашем компьютере стоит:)... Можно, например, опереться на BIOS, вызывая функции BIOS через int13h, int16h и т.п. Запустить хоть как-то "голую" мамку будет, ИМХО, архисложно, ведь для этого потребуется писать свой BIOS, пусть и урезанный. А при работе с указанной ТС платой можно опираться на загрузчик (почти наверняка это U-Boot) ... Quote Share this post Link to post Share on other sites More sharing options...
mantech 14 March 31, 2014 Posted March 31, 2014 · Report post У Вас какая-то каша в голове. Или что то не договариваете. Что недоговариваю? Плата - Hola-PC от стартеркита - разработчики не предусмотрели jtag- видать все заточено только под линуху. Да есть описание команд встроенного загрузчика, но готовая прога, если можно так сказать - есть только под линухой. mfg_tolls умеет работать только с файлами *.imx, которые иар делать не умеет, т.е. нужно писать конвертер самому, а это жесть, если не сказать более... Что еще тут можно сказать? Quote Share this post Link to post Share on other sites More sharing options...
kovigor 1 March 31, 2014 Posted March 31, 2014 · Report post разработчики не предусмотрели jtag- видать все заточено только под линуху. Есть посадочное место, но не впаян разъем, или вообще нет даже контактных площадок (или дырочек) на плате ? Во втором случае (совершенно невероятном) грузите ваши программки по TFTP из U-Boot ... Quote Share this post Link to post Share on other sites More sharing options...
mantech 14 March 31, 2014 Posted March 31, 2014 · Report post или вообще нет даже контактных площадок Именно - к шарам нет дорожек. Но это не самое страшное - они сделали удобную прогу mfg_tools, которая может даже автоматом заливать бинарь при простом подключении по усб, но формат специальный, писал выше, вот в чем проблема, и пендостанский мастадонт мог бы уж сподвигнуться на конвертер для нескольких осей... Во втором случае (совершенно невероятном) грузите ваши программки по TFTP из U-Boot ... Это опять из вопроса про "измерение внутриглазного давления через задний проход"... Хотелось бы загружать чистый бинарь, без "посредников". Quote Share this post Link to post Share on other sites More sharing options...
Golikov 0 March 31, 2014 Posted March 31, 2014 · Report post http://www.starterkit.ru/html/doc/Hola-PC_V1A.pdf по схеме DD4, весь JTAG не подключен, кроме двух заземленных контактов. Эта плата изначально сделана под юникс, и под загрузчик, как PC мозерборд под биос, не надо идти против природы.... Хотелось бы загружать чистый бинарь, без "посредников". тогда вы выбрали неправильную плату.... кстати тут недавно кто-то мучил IMX6, и тоже хотел работать без ОС, если это не вы, поищите тема не далека.... Quote Share this post Link to post Share on other sites More sharing options...
mantech 14 March 31, 2014 Posted March 31, 2014 · Report post http://www.starterkit.ru/html/doc/Hola-PC_V1A.pdf по схеме DD4, весь JTAG не подключен, кроме двух заземленных контактов. Эта плата изначально сделана под юникс, и под загрузчик, как PC мозерборд под биос, не надо идти против природы.... кстати тут недавно кто-то мучил IMX6, и тоже хотел работать без ОС, если это не вы, поищите тема не далека.... Да, это я и был А причем тут природа - сделать нормальный и безглючный гуй под линуху - считаете это очень просто?? И второе - задача в принципе не сверхестественная - есть рабочий гуй под х86, его надо портировать на АРМ, все, что требуется - инициализация видео, портов таймеров и уартов, причем примеры есть, и скомпилить не так уж сложно, нужно просто сделать конвертер в тот формат, который понимает встроенный загрузчик... Quote Share this post Link to post Share on other sites More sharing options...
kovigor 1 March 31, 2014 Posted March 31, 2014 · Report post нужно просто сделать конвертер в тот формат, который понимает встроенный загрузчик... А задать соотв. вопрос о конвертере техподдержке фирмы, выпустившей плату, вы не пробовали ? Quote Share this post Link to post Share on other sites More sharing options...
mantech 14 April 1, 2014 Posted April 1, 2014 · Report post А задать соотв. вопрос о конвертере техподдержке фирмы, выпустившей плату, вы не пробовали ? Можно конечно задать там вопрос и подождать недельку-другую, что они скажут то-же самое, типа пишите под линуху или сделайте кучу всяких виртуалок, запускацте на них линуху с конвертером, убутами и пр... я за это время сам его сделаю, ибо так будет проще и быстрее... Quote Share this post Link to post Share on other sites More sharing options...
SergeyDDD 0 April 1, 2014 Posted April 1, 2014 · Report post Но это не самое страшное - они сделали удобную прогу mfg_tools, которая может даже автоматом заливать бинарь при простом подключении по усб, но формат специальный, писал выше, вот в чем проблема, и пендостанский мастадонт мог бы уж сподвигнуться на конвертер для нескольких осей... Не совсем так... MfgTools никак не привязан к какой либо ОС "пендостанский мастадонт" сделал универсальную и очень гибкую систему для программирования Это своеобразный инструмент-"транспорт" из персоналки в процессор Нужно самостоятельно написать свой профайл для этой утилиты Он в себе будет включать XML скрипт с прописанными задачами и firmware. Изначально утилита забрасывает firmware в память процессора После этого firmware несет полную ответственность каким образом и на какой носитель будет выполняться программирование Для программирования Linux, фрискейловцы создали firmware на базе того же Linux Для программирования WinCE соответственно создали firmware на базе WinCE Core Ну а Вам придется писать собственный firmware который подхватит интерфейс MfgTools Перечитайте документацию в "MfgTools\Documrntation" Думаю там найдете все необходимое А для безосевого программирования под Windows пробуйте Yagarto + Eclipse Если будет прогресс - дайте знать Очень интерестно Quote Share this post Link to post Share on other sites More sharing options...