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

 
 
 
Reply to this topicStart new topic
> Quectel M10
mstumbra
сообщение Jun 10 2011, 07:31
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 14-04-10
Пользователь №: 56 652



помогите пожалуйста настроить IAR для программирования Quectel'a.
На форуме есть только обрывочные сообщения о настройке ИАР и всё.
Из того что понятно:
проц выбираем ARM7EJ-S;

непонятно:
Где именно указывать адреса расположения функций;
Какие настройки указывать линкеру?

Очень надеюсь на вашу помощь smile3046.gif
Go to the top of the page
 
+Quote Post
Aleksandr_q
сообщение Jun 10 2011, 08:48
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 251
Регистрация: 12-05-11
Из: Украина, Киев
Пользователь №: 64 947



Цитата(mstumbra @ Jun 10 2011, 10:31) *
помогите пожалуйста настроить IAR для программирования Quectel'a.
На форуме есть только обрывочные сообщения о настройке ИАР и всё.
Из того что понятно:
проц выбираем ARM7EJ-S;

непонятно:
Где именно указывать адреса расположения функций;
Какие настройки указывать линкеру?

Очень надеюсь на вашу помощь smile3046.gif


Прочитай эту документацию может поможет найти ответ на твой вопрос.
Go to the top of the page
 
+Quote Post
kovz
сообщение Jun 10 2011, 09:13
Сообщение #3


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

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



Цитата(Aleksandr_q @ Jun 10 2011, 11:48) *
Прочитай эту документацию может поможет найти ответ на твой вопрос.


Там настойчиво советуют использовать ADS.

Смысл в том, что в конфигурации линкера IAR необходимо создать те-же секции, что и в SCAT файле для ADS, с теми же адресами, размерами и порядком следования.
Обязательно возникнут трудности с app_start.lib - в нем скомпилированный файл image2dlms.s, который в старых версиях шел исходником. По сути это начальная инициализация двух сегментов - zero_init и copy_init. Либо переписать инициализацию и не линковать app_start.lib, либо колдовать с IAR на предмет названия секций zero_init и copy_init.
Далее из файла *.SYM, который лежит в одной папке с ядром OCPU, необходимо сделать *.h файл, по следующему примеру:

первые две функции из *.SYM файла
Код
0x00000328 T __16__rt_uread4
0x0000032c A __rt_uread4


они же в *.h файле
Код
#define __16__rt_uread4 0x00000329
#define __rt_uread4 0x0000032c


Обратите особое внимание на то, что если функция с атрибутом T в *.SYM файле, то в *.h файле ее адрес нужно увеличить на единицу!
Для всех остальных атрибутов адрес остается неизменным.
Go to the top of the page
 
+Quote Post
mstumbra
сообщение Jun 10 2011, 14:46
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 14-04-10
Пользователь №: 56 652



*.SYM переделал. Есть ли у вас возможность выложить image2dlms.s и .icf файл?
Go to the top of the page
 
+Quote Post
kovz
сообщение Jun 14 2011, 07:23
Сообщение #5


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

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



Цитата(mstumbra @ Jun 10 2011, 17:46) *
*.SYM переделал. Есть ли у вас возможность выложить image2dlms.s и .icf файл?

Вот вам "рыба" проэктика, помоему рабочий. Давно это было, а сейчас проверять некогда. Возможно адреса и размеры в .icf уже не актуальны - это делалось под одну из первых версий OCPU.
Обратите внимание на файл M10.f - так правильнее, чем .SYM -> .h и его подключение в extra options, в настройках линкера
Прикрепленные файлы
Прикрепленный файл  test.rar ( 165.43 килобайт ) Кол-во скачиваний: 36
 
Go to the top of the page
 
+Quote Post

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

 


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


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