| Форум РадиоКот https://radiokot.ru/forum/ |
|
| Keil создает hex с адреса 0х800 (Си, АТ89С2051) [ Решено! ] https://radiokot.ru/forum/viewtopic.php?f=62&t=192860 |
Страница 1 из 1 |
| Автор: | Nijka [ Чт мар 28, 2024 18:34:43 ] |
| Заголовок сообщения: | Keil создает hex с адреса 0х800 (Си, АТ89С2051) [ Решено! ] |
Здравствуйте. Простая программа на Си (любая). Получаю для АТ89С2051 ошибку error L107: address space overflow. Устранить ошибку и получить нех-файл можно, если взять контроллер с бОльшим объемом памяти. При этом код программы размещается с адреса 0х800 , а по нулевому адресу стоит переход на 0х800. Далее до 0х800 пусто. Даже для программы размером несколько байт нех-файл создается размером 3 кБ. Подскажите, как настроить проект в Keil, чтобы генерируемый код размещался с начала памяти? |
|
| Автор: | BOB51 [ Чт мар 28, 2024 20:20:41 ] |
| Заголовок сообщения: | Re: Keil создает hex с адреса 0х800 (Си, АТ89С2051) |
Си для АТ89С2051?... Там и ассемблера вполне хватит. Ежли уж Си, то почитаем настройки как IDE, так и компилятора насчет минимального комплекта *. h файлов описания ресурсов МК. |
|
| Автор: | Nijka [ Пт мар 29, 2024 04:46:37 ] |
| Заголовок сообщения: | Re: Keil создает hex с адреса 0х800 (Си, АТ89С2051) |
... почитаем настройки как IDE, так и компилятора насчет минимального комплекта *. h файлов описания ресурсов МК. Спасибо за быстрый отклик. Судя по Вашему ответу, причину моей проблемы Вы знаете. Был бы признателен за ссылку или более конкретную информацию. |
|
| Автор: | veso74 [ Пт мар 29, 2024 05:09:02 ] |
| Заголовок сообщения: | Re: Keil создает hex с адреса 0х800 (Си, АТ89С2051) |
Цитата: Keil -> development development tools without a current product license run as a Lite/Evaluation edition and have the following restrictions. C51 Evaluation Tools ... Programs start at offset 0x0800. Programs generated with the evaluation software may not be programmed into single-chip devices with less than 2 Kbytes of on-chip ROM. Цитата: Программы начинаются со смещения 0x0800. Программы, созданные с помощью оценочного программного обеспечения, не могут быть запрограммированы в однокристальные устройства с объемом встроенного ПЗУ менее 2 Кбайт. https://www2.keil.com/limits |
|
| Автор: | Nijka [ Пт мар 29, 2024 10:12:44 ] |
| Заголовок сообщения: | Re: Keil создает hex с адреса 0х800 (Си, АТ89С2051) |
https://www2.keil.com/limits Искренне благодарен. Ссылка недоступна, но из текста все понятно. Помимо заявленного ограничения по размеру кода, Evaluation edition "сдвигает" код в памяти на 2кБ. Это недоразумение можно исправить известным способом. Такие подозрения были, но вводил в заблуждение старинный код на ассемблере, который компилятор почему-то располагал в памяти как и надо, с 0х0000. Вдобавок еще Proteus работал с 3-килобайтным hex-файлом для АТ89С2051, нисколько не смущаясь. Еще раз спасибо, друг! |
|
| Автор: | BOB51 [ Пт мар 29, 2024 17:44:46 ] |
| Заголовок сообщения: | Re: Keil создает hex с адреса 0х800 (Си, АТ89С2051) [ Решено |
Как вариант альтернативы кейлу относительно MCS51 https://sunduk.radiokot.ru/view/?id=1690871999 и SDCC https://sunduk.radiokot.ru/view/?id=1690872411 Относительно ассемблера можно и атмелевским c51asm пользоваться - отличная штука. |
|
| Автор: | santos29 [ Пн июн 02, 2025 21:02:21 ] |
| Заголовок сообщения: | Re: Keil создает hex с адреса 0х800 (Си, АТ89С2051) [ Решено |
Крякнутый или зарегестрированный Keil создает hex с адреса 0х000 |
|
| Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|


