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

 
 
> проблема портирования программы с AtMega32 на AtMega 128
Nekromant
сообщение Aug 6 2008, 07:05
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 21-03-07
Пользователь №: 26 369



Доброго времени суток,
суть проблемы заключается ч том, что написанная программа для AtMega 128 работает без каких либо изъянов, но при попытке ее перенести на AtMega 32 возникла следующая проблема:
приведенная ниже конструкция на 32 меге просто не работает:
Вариант 1
if(tmp==0x00)
{
Closed=true;
}
else
{
Closed=false;
if(tmp==0x3F)
{
All=true;
}
else
{
All=false;
for( i = 1; i < 6; i++)
{
if(tmp & (1 << i))
SensorData[i]=false;
else
SensorData[i]=true;
}

}
}
Вариант 2
if(tmp==0x00)
{
Closed=true;
}

else
{
Closed=false;
if(tmp==0x3F)
{
All=true;
}
else
{
All=false;
tmp=(~tmp)&0x01;
if(tmp!=0x01)
{
Nurse1=true;
}
else
{
Nurse1=false;
}
tmp=tmp_data;
tmp=(~tmp)&0x02;
if(tmp!=0x02)
{
Nurse2=true;
}
else
{
Nurse2=false;
}
tmp=tmp_data;
tmp=(~tmp)&0x04;
if(tmp!=0x04)
{
Hall=true;
}
else
{
Hall=false;
}
tmp=tmp_data;
tmp=(~tmp)&0x08;
if(tmp!=0x08)
{
Bedroom=true;
}
else
{
Bedroom=false;
}
tmp=tmp_data;
tmp=(~tmp)&0x10;
if(tmp!=0x10)
{
Kitchen=true;
}
else
{
Kitchen=false;
}
tmp=tmp_data;
tmp=(~tmp)&0x20;
if(tmp!=0x20)
{
Door=true;
}
else
{
Door=false;
}
}
оба варианта ведут себя одинаково нормально на меге 128 и оба же варианта ведут себя одинаково плохо на меге 32 07.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
defunct
сообщение Aug 6 2008, 12:18
Сообщение #2


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Stanislav_S @ Aug 6 2008, 15:04) *
Я сам в свое время на эти грабли наступал, любит Атмел такие приколы smile.gif

Кто вас заставляет использовать JTAG выводы?
Обратный пример - в некоторых МК Reset совмещен с GPIO, по вашему не меняя Fuses этот GPIO должен сразу работать? А то что он не работает назовем "приколом"? Разработчики ловят приколы от нежелания полноценно и вдумчиво ознакомиться с документацией.

Цитата
фьюзы все придется зазубрить на зубок

Это первое с чего надо начинать портирование. А вы с чего начали?
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Aug 6 2008, 13:28
Сообщение #3


извечный пессимист
*****

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



Цитата(defunct @ Aug 6 2008, 17:18) *
Кто вас заставляет использовать JTAG выводы?
Обратный пример - в некоторых МК Reset совмещен с GPIO, по вашему не меняя Fuses этот GPIO должен сразу работать? А то что он не работает назовем "приколом"? Разработчики ловят приколы от нежелания полноценно и вдумчиво ознакомиться с документацией.
Это первое с чего надо начинать портирование. А вы с чего начали?

Ну во первых мне например много ног надо, так что мне весь порт из за JTAG не использовать? как по мне прикол только в том что этот фьюз изначально установлен и не более того. Логичней было его не устанавливать.


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
defunct
сообщение Aug 6 2008, 14:07
Сообщение #4


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Stanislav_S @ Aug 6 2008, 16:28) *
Логичней было его не устанавливать.

Чем логичней? Ведь это интерфейс не только для отладки, но и для программирования. А кристал по-умолчанию голый. И как бы в "логичном для вас случае" жилось тем у кого из программаторов только JTAG-ICE?

Цитата
Ну во первых мне например много ног надо, так что мне весь порт из за JTAG не использовать?

Я думаю Вам стоит попробовать использовать JTAG (если еще не пробовали), и кстати он занимает не весь порт, а всего 4 пина.

PS: Все равно при первой прошивке кристала Fuses надо менять, и менять надо не наугад, а со знанием дела.
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Aug 6 2008, 16:56
Сообщение #5


извечный пессимист
*****

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



Цитата(defunct @ Aug 6 2008, 19:07) *
Чем логичней? Ведь это интерфейс не только для отладки, но и для программирования. А кристал по-умолчанию голый. И как бы в "логичном для вас случае" жилось тем у кого из программаторов только JTAG-ICE?

точно так же, как например если бы SPIEN был бы не установлен, и что мне тогда обязательно JTAG-ICE иметь? Тем более он голый в коробке, а на плате он далеко не голый, кое какое окружение имеется, которое JTAG может мешать, или там джампера ставить?


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
defunct
сообщение Aug 6 2008, 19:15
Сообщение #6


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Stanislav_S @ Aug 6 2008, 19:56) *
точно так же, как например если бы SPIEN был бы не установлен, и что мне тогда обязательно JTAG-ICE иметь?

Речь не о том какой интерфейс запретить.
Речь о том, что НИ ОДИН интерфейс программирования не может быть запрещенным в заводских настройках! И всякие доводы о "логичности" запрещения JTAG интерфейса по-умолчанию, лишь потому что именно Вы или кто-то еще его не использует, - неприемлемы.

Цитата
которое JTAG может мешать, или там джампера ставить?

Я так и поступаю в дизайнах где нужен и JTAG и что-то мешает его использованию.
Например в m162 джампера единственный выход, т.к. JTAG пересекается с внешней шиной памяти. Тем не менее следует отдать должное разработчикам Atmel, что они не слепо воткнули JTAG, а хотя бы поместили его на 4 старших бита адреса, т.е. можно и шину пользовать (хоть всего 4kb пространства остается), и периферия не пострадала.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Nekromant   проблема портирования программы с AtMega32 на AtMega 128   Aug 6 2008, 07:05
- - Непомнящий Евгений   теги [code] используйте... А как именно "пло...   Aug 6 2008, 07:11
- - MrYuran   1. Используйте теги [code][/code] для кусков кода,...   Aug 6 2008, 07:14
|- - Nekromant   1)именно плохо в том, что на 32 меге изменяются то...   Aug 6 2008, 07:35
|- - Сергей Борщ   Цитата(Nekromant @ Aug 6 2008, 10:35) 2) ...   Aug 6 2008, 07:45
|- - MrYuran   Цитата(Сергей Борщ @ Aug 6 2008, 11:45) Т...   Aug 6 2008, 07:59
|- - Nekromant   Цитата(MrYuran @ Aug 6 2008, 10:59) ++ То...   Aug 6 2008, 08:12
|- - Сергей Борщ   Цитата(Nekromant @ Aug 6 2008, 11:12) tmp...   Aug 6 2008, 08:19
|- - Dog Pawlowa   Цитата(Nekromant @ Aug 6 2008, 11:12) tmp...   Aug 6 2008, 08:24
|- - Nekromant   да, это сигналы, подключенные на порты, точнее 6 ...   Aug 6 2008, 08:38
|- - Stanislav_S   Цитата(Nekromant @ Aug 6 2008, 13:38) да,...   Aug 6 2008, 09:05
|- - Nekromant   фьюз я не трогал просто в функции маин в самом нач...   Aug 6 2008, 09:46
|- - Stanislav_S   Цитата(Nekromant @ Aug 6 2008, 14:46) фью...   Aug 6 2008, 10:53
|- - Nekromant   Цитата(Stanislav_S @ Aug 6 2008, 13:53) П...   Aug 6 2008, 11:38
|- - MrYuran   Цитата(Nekromant @ Aug 6 2008, 15:38) то ...   Aug 6 2008, 11:50
- - GDI   Может с размером стека проблемы? Map-файл посмотри...   Aug 6 2008, 07:21
- - Nekromant   Точно, снял фьюз и большая часть глюков исчезла...   Aug 6 2008, 11:59
|- - Stanislav_S   Цитата(Nekromant @ Aug 6 2008, 16:59) Точ...   Aug 6 2008, 12:04
|- - Палыч   Цитата(Nekromant @ Aug 6 2008, 14:59) Точ...   Aug 6 2008, 12:11
|- - MrYuran   Цитата(Палыч @ Aug 6 2008, 16:11) Интерес...   Aug 6 2008, 12:17
|- - Nekromant   [quote name='MrYuran' date='Aug 6 2008...   Aug 6 2008, 12:29
- - Nekromant   если честно ума не приложу взял то же самое продел...   Aug 6 2008, 12:20
|- - defunct   Цитата(Nekromant @ Aug 6 2008, 15:20) так...   Aug 6 2008, 12:26
|- - Палыч   Цитата(Nekromant @ Aug 6 2008, 15:20) есл...   Aug 6 2008, 12:31
|- - Nekromant   Цитата(Палыч @ Aug 6 2008, 15:31) ИМХО, э...   Aug 6 2008, 14:59
|- - defunct   Цитата(Nekromant @ Aug 6 2008, 17:59) 2) ...   Aug 6 2008, 15:14
|- - Nekromant   Цитата(defunct @ Aug 6 2008, 18:14) Если ...   Aug 6 2008, 15:33
|- - defunct   Цитата(Nekromant @ Aug 6 2008, 18:33) Я б...   Aug 6 2008, 16:09
- - Nekromant   Мой девайс сегодня оттестировался и вполне отработ...   Aug 7 2008, 02:14


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

 


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


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