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

 
 
 
Reply to this topicStart new topic
> Softune, константы по адресу, размещение данных в ROM
Terrabyte
сообщение Sep 5 2008, 11:22
Сообщение #1


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

Группа: Свой
Сообщений: 124
Регистрация: 2-01-07
Из: Russia
Пользователь №: 24 042



Приветствую тех, кто пользует мк Fujitsu, MB90F_

Кто знает, как в IDE Softune инициализировать константы по конкретным адресам ROM?
Собственно, нужно, чтобы при заливке ПО в мк, таблица значений хранилась по определённому адресу во flash.

в IARе, я делал например так:
volatile const int var @ "MYROM" = 0xff104d;
или
#pragma location = "MYROM"
const int var = 0xff104d;

а в Softune нашёл вот что:
#pragma segment и #pragma section, но это переименование ...
может в линкере настроить надо? а то что то не выходит, например пишу:
#pragma segment DATA=ISD,attr=DATA,locate=0xFF1090
const unsigned short var = 0xabcd;
// но она всё равно находится там же - в области, куда по умолчанию помещаются константы
Go to the top of the page
 
+Quote Post
spf
сообщение Sep 8 2008, 16:10
Сообщение #2


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



Цитата(Terrabyte @ Sep 5 2008, 17:22) *
Приветствую тех, кто пользует мк Fujitsu, MB90F_

Кто знает, как в IDE Softune инициализировать константы по конкретным адресам ROM?
Собственно, нужно, чтобы при заливке ПО в мк, таблица значений хранилась по определённому адресу во flash.


Вообще-то все описано в доках и есть в примерах.
SWB (F2MC-16) V3 Software 16 bit Development Environment

Один из вариантов:
В отдельном файле объявляем секцию
Код
#pragma section FAR_CONST=S_BOOT
// далее объявляем нужные переменные ...


В параметрах линкера должно быть описано
Код
-ro S_ROM=0xFFBdfe/0xFFBFFF
-sc S_BOOT=S_ROM


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
Terrabyte
сообщение Sep 10 2008, 13:15
Сообщение #3


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

Группа: Свой
Сообщений: 124
Регистрация: 2-01-07
Из: Russia
Пользователь №: 24 042



Не получается.
Да, я почитал о том как настраивать линкер и объявлять новые секции, это в хелпе есть, но спасибо за ссылку, пробовал так как вы предложили.
В настройках линкера делал так: Softune/Setup Project/Linker/Disposition.. добавил секцию S_BOOT с адресами 0xFF7000 по 0xFFDFFF и в отдельном файле сделал:
#pragma section FAR_CONST=S_BOOT
int var = 0xABCD;
но не вижу чтобы они там появились, может из-за того что я в симуляторе смотрю?
Go to the top of the page
 
+Quote Post
spf
сообщение Sep 10 2008, 13:49
Сообщение #4


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



Цитата(Terrabyte @ Sep 10 2008, 19:15) *
В настройках линкера делал так: Softune/Setup Project/Linker/Disposition.. добавил секцию S_BOOT с адресами 0xFF7000 по 0xFFDFFF и в отдельном файле сделал:
#pragma section FAR_CONST=S_BOOT
int var = 0xABCD;
но не вижу чтобы они там появились, может из-за того что я в симуляторе смотрю?

Допустил неточность в прошлом сообщении. Надо:
Код
#pragma section FAR_CONST=S_BOOT
// далее объявляем нужные КОНСТАНТЫ ...
__far const int var = 0xAA55;


Работает и более простой вариант, без специальных манипуляций в линкере:
Код
#pragma section FAR_CONST=MY_CONST,attr=CONST, locate=0xff1000
__far const unsigned char var=0x55;


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
Terrabyte
сообщение Sep 10 2008, 15:25
Сообщение #5


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

Группа: Свой
Сообщений: 124
Регистрация: 2-01-07
Из: Russia
Пользователь №: 24 042



спасибо, получилось таки константу запихнуть туда, но вот моя структура данных туда не хочет идти.
ещё вопрос, где описано : FAR_CONST
#pragma section FAR_CONST=mysection,attr=CODE,locate=0xFF7000
к каким данным его отнести? и область адресов- ?
Go to the top of the page
 
+Quote Post
spf
сообщение Sep 10 2008, 16:35
Сообщение #6


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



Цитата(Terrabyte @ Sep 10 2008, 21:25) *
спасибо, получилось таки константу запихнуть туда, но вот моя структура данных туда не хочет идти.
ещё вопрос, где описано : FAR_CONST
#pragma section FAR_CONST=mysection,attr=CODE,locate=0xFF7000
к каким данным его отнести? и область адресов- ?

Не совсем понял вопрос.

Структуру данных объявляешь как константу?

Почему attr=CODE, должно быть CONST?

Область адресов констант - область ROM. (объявленной в линкере -ro xxxxx и куда ссылается -sc CONST)

Все описано в доке SOFTCCMP "Section Name Change Function", только FAR_ это приставка, поэтому именно FAR_CONST там не описана.


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
Terrabyte
сообщение Sep 11 2008, 07:50
Сообщение #7


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

Группа: Свой
Сообщений: 124
Регистрация: 2-01-07
Из: Russia
Пользователь №: 24 042



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

У меня теперь другой вопрос, на сколько корректно работает оптимизация ?
Собственно, оптимизация нужна всего лишь, для того чтоб inline работало !!!
кагда включаю Level1 или ещё более высокий,
почему то программа перестает работать нормально, на Level 1-2 работает 3 секунды,
на Level 4 - не запускается!
а когда стоит NONE всё работает как надо, даёт ли
что-нибудь отключение галочек а настойках Optimize ?
Go to the top of the page
 
+Quote Post
spf
сообщение Sep 11 2008, 17:52
Сообщение #8


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



Цитата(Terrabyte @ Sep 11 2008, 13:50) *
У меня теперь другой вопрос, на сколько корректно работает оптимизация ?

На столько корректно, что нормальная программа работает при любом уровне оптимизации.

Цитата
Собственно, оптимизация нужна всего лишь, для того чтоб inline работало !!!
кагда включаю Level1 или ещё более высокий,
почему то программа перестает работать нормально, на Level 1-2 работает 3 секунды,
на Level 4 - не запускается!
а когда стоит NONE всё работает как надо, даёт ли
что-нибудь отключение галочек а настойках Optimize ?

Ищи баги в программе.
По поводу оптимизации есть хорошая апнота на сайте или диске.
В доке на компилятор тоже достаточно подробно расписано про оптимизацию.


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
Terrabyte
сообщение Sep 12 2008, 10:23
Сообщение #9


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

Группа: Свой
Сообщений: 124
Регистрация: 2-01-07
Из: Russia
Пользователь №: 24 042



да, действительно был в программе баг, спасибо
Go to the top of the page
 
+Quote Post
WiseAlex
сообщение Sep 26 2008, 11:30
Сообщение #10


Участник
*

Группа: Новичок
Сообщений: 36
Регистрация: 9-11-06
Пользователь №: 22 115



Цитата(spf @ Sep 11 2008, 20:52) *
На столько корректно, что нормальная программа работает при любом уровне оптимизации.

В принципе согласен, но

inline я так и не заставил разворачиваться в fr на с++
и еще если ставить оптимизацию на max speed для всей программы компиляция падает а если только отдельные файлы, то нормально, хотя и жрет при этом на моем проекте около 1 гига памяти при компиляции... Правда использует таки два ядра smile.gif
короче компилятор достаточно кривой вернее не достаточно ровный smile.gif
Go to the top of the page
 
+Quote Post
spf
сообщение Sep 26 2008, 14:13
Сообщение #11


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



Цитата(WiseAlex @ Sep 26 2008, 17:30) *
inline я так и не заставил разворачиваться в fr на с++

В проектике на scmRTOS все работает с инлайнами.

Цитата
и еще если ставить оптимизацию на max speed для всей программы компиляция падает а если только отдельные файлы, то нормально, хотя и жрет при этом на моем проекте около 1 гига памяти при компиляции... Правда использует таки два ядра smile.gif
короче компилятор достаточно кривой вернее не достаточно ровный smile.gif

Случайно не пятую версию пользуете?

В оболочке Softune FR ни разу не компилил, а мейком все работает при любой оптимизации.


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
WiseAlex
сообщение Sep 27 2008, 19:26
Сообщение #12


Участник
*

Группа: Новичок
Сообщений: 36
Регистрация: 9-11-06
Пользователь №: 22 115



Цитата(spf @ Sep 26 2008, 17:13) *
В проектике на scmRTOS все работает с инлайнами.
Случайно не пятую версию пользуете?

да 5.1. вроде в последнем особых отличий не было мы диск и не заказали, но если у них стало получше с компиляцией, надо взять. Кстати, может Вы в курсе, на КТЦ диски в наличии есть?
Цитата
В оболочке Softune FR ни разу не компилил, а мейком все работает при любой оптимизации.

Все никак не спрыгнем с Softune. Уже раз 5 про eclipse думали но каждый раз все упирается в необходимость где-то найти время... smile.gif
Go to the top of the page
 
+Quote Post
spf
сообщение Sep 28 2008, 12:04
Сообщение #13


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



Цитата(WiseAlex @ Sep 28 2008, 01:26) *
да 5.1. вроде в последнем особых отличий не было мы диск и не заказали, но если у них стало получше с компиляцией, надо взять. Кстати, может Вы в курсе, на КТЦ диски в наличии есть?

Пятая версия - переходная, запускал ее пару раз, потом быстро вышла 6.
Диски не нужны. Файлы с прошлогоднего диска заливал сюда, а сейчас можно все взять с сайта производителя -- http://electronix.ru/forum/index.php?showtopic=52837

Цитата
Все никак не спрыгнем с Softune. Уже раз 5 про eclipse думали но каждый раз все упирается в необходимость где-то найти время... smile.gif

Нехватка времени ощущается, вам даже не было времени обновить софт, к которому у вас имеются замечания smile.gif


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
WiseAlex
сообщение Sep 28 2008, 17:44
Сообщение #14


Участник
*

Группа: Новичок
Сообщений: 36
Регистрация: 9-11-06
Пользователь №: 22 115



Цитата(spf @ Sep 28 2008, 15:04) *
Нехватка времени ощущается, вам даже не было времени обновить софт, к которому у вас имеются замечания smile.gif

Замечание принято smile.gif
Хотя есть пара слов в свою защиту:
у мня есть замечания практически к любому софту wink.gif а его много - за всем не уследишь
Softune не основной мой инструмент и пока он более-менее работает - я особенно не переживаю. На 5.1 мы перешли только из-за того что версия которую мы использовали до этого стала глухо падать на моем коде

Сообщение отредактировал WiseAlex - Sep 28 2008, 18:03
Go to the top of the page
 
+Quote Post

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

 


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


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