SDK 1.1 ADuC842 + Keil uVision 8.01

Учебный лабораторный комплекс SDK-1.1 на базе микроконтроллера ADuC812 с ядром MCS51 # RS-232C, I2C

SDK 1.1 ADuC842 + Keil uVision 8.01

Сообщение dk_bis » 31 янв 2009, 17:10

Здраствуйте.
Я новичок в теме разработки устройств на МК, поэтому сталкиваюсь с проблемами, которые не могу решить самостоятельно. Прошу помощи в следующих вопросах:
1. Как избавиться от ошибки "*** error 65: access violation at X:0x080007 : no 'write' permission" ?
Возникает, насколько я понимаю, при попытке записи в порт на ПЛИС, т.е. при обращении к внешним устройствам. Я полагаю что необходимо указать среде о наличии внешней памяти по этому адресу, но как это сделать?
2. При старте МК управление передаётся в ячейку с адресом 0x0000, по которому в SDK находится служебная программа, передающая управление в 0x2100. Каким образом это учесть при отладке программы в среде?
исходные тексты программы в приложении.
Вложения
test04_demoset842.rar
исходные тексты программы
(7.33 Кб) Скачиваний: 229
dk_bis
 
Сообщения: 1
Зарегистрирован: 31 янв 2009, 16:54

Re: SDK 1.1 ADuC842 + Keil uVision 8.01

Сообщение MIX@ » 02 фев 2009, 03:25

Доброго времени суток!
dk_bis писал(а):1. Как избавиться от ошибки "*** error 65: access violation at X:0x080007 : no 'write' permission" ?
Возникает, насколько я понимаю, при попытке записи в порт на ПЛИС, т.е. при обращении к внешним устройствам. Я полагаю что необходимо указать среде о наличии внешней памяти по этому адресу, но как это сделать?

К сожалению (или к счастью :twisted: ) Keil-ом давно не пользуюсь, но погуглив кое-что нашёл: http://www.pjrc.com/tech/8051/board5/keil.html. Интерес представляет Step 3: Configure Build Target

dk_bis писал(а):2. При старте МК управление передаётся в ячейку с адресом 0x0000, по которому в SDK находится служебная программа, передающая управление в 0x2100. Каким образом это учесть при отладке программы в среде?
исходные тексты программы в приложении.

Данный нюанс затрагивает только подсистему прерываний. Думаю, этот факт никак не учесть при симуляции (Симулятор не умеет симулировать External Code Memory как SRAM).
Однако, единственное различие между отлаживаемой программой и программой, загружаемой в стенд, будет наличие в последней доп. функции переброски векторов прерываний с области (0x2000-2050). Сама функция для Keil и почему это нужно описано в доках.

Лично у меня не вышло интегрировать симулятор Keil в процесс разработки для SDK-1.1

Могу дать совет:
1) если есть опыт разработки для MCS51 - плюнуть на симулятор и делать "на глазок" сразу под SDK-1.1 :pardon:
2) если же опыта нет - для начала просто поиграться с ядром MCS51 в кейле, а потом приступать к пункту 1
Аватара пользователя
MIX@
 
Сообщения: 115
Зарегистрирован: 08 апр 2008, 11:57


Вернуться в SDK 1.1

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron