Перейти к содержанию
    

sdcc для stm8 - кто пробовал?

Ебилд написал и установил. У меня сейчас версия 3.4.0 стоит. А в официальных репах только 2.5.0.

А вообще, надо ебилд обновить. Вроде бы в sdcc еще что-то интересное добавили...

 

А что именно там побагфиксили?

У меня снапшот двухмесячной давности и я как-то не вижу особых изменений в качестве выходного кода

$ sdcc -v
SDCC : mcs51/z80/z180/r2k/r3ka/gbz80/tlcs90/ds390/pic16/pic14/TININative/ds400/hc08/s08/stm8 3.4.3 #9191 (Mar  7 2015) (Linux)

 

основных претензий две:

- для того чтобы не выкидывал логику, приходится в некоторых ситуациях едва ли не половину переменных объявлять как volatile.

- в выходной hex попадают абсолютно все функции - вне зависимости используете вы их или нет, как пример - в файле filter.c две функции, реализующих фильтр: u8 Filter8(u8 *) и u16 Filter16(u16 *), так вот если использовать в проекте filter.с для вызова функции Filter8, то Filter16 так же попадёт в итоговый hex. проблема старая и давно известная, но в качестве workaround, увы, предлагается использовать дробление на файлы функций.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...