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

 
 
 
Reply to this topicStart new topic
> Infineon и Keil, Infineon XC167CL-16 bit и Keil uVision3 asm
Lalka
сообщение Aug 17 2009, 09:58
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 30-07-09
Пользователь №: 51 673



Всем привет. Никогда раньше не работала с ассемблером. Чайник еще тот)) А тут надо писать в Keil uVision3 на ассемблере. Микроконтроллер - XC167Cl 16 разрядный. Нигде нет даже примера на ассемблере,везде все по С. Помогите пожалуйста, люди добрые, кто чем может. Не имею никакого понятия что это и с чем едят. Пока пишу всякую ерунду. Может посоветуете какую-нибудь литературу. Желательно на русском, но на худой конец можно и на английском. Или пришлет кто-нибудь на почту шаблон программы. Я даже вступления не знаю. Вобщем я ничего не знаю,помогите! :-D
e-mail- lala730@yandex.ru

$segmented
$case
$modinf (43)

NAME HELLO

NCODE CGROUP &PR&HELLO
ASSUME DPP3:SYSTEM

EXTRN ?C_STARTUP:NEAR
REGDEF R0-R15
main PROC NEAR
GLOBAL main
...
...
...
RET
main ENDP
?PR?HELLO ENDS
END

Почему программа не работает без строки "EXTRN ?C_STARTUP:NEAR"? Зачем она?
Это код сгенерированный самим компилятором после написания программы на С. Как работать на ассемблере без намека на С,а то он слишком вездесущ...
Go to the top of the page
 
+Quote Post
Shandy
сообщение Aug 17 2009, 13:39
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 3-03-06
Пользователь №: 14 931



После установки Кейла в папке ASM находится файл template.a66. Попробуйте взять его за основу для своей программы.
Если с английским языком нет проблем, то еще можно поспрашивать на форуме Кейла
Go to the top of the page
 
+Quote Post
Legotron
сообщение Sep 14 2009, 12:08
Сообщение #3


инопланетянин
***

Группа: Свой
Сообщений: 236
Регистрация: 24-12-06
Из: Питер
Пользователь №: 23 832



Цитата(Lalka @ Aug 17 2009, 13:58) *
Всем привет. Никогда раньше не работала с ассемблером. Чайник еще тот))

зачем вам именно ассемблер?
если вы никогда не работали ни с ассемблером ни с языком С, однозначно советую вам начать писать на С.

Цитата(Lalka @ Aug 17 2009, 13:58) *
А тут надо писать в Keil uVision3 на ассемблере. Микроконтроллер - XC167Cl 16 разрядный.

"надо" - это универское задание?

Цитата(Lalka @ Aug 17 2009, 13:58) *
Нигде нет даже примера на ассемблере,везде все по С.

Неправда, у меня дома валяется небольшая книжка по написанию программ на ассемблере для С167 (в первом приближении одно и тоже что XC167)

Цитата(Lalka @ Aug 17 2009, 13:58) *
Помогите пожалуйста, люди добрые, кто чем может. Не имею никакого понятия что это и с чем едят.

Это с радостью, мы добрые smile.gif см. mail

Цитата(Lalka @ Aug 17 2009, 13:58) *
Может посоветуете какую-нибудь литературу. Желательно на русском, но на худой конец можно и на английском.

На русском могу посоветовать только ту книжечку которая лежит у меня дома (позже уточню название).
Также классические книги по ассемблеру (не берусь советовать) и С (K & R).
А так читайте даташит по XC167.

Цитата(Lalka @ Aug 17 2009, 13:58) *
Или пришлет кто-нибудь на почту шаблон программы.

Могу прислать, но вряд ли вы сним разберетесь без посторонней помощи.
Советую посмотреть примеры в кейле.

Цитата(Lalka @ Aug 17 2009, 13:58) *
Это код сгенерированный самим компилятором после написания программы на С. Как работать на ассемблере без намека на С,а то он слишком вездесущ...

Вот вам несколько советов:
1. Если это ваш первый опыт с микроконтроллерами - забросьте подальше XC167 и осваивайте например AVR.
2. Не начинайте изучение с ассемблера, тем более такого как в XC167. Начните с С, и в 99% случаев вам его будет предостаточно. На ассемблере пишут либо те, кто писал программы до появления приличных компиляторов, либо те, кому он реально нужен для достижения соответствующих целей. Целиком программы на ассемблере пишут на сегодняшний день единицы. В основном используется inline-asm, либо пару asm-файлов на десятки сишных в рамках одного проекта.

Если же конечно, вам необходимо работать именно с XC167 и именно на ассемблере в силу каких-то обстоятельств, то постарайтесь начинать с простых программок (ни в коем случае не начинайте смотреть примеры сгенерированные С-компилятором, а то еще не равён час и принципы работы компилятора выучите, его оптимизацию, правда уйдет на это лет 5 минимум, ну да ладно smile.gif)...

Удачи вам!

Цитата(Shandy @ Aug 17 2009, 17:39) *
Если с английским языком нет проблем, то еще можно поспрашивать на форуме Кейла

Очень дельный совет! Сам неоднократно там спрашивал. Очень отзывчивые люди отвечали, причем грамотные и к тому же быстро. Этот форум у меня в свое время на 2 месте после электроникса шел. Там можно было оперативно получить ответы на вопросы по инфиненону и кейле в течении дня, в то время как на электрониксе на это уходили недели (пока спецы по инфинеону появяться на форуме). Был случай человек даже просил обязательно сообщить ему о моих результатах, и говорил дальше будет помогать решать проблему, тратил уйму времени на мои косяки.
Go to the top of the page
 
+Quote Post

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

 


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


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