mantech 13 April 1, 2014 Posted April 1, 2014 · Report post Он в себе будет включать XML скрипт с прописанными задачами и firmware. Изначально утилита забрасывает firmware в память процессора Само собой, конечно поправил скрипт, сейчас проблема в создании правильного имиджа, там не все так просто, нужно смотреть, откуда берутся данные для первоначальной инициализации проца, чтоб потом закинуть их в контейнер с расширением imx пока так и не понял, как расчитываются адреса имиджа и его полей, чувствую накурюсь даташитов дохрена, но видимо другого пути нет - потихоньку начинаю ненавидеть линуксоидов :( 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 Само собой, конечно поправил скрипт, сейчас проблема в создании правильного имиджа, там не все так просто, нужно смотреть, откуда берутся данные для первоначальной инициализации проца, чтоб потом закинуть их в контейнер с расширением imx пока так и не понял, как расчитываются адреса имиджа и его полей, чувствую накурюсь даташитов дохрена, но видимо другого пути нет - потихоньку начинаю ненавидеть линуксоидов :( Не совсем понимаю о каких данных для инициализации проца идет речь Процессор инициализирует сама firmware сразу после загрузки А выбор носителя выполняется с помощью командного процессора, который отрабатывает та же firmware Курить придется много, но информации в целом достаточно и еще.... если отладка лишена jtag, отлаживать "безосевой" софт будет мягко говоря затруднительно для отладки под линукс есть GDB под WinCE есть KITL ни один ни второй не требует JTAG Quote Share this post Link to post Share on other sites More sharing options...
mantech 13 April 1, 2014 Posted April 1, 2014 · Report post Не совсем понимаю о каких данных для инициализации проца идет речь Процессор инициализирует сама firmware сразу после загрузки Да я уже нашел их, в этом проце есть такая фишка, что ДДР и клоки можно настроить до загрузки основного бинаря, это просто куча команд типа - адрес регистра-его данные и т.п. Вобщем сначала идет загрузка регистров контроллера ДДР, затем параметров ДДР памяти, которая уст. на плате, и напоследок контроллера клоков. После этого встроенный загрузчик уже копирует бинарь по заранее указанному адресу и после копирования стартует с него и все... 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 Да я уже нашел их, в этом проце есть такая фишка, что ДДР и клоки можно настроить до загрузки основного бинаря, это просто куча команд типа - адрес регистра-его данные и т.п. Вобщем сначала идет загрузка регистров контроллера ДДР, затем параметров ДДР памяти, которая уст. на плате, и напоследок контроллера клоков. После этого встроенный загрузчик уже копирует бинарь по заранее указанному адресу и после копирования стартует с него и все... DCD что ли? Так это тоже часть firmware... Дело в том что эти данные грузятся из бутового флеша А это не Ваш случай DCD что ли? Так это тоже часть firmware... Дело в том что эти данные грузятся из бутового флеша А это не Ваш случай а если быть точнее, то даже не часть firmware, а образа (firmware + DCD + всякие ключи HAB), который ложится на бутовый флеш Quote Share this post Link to post Share on other sites More sharing options...
mantech 13 April 1, 2014 Posted April 1, 2014 · Report post DCD что ли? а если быть точнее, то даже не часть firmware, а образа (firmware + DCD + всякие ключи HAB), который ложится на бутовый флеш Именно это и есть. Как мне его не надо??? А куда я бинарь класть буду, в выключенныую ДДР??? 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 Именно это и есть. Как мне его не надо??? А куда я бинарь класть буду, в выключенныую ДДР??? Если речь идет о буте с флешки, тогда конечно надо Просто в MfgTools firmware заливается сразу в оперативку и выполняется А DCD отрабатывается только при буте с флеша встроенным загрузчиком Quote Share this post Link to post Share on other sites More sharing options...
mantech 13 April 1, 2014 Posted April 1, 2014 · Report post Если речь идет о буте с флешки, тогда конечно надо Просто в MfgTools firmware заливается сразу в оперативку и выполняется А DCD отрабатывается только при буте с флеша встроенным загрузчиком странно как-то, а в чем разница между загрузки в память с флешки или через усб?? Если DCD не отрабатывается, тогда как бутром узнает, какой тип памяти используется, частота камня и т.п.?? 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 странно как-то, а в чем разница между загрузки в память с флешки или через усб?? Если DCD не отрабатывается, тогда как бутром узнает, какой тип памяти используется, частота камня и т.п.?? Тут я не подскажу Прежде всего надо выяснить как работает MfgTools Будут результаты - дайте знать Реально интересно Ну и чем смогу, тем помогу 517_MFGTOOLCustomizationGuide.rar 516_Sourcecode.zip Quote Share this post Link to post Share on other sites More sharing options...
mantech 13 April 1, 2014 Posted April 1, 2014 · Report post Тут я не подскажу Прежде всего надо выяснить как работает MfgTools Будут результаты - дайте знать Реально интересно Ну и чем смогу, тем помогу тут для 25й имх у них похоже бутлоадер 1й версии, в 6й уже 2я версия с изменениями в полях данных Хотя могу в чем-то ошибаться - а камнем еще 3 дня только занимаюсь :laughing: 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 тут для 25й имх у них похоже бутлоадер 1й версии, в 6й уже 2я версия с изменениями в полях данных Хотя могу в чем-то ошибаться - а камнем еще 3 дня только занимаюсь :laughing: короче... imx6x определяется в USB как HID устройство IMX6SDLRM.pdf -> 8.8 Serial Downloader если есть практика программирования USB HID устройств, программатор пишется за один день freescale.com -> search -> IMX_MFG_TOOL_V2_SOURCE уверен что там все есть (например MxHidDevice.cpp) Quote Share this post Link to post Share on other sites More sharing options...
PheeL 0 April 1, 2014 Posted April 1, 2014 · Report post Возможно вы действительно приобрели не совсем подходящий для вас DevKit. Я являюсь обладателем MarS Board от Embest. На ней выведена площадка под разъём JTAG (PLLD1.27-10). Мне его любезно припаяли, а я интереса ради попробовал загрузить и исполнить файл из ОЗУ простенькую тестовую программу через SEGGER J-Link v8.0 и IAR7.10. На этом DevKit'е установлен Dual вариант SoC i.MX6 , но IAR (там есть конфигурация конкретно под этот вариант чипа) в отладчике выводит информацию о регистрах только одного из них. Как переключиться на второе и возможно ли это в принципе в этой версии IDE я пока не знаю. Ничего интересного больше не скажу, т.к. брал плату для экспериментов с Linux и Android. Quote Share this post Link to post Share on other sites More sharing options...
mantech 13 April 1, 2014 Posted April 1, 2014 · Report post Я являюсь обладателем MarS Board от Embest. Вопрос - во сколько обошлась эта плата? Эту я купил за 1400рубликов, причем планирую ее ставить в серийное изделие, по цене она меня полностью устраивает, так что придется уж долбить ее до победы... короче... iесли есть практика программирования USB HID устройств, программатор пишется за один день А зачем это мне?? Вы видать не поняли мой вопрос. Написал на форуме стартеркита, но видать там поставил всех в ступор Итак, на чем мы остановились... Вообщем писать мфгтулзу мне ненадо, она меня полностью устраивает, т.к. очень хорошо закидывает подготовленный бинарь в проц. Вопрос в том, как из бинаря, скомпиленного иаром сделать тот самый, который нужен процу... До чего я дошел, этот файл представляет собой контейнер, в котором есть основной заголовок, затем 3 адреса, и далее идет список DCD. С ним все ясно, это инициализация ДДР контроллера и системных клоков, ее можно оставить такую-же как было в убуте, т.к. это определяет характеристики целевой платы и памяти, а она не изменилась. Главный вопрос по системе адресации, на который мне пока никто не ответил, а именно: я вот про что - в заголовке имх-файла есть такие поля: абсолютный адрес первой инструкции - 0x00008017 абсолютный адрес DCD - 0x2CF47F17 абсолютный адрес Boot Data - 0x20F47F17 абсолютный адрес IVT - 0x00400400 (так понял, что его менять не надо) Можете объяснить, почему адрес первой инструкции 32791, хотя заголовок всего килобайт? И остальные адреса, особенно про DCD? Quote Share this post Link to post Share on other sites More sharing options...
AndrejM 0 April 2, 2014 Posted April 2, 2014 · Report post Главный вопрос по системе адресации, на который мне пока никто не ответил почитайте 2 и 8 раздел RM , кто вам тут на пальцах это объяснять будет.. Quote Share this post Link to post Share on other sites More sharing options...
mantech 13 April 2, 2014 Posted April 2, 2014 · Report post почитайте 2 и 8 раздел RM , кто вам тут на пальцах это объяснять будет.. Да я уж понял- вопрос был в порядке байт. Как же хорошо в свое время было с аврками Quote Share this post Link to post Share on other sites More sharing options...
mantech 13 April 3, 2014 Posted April 3, 2014 · Report post Кто поможет в портировании на иар функции: get_arm_private_peripheral_base ? Без нее не хочет компилиться проект И вообще, как портировать gccшные ассемблерные макросы на иар? .global get_arm_private_peripheral_base @ uint32_t get_arm_private_peripheral_base(void)@ .func get_arm_private_peripheral_base get_arm_private_peripheral_base: @ Get base address of private perpherial space mrc p15, 4, r0, c15, c0, 0 @ Read periph base address bx lr .endfunc @get_arm_private_peripheral_base()@ Quote Share this post Link to post Share on other sites More sharing options...