Page 2 of 3

Re: Ошибки при заливке прошивки через J-Flash

Posted: Sun May 25, 2014 8:10 pm
by puff
стоп. у меня проблема, как я понял, точно такая же, как у acab. в прошивке (.bin, который я получаю из .hex) получается больше данных, чем нужно. мне удалось лишь через задницу (дебаггер) залить прошивку из .elf файла. думаю, либо в elf файле эти доп. данные просто не включены, либо в дебаггере нету проверки на эти лишние данные, которая есть в st-flash (и которая есть у acab в j-flash). других версий у меня нету.

Re: Ошибки при заливке прошивки через J-Flash

Posted: Sun May 25, 2014 10:29 pm
by AndreyB
А кстати. О каком именно st-link вообще идёт речь? Можно ссылку?

Re: Ошибки при заливке прошивки через J-Flash

Posted: Sun May 25, 2014 10:43 pm
by puff
хе. поймал)
я, похоже, наврал про официальность. почему-то подумал, что оно шло от st

Copyright (c) 2011 The "Capt'ns Missing Link" Authors. All rights reserved.
управляет проектом Martin Capitanio (m@capitanio.org)

как устанавливал -уже не помню. наверное вот по этой ссылке?
http://eliaselectronics.com/stm32f4-tutorials/setting-up-the-stm32f4-arm-development-toolchain/

напишу-ка я ему письмо)

Re: Ошибки при заливке прошивки через J-Flash

Posted: Sun May 25, 2014 10:46 pm
by AndreyB
Ему писать не поможет - писать наверное нужно в https://github.com/texane/stlink
У этой штуки мутный статус - они вроде благодарили ST за помочь, но это не официальный ST софт.

Re: Ошибки при заливке прошивки через J-Flash

Posted: Sun May 25, 2014 10:57 pm
by puff
https://github.com/texane/stlink/commits?author=prattmic
#66
по идее они еще в 2012 устранили эту багу.
хз как узнать, когда была собрана моя версия (да хоть бы номер версии), но в свойствах файла дата указана 27 декабря 2013 года (тогда примерно я её и поставил)

Re: Ошибки при заливке прошивки через J-Flash

Posted: Mon May 26, 2014 4:10 am
by acab
russian wrote:acab, ты "умеешь" разобраться, я смотрю

Puff разобрался, что в ccm не пишет никто.
а что зарбираться? пол года назад ты какую то галку убрал, чтобы оно не добавляла эту память в прошивку.
теперь такая же проблема. трудно сделать так, чтобы не добавляла память в бинарник?

Re: Ошибки при заливке прошивки через J-Flash

Posted: Tue May 27, 2014 4:06 pm
by AndreyB
acab wrote:а что зарбираться? пол года назад ты какую то галку убрал, чтобы оно не добавляла эту память в прошивку.
теперь такая же проблема. трудно сделать так, чтобы не добавляла память в бинарник?
Я не уверен, что я какую-то галку куда-то добавлял :( Сейчас я к сожалению уже не помню, что именно за проблема была тогда и как мы её решили. Поэтому к сожалению у меня вообще нет идей, что именно и где нужно трогать.

Ты можешь-хочешь всё-таки задать вопрос авторам J-Flash, может быть дать им ссылку на бинарник наш? Раз этот девайс коммерческий продукт, то там должна быть служба тех. поддержки?

Re: Ошибки при заливке прошивки через J-Flash

Posted: Tue May 27, 2014 7:32 pm
by puff
ох жеж блин, ступил. я же где-то сам компилировал из исходников - её бы попробовать прошить)
а вот как это делал - уже забыл…

Re: Ошибки при заливке прошивки через J-Flash

Posted: Tue May 27, 2014 7:36 pm
by AndreyB

Re: Ошибки при заливке прошивки через J-Flash

Posted: Tue May 27, 2014 8:54 pm
by puff
о, спасиб! завтра попробую прошить самособранную прошивку…

Re: Ошибки при заливке прошивки через J-Flash

Posted: Wed May 28, 2014 12:58 pm
by puff
фиг. при ближайшем рассмотрении не туда ты меня направил)
энивей, нашел я ту прошивку, что сам делал (пока ждал загрузки свежих исходников - кстати, научите, как выкачивать только код прошивки, без всяких ненужностей типа исходников джава-консоли, схем, лейаутов и прочего?)
нашел, значит, датированную 29 апреля, ну и попробовал её прошить на плату (bin файл) - шиш.
то есть мой компилятор её собрал видимо тем же образом, что и ваш виндовый (или где вы там её собираете)

смотрю мейкфайл, ничего не вижу)))

compile the application in THUMB mode?

на всякий случай вот код моей ошибки:

Code: Select all

build red$ ~/Development/embedded/tools/stlink/st-flash write rusefi.bin 0x08000000
2014-05-28T16:45:48 INFO src/stlink-usb.c: -- exit_dfu_mode
2014-05-28T16:45:48 INFO src/stlink-common.c: Loading device parameters....
2014-05-28T16:45:48 INFO src/stlink-common.c: Device connected is: F4 device, id 0x10016413
2014-05-28T16:45:48 INFO src/stlink-common.c: SRAM size: 0x30000 bytes (192 KiB), Flash: 0x100000 bytes (1024 KiB) in pages of 16384 bytes
2014-05-28T16:45:50 INFO src/stlink-common.c: Attempting to write 134241388 (0x8005c6c) bytes to stm32 address: 134217728 (0x8000000)
2014-05-28T16:45:50 ERROR src/stlink-common.c: addr too high
stlink_fwrite_flash() == -1

Re: Ошибки при заливке прошивки через J-Flash

Posted: Wed May 28, 2014 1:02 pm
by AndreyB
st-flash -v
st-flash -version

не показывает ничего случайно? я бы попыпался написать в st-link, но для этого у тебя должна стоять последняя версия этого дела.

Выкачивай https://svn.code.sf.net/p/rusefi/code/trunk/firmware/ вместо https://svn.code.sf.net/p/rusefi/code/trunk/

Re: Ошибки при заливке прошивки через J-Flash

Posted: Wed May 28, 2014 1:16 pm
by puff
первое, что пробовал :-)

Code: Select all

stlink/st-flash -version
invalid command line
stlinkv1 command line: ./flash [--reset] {read|write} /dev/sgX path addr <size>
stlinkv1 command line: ./flash /dev/sgX erase
stlinkv2 command line: ./flash [--reset] {read|write} path addr <size>
stlinkv2 command line: ./flash erase
                       use hex format for addr and <size>
то же самое на -v
есть там папка с исходниками, но в них тоже ничегошеньки, что наводило бы на мысли о версии.

про скачку - не знал, что так можно - уже много лучше)

Re: Ошибки при заливке прошивки через J-Flash

Posted: Wed May 28, 2014 1:19 pm
by AndreyB
Давай соберём свежак:

git clone git://github.com/texane/stlink.git
cd stlink
./autogen.sh
./configure
make

как-то так? :)

Re: Ошибки при заливке прошивки через J-Flash

Posted: Wed May 28, 2014 1:42 pm
by puff
интересно, собралось :-)

я тут перед этим увидел в старом транке папку firmware binary. в ней был hex. я его переделал в бин, бин успешно залился, а на экранчике после перезагрузки написано еще rusefi here (то есть какая-то старая прошивка). дата создания файла - 29 апреля 16-48 (там же рядом лежит rusefi.neon.hex)

свежесобранный stlink выдаёт ту же ошибку. хотя сами файлы отличаются: размер старого 80 244 байт, нового - 80 364

Re: Ошибки при заливке прошивки через J-Flash

Posted: Wed May 28, 2014 1:54 pm
by puff

Re: Ошибки при заливке прошивки через J-Flash

Posted: Wed May 28, 2014 2:20 pm
by AndreyB
Да не понятно, нужно заводить свой тикет - со ссылкой на наш бинарник, раз у нас бинарник есть в интернете.

Давай прежде чем заводить тикет последний раз удостоверимся, что проблема и правда в CCM. Я немного поменял сорцы и сделал CCM настраиваемым.
1) обновись - возьми последнюю версию
2) открой файл efifeatures.h
тебе нужно поставить три FALSE:
#define EFI_USE_CCM FALSE
#define EFI_WAVE_CHART FALSE
#define EFI_ANALOG_CHART FALSE

собири и попробуй прошить. Если в таком виде прошьётся - значит проблема точно в CCM. если не прошьётся - то ой.

Re: Ошибки при заливке прошивки через J-Flash

Posted: Wed May 28, 2014 2:50 pm
by puff
фигня какая. я делаю просто svn, потом сразу make? или еще какие-нибудь configure нужны промежуточно?
короче, скачалось через svn:
Checked out revision 3319.
прошилось (!)
и на экране откуда-то 3249 - это как?

и что значили эти wave и analog chart? они используют ccm? что это вообще? так и не понял, должен флешер заливать эту ccm область, или нет…

Re: Ошибки при заливке прошивки через J-Flash

Posted: Wed May 28, 2014 2:54 pm
by AndreyB
не понял, ты обновил? там кроме svn наверное какой-то параметр еще нужен?
а ты изменения вносил в efifeatures.h?
да просто make
3249 вместо 3319 - это потому, что файлик svnversion.h сам по себе чудесным образом не редактируется, для его обновления нужно запускать команду
java -jar ../java_tools/version2header.jar
которая у меня в windows .bat файле, вставить её в Makefile я не умею.

Re: Ошибки при заливке прошивки через J-Flash

Posted: Wed May 28, 2014 2:58 pm
by puff
ух, как же все сложно.
http://www.linuxjournal.com/content/add-auto-incrementing-build-number-your-build-process
хотя наверное эта ссылка не поможет - надо же именно в прошивке что-то менять…

и да, изменил строчки, собрал-прошил - всё окейно)

Re: Ошибки при заливке прошивки через J-Flash

Posted: Wed May 28, 2014 3:05 pm
by AndreyB
по ссылке всё-таки немного чуть-чуть другое, но есть и общее - они добавили в Makefile вызов внешней команды. Вот если кто-то осилит добавить в наш Makefile вызов внешней команды - будет хорошо :)

Завёл https://github.com/texane/stlink/issues/239 - тикет с приятным мне номером 239

Re: Ошибки при заливке прошивки через J-Flash

Posted: Wed May 28, 2014 3:08 pm
by AndreyB
Судя по тикетам типа https://github.com/texane/stlink/issues/234 - и отсутствию внимания к таким тикетам - я должен сказать что texane-stlink всё-таки немного не фонтан :( Может быть WinXP в виртуалочке запустить?

Re: Ошибки при заливке прошивки через J-Flash

Posted: Wed May 28, 2014 3:08 pm
by puff
данке!

Re: Ошибки при заливке прошивки через J-Flash

Posted: Wed May 28, 2014 3:13 pm
by AndreyB
А нам там конструктивно ответили в https://github.com/texane/stlink/issues/239 - в том смысле, что что-то там не то с размером .bin файла. Кто делает .bin и почему он блин такой большой? Ответишь там?

Re: Ошибки при заливке прошивки через J-Flash

Posted: Wed May 28, 2014 4:07 pm
by puff
к черту виртулочку. я смотрю, ты там уже всё расписал. и там даже ответили что-то малопонятное. мое мнение - сейчас надо у acab выспросить как было у него.
и кстати, сейчас попробую еще раз конфиги обратно вернуть и скомпилировать.

короче, выходит, вопрос не к тексанам, а к st и их компилятору (или что это, что превращает hex в st?)

Re: Ошибки при заливке прошивки через J-Flash

Posted: Wed May 28, 2014 4:10 pm
by puff
не фонтан оно даже по той причине, что он никак не ругается, если на входе ему подсовываешь неправильный (несуществующий) файл, или ошибаешься в синтаксисе адреса (в конец затесалось пара буквенных символов)

Re: Ошибки при заливке прошивки через J-Flash

Posted: Wed May 28, 2014 4:18 pm
by puff
ну так и есть. делаю make - оно автоматом делает этот rusefi.bin размером 134 мегабайта.
при этом если поменять три строчки в твоем конфиге - получаемый на выходе .bin - что-то там меньше мегабайта.
теперь вопрос к тебе: у тебя там на виде тоже бины делаются? (ведь на билд-сервере в архиве их нет!) - так вот, можно на винде попробовать сделать бин файл и посмотреть на его размер…

Re: Ошибки при заливке прошивки через J-Flash

Posted: Wed May 28, 2014 4:20 pm
by puff

Re: Ошибки при заливке прошивки через J-Flash

Posted: Wed May 28, 2014 4:36 pm
by puff
вот еще такая же проблема
http://embdev.net/topic/150574
но я не понимаю, о чем они там говорят. где такой линкер файл? и почему именение трех параметров в конфиге исходников ведёт к такому перекосу?

Re: Ошибки при заливке прошивки через J-Flash

Posted: Wed May 28, 2014 4:47 pm
by puff
вот тут ищи noload - чувак решил проблему кажется
http://forum.chibios.org/phpbb/viewtopic.php?f=16&t=1912