[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Дело в том, что Keil симулятор не поддерживает Cygnal-ы в полной мере. Посмотрите на www.keil.com. Например для Вашего варианта:
On-chip Peripherals
of the Cygnal Integrated Products C8051F300/302
Simulation for this device is provided by the default simulation driver. Complete on-chip peripheral simulation for this device may not be available at this time.
The following on-chip peripherals are simulated.
Interrupts 6S/4L (Including External)
Port 0
Port 1
Port 2
Port 3
Power Saving Modes (Idle and Power Down)
Serial UART (Enhanced Interface)
Timer 0, 1, 2 (Standard Timer 2)
Сразу, навскидку, нет поддержки АЦП, компаратора и SMB интерфейса. Точнее, к регистрам то этой периферии Вы обратитесь, т.к. адреса определены в header файле, а вот увидеть их в списке периферийных устройств - нет. Соответственно нет взаимосвязи между этими регистрами. Т.е. не будут выставляться/сбрасываться флаги т.п..
Опять же повторюсь: не знаю про 6.23, а до него во всех версиях Cygnal симулируется как 51-й со СТАНДАРТНОЙ архитектурой, т.е. все команды (за исключением MUL и DIV) выполняются за 12 или 24 тактов. У Cygnal-ов, как Вы знаете, все несколько иначе. Выходов три:
1. смириться с тем, что поставляет Keil и пытаться симулировать как получиться;
2. перейти на Development Kits + драйвер от Cygnal;
3. ждать выхода Keil uVision Vxx.xx, где будет полноценная поддержка Cygnal-ов.
Успехов на любом из поприщ!
E-mail: info@telesys.ru