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

 
 
> 100 байт не хватает
Огурцов
сообщение Dec 25 2008, 20:25
Сообщение #1


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



В общем, называется "приплыли", допрограммировались - бутлодырь перестал вмещаться в размер бутсекции, т.е. в 2k. Последним делом добавлено нечто такое:

Код
void Bus_transmit_packet(uint8 aStatus)
{
    uint16 vCrc;

    Bus_transmit_byte(Slp_packet_end);
    Bus_transmit_byte(Slp_packet_end);
    Bus_transmit_byte(Slp_sysdev_program | Slp_response_mask);
//    vCrc = vxl_get_crc16(Vxl_crc_ccitt_initial_value, Slp_sysdev_program | Slp_response_mask);
    Bus_staff_n_transmit_byte(aStatus);
    vCrc = vxl_get_crc16(0x7976, aStatus);
    Bus_staff_n_transmit_byte(vCrc >> 8);
    Bus_staff_n_transmit_byte(vCrc & 0xFF);
    Bus_transmit_byte(Slp_packet_end);
}

Что занимает примерно 60 байт. Предварительное заполнение массива и передача массива хоть и напрашивалась явно, но почти ничего не изменила или даже хуже.
Однако, где бы наскрести еще сотню байт ? (таблица векторов еще не затронута, как и секции инициализации/финализации) Поделитесь, pls, примером оптимизации - сам я боюсь все порушить и грохнуть что-либо нужное.

M88, GCC(WinAVR-20060421), cкрипты линкера от WinAVR-20081205

Сообщение отредактировал Огурцов - Dec 25 2008, 20:26
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Rst7
сообщение Dec 30 2008, 11:13
Сообщение #2


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
в С оверхед жуткий из-за приведения всего к 32бит.


Где?
Код
        RSEG CODE:CODE:NOROOT(1)
//    3 unsigned long mmm(unsigned int a, unsigned int b)
mmm:
//    4 {
//    5   return (unsigned long)a*b;
        CLR     R2
        MUL     R17, R19
        MOVW    R23:R22, R1:R0
        MUL     R16, R18
        MOVW    R21:R20, R1:R0
        MUL     R17, R18
        ADD     R21, R0
        ADC     R22, R1
        ADC     R23, R2
        MUL     R19, R16
        ADD     R21, R0
        ADC     R22, R1
        ADC     R23, R2
        MOVW    R17:R16, R21:R20
        MOVW    R19:R18, R23:R22
        RET
//    6 }


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
singlskv
сообщение Dec 30 2008, 12:19
Сообщение #3


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(Rst7 @ Dec 30 2008, 14:13) *
Где?
IAR в таких случаях действительно оптимизирует,
gcc увы следует стандарту и умножает 32X32
Код
  6a:    0c d0           rcall    .+24     ; 0x84 <__mulsi3>
.................................
00000084 <__mulsi3>:
  84:    62 9f           mul    r22, r18
  86:    d0 01           movw    r26, r0
  88:    73 9f           mul    r23, r19
  8a:    f0 01           movw    r30, r0
  8c:    82 9f           mul    r24, r18
  8e:    e0 0d           add    r30, r0
  90:    f1 1d           adc    r31, r1
  92:    64 9f           mul    r22, r20
  94:    e0 0d           add    r30, r0
  96:    f1 1d           adc    r31, r1
  98:    92 9f           mul    r25, r18
  9a:    f0 0d           add    r31, r0
  9c:    83 9f           mul    r24, r19
  9e:    f0 0d           add    r31, r0
  a0:    74 9f           mul    r23, r20
  a2:    f0 0d           add    r31, r0
  a4:    65 9f           mul    r22, r21
  a6:    f0 0d           add    r31, r0
  a8:    99 27           eor    r25, r25
  aa:    72 9f           mul    r23, r18
  ac:    b0 0d           add    r27, r0
  ae:    e1 1d           adc    r30, r1
  b0:    f9 1f           adc    r31, r25
  b2:    63 9f           mul    r22, r19
  b4:    b0 0d           add    r27, r0
  b6:    e1 1d           adc    r30, r1
  b8:    f9 1f           adc    r31, r25
  ba:    bd 01           movw    r22, r26
  bc:    cf 01           movw    r24, r30
  be:    11 24           eor    r1, r1
  c0:    08 95           ret
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Огурцов   100 байт не хватает   Dec 25 2008, 20:25
- - rezident   Хоть и , но нелишне напомнить История одного бай...   Dec 25 2008, 20:28
|- - Огурцов   Помню. Фишка еще в том, что простое увеличение пам...   Dec 25 2008, 20:34
||- - ReAl   Цитата(Огурцов @ Dec 25 2008, 22:34) Фишк...   Dec 25 2008, 22:12
||- - Огурцов   Цитата(ReAl @ Dec 25 2008, 22:12) А почем...   Dec 26 2008, 06:39
|- - zltigo   Цитата(rezident @ Dec 25 2008, 23:28) Хот...   Dec 26 2008, 10:58
|- - Огурцов   Цитата(zltigo @ Dec 26 2008, 10:58) Да не...   Dec 26 2008, 15:07
|- - zltigo   Цитата(Огурцов @ Dec 26 2008, 18:07) Ну з...   Dec 26 2008, 16:06
|- - singlskv   Цитата(zltigo @ Dec 26 2008, 19:06) Решит...   Dec 26 2008, 16:59
|- - Огурцов   Вообще, меня не уполномачивали публиковать исходни...   Dec 26 2008, 17:40
|- - zltigo   Цитата(Огурцов @ Dec 26 2008, 20:40) Смия...   Dec 26 2008, 17:54
||- - Огурцов   Цитата(zltigo @ Dec 26 2008, 17:54) И опя...   Dec 26 2008, 18:11
||- - zltigo   Цитата(Огурцов @ Dec 26 2008, 21:11) Поче...   Dec 26 2008, 18:22
||- - Огурцов   Цитата(zltigo @ Dec 26 2008, 18:22) Либо ...   Dec 26 2008, 18:28
||- - zltigo   Цитата(Огурцов @ Dec 26 2008, 21:28) То ч...   Dec 26 2008, 18:45
||- - aesok   Цитата(Огурцов @ Dec 26 2008, 21:28) Могу...   Dec 26 2008, 18:45
|- - singlskv   Цитата(Огурцов @ Dec 26 2008, 20:40) Вооб...   Dec 26 2008, 19:00
|- - Огурцов   http://www.atmel.com/dyn/resources/prod_documents/...   Dec 26 2008, 19:27
|- - zltigo   Цитата(Огурцов @ Dec 26 2008, 22:12) http...   Dec 26 2008, 19:29
|- - Огурцов   Дада, сделайте из этого 1.5-1.7 килобайта, чтобы о...   Dec 26 2008, 19:57
|- - zltigo   Цитата(Огурцов @ Dec 26 2008, 22:57) Дада...   Dec 26 2008, 21:45
|- - Огурцов   Цитата(zltigo @ Dec 26 2008, 21:45) Треп ...   Dec 27 2008, 06:21
|- - zltigo   Цитата(Огурцов @ Dec 27 2008, 09:21) он в...   Dec 27 2008, 10:37
|- - Petka   Цитата(zltigo @ Dec 27 2008, 13:37) Сейча...   Dec 27 2008, 12:33
|- - zltigo   Цитата(Petka @ Dec 27 2008, 15:33) Оффтоп...   Dec 27 2008, 13:17
|- - Огурцов   Цитата(Petka @ Dec 27 2008, 12:33) Которы...   Dec 27 2008, 20:23
|- - zltigo   Цитата(Огурцов @ Dec 27 2008, 23:23) разд...   Dec 27 2008, 22:49
- - SasaVitebsk   Недавно в IAR выдушил 400 байт. Возможно мои реком...   Dec 25 2008, 22:17
- - ReAl   Тьху, у меги88 и 168 одинаковые размеры бут-секции...   Dec 25 2008, 22:30
|- - Огурцов   Цитата(ReAl @ Dec 25 2008, 22:30) 2а) В G...   Dec 26 2008, 07:02
|- - aesok   Цитата(Огурцов @ Dec 26 2008, 10:02) Как ...   Dec 26 2008, 07:13
|- - Огурцов   Цитата(aesok @ Dec 26 2008, 07:13) Для эт...   Dec 31 2008, 07:40
|- - ReAl   Цитата(Огурцов @ Dec 31 2008, 09:40) Пыта...   Dec 31 2008, 08:27
|- - _Pasha   Цитата(Огурцов @ Dec 31 2008, 11:40) Если...   Dec 31 2008, 11:11
|- - Огурцов   Цепляет, он там косвенно, через полдюжины #include...   Dec 31 2008, 16:55
- - aesok   Bus_transmit_byte и Bus_staff_n_transmit_byte это ...   Dec 26 2008, 07:02
|- - Огурцов   Цитата(aesok @ Dec 26 2008, 07:02) avr-gc...   Dec 26 2008, 07:17
|- - Огурцов   Добавил фичи, теперь не хватает 98 байт. Почти уга...   Dec 26 2008, 10:06
- - _Pasha   Цитата(rezident @ Dec 26 2008, 00:28) Ист...   Dec 26 2008, 10:39
|- - ReAl   Цитата(_Pasha @ Dec 26 2008, 12:39) Опция...   Dec 26 2008, 14:02
- - Diz   Посмотрите, есть ли у в строке для компилятора клю...   Dec 26 2008, 13:09
- - SasaVitebsk   Спасибо. Поизучаем.   Dec 26 2008, 23:20
|- - zltigo   Цитата(SasaVitebsk @ Dec 27 2008, 02:20) ...   Dec 27 2008, 00:23
- - GetSmart   Огурцов, из чистого любопытства спрашиваю, почему ...   Dec 27 2008, 06:33
|- - Огурцов   Цитата(GetSmart @ Dec 27 2008, 06:33) Огу...   Dec 27 2008, 06:46
- - SasaVitebsk   Вот все мы не без изъяна. У каждого из нас есть св...   Dec 27 2008, 21:43
|- - zltigo   Цитата(SasaVitebsk @ Dec 28 2008, 00:43) ...   Dec 27 2008, 23:01
|- - Огурцов   Цитата(zltigo @ Dec 27 2008, 23:01) А, та...   Dec 28 2008, 09:13
|- - zltigo   Цитата(Огурцов @ Dec 28 2008, 12:13) Я та...   Dec 28 2008, 10:57
|- - Petka   Цитата(zltigo @ Dec 28 2008, 13:57) Ну си...   Dec 28 2008, 11:04
||- - zltigo   Цитата(Petka @ Dec 28 2008, 14:04) в неоп...   Dec 28 2008, 11:09
||- - Petka   Цитата(zltigo @ Dec 28 2008, 14:09) Тогда...   Dec 28 2008, 11:16
||- - zltigo   Цитата(Petka @ Dec 28 2008, 14:16) хотя-б...   Dec 28 2008, 11:20
|- - Огурцов   Цитата(zltigo @ Dec 28 2008, 10:57) Судя ...   Dec 28 2008, 12:29
|- - zltigo   Цитата(Огурцов @ Dec 28 2008, 15:29) почи...   Dec 28 2008, 14:15
|- - Petka   Цитата(zltigo @ Dec 28 2008, 17:15) Сколь...   Dec 28 2008, 15:59
||- - zltigo   Цитата(Petka @ Dec 28 2008, 18:59) XTEA 9...   Dec 28 2008, 16:05
||- - Petka   RE: 100 байт не хватает   Dec 28 2008, 16:35
||- - zltigo   Цитата(Petka @ Dec 28 2008, 19:35) за что...   Dec 28 2008, 16:39
||- - Petka   Цитата(zltigo @ Dec 28 2008, 19:39) 31 ве...   Dec 28 2008, 17:19
||- - zltigo   Цитата(Petka @ Dec 28 2008, 20:19) IARом ...   Dec 29 2008, 11:06
||- - Petka   Цитата(zltigo @ Dec 29 2008, 14:06) Что-т...   Dec 29 2008, 13:39
||- - singlskv   Цитата(zltigo @ Dec 29 2008, 14:06) А вот...   Dec 29 2008, 17:45
|- - Огурцов   Цитата(zltigo @ Dec 28 2008, 14:15) Уже о...   Dec 28 2008, 16:01
- - defunct   Огурцов: A. Нет смысла переходить на инструмент, ...   Dec 27 2008, 21:48
|- - Огурцов   Цитата(defunct @ Dec 27 2008, 21:48) asm ...   Dec 27 2008, 22:04
|- - defunct   Цитата(Огурцов @ Dec 28 2008, 00:04) Если...   Dec 27 2008, 22:14
|- - Огурцов   Цитата(defunct @ Dec 27 2008, 22:14) Что ...   Dec 27 2008, 22:32
|- - defunct   Цитата(Огурцов @ Dec 28 2008, 00:32) Како...   Dec 27 2008, 22:41
|- - Огурцов   Цитата(defunct @ Dec 27 2008, 22:41) DES ...   Dec 27 2008, 22:56
|- - defunct   Цитата(Огурцов @ Dec 28 2008, 00:56) #def...   Dec 27 2008, 22:57
- - Petka   Ещё как идея: Попробуйте вместо буржуевского AES и...   Dec 28 2008, 08:19
|- - zltigo   Цитата(Petka @ Dec 28 2008, 11:19) Наскол...   Dec 28 2008, 08:53
|- - Petka   Цитата(zltigo @ Dec 28 2008, 11:53) Он от...   Dec 28 2008, 09:34
|- - zltigo   Цитата(Petka @ Dec 28 2008, 12:34) Из 32б...   Dec 28 2008, 10:10
|- - Petka   Цитата(zltigo @ Dec 28 2008, 13:10) ... П...   Dec 28 2008, 10:19
- - _Pasha   C vs ASM (AVR): Вчера переписал на одном девайсе п...   Dec 30 2008, 09:48
|- - singlskv   Цитата(_Pasha @ Dec 30 2008, 12:48) C vs ...   Dec 30 2008, 10:25
||- - aesok   Цитата(singlskv @ Dec 30 2008, 15:19) gcc...   Dec 30 2008, 13:26
||- - singlskv   Цитата(aesok @ Dec 30 2008, 16:26) Дело н...   Dec 30 2008, 13:49
||- - aesok   Цитата(singlskv @ Dec 30 2008, 16:49) про...   Dec 30 2008, 14:35
||- - singlskv   Цитата(aesok @ Dec 30 2008, 17:35) Так ка...   Dec 30 2008, 15:06
|- - _Pasha   Цитата(Rst7 @ Dec 30 2008, 15:13) Где? Вы...   Dec 30 2008, 12:24
- - Rst7   ЦитатаIAR в таких случаях действительно оптимизиру...   Dec 30 2008, 13:17


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

 


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


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