|
|
  |
Softune, константы по адресу, размещение данных в ROM |
|
|
|
Sep 5 2008, 11:22
|
Частый гость
 
Группа: Свой
Сообщений: 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; // но она всё равно находится там же - в области, куда по умолчанию помещаются константы
|
|
|
|
|
Sep 8 2008, 16:10
|

Странник
   
Группа: Свой
Сообщений: 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
--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
|
|
|
|
|
Sep 10 2008, 13:49
|

Странник
   
Группа: Свой
Сообщений: 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;
--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
|
|
|
|
|
Sep 10 2008, 16:35
|

Странник
   
Группа: Свой
Сообщений: 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 там не описана.
--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
|
|
|
|
|
Sep 11 2008, 07:50
|
Частый гость
 
Группа: Свой
Сообщений: 124
Регистрация: 2-01-07
Из: Russia
Пользователь №: 24 042

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

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

|
Цитата(Terrabyte @ Sep 11 2008, 13:50)  У меня теперь другой вопрос, на сколько корректно работает оптимизация ? На столько корректно, что нормальная программа работает при любом уровне оптимизации. Цитата Собственно, оптимизация нужна всего лишь, для того чтоб inline работало !!! кагда включаю Level1 или ещё более высокий, почему то программа перестает работать нормально, на Level 1-2 работает 3 секунды, на Level 4 - не запускается! а когда стоит NONE всё работает как надо, даёт ли что-нибудь отключение галочек а настойках Optimize ? Ищи баги в программе. По поводу оптимизации есть хорошая апнота на сайте или диске. В доке на компилятор тоже достаточно подробно расписано про оптимизацию.
--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
|
|
|
|
|
Sep 26 2008, 11:30
|
Участник

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

|
Цитата(spf @ Sep 11 2008, 20:52)  На столько корректно, что нормальная программа работает при любом уровне оптимизации. В принципе согласен, но inline я так и не заставил разворачиваться в fr на с++ и еще если ставить оптимизацию на max speed для всей программы компиляция падает а если только отдельные файлы, то нормально, хотя и жрет при этом на моем проекте около 1 гига памяти при компиляции... Правда использует таки два ядра  короче компилятор достаточно кривой вернее не достаточно ровный
|
|
|
|
|
Sep 26 2008, 14:13
|

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

|
Цитата(WiseAlex @ Sep 26 2008, 17:30)  inline я так и не заставил разворачиваться в fr на с++ В проектике на scmRTOS все работает с инлайнами. Цитата и еще если ставить оптимизацию на max speed для всей программы компиляция падает а если только отдельные файлы, то нормально, хотя и жрет при этом на моем проекте около 1 гига памяти при компиляции... Правда использует таки два ядра короче компилятор достаточно кривой вернее не достаточно ровный  Случайно не пятую версию пользуете? В оболочке Softune FR ни разу не компилил, а мейком все работает при любой оптимизации.
--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
|
|
|
|
|
Sep 27 2008, 19:26
|
Участник

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

|
Цитата(spf @ Sep 26 2008, 17:13)  В проектике на scmRTOS все работает с инлайнами. Случайно не пятую версию пользуете? да 5.1. вроде в последнем особых отличий не было мы диск и не заказали, но если у них стало получше с компиляцией, надо взять. Кстати, может Вы в курсе, на КТЦ диски в наличии есть? Цитата В оболочке Softune FR ни разу не компилил, а мейком все работает при любой оптимизации. Все никак не спрыгнем с Softune. Уже раз 5 про eclipse думали но каждый раз все упирается в необходимость где-то найти время...
|
|
|
|
|
Sep 28 2008, 12:04
|

Странник
   
Группа: Свой
Сообщений: 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 думали но каждый раз все упирается в необходимость где-то найти время...  Нехватка времени ощущается, вам даже не было времени обновить софт, к которому у вас имеются замечания
--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
|
|
|
|
|
Sep 28 2008, 17:44
|
Участник

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

|
Цитата(spf @ Sep 28 2008, 15:04)  Нехватка времени ощущается, вам даже не было времени обновить софт, к которому у вас имеются замечания  Замечание принято  Хотя есть пара слов в свою защиту: у мня есть замечания практически к любому софту  а его много - за всем не уследишь Softune не основной мой инструмент и пока он более-менее работает - я особенно не переживаю. На 5.1 мы перешли только из-за того что версия которую мы использовали до этого стала глухо падать на моем коде
Сообщение отредактировал WiseAlex - Sep 28 2008, 18:03
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|