реклама на сайте
подробности

 
 
> SDCC
sergey sva
сообщение Aug 11 2008, 13:06
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Сейчас пишу програмку для мк 89с51ed2, память у него конфигурируется в регистре AUXR и может быть
768 1024 1792. Когда писал программу под KEIL там был файл Startup.asm в нем после
метки Startup: можно было настроить все что нужно. В SDCC файл есть main.asm но если в него добавить
что то то, после компиляции все равно будет сгенерирован новый main.asm а этот заменяется.
на сайте sdcc есть что то по настройке, startup http://sdcc.sourceforge.net/doc/sdccman.html/node78.html
но что то мне это не чего не говорит, может кому приходилось это настраивать, помоги настроить пожалуйста.
Go to the top of the page
 
+Quote Post
2 страниц V  < 1 2  
Start new topic
Ответов (15 - 19)
Сергей Борщ
сообщение Oct 28 2008, 12:10
Сообщение #16


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(_Pasha @ Oct 28 2008, 12:50) *
Короче, при вызове $(ASM) $(ASMFLAGS) $(PRJDIR)/$< ,mpasmwin получает в командную строку путь $(PRJDIR) в линуксоидном формате
Это проблема с вашим make. Точнее, скорее всего у вас make от cygwin. Возьмите свежий со странички MSYS - у него с путями порядок.


Цитата(gotty @ Oct 28 2008, 14:06) *
А может имеет смысл использовать все инструменты из одного комплекта?
Я использовал sdcc в связке с gputils. Формат исходника и командной строки для ассемблера из gputils отличается от ассемблера mplab. Если не изменянет память, sdcc имеет специальный ключ для генерации файла под mpasm.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Oct 28 2008, 12:48
Сообщение #17


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(gotty @ Oct 28 2008, 14:06) *
А может имеет смысл использовать все инструменты из одного комплекта?

Спасибо за ссылку. Но она ориентирована на работу с gplink & gpasm... В первом приближении вроде работает, но там нету ни экспорта, ни самого makefile. Подождем, может кто что добавит...
O_o уже добавили.
Цитата(Сергей Борщ @ Oct 28 2008, 15:10) *
Это проблема с вашим make.

Большое спасибо!
Цитата
Если не изменянет память, sdcc имеет специальный ключ для генерации файла под mpasm.

Я включаю -S --mplab-comp
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Oct 28 2008, 12:54
Сообщение #18


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(_Pasha @ Oct 28 2008, 15:48) *
Я включаю -S --mplab-comp
Я не нашел его в приведенном вами makefile, поэтому счел нужным обратить внимание. Ну, если есть - все пучком!


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
msalov
сообщение Oct 28 2008, 13:45
Сообщение #19


Знающий
****

Группа: Свой
Сообщений: 526
Регистрация: 24-08-07
Из: Беларусь, Минск
Пользователь №: 30 045



У меня складывается впечатление что MPLAB не использует makefile для сборки проекта, но может их создавать для пользователя. По сему создание мейкфайла - заняте бесполезное.
Как выход вижу написание небольшого shell-скрипта в котором вы будете компилировать исходники в асм-файлы, которые будут включены в проект обчным образом. Ну а для вызова этого скрипта будет использоваться настройка проекта Project -> Build Options -> Project -> Custom Build -> Prebuild Step, где Вы и пропишете свой чудо-скрипт.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Oct 28 2008, 14:20
Сообщение #20


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Сергей Борщ @ Oct 28 2008, 15:54) *
все пучком!

Немного победИл. Итого.
1. Поставил mingw32-make3.81
2. После этого стало возможно добавить путь в виде
Код
ASM = C:/Program Files/Microchip/MPASM Suite/mpasmwin.exe


Как выяснилось, глюки ползли из-за попыток обойти многословные виндовые названия при помощи кавычек. Т.е. в старых мейках без кавычек не запускался mpasmwin. В новом - нормально.
Теперь, запуск асма отдался легко и с радостью
Код
$(ASM) $(ASMFLAGS) $<

Т.е. пути к исходнику не нужны.
Далее, буду с линкером воевать.
Всем спасибо.
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 15:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.01391 секунд с 7
ELECTRONIX ©2004-2016