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

 
 
> Где бы взять исходники библиотек IAR 5.11 для ARM
savram
сообщение Jul 4 2008, 10:48
Сообщение #1





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



Работаю с LPC2138 в IAR 5.11, возникла проблема: static переменным не присваивается ноль при инициализации. Хотелось бы посмотреть как работает __iar_zero_init в библитеке rt4t_al.a. У меня evaluation версия с iar.com, там исходников нет... Говорят они есть в full версии, но где ее взять?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zltigo
сообщение Jul 8 2008, 13:50
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



1. static или не static по любому неинициализированвнные переменные попадают в bss
2. bss инициализируется нулями, если только специально не постараться.
3. с дуру у V5 sad.gif даже проверил.
3. точка.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
AndrewN
сообщение Jul 8 2008, 16:38
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 336
Регистрация: 7-03-07
Из: Петербург
Пользователь №: 25 961



Цитата(zltigo @ Jul 8 2008, 16:50) *
2. bss инициализируется нулями, если только специально не постараться.


= IAR (стр 43 (67) ODARM_1.pdf). Но не каждый транслятор так делает:

\begin{excerpt:link=http://focus.ti.com/lit/ug/spnu151d/spnu151d.pdf}
5.12 Initializing Static and Global Variables in TIABI and TI ARM9 ABI Modes

The ANSI/ISO C standard specifies that global (extern) and static variables without explicit initializations
must be initialized to 0 before the program begins running. This task is typically done when the program is
loaded. Because the loading process is heavily dependent on the specific environment of the target
application system, the compiler itself makes no provision for preinitializing variables at run time. It is up to
your application to fulfill this requirement.
\end{excerpt}

--
AN
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jul 8 2008, 18:12
Сообщение #4


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(AndrewN @ Jul 8 2008, 19:38) *
Но не каждый транслятор так делает:

Подтверждаю, не каждый.
Code Composer Studio от TI в своё время подвёл меня этим
Цитата
By default, the .bss section and sections defined with the .usect directive have no raw data (they are uninitialized). They occupy space in the memory map but have no actual contents.

Но, повторяю, у IAR с инициализацией полный порядок.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 8 2008, 19:23
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(IgorKossak @ Jul 8 2008, 20:12) *
Code Composer Studio от TI...

Этот "компостер" и сейчас совершенно сырой компилятор sad.gif, даже странно, что TI c мрачным упроством продолжает его продвигать в массы, правда наряду с вполне рабочим IAR smile.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jul 8 2008, 20:01
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(zltigo @ Jul 8 2008, 23:23) *
даже странно, что TI c мрачным упроством продолжает его продвигать в массы, правда наряду с вполне рабочим IAR smile.gif

А что же им еще продвигать для своих DSP? Да и не такой уж и кривой. Зато отучает полагаться на "0" в bss и заставляет внимательнее писать программы, что, я считаю, правильно.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 8 2008, 20:13
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(aaarrr @ Jul 8 2008, 22:01) *
Да и не такой уж и кривой.....

Плавали sad.gif в части MSP430...
Цитата
Зато отучает полагаться на "0" в bss...

Ну порадовали - отучает писать на "C" и приучает писать на неком подмножестве, тратить время и место на явную маниакальную инициализацию каждой переменной, не позволяет портировать нормальный сишный ранее написанный код без глюков...
Цитата
... что, я считаю, правильно.

Спасибо, я пешком постою sad.gif


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jul 8 2008, 20:18
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(zltigo @ Jul 9 2008, 00:13) *
Плавали sad.gif в части MSP430...

MSP430 - единственный процессор, под который я писал в IAR'e smile.gif Но не по причине глючности студии, а просто так получилось.

Цитата(zltigo @ Jul 9 2008, 00:13) *
...тратить время и место на явную маниакальную инициализацию каждой переменной

Ну, во-первых, не каждой. А во-вторых, я уж лучше руками проинициализирую именно то, что мне нужно. И далеко не всегда нулями.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jul 8 2008, 20:32
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(aaarrr @ Jul 8 2008, 22:18) *
А во-вторых, я уж лучше руками проинициализирую именно то, что мне нужно.

Смысла в раздумьях, что инициализировать, что нет нет никакого, как и монотонной в ручной работе по инициализации, как и в раздумьях проскаивать на красный свет или нет.... По любому стандарт "C" придумал не TI и не ему на него плевать. Добавлять опции полного или частичного отключения инициализации, это их право, а вот тупо выбрасывать инициализацию статически выделяемой памяти - свинство.
Цитата
И далеко не всегда нулями.

Про не нули речь не идет, но тем не менее в большинстве случаев 0 это нормальное значение, а остальные переменные просто доинициализировать через data или явно нужными зачениями при необходимости.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- savram   Где бы взять исходники библиотек IAR 5.11 для ARM   Jul 4 2008, 10:48
- - VAI   есть исходники библиотек от 4.20a и 4.11a. Подойду...   Jul 4 2008, 14:28
|- - savram   Цитата(VAI @ Jul 4 2008, 18:28) есть исхо...   Jul 6 2008, 22:38
|- - zltigo   Цитата(savram @ Jul 7 2008, 00:38) Вообще...   Jul 7 2008, 06:27
- - KRS   Цитата(VAI @ Jul 4 2008, 18:28) есть исхо...   Jul 4 2008, 15:34
- - zltigo   Цитата(savram @ Jul 4 2008, 12:48) ..возн...   Jul 5 2008, 07:36
|- - gladov   Цитата(zltigo @ Jul 5 2008, 11:36) Цитата...   Aug 30 2011, 11:21
- - IgorKossak   Цитата(savram @ Jul 4 2008, 13:48) Хотело...   Jul 5 2008, 12:28
- - VAI   ЦитатаПодойдут! http://www.rapidshare.ru/72327...   Jul 7 2008, 03:28
- - IgorKossak   По дизассемблеру там, в частности, следующее: Код_...   Jul 7 2008, 05:43
- - savram   Цитата(zltigo @ Jul 7 2008, 10:27) Ну что...   Jul 8 2008, 12:41
|- - zltigo   Цитата(AndrewN @ Jul 8 2008, 18:38) Но не...   Jul 8 2008, 17:31
|- - aaarrr   Цитата(zltigo @ Jul 9 2008, 00:32) Добавл...   Jul 8 2008, 20:42
||- - zltigo   Цитата(aaarrr @ Jul 8 2008, 22:42) Возмож...   Jul 8 2008, 20:51
|- - AndrewN   Кхм... Не очень я люблю цитировать Шекспира, но - ...   Jul 8 2008, 22:23
|- - zltigo   Цитата(AndrewN @ Jul 9 2008, 00:23) Мален...   Jul 9 2008, 06:43
- - aaarrr   Для свинства это все же слишком мелко. Продукт уни...   Jul 8 2008, 20:55
- - Alex03   ИМХО 1. Компилятор обязан поместить явно неинициал...   Jul 9 2008, 04:07
- - Alechek   Советую просто поставить последнюю версию IAR В 6....   Aug 31 2011, 10:27


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

 


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


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