|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.10.2021, 14:33 | #1 |
Пользователь
Регистрация: 24.10.2021
Сообщений: 17
|
A51 в HEX
Привет, товарищи!
Прилетел мне исходник на assembler-е, с расширением *.А51 Программа написана под процессор 8051, в железе стоит АТ89С51. Хотел по-быстренькому скомпилировать A51 в HEX, в Keil microVision/Moravia MCU 8051 IDE/C51ASM от Atmel - не вышло. Вываливаются ошибки при компиляции. Первое, что бросилось в глаза, это объявление (инициализация) переменных. Пример: KEY REG P0.1 Логика записи мне понятна: порт 0, линия 1 резервируем за переменной KEY. Выяснил, что REG это псевдо-инструкция, и компилятор на нее ругается, как на синтаксическую ошибку. Таких строк с инициализацией много, соответственно дальнейший код не находит этих переменных, и сыпет в консоль еще кучу ошибок. Погуглил, нашел, что псевдо-инструкции (pseudo-ops) описаны в мануле "A51 8051 Cross-assembler", синтаксис соответствует. Но компиляторы пытаются принять эти псевдо-инструкции за команды ассемблера. Еще один момент: самая первая строка файла FILE.A51 содержит запись " .CHIP 8051". Само по себе это указывает на конкретный МК. Но вот сама инструкция .CHIP мне нигде не попадается больше, кроме листингов COP8, где аналогично указывается чип. Кроме файла FILE.A51 никаких других файлов (объектных, листинга и т.п.) нет. Отсюда вопросы и глас о помощи. В какой среде был набит FILE.А51, как его скомпилировать в HEX? |
25.10.2021, 12:20 | #2 |
Форумчанин
Регистрация: 02.06.2021
Сообщений: 515
|
|
25.10.2021, 16:31 | #3 |
Пользователь
Регистрация: 24.10.2021
Сообщений: 17
|
Подправлять синтаксис не хотелось бы. По крайней мере пока.
Я не уверен, что инструкция .CHIP была только в COP8. COP8, как я понял, детище National Semiconductor, а у нас Atmel. У NS был свой NSASM и среда WCOP8. Могла ли она быть использована в проекте с AT89C51? Я сомневаюсь. Скорее всего, был какой-то IDE комплексный, с поддержкой разных МК, поэтому он имел свою встроенную инструкцию .CHIP для указания компилятору. Но я пока не нашел, какой IDE мог выкидывать в сырец такую инструкция. Что-то подобное делали IDE от Borland, добавляя в начало исходника архитектуру МК. Типа .486 и т.п. Может кто-то и CHIP вспомнит? |
25.10.2021, 22:41 | #4 |
Пользователь
Регистрация: 24.10.2021
Сообщений: 17
|
Я хочу попробовать найти среду разработки, и сделать компиляцию в ней.
Понимаю, что 20+ лет назад, всяких ASM-ов и IDE было много, но не настолько много, чтобы задача была невыполнимой. Может кто-то накидает вариантов, кто что вспомнит, в каких IDE вообще возможно было под 8051 вести разработку ПО? |
26.10.2021, 12:33 | #5 |
Форумчанин
Регистрация: 02.06.2021
Сообщений: 515
|
Проще подправить синтаксис. Туже COP8 уже просто так не найти. Ну если хочется, то можете копаться ToolStick, Silicon Labs IDE, Keil, IAR, MPLAB, SDCC, eclipse + plugins, ...
|
26.10.2021, 14:24 | #6 |
Пользователь
Регистрация: 24.10.2021
Сообщений: 17
|
Правда ваша, поиски COP8 не увенчались успехом. Ну тогда вопросы по синтаксису.
Код:
|
26.10.2021, 15:43 | #7 |
Форумчанин
Регистрация: 02.06.2021
Сообщений: 515
|
Код:
|
26.10.2021, 16:03 | #8 |
Пользователь
Регистрация: 24.10.2021
Сообщений: 17
|
Что-то не так. Undefined Symbol (pass-2) получаю.
P0.1 является портом 0, бит 1. P0_1, видимо, воспринимается как другая переменная. Т.е. KEY EQU P0_1 требует объявления P0_1? =) |
26.10.2021, 16:06 | #9 |
Форумчанин
Регистрация: 02.06.2021
Сообщений: 515
|
Вы inc для АТ89С51 подключили?
|
26.10.2021, 16:20 | #10 |
Пользователь
Регистрация: 24.10.2021
Сообщений: 17
|
Нет. Я так понимаю, .CHIP 8051 (в каком-то другом IDE) указывала компилятору набор инструкций и регистров стандартного 8051. Я посчитал, что Keil "из коробки" по-дефолту использует инструкции 8051. Я лишь в настройках проекта указывал, что МК AT89C51.
Надо что-то еще прописать? П.С. Пардон за тупость, асм в моей жизни был оч. давно. Что знал - забыл, а чего не знал... Мой преподаватель Юров сгорел бы от стыда, увидев, какие вопросы его бывший студент задает =( |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка. Берём hex-код, шифруем hex-код, собираем всё в файл. | Poltish | Общие вопросы Delphi | 2 | 21.08.2013 12:57 |
file->HEX HEX->BIN | kakawkin | Общие вопросы Delphi | 1 | 25.04.2012 01:02 |
По HEX | kompaky | Общие вопросы по программированию, компьютерный форум | 2 | 30.07.2011 19:12 |
Помогите с hex в с++ | pavelstraut | Помощь студентам | 1 | 17.07.2009 23:29 |
C# и HEX | megazz13 | Помощь студентам | 2 | 03.04.2009 00:32 |