реклама на сайте
подробности

 
 
> uVision3 simulator, При отладке Keil не показывает включенные файлы
Ytrnj
сообщение Mar 20 2007, 13:11
Сообщение #1





Группа: Участник
Сообщений: 10
Регистрация: 21-12-06
Из: Питер
Пользователь №: 23 756



Есть вопрос к знатокам uVision (8.05).

При отладке проги в Кейловском симуляторе, он упорно игнорирует включенные файлы.
То есть при переходе на функцию описанную во включенном файле, в окне дизассемблера
вместе с правильным ассемблерным кодом
отображаются соответствующие по номеру строки из главного файла.

Облазил весь uVision, но ничего не нашел.

В ИАРе таких проблем не было.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Snaky
сообщение Apr 13 2007, 05:32
Сообщение #2


Mute Beholder
***

Группа: Свой
Сообщений: 260
Регистрация: 4-04-07
Из: Третья планета от Солнца
Пользователь №: 26 754



Цитата(Ytrnj @ Mar 20 2007, 16:11) *
Есть вопрос к знатокам uVision (8.05).

При отладке проги в Кейловском симуляторе, он упорно игнорирует включенные файлы.
То есть при переходе на функцию описанную во включенном файле, в окне дизассемблера
вместе с правильным ассемблерным кодом отображаются соответствующие по номеру строки из главного файла.

А в Project Workspace -> Source Group не забыли эти файлы с функциями добавить??
Попробуйте без оптимизатора - возможно слишком короткая функция и оптимизатор решил сделать ее inline, т.е. заменить вызов кодом самой функции.


--------------------
Common sense is not so common.
Go to the top of the page
 
+Quote Post
Kolia
сообщение Apr 18 2007, 11:47
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 188
Регистрация: 28-09-06
Из: Minsk
Пользователь №: 20 762



Цитата(Snaky @ Apr 13 2007, 06:32) *
то при проходе в симуляторе он никогда не входит в файл func_def.c
и в дизассемблерном окне в качестве комментария к коду показывает


Симулятор не видит таких файлов #include func_def.c но в итоге после компиляции программа работает корректно.

Для того что-бы симулятор корректно работал с *.с файлом его необходимо подключить к проекту (например как в присоединненном файле). Для каждого *.с создается файл *.h (в вашем случае это будет func_def.h) в котором описываюдтся все прототипы функций и переменные используемые в теле main другого *.с файла.
Например -> Файл *.h

char func(char b );

-> Файл *.c

char func(char b )
{
b<<=1;
if( b )return b;else return 1;
}

Файл *.h вписывается в файл main.c с помощью #include func_def.h

Все достаточно просто smile.gif
Прикрепленные изображения
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Snaky
сообщение Apr 19 2007, 06:12
Сообщение #4


Mute Beholder
***

Группа: Свой
Сообщений: 260
Регистрация: 4-04-07
Из: Третья планета от Солнца
Пользователь №: 26 754



Цитата(Kolia @ Apr 18 2007, 15:47) *
Для того что-бы симулятор корректно работал с *.с файлом его необходимо подключить к проекту (например как в присоединненном файле).
[skipped]

Все достаточно просто smile.gif

Да, я именно это и имел ввиду, только вы объяснили более подробно, да еще и приписав мне чужой пост как цитату blink.gif


--------------------
Common sense is not so common.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 14:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01374 секунд с 7
ELECTRONIX ©2004-2016