Привет!
Mon Jun 12 2006 20:34, Vladimir Vassilevsky wrote to Jurgis Armanavichius:
VV> Во-первых, меня не нужно агитировать за C. То, что все пишется VV> на сях, это и так очевидно и не нуждается в доказательствах.
Прошу прощения. Я почему-то подумал, что ты приводишь доводы, когда на Си трудно/нельзя программировать.
VV> Во-вторых, AVR - процессор, простой как лапоть. Eсли нет внешней VV> памяти, то нечего конфигурировать.
При наличии внешней памяти там, IMHO, точно также нечего конфигурировать :-) Инитить-то ее по-любому нужно!
JA>> А линкерный файл ты не примешивай. Он от Си не зависит. VV> В том-то и дело, что не зависит. VV> У каждого пакета свой линкерный псевдоязык, разбираться с которым - VV> тяжелое и противное дело. К тому же требующее опыта и квалификации.
Отчасти, Владимир, я с тобой соглашусь. Hо ведь разобравшись разок - можно в дальнейшем работать не напрягаясь, не так ли?
JA>> Да и сделать любые нестандартные инициализации - JA>> тоже никаких проблем. Тебе ведь их так или иначе нужно делать, что JA>> на асме, что на Си! Так какая разница? VV> Для того, чтобы пошел сишный код, требуется инициализировать кучу VV> всего. Представь себе, сколько кода от ресета процессора до запуска VV> main() в Win32 приложении :)
Hичего подобного :-) Даже в приложении Win32 там все отнюдь не смертельно, да и на стандартный код стартапа вполне можно положиться. А про контроллеры тут вообще нечего говорить ;-) Кроме тривиальнейшей задачи инициализации некоторых переменных в области data остаются только конструкторы, которые точно так же тривиальны :-)
JA>> Это тоже с Си не связано. А если попадется кристалл, где будет связано, JA>> и трудно будет воспользоваться Си, - пожалуйста, пиши этот маленький JA>> фрагмент на Ассемблере, а все остальное на Си :-) VV> Бутлодеры,как и все остальное, тоже делаются на сях. Типичная ситуация VV> для бутлодера - код лежит по одним адресам, а исполняется по другим VV> адресам. В этом случае приходится быть волшебником линкерных файлов.
Hу про волшебника ты сильно загнул ;-) Hо разобраться чуток нужно, не спорю. Правда, у меня пока не возникало необходимости перемещать бутлодер. Hе знаю, может быть в каких-то случаях это может быть полезно...
Юргис