zltigo 0 19 октября, 2007 Опубликовано 19 октября, 2007 · Жалоба Появился свежий компилятор для MSP430 - перепрыгнул аж на 4 версию. Но IDE, хоть и 4.0, но совсем не совместима с прочими IDE V4 - ставить отдельно. Приручение обычное. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
diper 0 19 октября, 2007 Опубликовано 19 октября, 2007 · Жалоба Появился свежий компилятор для MSP430 - перепрыгнул аж на 4 версию. Плиз, залей на FTP, что то не хочет он 30дневку мне отдавать..(( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 19 октября, 2007 Опубликовано 19 октября, 2007 (изменено) · Жалоба По наводке из пустыни обнаружил, что на сайте производителя появилась новая версия компилятора IAR Embedded Workbench version 4.10 for TI MSP430. Поскольку там высказывалось сомнение, то скачал. Действительно скачивается новая версия. Посему краткий отчет поверхностного исследования ее. Зная какой самый первый вопрос интересует российских эмбеддеров, сообщаю - после увеличения дозы для версии на 1/10 таблетка по-прежнему работает. ;) Далее. Дистриб на 13 Метров больше предыдущего. На этапе установки кроме собственно IAR EW дополнительно установился Microsoft Visual C++ 2005. :cranky: Не поэтому ли дистриб на 13 Метров потолстел? Версии проекта традиционно несовместимы, посему IDE при открытии его предлагает старый (созданный в 3.42а) конвертировать. Ну сконвертировал. Визуально IDE не изменилось. После этого сразу полез в опции проекта. В опциях оптимизации вместо выпадающего списка чекбоксы. Кроме Speed и Size появилась Balanсed, но выбирать из них можно лишь при установленном уровне оптимизации High. При выборе других уровней оптимизации "лишнее" затенено/недоступно. Кстати, забегая вперед, при компиляции проекта выскочила ошибка, связанная с этим нововведением. Error[e117]: Incompatible runtime models. Module acorr specifies that '__rt_version' must be '3', but module math has the value '2' Error while running Linker Видимо все-таки конвертация проекта не совсем гладко проходит. Пришлось зайти в опции проекта и выбрать medium, потом снова high-speed. После этого скомпилировалось. Далее. Заметил, что список поддерживаемых эмуляторов увеличился. Кроме TI (LPT-FET, USB-FET), J-Link и SoftBaugh (LPT, USB, USB Pro), поддерживаемых в 3.42A появились Olimex (USB, LPT) и Elprotronic USB-FPA. Соответственно в комплекте имеются драйвера для мостов USB-COM FDTI, SiLabs etc. Новых плагинов не добавилось, а версии имеющихся конечно же обновились. Больше ничего, нового/интересного в опциях не заметил. Окромя двух новых "Data20 heap size" там где Options->General options->Stack/Heap и Options->C/C++ compiler->Code "20-bit context save on interrupt". Обе e меня затенены, т.к. видимо предназначены для кристаллов со 100кБайтной Flash. Попробовал скомпилировать проект. Компилируется. Но появились новые ремарки, которых не выдавала 3.42A. На строки вида uchLRC=~uchLRC; и if (((~P1IN)&BIT5)==0) stat0=0; выдает ремарку Remark[Pa091]: operator operates on value promoted to int (with possibly unexpected result) Операция побитовой инверсии над char-овскими операндами не нравится? Ну да ладно. Результаты. Версия 3.42a уровень оптимизации medium-speed (оптимизация по скорости). Code motion выключена. 14 174 bytes of CODE memory 1 626 bytes of DATA memory (+ 348 absolute ) 752 bytes of CONST memory Версия 4.10a уровень оптимизации medium (оптимизация по скорости не доступна для выбора). Code motion выключена. 14 104 bytes of CODE memory 1 626 bytes of DATA memory (+ 348 absolute ) 720 bytes of CONST memory Версия 3.42a уровень оптимизации high-speed (оптимизация по скорости). Code motion выключена. 14 050 bytes of CODE memory 1 626 bytes of DATA memory (+ 348 absolute ) 752 bytes of CONST memory Версия 4.10a уровень оптимизации high-speed (оптимизация по скорости). Code motion выключена. 14 036 bytes of CODE memory 1 626 bytes of DATA memory (+ 348 absolute ) 720 bytes of CONST memory Ну то, что размер кода уменьшился это хорошо и объяснимо, но почему констант меньше стало, не совсем понятно. :laughing: Компилятор их инлайнить перестал? Или что-то другое? Запустил C-Cpy в режиме симулятора. Запускается. Внешний вид не изменился. Зато вновь заработала "ручная" симуляция вызова прерывания. :08: В 3.42A она почему-то не работала и симмитировать прерывания можно было только с помощью макросов. Вот в общем пока и все. Реального устройства под рукой нет и работоспособность прошивки, скомпилированной в 4.10A проверить не могу. А хотелось бы проверить корректность оптимизации переменных типа volatile, находящихся в структуре. Глюк с оптимизацией для такого случая присутствует как в 3.30A, так и в 3.42A. P.S. открыл еще один проект, созданный в 3.42A. Сконвертировал. Скомпилировал. Ошибки типа Error[e117]: описанной выше не выскочило, но на попытку запустить C-cpy приложение IAR тихо, без каких-то сообщений самостоятельно закрылось :) Запустил вновь, зашел в опции в там где задается оптимизация выбрал medium и снова high-speed. После этого все скомпилировалось и C-Cpy уже нормально запустился. Видимо именно в этом месте конвертация проектов все же глючит. Будьте внимательны! Оп-па! zltigo уже успел присоединить мое сообщение к своей малоинформативной ветке, хотя на мой взгляд следовало бы наоборот сделать ;) Ну да ладно, хозяин-барин и кто не успел, тот опоздал :smile3009: Для diper. Ваша просьба выполнена. Изменено 19 октября, 2007 пользователем rezident Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 0 19 октября, 2007 Опубликовано 19 октября, 2007 · Жалоба Оп-па! zltigo уже успел присоединить мое сообщение к своей малоинформативной ветке, хотя на мой взгляд следовало бы наоборот сделать ;) Спокойно! Cделано именно наоборот, но сортировка, естественно, работает по времени создания постов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
msalov 0 22 октября, 2007 Опубликовано 22 октября, 2007 (изменено) · Жалоба Если кого интересует лекарство (генератор ключа), то его можно сделать из electronix.ru/forum/index.php?act=Attach&type=post&id=2254 Для этого достаточно прочитать инструкцию в lz0.nfo.rus с небольшими дополнениями: менять ..... на 9. Изменено 22 октября, 2007 пользователем zltigo Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DogPawlowa 0 22 октября, 2007 Опубликовано 22 октября, 2007 · Жалоба После этого все скомпилировалось и C-Cpy уже нормально запустился. Видимо именно в этом месте конвертация проектов все же глючит. Будьте внимательны! А прибор то работает? :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rezident 0 22 октября, 2007 Опубликовано 22 октября, 2007 · Жалоба А прибор то работает? :) Не знаю. Готового устройства, для которого была написана именно эта прога, сейчас нету, закончились. Как изготовят, так я и проверю. С другими проектами, написанными в 3.30A, пока экспериментировать некогда. Если только на следующей неделе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DogPawlowa 0 14 ноября, 2007 Опубликовано 14 ноября, 2007 · Жалоба Если кого интересует лекарство (генератор ключа), то его можно сделать из electronix.ru/forum/index.php?act=Attach&type=post&id=2254 Для этого достаточно прочитать инструкцию в lz0.nfo.rus с небольшими дополнениями: менять ..... на 9. Решил таки попробовать - не получается у меня правильно пропатчить - программа при запуске говорит, что "программа не умещается в памяти". Помогите, люди добрые, приобщиться к разумному, доброму, вечному. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
diper 0 14 ноября, 2007 Опубликовано 14 ноября, 2007 · Жалоба ...говорит, что "программа не умещается в памяти". Редактор "плохой". Видимо что лишнее патчит, напрмер табуляции пробелами заменяет или перводы строки. Возьми например типа www.hhdsoftware.com/Products/home/hex-editor-free.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VAI 0 15 ноября, 2007 Опубликовано 15 ноября, 2007 · Жалоба 2 Dog Pawlowa А Вы не текстовым редактором пытаетесь патчить исполняемый файл? Вам нуден редактор бинарных файлов. Я использую "Hiew". Поищите в гугле. У него нет ограничения на объём редактируемого файла. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
msalov 0 15 ноября, 2007 Опубликовано 15 ноября, 2007 (изменено) · Жалоба 2 Dog Pawlowa Если не осилите правку бинарных файлов, можете воспользоваться патчем для генератора, ссылку на который(генератор) я приводил выше. Удачи. iarkgpatch.zip Изменено 15 ноября, 2007 пользователем gotty Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DogPawlowa 0 15 ноября, 2007 Опубликовано 15 ноября, 2007 · Жалоба Спасибо всем, не оставившим наедине с хакерской наукой :) Уже получил результаты: Fatal Error[e106]: Syntax error or bad argument in x.xcl 70 -Z(DATA)DATA16_I,DATA16_Z,DATA16_N,HEAP+_HEAP_SIZE=0200-0300 Fatal! Execution terminated... Error while running Linker Разбираться буду завтра, но кажется, что именно эту строчку я исправлял при переходе с 2.XX на 3.XX. Никакой фантазии у них нет... "Храм-бассейн-храм.." Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Иваныч 0 15 ноября, 2007 Опубликовано 15 ноября, 2007 · Жалоба Fatal Error[e106]: Syntax error or bad argument in x.xcl 70 -Z(DATA)DATA16_I,DATA16_Z,DATA16_N,HEAP+_HEAP_SIZE=0200-0300 Fatal! Execution terminated... Error while running Linker Вы, наверное, используете свой (не тот, что по-умолчанию) XCL файл, а он у Вас заточен под предыдущую версию. Найдите в папке $TOOLKIT_DIR$\CONFIG\ нового ИАРа файл XCL для Вашего проца и подправьте свой XCL по аналогии. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
diper 0 15 ноября, 2007 Опубликовано 15 ноября, 2007 · Жалоба Fatal Error[e106]: Syntax error or bad argument in x.xcl 70 -Z(DATA)DATA16_I,DATA16_Z,DATA16_N,HEAP+_HEAP_SIZE=0200-0300 Fatal! Execution terminated... Error while running Linker Вроде _HEAP_SIZE заменить на _DATA16_HEAP_SIZE. Или посмотреть в новых xcl файлах как уже рекомендовали выше.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DogPawlowa 0 19 ноября, 2007 Опубликовано 19 ноября, 2007 · Жалоба Продолжаю переводить проекты на 4.10. В одном из проектов новая версия обнаружила, что дважды описана функция прерывания по передаче порта :( Посмотрел - точно, в модуле uart - рабочее прерывание, в main - заглушка. Возник риторический вопрос - а что же там молча компилировала версия 3.ХХ ? :07: Еще одна галка в пользу перехода на новые версии. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться