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

 
 
11 страниц V  « < 7 8 9 10 11 >  
Reply to this topicStart new topic
> Atmel SAM3U4, Различные вопросы
sonycman
сообщение Jan 5 2012, 13:29
Сообщение #121


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Блин, решил сравнить код IAR с Keil, поставил последний MDK4.23 и столкнулся с проблемой на ровном месте.

Не могу прошить SAM3U4C, похоже, Кейл не положила необходимый загрузчик для двухбанкового флеш этого контроллера.
Запись либо виснет и выдаёт ошибку на этапе стирания, либо вываливается на этапе программирования...

Кто как решает эту проблему?

ЗЫ: в IAR делаю так - задаю один банк 0xE0000 - 0x1FFFFF и прошиваю без проблем.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 5 2012, 15:41
Сообщение #122


Гуру
******

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



Самбой его! Для сравнения ведь все равно, на самом деле.

Оговорюсь только, что сам этим продуктом (самбой то есть) пользоваться избегаю, ибо глюк на глюке и тормоз. Самописные программаторы выручают.
Хотя в случае SAM3U именно её и применял.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 5 2012, 16:03
Сообщение #123


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(aaarrr @ Jan 5 2012, 19:41) *
Самбой его! Для сравнения ведь все равно, на самом деле.

Оговорюсь только, что сам этим продуктом (самбой то есть) пользоваться избегаю, ибо глюк на глюке и тормоз. Самописные программаторы выручают.
Хотя в случае SAM3U именно её и применял.

Спасибо, а я уже и не помню, когда в последний раз пользовался самбой sm.gif
Совсем забыл о её существовании...

Пришлось написать свой загрузчик для Кейла, точнее - модифицировать существующие, чтобы загрузка шла сразу в оба банка.
Там у них даже проект с исходниками загрузчиков есть, только немного подправить пришлось и адреса под себя изменить sm.gif

Вроде шить стало нормально, хотя и подвисает в процессе секунд на 15, безо всяких ошибок.
Помнится, старый MDK тоже страдал такой проблемой, ну да бог с ним.

А что я взялся - вчера взглянул поглубже в скомпилированный код МП3 декодера, функции Polyphase() - всё таки IAR до RealView пока не дотянулся по качеству кода.
Во первых, IAR сгенерил код длиннее, и стека при этом захапал аж 400 (!) байт под раскладывание аргументов цикла.
А у RealView код компактнее, быстрее по времени на 15% и стека гораздо меньше хавает.

Эх, теперь вот подумалось - а какого чёрта я на ИАР перебрался? sad.gif

Сорри за небольшой оффтоп sm.gif

ЗЫ: вот, к примеру, код цикла от IAR:
CODE


269 /* main convolution loop: sum1L = samples 1, 2, 3, ... 15 sum2L = samples 31, 30, ... 17 */
270 coef = coefBase + 16;
\ 000002F6 5A98 LDR R0,[SP, #+360]
\ 000002F8 00F24002 ADDW R2,R0,#+64
271 vb1 = vbuf + 64;
\ 000002FC 04F20010 ADDW R0,R4,#+256
\ 00000300 0090 STR R0,[SP, #+0]
272 pcm += 2;
\ 00000302 5998 LDR R0,[SP, #+356]
\ 00000304 001D ADDS R0,R0,#+4
\ 00000306 0190 STR R0,[SP, #+4]
273
274 /* right now, the compiler creates bad asm from this... */
275 for (i = 15; i > 0; i--)
\ 00000308 0F20 MOVS R0,#+15
\ 0000030A 0B90 STR R0,[SP, #+44]
276 {
277 sum1L = sum2L = rndVal;
278 sum1R = sum2R = rndVal;
279
280 MC2S(0)
\ ??mp3_PolyphaseStereo_0:
\ 0000030C 52F8041B LDR R1,[R2], #+4
\ 00000310 52F8043B LDR R3,[R2], #+4
\ 00000314 5691 STR R1,[SP, #+344]
\ 00000316 0098 LDR R0,[SP, #+0]
\ 00000318 D0F800C0 LDR R12,[R0, #+0]
\ 0000031C 0A93 STR R3,[SP, #+40]
\ 0000031E 5C42 RSBS R4,R3,#+0
\ 00000320 5194 STR R4,[SP, #+324]
\ 00000322 0098 LDR R0,[SP, #+0]
\ 00000324 C56D LDR R5,[R0, #+92]
\ 00000326 2F95 STR R5,[SP, #+188]
\ 00000328 0991 STR R1,[SP, #+36]
\ 0000032A 1591 STR R1,[SP, #+84]
\ 0000032C 0098 LDR R0,[SP, #+0]
\ 0000032E D0F88050 LDR R5,[R0, #+128]
\ 00000332 2E95 STR R5,[SP, #+184]
\ 00000334 5093 STR R3,[SP, #+320]
\ 00000336 1494 STR R4,[SP, #+80]
\ 00000338 0098 LDR R0,[SP, #+0]
\ 0000033A D0F8DC30 LDR R3,[R0, #+220]
\ 0000033E 2D93 STR R3,[SP, #+180]
\ 00000340 4F91 STR R1,[SP, #+316]
281 MC2S(1)
\ 00000342 52F8041B LDR R1,[R2], #+4
\ 00000346 52F8043B LDR R3,[R2], #+4
\ 0000034A 4E91 STR R1,[SP, #+312]
\ 0000034C 0098 LDR R0,[SP, #+0]
\ 0000034E 4468 LDR R4,[R0, #+4]
\ 00000350 2C94 STR R4,[SP, #+176]
\ 00000352 0893 STR R3,[SP, #+32]
\ 00000354 5C42 RSBS R4,R3,#+0
\ 00000356 4D94 STR R4,[SP, #+308]
\ 00000358 0098 LDR R0,[SP, #+0]
\ 0000035A 856D LDR R5,[R0, #+88]
\ 0000035C 2B95 STR R5,[SP, #+172]
\ 0000035E 0791 STR R1,[SP, #+28]
\ 00000360 1391 STR R1,[SP, #+76]
\ 00000362 0098 LDR R0,[SP, #+0]
\ 00000364 D0F88450 LDR R5,[R0, #+132]
\ 00000368 2A95 STR R5,[SP, #+168]
\ 0000036A 4C93 STR R3,[SP, #+304]
\ 0000036C 1294 STR R4,[SP, #+72]
\ 0000036E 0098 LDR R0,[SP, #+0]
\ 00000370 D0F8D830 LDR R3,[R0, #+216]
\ 00000374 2993 STR R3,[SP, #+164]
\ 00000376 4B91 STR R1,[SP, #+300]
282 MC2S(2)
\ 00000378 52F8041B LDR R1,[R2], #+4
\ 0000037C 52F8043B LDR R3,[R2], #+4
\ 00000380 4A91 STR R1,[SP, #+296]
\ 00000382 0098 LDR R0,[SP, #+0]
\ 00000384 8468 LDR R4,[R0, #+8]
\ 00000386 2894 STR R4,[SP, #+160]
\ 00000388 0693 STR R3,[SP, #+24]
\ 0000038A 5C42 RSBS R4,R3,#+0
\ 0000038C 4994 STR R4,[SP, #+292]
\ 0000038E 0098 LDR R0,[SP, #+0]
\ 00000390 456D LDR R5,[R0, #+84]
\ 00000392 2795 STR R5,[SP, #+156]
\ 00000394 0591 STR R1,[SP, #+20]
\ 00000396 1191 STR R1,[SP, #+68]
\ 00000398 0098 LDR R0,[SP, #+0]
\ 0000039A D0F88850 LDR R5,[R0, #+136]
\ 0000039E 2695 STR R5,[SP, #+152]
\ 000003A0 4893 STR R3,[SP, #+288]
\ 000003A2 1094 STR R4,[SP, #+64]
\ 000003A4 0098 LDR R0,[SP, #+0]
\ 000003A6 D0F8D430 LDR R3,[R0, #+212]
\ 000003AA 2593 STR R3,[SP, #+148]
\ 000003AC 4791 STR R1,[SP, #+284]
283 MC2S(3)
\ 000003AE 52F8041B LDR R1,[R2], #+4
\ 000003B2 52F8043B LDR R3,[R2], #+4
\ 000003B6 4691 STR R1,[SP, #+280]
\ 000003B8 0098 LDR R0,[SP, #+0]
\ 000003BA C468 LDR R4,[R0, #+12]
\ 000003BC 2494 STR R4,[SP, #+144]
\ 000003BE 0493 STR R3,[SP, #+16]
\ 000003C0 5C42 RSBS R4,R3,#+0
\ 000003C2 4594 STR R4,[SP, #+276]
\ 000003C4 0098 LDR R0,[SP, #+0]
\ 000003C6 056D LDR R5,[R0, #+80]
\ 000003C8 2395 STR R5,[SP, #+140]
\ 000003CA 0391 STR R1,[SP, #+12]
\ 000003CC 0F91 STR R1,[SP, #+60]
\ 000003CE 0098 LDR R0,[SP, #+0]
\ 000003D0 D0F88C50 LDR R5,[R0, #+140]
\ 000003D4 2295 STR R5,[SP, #+136]
\ 000003D6 4493 STR R3,[SP, #+272]
\ 000003D8 4394 STR R4,[SP, #+268]
\ 000003DA 0098 LDR R0,[SP, #+0]
\ 000003DC D0F8D030 LDR R3,[R0, #+208]
\ 000003E0 2193 STR R3,[SP, #+132]
\ 000003E2 4291 STR R1,[SP, #+264]
284 MC2S(4)
\ 000003E4 52F8041B LDR R1,[R2], #+4
\ 000003E8 52F8043B LDR R3,[R2], #+4
\ 000003EC 4191 STR R1,[SP, #+260]
\ 000003EE 0098 LDR R0,[SP, #+0]
\ 000003F0 0469 LDR R4,[R0, #+16]
\ 000003F2 2094 STR R4,[SP, #+128]
\ 000003F4 0293 STR R3,[SP, #+8]
\ 000003F6 5C42 RSBS R4,R3,#+0
\ 000003F8 4094 STR R4,[SP, #+256]
\ 000003FA 0098 LDR R0,[SP, #+0]
\ 000003FC C56C LDR R5,[R0, #+76]
\ 000003FE 1F95 STR R5,[SP, #+124]
\ 00000400 0E91 STR R1,[SP, #+56]
\ 00000402 3F91 STR R1,[SP, #+252]
\ 00000404 0098 LDR R0,[SP, #+0]
\ 00000406 D0F89050 LDR R5,[R0, #+144]
\ 0000040A 1E95 STR R5,[SP, #+120]
\ 0000040C 3E93 STR R3,[SP, #+248]
\ 0000040E 3D94 STR R4,[SP, #+244]
\ 00000410 0098 LDR R0,[SP, #+0]
\ 00000412 D0F8CC30 LDR R3,[R0, #+204]
\ 00000416 1D93 STR R3,[SP, #+116]
\ 00000418 3C91 STR R1,[SP, #+240]
285 MC2S(5)
\ 0000041A 52F8041B LDR R1,[R2], #+4
\ 0000041E 52F8043B LDR R3,[R2], #+4
\ 00000422 3B91 STR R1,[SP, #+236]
\ 00000424 0098 LDR R0,[SP, #+0]
\ 00000426 4469 LDR R4,[R0, #+20]
\ 00000428 1C94 STR R4,[SP, #+112]
\ 0000042A 0D93 STR R3,[SP, #+52]
\ 0000042C 5C42 RSBS R4,R3,#+0
\ 0000042E 3A94 STR R4,[SP, #+232]
\ 00000430 0098 LDR R0,[SP, #+0]
\ 00000432 D0F848A0 LDR R10,[R0, #+72]
\ 00000436 0C91 STR R1,[SP, #+48]
\ 00000438 3991 STR R1,[SP, #+228]
\ 0000043A 0098 LDR R0,[SP, #+0]
\ 0000043C D0F89450 LDR R5,[R0, #+148]
\ 00000440 1B95 STR R5,[SP, #+108]
\ 00000442 3893 STR R3,[SP, #+224]
\ 00000444 3794 STR R4,[SP, #+220]
\ 00000446 0098 LDR R0,[SP, #+0]
\ 00000448 D0F8C830 LDR R3,[R0, #+200]
\ 0000044C 1A93 STR R3,[SP, #+104]
\ 0000044E 3691 STR R1,[SP, #+216]
286 MC2S(6)
\ 00000450 52F8049B LDR R9,[R2], #+4
\ 00000454 52F8045B LDR R5,[R2], #+4
\ 00000458 CDF8D490 STR R9,[SP, #+212]
\ 0000045C 0098 LDR R0,[SP, #+0]
\ 0000045E 8169 LDR R1,[R0, #+24]
\ 00000460 1991 STR R1,[SP, #+100]
\ 00000462 6942 RSBS R1,R5,#+0
\ 00000464 3491 STR R1,[SP, #+208]
\ 00000466 0098 LDR R0,[SP, #+0]
\ 00000468 436C LDR R3,[R0, #+68]
\ 0000046A 1893 STR R3,[SP, #+96]
\ 0000046C CDF8CC90 STR R9,[SP, #+204]
\ 00000470 0098 LDR R0,[SP, #+0]
\ 00000472 D0F89830 LDR R3,[R0, #+152]
\ 00000476 1793 STR R3,[SP, #+92]
\ 00000478 3295 STR R5,[SP, #+200]
\ 0000047A 3191 STR R1,[SP, #+196]
\ 0000047C 0098 LDR R0,[SP, #+0]
\ 0000047E D0F8C410 LDR R1,[R0, #+196]
\ 00000482 1691 STR R1,[SP, #+88]
\ 00000484 CDF8C090 STR R9,[SP, #+192]
287 MC2S(7)
\ 00000488 52F8043B LDR R3,[R2], #+4
\ 0000048C 52F804EB LDR LR,[R2], #+4
\ 00000490 0098 LDR R0,[SP, #+0]
\ 00000492 D0F81C80 LDR R8,[R0, #+28]
\ 00000496 046C LDR R4,[R0, #+64]
\ 00000498 0A98 LDR R0,[SP, #+40]
\ 0000049A 80FB0C01 SMULL R0,R1,R0,R12
\ 0000049E C3FB0401 SMLAL R0,R1,R3,R4
\ 000004A2 2F9E LDR R6,[SP, #+188]
\ 000004A4 099F LDR R7,[SP, #+36]
\ 000004A6 C7FB0601 SMLAL R0,R1,R7,R6
\ 000004AA 2C9E LDR R6,[SP, #+176]
\ 000004AC 089F LDR R7,[SP, #+32]
\ 000004AE C7FB0601 SMLAL R0,R1,R7,R6
\ 000004B2 2B9E LDR R6,[SP, #+172]
\ 000004B4 079F LDR R7,[SP, #+28]
\ 000004B6 C7FB0601 SMLAL R0,R1,R7,R6
\ 000004BA 289E LDR R6,[SP, #+160]
\ 000004BC 069F LDR R7,[SP, #+24]
\ 000004BE C7FB0601 SMLAL R0,R1,R7,R6
\ 000004C2 279E LDR R6,[SP, #+156]
\ 000004C4 059F LDR R7,[SP, #+20]
\ 000004C6 C7FB0601 SMLAL R0,R1,R7,R6
\ 000004CA 249E LDR R6,[SP, #+144]
\ 000004CC 049F LDR R7,[SP, #+16]
\ 000004CE C7FB0601 SMLAL R0,R1,R7,R6
\ 000004D2 239E LDR R6,[SP, #+140]
\ 000004D4 039F LDR R7,[SP, #+12]
\ 000004D6 C7FB0601 SMLAL R0,R1,R7,R6
\ 000004DA 209E LDR R6,[SP, #+128]
\ 000004DC 029F LDR R7,[SP, #+8]
\ 000004DE C7FB0601 SMLAL R0,R1,R7,R6
\ 000004E2 1F9E LDR R6,[SP, #+124]
\ 000004E4 0E9F LDR R7,[SP, #+56]
\ 000004E6 C7FB0601 SMLAL R0,R1,R7,R6
\ 000004EA 1C9E LDR R6,[SP, #+112]
\ 000004EC 0D9F LDR R7,[SP, #+52]
\ 000004EE C7FB0601 SMLAL R0,R1,R7,R6
\ 000004F2 0C9F LDR R7,[SP, #+48]
\ 000004F4 C7FB0A01 SMLAL R0,R1,R7,R10
\ 000004F8 199F LDR R7,[SP, #+100]
\ 000004FA C5FB0701 SMLAL R0,R1,R5,R7
\ 000004FE 189D LDR R5,[SP, #+96]
\ 00000500 C9FB0501 SMLAL R0,R1,R9,R5
\ 00000504 CEFB0801 SMLAL R0,R1,LR,R8
\ 00000508 10F10070 ADDS R0,R0,#+33554432
\ 0000050C 41F10001 ADC R1,R1,#+0
\ 00000510 CDE95401 STRD R0,R1,[SP, #+336]
\ 00000514 0098 LDR R0,[SP, #+0]
\ 00000516 D0F89C70 LDR R7,[R0, #+156]
\ 0000051A D0F8C050 LDR R5,[R0, #+192]
\ 0000051E CEF10006 RSB R6,LR,#+0
\ 00000522 2E98 LDR R0,[SP, #+184]
\ 00000524 1599 LDR R1,[SP, #+84]
\ 00000526 81FB0001 SMULL R0,R1,R1,R0
\ 0000052A C6FB0501 SMLAL R0,R1,R6,R5
\ 0000052E DDF8B490 LDR R9,[SP, #+180]
\ 00000532 149E LDR R6,[SP, #+80]
\ 00000534 C6FB0901 SMLAL R0,R1,R6,R9
\ 00000538 DDF8A890 LDR R9,[SP, #+168]
\ 0000053C 139E LDR R6,[SP, #+76]
\ 0000053E C6FB0901 SMLAL R0,R1,R6,R9
\ 00000542 DDF8A490 LDR R9,[SP, #+164]
\ 00000546 129E LDR R6,[SP, #+72]
\ 00000548 C6FB0901 SMLAL R0,R1,R6,R9
\ 0000054C DDF89890 LDR R9,[SP, #+152]
\ 00000550 119E LDR R6,[SP, #+68]
\ 00000552 C6FB0901 SMLAL R0,R1,R6,R9
\ 00000556 DDF89490 LDR R9,[SP, #+148]
\ 0000055A 109E LDR R6,[SP, #+64]
\ 0000055C C6FB0901 SMLAL R0,R1,R6,R9
\ 00000560 DDF88890 LDR R9,[SP, #+136]
\ 00000564 0F9E LDR R6,[SP, #+60]
\ 00000566 C6FB0901 SMLAL R0,R1,R6,R9
\ 0000056A DDF88490 LDR R9,[SP, #+132]
\ 0000056E 439E LDR R6,[SP, #+268]
\ 00000570 C6FB0901 SMLAL R0,R1,R6,R9
\ 00000574 DDF87890 LDR R9,[SP, #+120]
\ 00000578 3F9E LDR R6,[SP, #+252]
\ 0000057A C6FB0901 SMLAL R0,R1,R6,R9
\ 0000057E DDF87490 LDR R9,[SP, #+116]
\ 00000582 3D9E LDR R6,[SP, #+244]
\ 00000584 C6FB0901 SMLAL R0,R1,R6,R9
\ 00000588 DDF86C90 LDR R9,[SP, #+108]
\ 0000058C 399E LDR R6,[SP, #+228]
\ 0000058E C6FB0901 SMLAL R0,R1,R6,R9
\ 00000592 DDF86890 LDR R9,[SP, #+104]
\ 00000596 379E LDR R6,[SP, #+220]
\ 00000598 C6FB0901 SMLAL R0,R1,R6,R9
\ 0000059C DDF85C90 LDR R9,[SP, #+92]
\ 000005A0 339E LDR R6,[SP, #+204]
\ 000005A2 C6FB0901 SMLAL R0,R1,R6,R9
\ 000005A6 DDF85890 LDR R9,[SP, #+88]
\ 000005AA 319E LDR R6,[SP, #+196]
\ 000005AC C6FB0901 SMLAL R0,R1,R6,R9
\ 000005B0 C3FB0701 SMLAL R0,R1,R3,R7
\ 000005B4 10F10070 ADDS R0,R0,#+33554432
\ 000005B8 41F10001 ADC R1,R1,#+0
\ 000005BC CDE95201 STRD R0,R1,[SP, #+328]
\ 000005C0 2E98 LDR R0,[SP, #+184]
\ 000005C2 5099 LDR R1,[SP, #+320]
\ 000005C4 81FB0001 SMULL R0,R1,R1,R0
\ 000005C8 C3FB0501 SMLAL R0,R1,R3,R5
\ 000005CC 2D9D LDR R5,[SP, #+180]
\ 000005CE 4F9E LDR R6,[SP, #+316]
\ 000005D0 C6FB0501 SMLAL R0,R1,R6,R5
\ 000005D4 2A9D LDR R5,[SP, #+168]
\ 000005D6 4C9E LDR R6,[SP, #+304]
\ 000005D8 C6FB0501 SMLAL R0,R1,R6,R5
\ 000005DC 299D LDR R5,[SP, #+164]
\ 000005DE 4B9E LDR R6,[SP, #+300]
\ 000005E0 C6FB0501 SMLAL R0,R1,R6,R5
\ 000005E4 269D LDR R5,[SP, #+152]
\ 000005E6 489E LDR R6,[SP, #+288]
\ 000005E8 C6FB0501 SMLAL R0,R1,R6,R5
\ 000005EC 259D LDR R5,[SP, #+148]
\ 000005EE 479E LDR R6,[SP, #+284]
\ 000005F0 C6FB0501 SMLAL R0,R1,R6,R5
\ 000005F4 229D LDR R5,[SP, #+136]
\ 000005F6 449E LDR R6,[SP, #+272]
\ 000005F8 C6FB0501 SMLAL R0,R1,R6,R5
\ 000005FC 219D LDR R5,[SP, #+132]
\ 000005FE 429E LDR R6,[SP, #+264]
\ 00000600 C6FB0501 SMLAL R0,R1,R6,R5
\ 00000604 1E9D LDR R5,[SP, #+120]
\ 00000606 3E9E LDR R6,[SP, #+248]
\ 00000608 C6FB0501 SMLAL R0,R1,R6,R5
\ 0000060C 1D9D LDR R5,[SP, #+116]
\ 0000060E 3C9E LDR R6,[SP, #+240]
\ 00000610 C6FB0501 SMLAL R0,R1,R6,R5
\ 00000614 1B9D LDR R5,[SP, #+108]
\ 00000616 389E LDR R6,[SP, #+224]
\ 00000618 C6FB0501 SMLAL R0,R1,R6,R5
\ 0000061C 1A9D LDR R5,[SP, #+104]
\ 0000061E 369E LDR R6,[SP, #+216]
\ 00000620 C6FB0501 SMLAL R0,R1,R6,R5
\ 00000624 179D LDR R5,[SP, #+92]
\ 00000626 329E LDR R6,[SP, #+200]
\ 00000628 C6FB0501 SMLAL R0,R1,R6,R5
\ 0000062C 169D LDR R5,[SP, #+88]
\ 0000062E 309E LDR R6,[SP, #+192]
\ 00000630 C6FB0501 SMLAL R0,R1,R6,R5
\ 00000634 CEFB0701 SMLAL R0,R1,LR,R7
\ 00000638 10F10070 ADDS R0,R0,#+33554432
\ 0000063C 41F10001 ADC R1,R1,#+0
288
289 vb1 += 64;
\ 00000640 009D LDR R5,[SP, #+0]
\ 00000642 05F20017 ADDW R7,R5,#+256
\ 00000646 0097 STR R7,[SP, #+0]
290 *(pcm + 0) = ClipToShort((int)SAR64(sum1L, (32-CSHIFT)), DEF_NFRACBITS);
\ 00000648 CEF1000E RSB LR,LR,#+0
\ 0000064C 2746 MOV R7,R4
\ 0000064E 569C LDR R4,[SP, #+344]
\ 00000650 84FB0C45 SMULL R4,R5,R4,R12
\ 00000654 CEFB0745 SMLAL R4,R5,LR,R7
\ 00000658 2F9F LDR R7,[SP, #+188]
\ 0000065A 519E LDR R6,[SP, #+324]
\ 0000065C C6FB0745 SMLAL R4,R5,R6,R7
\ 00000660 2C9F LDR R7,[SP, #+176]
\ 00000662 4E9E LDR R6,[SP, #+312]
\ 00000664 C6FB0745 SMLAL R4,R5,R6,R7
\ 00000668 2B9F LDR R7,[SP, #+172]
\ 0000066A 4D9E LDR R6,[SP, #+308]
\ 0000066C C6FB0745 SMLAL R4,R5,R6,R7
\ 00000670 289F LDR R7,[SP, #+160]
\ 00000672 4A9E LDR R6,[SP, #+296]
\ 00000674 C6FB0745 SMLAL R4,R5,R6,R7
\ 00000678 279F LDR R7,[SP, #+156]
\ 0000067A 499E LDR R6,[SP, #+292]
\ 0000067C C6FB0745 SMLAL R4,R5,R6,R7
\ 00000680 249F LDR R7,[SP, #+144]
\ 00000682 469E LDR R6,[SP, #+280]
\ 00000684 C6FB0745 SMLAL R4,R5,R6,R7
\ 00000688 239F LDR R7,[SP, #+140]
\ 0000068A 459E LDR R6,[SP, #+276]
\ 0000068C C6FB0745 SMLAL R4,R5,R6,R7
\ 00000690 209F LDR R7,[SP, #+128]
\ 00000692 419E LDR R6,[SP, #+260]
\ 00000694 C6FB0745 SMLAL R4,R5,R6,R7
\ 00000698 1F9F LDR R7,[SP, #+124]
\ 0000069A 409E LDR R6,[SP, #+256]
\ 0000069C C6FB0745 SMLAL R4,R5,R6,R7
\ 000006A0 1C9F LDR R7,[SP, #+112]
\ 000006A2 3B9E LDR R6,[SP, #+236]
\ 000006A4 C6FB0745 SMLAL R4,R5,R6,R7
\ 000006A8 3A9F LDR R7,[SP, #+232]
\ 000006AA C7FB0A45 SMLAL R4,R5,R7,R10
\ 000006AE 199F LDR R7,[SP, #+100]
\ 000006B0 359E LDR R6,[SP, #+212]
\ 000006B2 C6FB0745 SMLAL R4,R5,R6,R7
\ 000006B6 189F LDR R7,[SP, #+96]
\ 000006B8 349E LDR R6,[SP, #+208]
\ 000006BA C6FB0745 SMLAL R4,R5,R6,R7
\ 000006BE C3FB0845 SMLAL R4,R5,R3,R8
\ 000006C2 14F10074 ADDS R4,R4,#+33554432
\ 000006C6 45F10005 ADC R5,R5,#+0
\ 000006CA 240D LSRS R4,R4,#+20
\ 000006CC 44EA0534 ORR R4,R4,R5, LSL #+12
\ 000006D0 A311 ASRS R3,R4,#+6
\ 000006D2 DC17 ASRS R4,R3,#+31
\ 000006D4 B4EBE33F CMP R4,R3, ASR #+15
\ 000006D8 1CBF ITT NE
\ 000006DA 84F4FE43 EORNE R3,R4,#0x7F00
\ 000006DE 83F0FF03 EORNE R3,R3,#0xFF
\ 000006E2 019C LDR R4,[SP, #+4]
\ 000006E4 2380 STRH R3,[R4, #+0]
291 *(pcm + 1) = ClipToShort((int)SAR64(sum1R, (32-CSHIFT)), DEF_NFRACBITS);
\ 000006E6 DDE95245 LDRD R4,R5,[SP, #+328]
\ 000006EA 240D LSRS R4,R4,#+20
\ 000006EC 44EA0534 ORR R4,R4,R5, LSL #+12
\ 000006F0 A311 ASRS R3,R4,#+6
\ 000006F2 DC17 ASRS R4,R3,#+31
\ 000006F4 B4EBE33F CMP R4,R3, ASR #+15
\ 000006F8 1CBF ITT NE
\ 000006FA 84F4FE43 EORNE R3,R4,#0x7F00
\ 000006FE 83F0FF03 EORNE R3,R3,#0xFF
\ 00000702 019C LDR R4,[SP, #+4]
\ 00000704 6380 STRH R3,[R4, #+2]
292 *(pcm + 2*2*i + 0) = ClipToShort((int)SAR64(sum2L, (32-CSHIFT)), DEF_NFRACBITS);
\ 00000706 DDE95445 LDRD R4,R5,[SP, #+336]
\ 0000070A 240D LSRS R4,R4,#+20
\ 0000070C 44EA0534 ORR R4,R4,R5, LSL #+12
\ 00000710 A311 ASRS R3,R4,#+6
\ 00000712 DC17 ASRS R4,R3,#+31
\ 00000714 B4EBE33F CMP R4,R3, ASR #+15
\ 00000718 1CBF ITT NE
\ 0000071A 84F4FE43 EORNE R3,R4,#0x7F00
\ 0000071E 83F0FF03 EORNE R3,R3,#0xFF
\ 00000722 0B9C LDR R4,[SP, #+44]
\ 00000724 019D LDR R5,[SP, #+4]
\ 00000726 25F83430 STRH R3,[R5, R4, LSL #+3]
293 *(pcm + 2*2*i + 1) = ClipToShort((int)SAR64(sum2R, (32-CSHIFT)), DEF_NFRACBITS);
\ 0000072A 000D LSRS R0,R0,#+20
\ 0000072C 40EA0130 ORR R0,R0,R1, LSL #+12
\ 00000730 8011 ASRS R0,R0,#+6
\ 00000732 C117 ASRS R1,R0,#+31
\ 00000734 B1EBE03F CMP R1,R0, ASR #+15
\ 00000738 1CBF ITT NE
\ 0000073A 81F4FE40 EORNE R0,R1,#0x7F00
\ 0000073E 80F0FF00 EORNE R0,R0,#0xFF
\ 00000742 0B99 LDR R1,[SP, #+44]
\ 00000744 019B LDR R3,[SP, #+4]
\ 00000746 03EBC101 ADD R1,R3,R1, LSL #+3
\ 0000074A 4880 STRH R0,[R1, #+2]
294 pcm += 2;
\ 0000074C 0198 LDR R0,[SP, #+4]
\ 0000074E 001D ADDS R0,R0,#+4
\ 00000750 0190 STR R0,[SP, #+4]
295 }
\ 00000752 0B98 LDR R0,[SP, #+44]
\ 00000754 401E SUBS R0,R0,#+1
\ 00000756 0B90 STR R0,[SP, #+44]
\ 00000758 0128 CMP R0,#+1
\ 0000075A BFF6D7AD BGE.W ??mp3_PolyphaseStereo_0

а вот RealView:
CODE


/* main convolution loop: sum1L = samples 1, 2, 3, ... 15 sum2L = samples 31, 30, ... 17 */
;;;270 coef = coefBase + 16;
;;;271 vb1 = vbuf + 64;
;;;272 pcm += 2;
000272 1d05 ADDS r5,r0,#4
000274 f1020440 ADD r4,r2,#0x40 ;270
000278 f5017180 ADD r1,r1,#0x100 ;271
;;;273
;;;274 /* right now, the compiler creates bad asm from this... */
;;;275 for (i = 15; i > 0; i--) {
00027c f05f060f MOVS.W r6,#0xf
|L2.640|
;;;276 sum1L = sum2L = rndVal;
;;;277 sum1R = sum2R = rndVal;
;;;278
;;;279 MC2S(0)
000280 f8547b04 LDR r7,[r4],#4
000284 f8d19000 LDR r9,[r1,#0]
000288 f8548b04 LDR r8,[r4],#4
00028c 469b MOV r11,r3
00028e 46e6 MOV lr,r12
000290 fbc9be08 SMLAL r11,lr,r9,r8
000294 f8d1a05c LDR r10,[r1,#0x5c]
000298 4662 MOV r2,r12
00029a 4618 MOV r0,r3
00029c fbc90207 SMLAL r0,r2,r9,r7
0002a0 fbcabe07 SMLAL r11,lr,r10,r7
0002a4 f1c80900 RSB r9,r8,#0
0002a8 fbca0209 SMLAL r0,r2,r10,r9
0002ac f8cde038 STR lr,[sp,#0x38]
0002b0 f8cdb050 STR r11,[sp,#0x50]
0002b4 f8cd901c STR r9,[sp,#0x1c]
0002b8 e9cd2003 STRD r2,r0,[sp,#0xc]
0002bc f8d19080 LDR r9,[r1,#0x80]
0002c0 469a MOV r10,r3
0002c2 4662 MOV r2,r12
0002c4 fbc9a208 SMLAL r10,r2,r9,r8
0002c8 f8d100dc LDR r0,[r1,#0xdc]
0002cc 469b MOV r11,r3
0002ce 46e6 MOV lr,r12
0002d0 fbc9be07 SMLAL r11,lr,r9,r7
0002d4 f8dd901c LDR r9,[sp,#0x1c]
0002d8 fbc0a207 SMLAL r10,r2,r0,r7
0002dc fbc0be09 SMLAL r11,lr,r0,r9
0002e0 f8cda020 STR r10,[sp,#0x20]
0002e4 920a STR r2,[sp,#0x28]
0002e6 e9cdeb01 STRD lr,r11,[sp,#4]
;;;280 MC2S(1)
0002ea f8548b04 LDR r8,[r4],#4
0002ee 684f LDR r7,[r1,#4]
0002f0 f8549b04 LDR r9,[r4],#4
0002f4 f8dde038 LDR lr,[sp,#0x38]
0002f8 f8ddb050 LDR r11,[sp,#0x50]
0002fc e9dd2003 LDRD r2,r0,[sp,#0xc]
000300 fbc7be09 SMLAL r11,lr,r7,r9
000304 f8d1a058 LDR r10,[r1,#0x58]
000308 fbc70208 SMLAL r0,r2,r7,r8
00030c f1c90700 RSB r7,r9,#0
000310 fbcabe08 SMLAL r11,lr,r10,r8
000314 fbca0207 SMLAL r0,r2,r10,r7
000318 f8cde038 STR lr,[sp,#0x38]
00031c f8cdb050 STR r11,[sp,#0x50]
000320 9707 STR r7,[sp,#0x1c]
000322 e9cd2003 STRD r2,r0,[sp,#0xc]
000326 f8d17084 LDR r7,[r1,#0x84]
00032a f8dda020 LDR r10,[sp,#0x20]
00032e 9a0a LDR r2,[sp,#0x28]
000330 e9ddeb01 LDRD lr,r11,[sp,#4]
000334 fbc7a209 SMLAL r10,r2,r7,r9
000338 f8d100d8 LDR r0,[r1,#0xd8]
00033c fbc7be08 SMLAL r11,lr,r7,r8
000340 9f07 LDR r7,[sp,#0x1c]
000342 fbc0a208 SMLAL r10,r2,r0,r8
000346 fbc0be07 SMLAL r11,lr,r0,r7
00034a f8cda020 STR r10,[sp,#0x20]
00034e 920a STR r2,[sp,#0x28]
000350 e9cdeb01 STRD lr,r11,[sp,#4]
;;;281 MC2S(2)
000354 f8548b04 LDR r8,[r4],#4
000358 688f LDR r7,[r1,#8]
00035a f8549b04 LDR r9,[r4],#4
00035e f8dde038 LDR lr,[sp,#0x38]
000362 f8ddb050 LDR r11,[sp,#0x50]
000366 e9dd2003 LDRD r2,r0,[sp,#0xc]
00036a fbc7be09 SMLAL r11,lr,r7,r9
00036e f8d1a054 LDR r10,[r1,#0x54]
000372 fbc70208 SMLAL r0,r2,r7,r8
000376 f1c90700 RSB r7,r9,#0
00037a fbcabe08 SMLAL r11,lr,r10,r8
00037e fbca0207 SMLAL r0,r2,r10,r7
000382 f8cde038 STR lr,[sp,#0x38]
000386 f8cdb050 STR r11,[sp,#0x50]
00038a 9707 STR r7,[sp,#0x1c]
00038c e9cd2003 STRD r2,r0,[sp,#0xc]
000390 f8d17088 LDR r7,[r1,#0x88]
000394 f8dda020 LDR r10,[sp,#0x20]
000398 9a0a LDR r2,[sp,#0x28]
00039a e9ddeb01 LDRD lr,r11,[sp,#4]
00039e fbc7a209 SMLAL r10,r2,r7,r9
0003a2 f8d100d4 LDR r0,[r1,#0xd4]
0003a6 fbc7be08 SMLAL r11,lr,r7,r8
0003aa 9f07 LDR r7,[sp,#0x1c]
0003ac fbc0a208 SMLAL r10,r2,r0,r8
0003b0 fbc0be07 SMLAL r11,lr,r0,r7
0003b4 f8cda020 STR r10,[sp,#0x20]
0003b8 920a STR r2,[sp,#0x28]
0003ba e9cdeb01 STRD lr,r11,[sp,#4]
;;;282 MC2S(3)
0003be f8548b04 LDR r8,[r4],#4
0003c2 68cf LDR r7,[r1,#0xc]
0003c4 f8549b04 LDR r9,[r4],#4
0003c8 f8dde038 LDR lr,[sp,#0x38]
0003cc f8ddb050 LDR r11,[sp,#0x50]
0003d0 e9dd2003 LDRD r2,r0,[sp,#0xc]
0003d4 fbc7be09 SMLAL r11,lr,r7,r9
0003d8 f8d1a050 LDR r10,[r1,#0x50]
0003dc fbc70208 SMLAL r0,r2,r7,r8
0003e0 f1c90700 RSB r7,r9,#0
0003e4 fbcabe08 SMLAL r11,lr,r10,r8
0003e8 fbca0207 SMLAL r0,r2,r10,r7
0003ec f8cde038 STR lr,[sp,#0x38]
0003f0 f8cdb050 STR r11,[sp,#0x50]
0003f4 9707 STR r7,[sp,#0x1c]
0003f6 e9cd2003 STRD r2,r0,[sp,#0xc]
0003fa f8d1708c LDR r7,[r1,#0x8c]
0003fe f8dda020 LDR r10,[sp,#0x20]
000402 9a0a LDR r2,[sp,#0x28]
000404 e9ddeb01 LDRD lr,r11,[sp,#4]
000408 fbc7a209 SMLAL r10,r2,r7,r9
00040c f8d100d0 LDR r0,[r1,#0xd0]
000410 fbc7be08 SMLAL r11,lr,r7,r8
000414 9f07 LDR r7,[sp,#0x1c]
000416 fbc0a208 SMLAL r10,r2,r0,r8
00041a fbc0be07 SMLAL r11,lr,r0,r7
00041e f8cda020 STR r10,[sp,#0x20]
000422 920a STR r2,[sp,#0x28]
000424 e9cdeb01 STRD lr,r11,[sp,#4]
;;;283 MC2S(4)
000428 f8548b04 LDR r8,[r4],#4
00042c 690f LDR r7,[r1,#0x10]
00042e f8549b04 LDR r9,[r4],#4
000432 f8dde038 LDR lr,[sp,#0x38]
000436 f8ddb050 LDR r11,[sp,#0x50]
00043a e9dd2003 LDRD r2,r0,[sp,#0xc]
00043e fbc7be09 SMLAL r11,lr,r7,r9
000442 f8d1a04c LDR r10,[r1,#0x4c]
000446 fbc70208 SMLAL r0,r2,r7,r8
00044a f1c90700 RSB r7,r9,#0
00044e fbcabe08 SMLAL r11,lr,r10,r8
000452 fbca0207 SMLAL r0,r2,r10,r7
000456 f8cde038 STR lr,[sp,#0x38]
00045a f8cdb050 STR r11,[sp,#0x50]
00045e 9707 STR r7,[sp,#0x1c]
000460 e9cd2003 STRD r2,r0,[sp,#0xc]
000464 f8d17090 LDR r7,[r1,#0x90]
000468 f8dda020 LDR r10,[sp,#0x20]
00046c 9a0a LDR r2,[sp,#0x28]
00046e e9ddeb01 LDRD lr,r11,[sp,#4]
000472 fbc7a209 SMLAL r10,r2,r7,r9
000476 f8d100cc LDR r0,[r1,#0xcc]
00047a fbc7be08 SMLAL r11,lr,r7,r8
00047e 9f07 LDR r7,[sp,#0x1c]
000480 fbc0a208 SMLAL r10,r2,r0,r8
000484 fbc0be07 SMLAL r11,lr,r0,r7
000488 f8cda020 STR r10,[sp,#0x20]
00048c 920a STR r2,[sp,#0x28]
00048e e9cdeb01 STRD lr,r11,[sp,#4]
;;;284 MC2S(5)
000492 f8548b04 LDR r8,[r4],#4
000496 e9dd2003 LDRD r2,r0,[sp,#0xc]
00049a f8549b04 LDR r9,[r4],#4
00049e 694f LDR r7,[r1,#0x14]
0004a0 f8dde038 LDR lr,[sp,#0x38]
0004a4 f8ddb050 LDR r11,[sp,#0x50]
0004a8 f8d1a048 LDR r10,[r1,#0x48]
0004ac fbc7be09 SMLAL r11,lr,r7,r9
0004b0 fbc70208 SMLAL r0,r2,r7,r8
0004b4 f1c90700 RSB r7,r9,#0
0004b8 fbcabe08 SMLAL r11,lr,r10,r8
0004bc fbca0207 SMLAL r0,r2,r10,r7
0004c0 f8cde038 STR lr,[sp,#0x38]
0004c4 f8cdb050 STR r11,[sp,#0x50]
0004c8 9707 STR r7,[sp,#0x1c]
0004ca e9cd2003 STRD r2,r0,[sp,#0xc]
0004ce f8d17094 LDR r7,[r1,#0x94]
0004d2 f8dda020 LDR r10,[sp,#0x20]
0004d6 9a0a LDR r2,[sp,#0x28]
0004d8 e9ddeb01 LDRD lr,r11,[sp,#4]
0004dc fbc7a209 SMLAL r10,r2,r7,r9
0004e0 f8d100c8 LDR r0,[r1,#0xc8]
0004e4 fbc7be08 SMLAL r11,lr,r7,r8
0004e8 9f07 LDR r7,[sp,#0x1c]
0004ea fbc0a208 SMLAL r10,r2,r0,r8
0004ee fbc0be07 SMLAL r11,lr,r0,r7
0004f2 f8cda020 STR r10,[sp,#0x20]
0004f6 920a STR r2,[sp,#0x28]
0004f8 e9cdeb01 STRD lr,r11,[sp,#4]
;;;285 MC2S(6)
0004fc f8547b04 LDR r7,[r4],#4
000500 f8d1a018 LDR r10,[r1,#0x18]
000504 f8548b04 LDR r8,[r4],#4
000508 f8dde038 LDR lr,[sp,#0x38]
00050c f8ddb050 LDR r11,[sp,#0x50]
000510 e9dd2003 LDRD r2,r0,[sp,#0xc]
000514 fbcabe08 SMLAL r11,lr,r10,r8
000518 f8d19044 LDR r9,[r1,#0x44]
00051c fbca0207 SMLAL r0,r2,r10,r7
000520 f1c80a00 RSB r10,r8,#0
000524 fbc9020a SMLAL r0,r2,r9,r10
000528 fbc9be07 SMLAL r11,lr,r9,r7
00052c f8cda01c STR r10,[sp,#0x1c]
000530 e9cd2003 STRD r2,r0,[sp,#0xc]
000534 f8cde038 STR lr,[sp,#0x38]
000538 f8cdb050 STR r11,[sp,#0x50]
00053c f8d1a098 LDR r10,[r1,#0x98]
000540 f8dde020 LDR lr,[sp,#0x20]
000544 980a LDR r0,[sp,#0x28]
000546 e9dd9b01 LDRD r9,r11,[sp,#4]
00054a fbcae008 SMLAL lr,r0,r10,r8
00054e f8d120c4 LDR r2,[r1,#0xc4]
000552 fbcab907 SMLAL r11,r9,r10,r7
000556 f8dd801c LDR r8,[sp,#0x1c]
00055a fbc2e007 SMLAL lr,r0,r2,r7
00055e fbc2b908 SMLAL r11,r9,r2,r8
000562 f8cde020 STR lr,[sp,#0x20]
000566 900a STR r0,[sp,#0x28]
000568 e9cd9b01 STRD r9,r11,[sp,#4]
;;;286 MC2S(7)
00056c f8547b04 LDR r7,[r4],#4
000570 f8d1a01c LDR r10,[r1,#0x1c]
000574 f8548b04 LDR r8,[r4],#4
000578 f8dde038 LDR lr,[sp,#0x38]
00057c f8ddb050 LDR r11,[sp,#0x50]
000580 e9dd2003 LDRD r2,r0,[sp,#0xc]
000584 fbcabe08 SMLAL r11,lr,r10,r8
000588 f8d19040 LDR r9,[r1,#0x40]
00058c fbca0207 SMLAL r0,r2,r10,r7
000590 f1c80a00 RSB r10,r8,#0
000594 fbc9be07 SMLAL r11,lr,r9,r7
000598 fbc9020a SMLAL r0,r2,r9,r10
00059c f8cde038 STR lr,[sp,#0x38]
0005a0 f8cdb050 STR r11,[sp,#0x50]
0005a4 f8cda01c STR r10,[sp,#0x1c]
0005a8 e9cd2003 STRD r2,r0,[sp,#0xc]
0005ac e9dd9b01 LDRD r9,r11,[sp,#4]
0005b0 f8d1a09c LDR r10,[r1,#0x9c]
0005b4 f8d120c0 LDR r2,[r1,#0xc0]
0005b8 fbcab907 SMLAL r11,r9,r10,r7
0005bc f8dde020 LDR lr,[sp,#0x20]
0005c0 980a LDR r0,[sp,#0x28]
;;;287
;;;288 vb1 += 64;
0005c2 f5017180 ADD r1,r1,#0x100
0005c6 fbcae008 SMLAL lr,r0,r10,r8 ;286
0005ca f8dda01c LDR r10,[sp,#0x1c] ;286
0005ce fbc2e007 SMLAL lr,r0,r2,r7 ;286
0005d2 fbc2b90a SMLAL r11,r9,r2,r10 ;286
0005d6 4680 MOV r8,r0 ;286
0005d8 e9dd2003 LDRD r2,r0,[sp,#0xc]
;;;289 *(pcm + 0) = ClipToShort((int)SAR64(sum1L, (32-CSHIFT)), DEF_NFRACBITS);
0005dc 0d00 LSRS r0,r0,#20
0005de ea403002 ORR r0,r0,r2,LSL #12
0005e2 1180 ASRS r0,r0,#6
0005e4 17c2 ASRS r2,r0,#31
0005e6 ebb23fe0 CMP r2,r0,ASR #15
0005ea bf1c ITT NE
0005ec f64770ff MOVNE r0,#0x7fff
0005f0 4050 EORNE r0,r0,r2
0005f2 8028 STRH r0,[r5,#0]
;;;290 *(pcm + 1) = ClipToShort((int)SAR64(sum1R, (32-CSHIFT)), DEF_NFRACBITS);
0005f4 ea4f521b LSR r2,r11,#20
0005f8 ea423009 ORR r0,r2,r9,LSL #12
0005fc 1180 ASRS r0,r0,#6
0005fe 17c2 ASRS r2,r0,#31
000600 ebb23fe0 CMP r2,r0,ASR #15
000604 bf1c ITT NE
000606 f64770ff MOVNE r0,#0x7fff
00060a 4050 EORNE r0,r0,r2
00060c 8068 STRH r0,[r5,#2]
;;;291 *(pcm + 2*2*i + 0) = ClipToShort((int)SAR64(sum2L, (32-CSHIFT)), DEF_NFRACBITS);
00060e 9814 LDR r0,[sp,#0x50]
000610 9a0e LDR r2,[sp,#0x38]
000612 0d00 LSRS r0,r0,#20
000614 ea403002 ORR r0,r0,r2,LSL #12
000618 1180 ASRS r0,r0,#6
00061a 17c2 ASRS r2,r0,#31
00061c ebb23fe0 CMP r2,r0,ASR #15
000620 bf1c ITT NE
000622 f64770ff MOVNE r0,#0x7fff
000626 4050 EORNE r0,r0,r2
000628 f8250036 STRH r0,[r5,r6,LSL #3]
;;;292 *(pcm + 2*2*i + 1) = ClipToShort((int)SAR64(sum2R, (32-CSHIFT)), DEF_NFRACBITS);
00062c ea4f521e LSR r2,lr,#20
000630 ea423008 ORR r0,r2,r8,LSL #12
000634 1180 ASRS r0,r0,#6
000636 17c2 ASRS r2,r0,#31
000638 ebb23fe0 CMP r2,r0,ASR #15
00063c bf1c ITT NE
00063e f64770ff MOVNE r0,#0x7fff
000642 4050 EORNE r0,r0,r2
000644 eb0502c6 ADD r2,r5,r6,LSL #3
;;;293 pcm += 2;
000648 1d2d ADDS r5,r5,#4
00064a 1e76 SUBS r6,r6,#1
00064c 8050 STRH r0,[r2,#2] ;292
00064e 2e00 CMP r6,#0
000650 f73fae16 BGT |L2.640|

Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 6 2012, 20:52
Сообщение #124


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



В общем, декодирование MP3 занимает на 5-10% больше времени процессора на коде от ИАРа.
Не очень критично, конечно, учитывая, что кроме более качественной генерации кода благодаря RealView Кейлу предложить нечего...
В остальном там мрак какойто sm.gif

ЗЫ: не могу удержаться, вот ещё небольшое сравнение.
Такой совсем простенький цикл, и результат его компиляции при макс. настройках оптимизации:
Код
    if (gb < 6)
    {
        es = 6 - gb;
        for (i = 0; i < 32; i++) buf[i] >>= es;
    }

RealView - O3 Optimize for time, скромненько так, со вкусом развернув только на пару итераций:
CODE

;;;155 if (gb < 6)
000006 9b0d LDR r3,[sp,#0x34]
000008 2200 MOVS r2,#0 ;154
00000a 2b06 CMP r3,#6
00000c da0e BGE |L1.44|
;;;156 {
;;;157 es = 6 - gb;
00000e f1c30206 RSB r2,r3,#6
;;;158 for (i = 0; i < 32; i++) buf[i] >>= es;
000012 1f03 SUBS r3,r0,#4
000014 f04f0c10 MOV r12,#0x10
|L1.24|
000018 685c LDR r4,[r3,#4]
00001a 4114 ASRS r4,r4,r2
00001c 605c STR r4,[r3,#4]
00001e 689c LDR r4,[r3,#8]
000020 4114 ASRS r4,r4,r2
000022 f8434f08 STR r4,[r3,#8]!
000026 f1bc0c01 SUBS r12,r12,#1
00002a d1f5 BNE |L1.24|


и ИАР, высокая оптимизация режим баланса - аж слёзы на глаза наворачиваются crying.gif
CODE


155 if (gb < 6)
\ 00000010 0628 CMP R0,#+6
\ 00000012 27DA BGE.N ??mp3_FDCT32_0
156 {
157 es = 6 - gb;
\ 00000014 C0F10600 RSB R0,R0,#+6
\ 00000018 0090 STR R0,[SP, #+0]
158 for (i = 0; i < 32; i++) buf[i] >>= es;
\ 0000001A 1046 MOV R0,R2
\ 0000001C 0421 MOVS R1,#+4
\ ??mp3_FDCT32_1:
\ 0000001E 0368 LDR R3,[R0, #+0]
\ 00000020 009C LDR R4,[SP, #+0]
\ 00000022 2341 ASRS R3,R3,R4
\ 00000024 0360 STR R3,[R0, #+0]
\ 00000026 4368 LDR R3,[R0, #+4]
\ 00000028 009C LDR R4,[SP, #+0]
\ 0000002A 2341 ASRS R3,R3,R4
\ 0000002C 4360 STR R3,[R0, #+4]
\ 0000002E 8368 LDR R3,[R0, #+8]
\ 00000030 009C LDR R4,[SP, #+0]
\ 00000032 2341 ASRS R3,R3,R4
\ 00000034 8360 STR R3,[R0, #+8]
\ 00000036 C368 LDR R3,[R0, #+12]
\ 00000038 009C LDR R4,[SP, #+0]
\ 0000003A 2341 ASRS R3,R3,R4
\ 0000003C C360 STR R3,[R0, #+12]
\ 0000003E 0369 LDR R3,[R0, #+16]
\ 00000040 009C LDR R4,[SP, #+0]
\ 00000042 2341 ASRS R3,R3,R4
\ 00000044 0361 STR R3,[R0, #+16]
\ 00000046 4369 LDR R3,[R0, #+20]
\ 00000048 009C LDR R4,[SP, #+0]
\ 0000004A 2341 ASRS R3,R3,R4
\ 0000004C 4361 STR R3,[R0, #+20]
\ 0000004E 8369 LDR R3,[R0, #+24]
\ 00000050 009C LDR R4,[SP, #+0]
\ 00000052 2341 ASRS R3,R3,R4
\ 00000054 8361 STR R3,[R0, #+24]
\ 00000056 C369 LDR R3,[R0, #+28]
\ 00000058 009C LDR R4,[SP, #+0]
\ 0000005A 2341 ASRS R3,R3,R4
\ 0000005C C361 STR R3,[R0, #+28]
\ 0000005E 2030 ADDS R0,R0,#+32
\ 00000060 491E SUBS R1,R1,#+1
\ 00000062 DCD1 BNE.N ??mp3_FDCT32_1

с размахом так, развернул половину цикла, но это ладно, а вот зачем было каждый раз перед каждым сдвигом подгружать со стёка константную его величину?

Это просто фэйспалмище какой-то... cranky.gif

Они ещё пишут в релиз ноутс последнего ИАРа про оптимизацию кода для C-M3\4.

Быстрый код под ИАРом? Не, не слышал sm.gif
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 6 2012, 21:04
Сообщение #125


Гуру
******

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



Цитата(sonycman @ Jan 7 2012, 00:52) *
Не очень критично, конечно, учитывая, что кроме более качественной генерации кода благодаря RealView Кейлу предложить нечего...

По-моему, кодогенератор и библиотеки - это 90% продукта минимум (10% оставим отладчику, так и быть) sm.gif Поэтому всем и рекомендую RVCT.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 6 2012, 21:14
Сообщение #126


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(aaarrr @ Jan 7 2012, 01:04) *
По-моему, кодогенератор и библиотеки - это 90% продукта минимум (10% оставим отладчику, так и быть) sm.gif Поэтому всем и рекомендую RVCT.

А кроме Кейла, есть ещё свежие продукты на базе RV?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 6 2012, 21:21
Сообщение #127


Гуру
******

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



RVDS 4.1, DS-5.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 6 2012, 21:52
Сообщение #128


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(aaarrr @ Jan 7 2012, 01:21) *
RVDS 4.1, DS-5.

Спасибо, в закромах вроде первый есть, попробую sm.gif
Go to the top of the page
 
+Quote Post
KRS
сообщение Jan 7 2012, 01:35
Сообщение #129


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



sonycman,
в закромах есть просто свежий Arm Compiler и от RVCT и более свежий от DS-5
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 7 2012, 11:05
Сообщение #130


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(KRS @ Jan 7 2012, 05:35) *
в закромах есть просто свежий Arm Compiler и от RVCT и более свежий от DS-5

Спасибо, но чисто компилер я могу взять и от Кейла.
Мне надо IDE с дебаггером, так как кейловский у меня глючит.

Ну, как и ожидалось, ни RVDS4.1, ни DS-5 не пошли.
Первый выдаёт какую-то маловразумительную ошибку лаунчера, а у второго не может запуститься Эклипс, жалуется, что не запускается Ява машина.
Я уже переставил яв версий 5, 6 и 7, хз что ему ещё надо.

При этом новый Эклипс для C\C++ работает ОК.
Go to the top of the page
 
+Quote Post
KRS
сообщение Jan 7 2012, 19:35
Сообщение #131


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(sonycman @ Jan 7 2012, 15:05) *
Мне надо IDE с дебаггером, так как кейловский у меня глючит.

так можно IAR использовать, ELF то EABI, правда не знаю как с отладочной информацией, а вот линкером IAR функции компилированные RVCT я линковал.
отладчик все равно нельзя использовать он дружит только с ARM родными ICE! правда DS-5 может и с GDB сервером.

Цитата(sonycman @ Jan 7 2012, 15:05) *
а у второго не может запуститься Эклипс, жалуется, что не запускается Ява машина.

там свой эклипс и джава своя! (она потом даже в панеле управления видна, у меня доп. пакеты пытались на нее встать)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 7 2012, 19:38
Сообщение #132


Гуру
******

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



Странно, 4.1 у меня успешно работает. Причем даже на домашней машине, где до сих пор стоит XP SP1.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 7 2012, 20:00
Сообщение #133


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(KRS @ Jan 7 2012, 23:35) *
отладчик все равно нельзя использовать он дружит только с ARM родными ICE! правда DS-5 может и с GDB сервером.

Понятно, тогда большого смысла для меня тут нет, имеется только J-Link.

Цитата
там свой эклипс и джава своя! (она потом даже в панеле управления видна, у меня доп. пакеты пытались на нее встать)

Да, внутри есть папка с явой, потыкал по эксешникам, эффекта никакого не получил.
При запуске eclipse.exe из состава DS-5 получаю ошибку Could not create the Java virtual machine.
То есть яву он, по видимому, находит, но запустить не может.

Может, какой-то конфликт с установленным софтом\новой версией явы?
Но что-то не хочется ничего сносить sm.gif

Цитата(aaarrr @ Jan 7 2012, 23:38) *
Странно, 4.1 у меня успешно работает. Причем даже на домашней машине, где до сих пор стоит XP SP1.

А на Win7 x64 не пробовали ставить?

Ошибка вот такая:
Цитата
Error code: LAUNCHER-11

armenv returned with error(s).

Command was:
"C:\Program Files\ARM\Utilities\Installer\2.3\220\win_32-pentium\armenv.exe" -r "C:\Program Files\ARM" -p RVDS Contents 4.1 107 -v platform "win_32-pentium" -v extras_dir "professional\" -v encryption "none" -v regime "rel" -v capability "professional" --exec "C:\Users\Вован\Application Data\ARM\ARM Workbench IDE\4.0\launcher-win_32-pentium.exe"

Note this may be the expected behaviour if the target process returned with error

Пробовал запускать launcher-win_32-pentium.exe напрямую, опять ошибка с ява машиной как и у DS-5 sad.gif

Ладно, спасибо, потом поковыряю ещё, может, что и получится.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 7 2012, 20:04
Сообщение #134


Гуру
******

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



На Вована ругается. Создайте пользователя с латинским именем.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 7 2012, 20:07
Сообщение #135


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(aaarrr @ Jan 8 2012, 00:04) *
На Вована ругается. Создайте пользователя с латинским именем.

Мелькнула такая мысль, куча софта не любит кириллицу, но это вроде седьмой винды это не должно касаться?
Надо попробовать, в любом случае.
sm.gif
Go to the top of the page
 
+Quote Post

11 страниц V  « < 7 8 9 10 11 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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