|
|
  |
Среда для STM8, Какая нынче кошерна? |
|
|
|
Oct 12 2015, 11:33
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(Эдди @ Oct 12 2015, 08:38)  Пользуюсь geany, как и для всего остального. +100500 тоже 2 года назад пришел к geany и больше никуда не тянет. разве что плагинов самописных еще не делал. Цитата(Harbinger @ Oct 12 2015, 08:34)  STVD+Raisonance. Пытаюсь освоить связку Code::Blocks+SDCC, пока что фигня получается, из-за отсутствия описания особенностей работы с STM8 в доках SDCC. Берите шаблон мейкфайла. забудете весь кодблокс как страшный сон CODE CPU = stm8s003 F_CPU=16000000
TARGETNAME = trm_v2 TARGET = $(TARGETNAME).hex DBG = DBG += --debug
LIBS = CC = sdcc PROG = stm8flash -c stlink -p $(CPU) -w READ = stm8flash -c stlink -p $(CPU) -v ASM = sdasstm8 CFLAGS = -mstm8 --std-sdcc99 -I./inc -DSTM8S003 $(DBG) LFLAGS = -mstm8 -lstm8.lib #LFLAGS += -out-fmt-elf #LFLAGS += --out-fmt-s19 AFLAGS = #GDB = sdcdb -cpu $(CPU) -X $(F_CPU) GDB = sstm8 -t stm8s003 -X 16M <dbg.cmd
#http://stackoverflow.com/questions/1139271/makefiles-with-source-files-in-different-directories FILES = main.c #FILES +=
.PHONY: begin clean all default prog read debug
default: begin $(TARGET) all: default OBJECTS = $(patsubst %.c, %.rel, $(FILES)) HEADERS = $(wildcard *.h)
%.rel: %.c $(HEADERS) $(CC) $(CFLAGS) -c $< -o $@
.PRECIOUS: $(TARGET) $(OBJECTS)
$(TARGET): $(OBJECTS) $(CC) $(LFLAGS) $(OBJECTS) -Wall $(LIBS) -o $@ begin: echo $(OBJECTS) clean: -rm -f Release/*.* -rm -f Debug/*.* -rm -f *.rel -rm -f *.asm -rm -f *.lst -rm -f *.rst -rm -f *.sym -rm -f *.lk -rm -f *.mem -rm -f *.map -rm -f $(TARGET)
prog: $(TARGET) $(PROG) $(TARGET) read: $(READ) $(TARGET)
debug: $(TARGET) # python debugger.py $(TARGETNAME).cdb $(FILES) $(GDB)
он конечно тупой, есть и другие варианты. Но работает. с симулятором на случай легкого юнит-теста работает через командный файл
|
|
|
|
|
Oct 12 2015, 11:51
|
Знающий
   
Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112

|
Цитата(Эдди @ Oct 12 2015, 08:38)  Пользуюсь geany, как и для всего остального. Компиляю sdcc, прошиваю stm8flash. Никаких сторонних библиотек за ненадобностью не использую. Используете geany под WinXP или под Linux? Как к geany подключить компилятор sdcc и где его взять? Тоже заинтересовался вопросом применения geany для всего остального, могли бы сказать, где еще Вы его применяете, на сколько успешно? По поводу библиотек, не совсем понял, о чем речь...
|
|
|
|
|
Oct 12 2015, 12:01
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(Serhiy_UA @ Oct 12 2015, 14:51)  Используете geany под WinXP или под Linux? Как к geany подключить компилятор sdcc и где его взять? Тоже заинтересовался вопросом применения geany для всего остального, могли бы сказать, где еще Вы его применяете, на сколько успешно? По поводу библиотек, не совсем понял о чем речь... просто "все остальное" концентрируется вокруг нескольких вещей, а именно *Makefile *Debugger а именно командные файлы. К сожалению, в sdcc нет swim-gdb. отладку нужно писать. *python scripts - вспомогательные штучки для автогенерации всего что только можно автоматизировать *Geany plugins - это уже для тех кто психанул и нырнул в GTK с головой. Хотя, ничего там сложного и нету...
Сообщение отредактировал _Pasha - Oct 12 2015, 12:02
|
|
|
|
|
Oct 12 2015, 12:46
|
Знающий
   
Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112

|
Цитата(_Pasha @ Oct 12 2015, 14:33)  ...Берите шаблон мейкфайла... Шаблон интересен, главное, что рабочий, Спасибо! Все-таки это для Linux, так? Обычно там я применяю shell-команды из оболочки sh. А python scripts - это уже более продвинутая альтернатива? Но параллельно меня интересует и WinХР, там для МК я обычно применял IAR и Keil...
|
|
|
|
|
Oct 12 2015, 13:08
|
Знающий
   
Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250

|
Цитата(Serhiy_UA @ Oct 12 2015, 14:51)  Используете geany под WinXP или под Linux? Под линукс, естественно! Кто ж из-под игровой прошивки работает? Цитата Как к geany подключить компилятор sdcc и где его взять? Что значит "подключить"? Все есть в настройках. Только нафиг "подключать"? У меня открыта консолька на втором мониторе, где я и запускаю всякие make && make load. Цитата Тоже заинтересовался вопросом применения geany для всего остального, могли бы сказать, где еще Вы его применяете, на сколько успешно? Для прикладнухи (С, Octave, bash), веб-сервисов (С, жабоскрипт, html), под STM32 тоже в geany код пишу (+libopencm3). Цитата По поводу библиотек, не совсем понял, о чем речь... Я имел в виду всякую ненужную дрянь вроде SPL.
|
|
|
|
|
Oct 12 2015, 14:58
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Я недавно допиливал одну унаследованную программу для stm8. Взял sdcc, Eclipse, написал makefile, и получил привычную для себя, кроссплатформенную среду программирования. sdcc для stm8, конечно, слабоват (почти не оптимизирует, не умеет выкидывать неиспользуемые функции), но - работает.
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Oct 19 2015, 06:12
|

Местный
  
Группа: Участник
Сообщений: 359
Регистрация: 28-05-05
Из: Брянщина
Пользователь №: 5 494

|
Хорошо. Это халивар - вопрос веры. Вернёмся, если не против, к stm8  ладно. С редактором почти определились. Как там дела обстоят с компиляторами? есть Си, Паскаль? Сойдёт и (ненавистный некоторым) Бейсик. Я начинал с Паскаля, потом пришлось в аля-Бейсике (точнее, смеси Паскаля+Си) писать. Что есть приятного на рынке? для PIC - полно! Для АВР - еще больше выбора. Как у stm8 с этим?
|
|
|
|
|
Oct 19 2015, 15:00
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (AHTOXA @ Oct 19 2015, 09:05)  У меня противоположное понимание. Я понимаю среду как привычную мне среду разработки, полностью настроенную под мои нужды, с прикрученными к ней компилятором, отладчиком и прочими вспомогательными средствами. Благодаря такому подходу при переключении на новый контроллер я не должен изучать "новую готовую среду", а могу сразу работать, как мне привычно. Да, все именно так. Всякие "среды" от производителей, желающих подсадить чайников на свой контроллер или компилятор, - сразу в топку. QUOTE (aleksandr-zh @ Oct 19 2015, 17:08)  старею и ленюсь... Тогда на пенсию, или на саночки и в лес. ибо поиски "готовой" ерунды, которая пишется второй раз уж точно буквально левой ногой, означает только то, что ничего Вы ни разу такого вообще НИ РАЗУ не писали, только сляпывали из всяких "библиотек".
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Oct 19 2015, 15:16
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (_Pasha @ Oct 19 2015, 18:06)  Но не только. В последнее время меня сильно умиляют два брата-мутанта, имярек Эклипс и Нетбинс. Такое впечатление, что там не индексация идет а мешки с цементом грузятся.  За второй не скажу, а с первым открытость сыграла злую шутку - вместо того, что-бы производители занимались некоторыми плагинами, они по понятной шкурной причине начали растаскивать его по разным "своим" веткам с одной единственной целью быть ОТЛИЧНЫМИ от других. Нафиг такое  .
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Oct 20 2015, 07:51
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(_Pasha @ Oct 18 2015, 21:58)  Кто сталкивался. Почему stm8flash пишет прошивку в stm8s и она после этого не подымается, в то время как с stvd все нормально? Я что-то не инициализирую? кста, после верификации или чтения - тоже Классно мы живем, короче. Неужели никто не пользуется? В общем, нужно строчку, там где вызывается reset - вынести за пределы операции записи, ибо там в ОЗУ первые 5f байт все равно затираются по неведомым пока причинам, вследствие чего read on the fly невозможен. все это касается stlink 1 main.cКод if(pgm->reset) { // Restarting core (if applicable) pgm->reset(pgm); } вот это нужно поместить перед return 0; из мэйна.
|
|
|
|
|
Oct 20 2015, 09:28
|

Местный
  
Группа: Участник
Сообщений: 359
Регистрация: 28-05-05
Из: Брянщина
Пользователь №: 5 494

|
Цитата(zltigo @ Oct 19 2015, 18:00)  ибо поиски "готовой" ерунды, которая пишется второй раз уж точно буквально левой ногой, означает только то, что ничего Вы ни разу такого вообще НИ РАЗУ не писали, только сляпывали из всяких "библиотек". а наш zltigo - телепат... то мысли читает, то ауру чистит, то предлагает поддержку ПО в микроволновках делать... удачи, коллега.
|
|
|
|
|
Oct 20 2015, 09:55
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (aleksandr-zh @ Oct 20 2015, 12:28)  а наш zltigo - телепат... то мысли читает... Мысли не читаю. Но их полное отсутствие в пустых головах распознаю безошибочно. QUOTE ...то ауру чистит, то предлагает поддержку ПО в микроволновках делать... Эти Ваши бредовые галлюцинации комментированию вообще не подлежат.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Oct 20 2015, 10:20
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(_Pasha @ Oct 20 2015, 10:51)  Неужели никто не пользуется? я тут пытаюсь допилить stm8flash чтобы поднять консоль по типу как это делается в stm32, т.е. берем байт в ОЗУ, например по адресу 0x3ff который в stm8s гарантированно под возвратом из main() пишем туда и ждем пока он обнулится уже средствами swim блин  все заготовлено, и байт обнуляется. кроме того, что чтение блока единичной длины явно не работает. шо ж делать? неспроста там функция чтения одиночного байта не реализована.
|
|
|
|
|
Oct 20 2015, 16:00
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(Эдди @ Oct 20 2015, 18:57)  А чего зип, а не нормальный форк на гитхабе? А то может что-нибудь полезное будет - автор бы стащил к себе (да и просто пулл-реквесты проще слать же)! да пусть тащит. зачем множить сущности? я туда полноценный дебаггер положу  когда будет готов. Главное, что механизм работает.
Сообщение отредактировал _Pasha - Oct 20 2015, 16:23
|
|
|
|
|
Oct 20 2015, 16:31
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(_Pasha @ Oct 20 2015, 12:51)  Классно мы живем, короче. Неужели никто не пользуется? Я пользуюсь, у меня всё запускается. Цитата(_Pasha @ Oct 20 2015, 12:51)  все это касается stlink 1 А, у меня второй. ЗЫ. Про отладку и питон совсем ничего не понял
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Oct 20 2015, 16:47
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(AHTOXA @ Oct 20 2015, 19:31)  А, у меня второй. А. Ну у меня первый из дискавери под рукой. И нужно это было сделать сегодня. Цитата(AHTOXA @ Oct 20 2015, 19:31)  ЗЫ. Про отладку и питон совсем ничего не понял  я хотел вначале повторить то что делает stm8flash на основе pyUSB, потом заскучал от кол-ва писанины теперь получается проще сделать питоновский модуль из того, что уже работает с stlink 1 и 2 - будет простенький класс с open close read write + специфик дебажные методы т.е. это какбы бэкенд. а верхний уровень, собственно дебаг - пишется на питоне легко и быстро. Вот только неохота с мутным cdb разбираться  это все в предположении, что нормального дебаггера sdcdb под stm8 так и не будет  и гнаться за прикручиванием бекэнда к нему нет смысла. Еще из замеченных косяков- stm8flash под stlink1 на малине не работает. Еще не понял почему. А вот 2 - работает без проблем. Stm32 отлаживаю через st-util А я уже разбаловался - пошел прилег с вайфаем и кручу отладку
Сообщение отредактировал _Pasha - Oct 20 2015, 17:23
|
|
|
|
|
Oct 20 2015, 18:03
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(_Pasha @ Oct 20 2015, 21:47)  я хотел вначале повторить то что делает stm8flash на основе pyUSB, Ага, я уже почитал по ссылке на(в) шараге. Хорошая штука, попробую при случае. Цитата(_Pasha @ Oct 20 2015, 21:47)  Еще из замеченных косяков- stm8flash под stlink1 на малине не работает. Еще не понял почему. Первый вообще под линуксом работает с трудом. Там реализовали работу через какое-то кривое подмножество mass storage, линуксовые драйвера от этого дуреют. А вот второй уже нормально сделан, и с ним проблем нет.
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
May 5 2016, 11:17
|
Знающий
   
Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250

|
Цитата(_Pasha @ May 4 2016, 20:57)  char того этого Кто ж нонче пишет "int", "char" и т.п., если нужно, скажем, int32_t, int8_t и т.п.? Тупо char можно лишь для строковых переменных писать — там пофиг на знаковость...
|
|
|
|
|
May 5 2016, 12:47
|
Знающий
   
Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250

|
Цитата(_Pasha @ May 5 2016, 14:56)  совать exact width депопало--- моветон  Это вы, батенька, не перелопачивали с 32-битной на 64-битную архитектуру сервер обмена данными, который использует бинарные пакеты — структуру вроде Код struct{ ... int var1; char var2; ... } Вот где жесть и моветон! Я уж не говорю о том, что пропущены всякие прагмы для явного выравнивания данных.
|
|
|
|
|
May 5 2016, 18:38
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(Эдди @ May 5 2016, 15:47)  Это вы, батенька, не перелопачивали с 32-битной на 64-битную архитектуру сервер обмена данными, который использует бинарные пакеты — структуру вроде Код struct{ ... int var1; char var2; ... } Вот где жесть и моветон! Я уж не говорю о том, что пропущены всякие прагмы для явного выравнивания данных. Неее, такое лопатил. В структурах обмена как раз exact то шо нада. А вот если миръ не сбрендилъ совсем (а?), то скоро могут появиться достойные средства для *_fast*_t и такого же *least*_t
Сообщение отредактировал _Pasha - May 5 2016, 18:39
|
|
|
|
|
May 5 2016, 20:01
|
Знающий
   
Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250

|
Цитата А вот если миръ не сбрендилъ совсем (а?), то скоро могут появиться достойные средства для *_fast*_t и такого же *least*_t А зачем? gcc и так справляется с оптимизацией! Жаль, sdcc далек от этого... Но, увы, пот тот же stm8 кроме sdcc компиляторов свободных нет ☹
|
|
|
|
|
Sep 1 2016, 10:25
|
Группа: Участник
Сообщений: 13
Регистрация: 15-10-06
Пользователь №: 21 331

|
в халявных версиях нужно регистрироваться, получать лицензию и софт будет привязан к компьютеру? и еще вопрос: как можно использовать elf для отладки, повившийся в последней версии SDCC ? сломал весь мозг...
|
|
|
|
|
Apr 23 2017, 11:14
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 11-07-05
Пользователь №: 6 687

|
Привет народ! Подскажите пожалуйста версию ИАР под stm8 которая качественно, ... хряцнутая? Если такая вообще есть.
|
|
|
|
|
Mar 5 2018, 05:49
|
Участник

Группа: Участник
Сообщений: 67
Регистрация: 18-03-05
Пользователь №: 3 452

|
Цитата(muravei @ Feb 24 2018, 11:40)  Лавочка прикрылась? Почему прикрылась ? Может просто год с момента установки прошел ? ;-) Limited to one year license Просто повторно запрашиваете новую лицензию и все....
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|