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

 
 
> mspgcc и scmrtos = уже работает., Благодарю за помощь клуба:-)
AHTOXA
сообщение Mar 17 2008, 12:19
Сообщение #1


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Всем привет!
Пытаюсь подружить mspgcc и scmrtos. Вроде уже компилируется:-)
Но не работает.
Такое впечатление, что не вызываются глобальные конструкторы.
Смотрю листинг, вижу что сразу после копирования data и очистки bss прыгает на main:
Код
00001100 <_reset_vector__>:
    1100:    b2 40 80 5a     mov    #23168,    &0x0120;#0x5a80
    1104:    20 01
    1106:    3f 40 6a 1b     mov    #7018,    r15;#0x1b6a
    110a:    3e 40 00 02     mov    #512,    r14;#0x0200
    110e:    3d 40 e0 04     mov    #1248,    r13;#0x04e0
    1112:    0d 9e           cmp    r14,    r13;
    1114:    05 24           jz    $+12    ;abs 0x1120
    1116:    fe 4f 00 00     mov.b    @r15+,    0(r14);
    111a:    1e 53           inc    r14;
    111c:    0e 9d           cmp    r13,    r14;
    111e:    fb 2b           jnc    $-8     ;abs 0x1116
    1120:    3f 40 e0 04     mov    #1248,    r15;#0x04e0
    1124:    3d 40 e0 04     mov    #1248,    r13;#0x04e0
    1128:    0d 9f           cmp    r15,    r13;
    112a:    05 24           jz    $+12    ;abs 0x1136
    112c:    cf 43 00 00     mov.b    #0,    0(r15);r3 As==00
    1130:    1f 53           inc    r15;
    1132:    0f 9d           cmp    r13,    r15;
    1134:    fb 2b           jnc    $-8     ;abs 0x112c
    1136:    30 40 9e 18     br    #0x189e;


0x189e - это уже main.

Это я глючу, или mspgcc? :-)

Проект прилагается.
Прикрепленные файлы
Прикрепленный файл  scmrtos_gcc.rar ( 31.08 килобайт ) Кол-во скачиваний: 60
 


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Mar 17 2008, 12:44
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(AHTOXA @ Mar 17 2008, 14:19) *
Такое впечатление, что не вызываются глобальные конструкторы.
Возможно, они выкидываются при линковке. Я мельком глянул скрипты линкера и сравнил их со скриптами avr-libc. Посмотрите разницу, попробуйте сделать по аналогии. Может поможет:
Код
mspgcc:
...
    *(.init6)  /* C++ constructors.  */
...
     __ctors_start = .;
     *(.ctors)
     __ctors_end = .;
     __dtors_start = .;
     *(.dtors)
     __dtors_end = .;
    . = ALIGN(2);
...
avr-libc:
...
     __ctors_start = .;
     *(.ctors)
     __ctors_end = .;
     __dtors_start = .;
     *(.dtors)
     __dtors_end = .;
    KEEP(SORT(*)(.ctors))
    KEEP(SORT(*)(.dtors))
...
    *(.init6)  /* C++ constructors.  */
    KEEP (*(.init6))
...


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



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

 


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


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