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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> перенос программы с IAR на AVR-GCC, нужна помощь..., вопросик для опытных в linux avr-gcc, нужна Ваша помошь...
ReAl
сообщение May 5 2007, 07:56
Сообщение #16


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(forever failure @ May 5 2007, 06:07) *
Коренное отличие GCC-ишного асма AVR от IAR-овского состоит в том, в GCC обращение к порту in/out делается через макроподстановку _SFR_IO_ADDR, т. е. Вам придётся в асмовском файле заменить все
in r**, PORT** на in r**, _SFR_IO_ADDR(PORT**).
Ну и проделать тоже с out, cbi, sbi. Тогда заработает.


Не обязательно.
Можно сделать так:

Код
#define __SFR_OFFSET 0
.nolist
#include <avr/io.h>
.list

           .section .text
           .global main
main:
    ; запис в OSCCAL - перша операція, щоб не змінювалася адреса
    ; команди LDI
    ldi temp, 0x80    $ out OSCCAL, temp
    ldi temp, (1<<ACD) $ out ACSR, temp
    ; Вихід NO_VIDEO вмикається відразу як активний.
    ldi temp, 0x19 $ out PORTB, temp
    ldi temp, 0x0B $ out DDRB, temp


и не морочить себе голову этим _SFR_IO_ADDR
Да, они сами пишут, что лучше морочить :-), но я ленюсь писать многа букафф. Даже если вдруг они переделают sfr_defs.h так, что #define __SFR_OFFSET 0 перестанет работать - напущу SED на те из старіх исходников, которіе надо поддерживать.

Ну а если адреса портов заданы вручную через #define PORTB и т.п., то тогда _SFR_IO_ADDR противопоказан, так как адрес задан уже правильно.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
mdmitry
сообщение May 5 2007, 10:25
Сообщение #17


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



В Си доступ к портам прост. Например, запись в порт А значения 0x5A:
POTRA = 0x5A;
Это описано в документации к библиотеке и FAQ.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 26th August 2025 - 11:07
Рейтинг@Mail.ru


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