Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > АТ89С52


Автор: falcon39 29.3.2005, 22:18
У кого есть компилятор на контроллер АТ89С52.
В интернете нашел только кучу ссылок которые не работают. smile
Может кто нибудь по почте пришлет. PLEASE!!!

Автор: PILOT 29.3.2005, 22:45
АСМ, С?

СУВ.

Автор: cardinal 29.3.2005, 22:59
Посмотри здесь (компилятор обзывается sdcc)
http://sdcc.sourceforge.net/

Автор: PILOT 29.3.2005, 23:38
Я думаю тебе Keil подойдет. Поищи в инете.
Keil подходит и для С, и для ASM

СУВ.

Автор: cardinal 29.3.2005, 23:40
Но Keil платный, а sdcc нет smile

Автор: PILOT 29.3.2005, 23:46
А есть сайты... разные всякие smile

СУВ.

Автор: ManiaK 30.3.2005, 15:34
Keil платный????
Тогда чем я пользуюсь???smile)))

Автор: cardinal 30.3.2005, 15:39
Посмотрите где я живу smile тут на работе ворованным не пользуются!

Автор: falcon39 30.3.2005, 20:56
Спасибо!!!
Компилятор нешел!!!
Теперь другая проблемка. Я не могу скомпилировать проект smile
Что я должен для этого написать (ssdc ???????????????????? project.asm)?
smile

Автор: cardinal 30.3.2005, 21:51
Я не понял у тебя проект полностью на асме чтоли?
Для того, чтобы откомпилировать проект написанный на Си (в него ты можешь все вещи на асме вставить), то надо сделать makefile (читай тут http://www.opussoftware.com/tutorial/TutMakefile.htm), с примерно след. содержанием
Код

.PATH.obj = obj
.PATH.usb = usb

Ccom  = C:\SDCC\bin\sdcc
PackIhx = C:\SDCC\bin\packihx
Sdcclib = C:\SDCC\bin\sdcclib

Cinclude = G:\Dev\Src\Work\include
Clib = G:\Dev\Src\Work\lib 

SDCCCFLAGS  = -I$(Cinclude) -L$(Clib)
                            
main.hex : main.c 
        $(Ccom) $(SDCCCFLAGS) -c -o$(.PATH.obj)\flash_api.rel flash_api.c
        $(Ccom) $(SDCCCFLAGS) -c -o$(.PATH.obj)\timer_init.rel timer_init.c
        $(Ccom) $(SDCCCFLAGS) -c -o$(.PATH.obj)\spi_init.rel spi_init.c
        $(Ccom) $(SDCCCFLAGS) -c -o$(.PATH.obj)\rs232_init.rel rs232_init.c
        $(Ccom) $(SDCCCFLAGS) -c -o$(.PATH.obj)\intpt_init.rel intpt_init.c
        $(Ccom) $(SDCCCFLAGS) -c -o$(.PATH.obj)\console.rel console.c
        $(Ccom) $(SDCCCFLAGS) -c -o$(.PATH.obj)\conv.rel conv.c
        $(Ccom) $(SDCCCFLAGS) -c -o$(.PATH.obj)\int_isr.rel int_isr.c
        $(Ccom) $(SDCCCFLAGS) -c -o$(.PATH.obj)\usb_task.rel $(.PATH.usb)\usb_task.c
        $(Ccom) $(SDCCCFLAGS) -c -o$(.PATH.obj)\usb_drv.rel $(.PATH.usb)\usb_drv.c
        $(Ccom) $(SDCCCFLAGS) -c -o$(.PATH.obj)\usb_enum.rel $(.PATH.usb)\usb_enum.c
        $(Ccom) $(SDCCCFLAGS) -c -o$(.PATH.obj)\spi.rel spi.c
        $(Ccom) $(SDCCCFLAGS) -c -o$(.PATH.obj)\stepper.rel stepper.c
        $(Ccom) $(SDCCCFLAGS) -c -o$(.PATH.obj)\bml.rel bml.c
        $(Ccom) $(SDCCCFLAGS) -c -o$(.PATH.obj)\cpu_init.rel cpu_init.c
        $(Sdcclib) $(Clib)\lp.lib $(.PATH.obj)\flash_api.rel
        $(Sdcclib) $(Clib)\lp.lib $(.PATH.obj)\timer_init.rel
        $(Sdcclib) $(Clib)\lp.lib $(.PATH.obj)\spi_init.rel
        $(Sdcclib) $(Clib)\lp.lib $(.PATH.obj)\rs232_init.rel
        $(Sdcclib) $(Clib)\lp.lib $(.PATH.obj)\intpt_init.rel
        $(Sdcclib) $(Clib)\lp.lib $(.PATH.obj)\console.rel
        $(Sdcclib) $(Clib)\lp.lib $(.PATH.obj)\conv.rel
        $(Sdcclib) $(Clib)\lp.lib $(.PATH.obj)\int_isr.rel
        $(Sdcclib) $(Clib)\lp.lib $(.PATH.obj)\usb_task.rel
        $(Sdcclib) $(Clib)\lp.lib $(.PATH.obj)\usb_drv.rel
        $(Sdcclib) $(Clib)\lp.lib $(.PATH.obj)\usb_enum.rel
        $(Sdcclib) $(Clib)\lp.lib $(.PATH.obj)\spi.rel
        $(Sdcclib) $(Clib)\lp.lib $(.PATH.obj)\stepper.rel
        $(Sdcclib) $(Clib)\lp.lib $(.PATH.obj)\bml.rel
        $(Sdcclib) $(Clib)\lp.lib $(.PATH.obj)\cpu_init.rel
        $(Ccom) $(SDCCCFLAGS) -o$(.PATH.obj)\main.ihx main.c lp.lib 
        $(PackIhx) $(.PATH.obj)\main.ihx > main.hex

То есть прописать все .c файлы и сказать какой .hex ты хочешь иметь. Для упрощения работы можно использовать еще один редактор под названием MultiEdit (см. тут http://lotusadvisor.com/Solutions.nsf/0/8130c80862167e24882566190069b5fd?OpenDocument). Где-нибудь может найдешь его бесплатные версии...

Короче если интересно, то давай изучай. Будут вопросы, расскажу что знаю...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)