Поиск по сайту
Результаты поиска по тегам 'mcs51'.
Найдено 2 результата
-
Недавно передо мной встала необходимость заиметь бесплатный компилятор с языка Си для микроконтроллеров MCS51. Поиски в интернете привели к очень интересному проекту SDCC. Этот компилятор не имеет собственной среды разработки и я использовал его напрямую из командной строки, а затем я написал простенькие "батники". Через пару часов я уже полюбил эту вещь и всячески рекомендую всем, кто хочет иметь прекрасный, и что для многих немаловажно, бесплатный инструмент. Сайт с которого я скачал дистрибутив http://sdcc.sourceforge.net/ . После инсталляции компилятор у меня расположился здесь C:\SDCC\ Программу я начал писать здесь D:\tmp\SDCC\ Для начала я попробовал написать пробную программку для микроконтроллера AT89C2051. У меня получилось что то вроде этого в файле main.c: //------------------------------------------------------------------- #include "C:\sdcc\include\mcs51\at89x051.h" //------------------------------------------------------------------- typedef unsigned char uchar; typedef unsigned long ulong; //------------------------------------------------------------------- #define LED P1_7 //------------------------------------------------------------------- uchar st_led=1; ulong t_led =0L; //------------------------------------------------------------------- void main(void) { while(1) { if(st_led) LED=1; else LED=0; t_led++; if (t_led<100000L) st_led=0; else if(t_led<200000L) st_led=1; else t_led=0; } } Затем я написал батник go.bat со следующим содержимым: c:\sdcc\bin\sdcc.exe main.c Запустил батник и получил несколько результирующих файлов: Содержимое папки после удачной компиляции 18.07.2017 09:30 752 main.c - это файл с исходным кодом. 18.07.2017 09:33 8 623 main.asm - результат работы на ассемблере. 18.07.2017 09:33 584 main.ihx - файл с прошивкой. Нужно только поменять расширение на HEX. 18.07.2017 09:33 221 main.lk - не разбирался, что это такое. 18.07.2017 09:33 24 383 main.lst - полный листинг вместе с объектным кодом. 18.07.2017 09:33 17 613 main.map - карта памяти, куда и что ложится. 18.07.2017 09:33 1 192 main.mem - карта использования оперативной памяти. 18.07.2017 09:33 4 905 main.rel - не разбирался, что это такое. 18.07.2017 09:33 24 383 main.rst - похоже на файл lst 18.07.2017 09:33 39 294 main.sym - значения символов. Переменных, констант и т.д. Прошив микроконтроллер полученной прошивкой, я получил мигалку. Затем я переделал свой старый рабочий проект написанный ранее в Keil, и - о, чудо, всё сразу заработало! Считаю данный компилятор годной заменой дорогим и платным компиляторам. Рекомендую всем. Надеюсь в дальнейшем найти IDE оболочку для более комфортной работы. Следует сказать, что помимо MCS51 компилятор поддерживает также другие платформы. Это Мотороловские HC08, Микрочиповские PIC14, PIC16, а также Зилоговские Z80, Z180. Всем удачи и хорошего дня!
- 3 ответа
-
- компилятор
- sdcc
-
(и ещё 1)
Теги:
-
Научно-медицинской фирме требуется инженер-электронщик-программист. Полная неделя 9:00 - 18:00. ст. м. Авиамоторная. Основная деятельность - разработка и программирование устройств на мк STM-32.
- 2 ответа
-
- 1
-
-
- Инженер
- Электронщик
-
(и ещё 3)
Теги: