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

 
 
> IAR AVR: Константы модуля math.h не расположить в flash memory, не все так просто
Target
сообщение Apr 7 2011, 08:09
Сообщение #1


Участник
*

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



IgorKossak, поиск не помог, про гугль знаю, про яндекс тоже. Чем закрывать тему, лучше помоги.

После компиляции этого кусочка константы модуля math.h оказываются в сегменте DATA. К этим константам нет доступа, и я не могу дописать к ним __flash.
Не помогает и убирание галочки "Place constants and literals in initialized RAM". После снятия пытался переназначить сегмент NEAR_C, как советовали в поиске, однако это не помогло, и константы продолжают находиться в сегменте DATA.

Код
#include <math.h>

double c, b;

int main()
{
  
  b = 0.1;
  c = atan(b);
  
  if (c > 0)
    c = 0.2;
  
  return 0;
}


Кто-нибудь может посмотреть приложенный проект и посмотреть, в чем может быть дело? Он совсем небольшой (7 килобайт).
В отладчике можно искать __Constant_0_be400000 , которая должна быть в CODE, а не в DATA.

Прикрепленные файлы
Прикрепленный файл  test_iar.rar ( 7.42 килобайт ) Кол-во скачиваний: 13
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SasaVitebsk
сообщение Apr 7 2011, 12:24
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Да ваш проект, если это можно назвать таким словом. К чему вы выбрали C++?
Просмотрите сами и вышлите map файл после вашей компиляции. Всё увидите сами.
Ваша библиотека использует оперативку. Так она описана. Она вообще возможно на асме писана. А вы пытаетесь что-то там поменять.
Всего используется 104 байта памяти. При этом ваших там 8 + 2 стека и 2 сегмента библиотеки ощим колличеством 28 байт.
Если в выборе библиотеки выбрать CLIB, то памяти вообще использоваться не будет. Только 8 байт.
У меня компилятор стоит более древний, поэтому архив я вам не вышлю.
===
И ещё если задаёте вопрос указывайте версию компилятора и камень.
Go to the top of the page
 
+Quote Post
Target
сообщение Apr 7 2011, 13:00
Сообщение #3


Участник
*

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



Цитата(SasaVitebsk @ Apr 7 2011, 16:24) *
И ещё если задаёте вопрос указывайте версию компилятора и камень.


А вот он. Mega128
Прикрепленные файлы
Прикрепленный файл  map.rar ( 6.42 килобайт ) Кол-во скачиваний: 12
 
Go to the top of the page
 
+Quote Post



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

 


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


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