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

 
 
> Потребление ядра, SAM7SE
Alexashka
сообщение Aug 25 2008, 21:24
Сообщение #1


Практикующий маг
******

Группа: Свой
Сообщений: 3 634
Регистрация: 28-04-05
Из: Дубна, Моск.обл
Пользователь №: 4 576



На днях выяснял насколько МАЛО потребляет контроллер (AT91SAM7SE512) и от чего зависит потребление и получил такую странную зависимость (извиняюсь если тема уже поднималась,все посты прочитать не успел). Ну с потреблением по 3.3 более-менее понятно- это практически ток по линиям ввода-вывода. А вот с ядром странность. При тактировании ядра от 32кГц генератора потребление 50мкА если код выполняется из SRAM. Как только код загружается во Флешь (или если к ней идет обращение из программы) ток возрастает до 1.6...2.0 мА, т.е в 40 раз!!! Неужели столько есть контролеер флешки??
Поскольку такое потребление никак не устраивает появилась мысль заливать программу во флешь, после чего она копирует себя (или часть себя) в SRAM, где собстно и выполняется.
Хотя не совсем понятно -если просто скопировать код из флешь в статику, то все абсолютные адреса в коде станут недействительными, а ежели размещать функции в SRAMe то при заливке они туда зальются, но при выключении питания сотрутся...Как быть?
smile3046.gif
Посоветуйте!!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rst7
сообщение Aug 26 2008, 06:23
Сообщение #2


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Как только код загружается во Флешь (или если к ней идет обращение из программы) ток возрастает до 1.6...2.0 мА, т.е в 40 раз!!!


Вообще, конечно, весьма странно. Почему, например, AVR, исполняя программу из флеша, прекрасно справляется с микроамперными токами потребления... Что-то, как говорится, ниасилили...


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Alexashka
сообщение Aug 26 2008, 08:12
Сообщение #3


Практикующий маг
******

Группа: Свой
Сообщений: 3 634
Регистрация: 28-04-05
Из: Дубна, Моск.обл
Пользователь №: 4 576



Цитата(Rst7 @ Aug 26 2008, 10:23) *
Вообще, конечно, весьма странно. Почему, например, AVR, исполняя программу из флеша, прекрасно справляется с микроамперными токами потребления... Что-то, как говорится, ниасилили...


да проверял тем что вставил ассемблерный код, который просто в цикле читает по опред.адресу. Если этот адрес входит в область RAM- то все ок, а если он приходится на область FLASH -ток потребления сразу подскакивает.


2 all: проблема решилась вставкой ключевого слова __rumfunc перед определением функции. Теперь функция сохраняется во флешь, а при стартапе копируется в RAM, где потом собсно и выполняется smile.gif 08.gif
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 26 2008, 08:54
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(Alexashka @ Aug 26 2008, 11:12) *
2 all: проблема решилась вставкой ключевого слова __rumfunc перед определением функции.
Выворачивался, терпел пытки, но название компилятора не выдал smile.gif Чтоб вам тоже тренироваться в телепатии. wink.gif


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
SergeiCh
сообщение Aug 26 2008, 10:05
Сообщение #5


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

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



Цитата(Сергей Борщ @ Aug 26 2008, 15:54) *
Выворачивался, терпел пытки, но название компилятора не выдал

__ramfunc в IAR, а в gcc __attribute__ ((section (".ramfunc"))) В скриптах атмеловских приметов для gcc секция .ramfunc уже определена.
Go to the top of the page
 
+Quote Post



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

 


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


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