Создание Эльфов : Эльфостроение : Форум |
Страница 202 из 211: « 1 ... 198 199 200 201 [202] 203 204 205 206 ... 211 » |
IDOL1234: |
06.04.12, 17:25 |
Спасибо. Так всё же, по поводу fastport. Возможно ли принимать данные со внешнего устройства? |
Joker XT: |
06.04.12, 17:47 |
IDOL1234, возможно, кури уарт |
IDOL1234: |
06.04.12, 23:46 |
хм. Не думал, что этот интерфейс остался в относительно новых моделях. Каким образом эльф может получать передаваемые данные? |
den_po: |
06.04.12, 23:49 |
IDOL1234, ковыряй |
IDOL1234: |
07.04.12, 00:14 |
Ок)) но вероятность того, что я самостоятельно найду хотя бы буфер приёма-передачи (если, конечно, он не болтается где-то в куче) крайне мала.. Ладно, всё, заканчиваю флудить, иду качать дизассемблер Добавлено 8.4.12 00:48 Провал( Не могу применить приведённый выше код из jjpatcher. Как встроить его в проект? Нужно ли докачивать какие-нибудь файлы? Куда именно нужно поместить входные данные перед выполнением кода? Ковыряние UART в процессе.. |
SERGK393: |
08.04.12, 15:19 |
IDOL1234, по идее, это должно помочь |
IDOL1234: |
08.04.12, 17:14 |
Да, спасибо. Только я, по-видимому, не в ту сторону копать начал. Сейчас разглядываю FASMARM. Он ругается на "if global_codesize = 32" в макросе CALL, а без этого макроса, естественно, ничего не работает. Странно, примеры тоже не компилируются. Жалуется на "непредвиденное появление AND". Стёр все and'ы из исходников и инклудов - ничего не изменилось. О_о . Буду шаманить. [ Редактировано IDOL1234 в 8.4.12 17:21 ] |
den_po: |
08.04.12, 17:53 |
а может, стоит сначала попытаться разобраться, что и как код делает? код писался давно, с тех пор кое что изменилось. чтоб скомпилировалось сейчас, нужно либо добавить одну строку, либо изменить, тоже одну. |
IDOL1234: |
08.04.12, 18:17 |
Проблема с AND была из-за недопустимых символов в пути. код писался давно, с тех пор кое что изменилось. чтоб скомпилировалось сейчас, нужно либо добавить одну строку, либо изменить, тоже одну. Я работаю над этим.. Добавлено 8.4.12 20:53 Код: macro call ad { if global_codesize = 32 if ad and 3 = 1 blx (ad and 0xFFFFFFFE) else bl (ad and 0xFFFFFFFE) end if else if ad and 3 = 1 bl (ad and 0xFFFFFFFE) else blx (ad and 0xFFFFFFFE) end if end if } Общий смысл понятен, но что за "global_codesize" - Поиск молчит.. Предположение по поводу "одной строки": -нужно изменить устаревшее имя переменной -или добавить строку global_codesize = [?????] Код: macro savedacr reg { call setdacr if reg eq r0 else mov reg,r0 end if } В чём смысл проверки? Оптимизация? Обновление флагов? Код: macro saverights reg { mov r12,swinum ;set supervisor swi swinum if reg eq r0 else mov reg,r0 end if } Откуда берётся Свинум? Проверка - снова для оптимизации? Код: savedacr r5 ;r7 - data array ;вот тут патчится ldmia r7!,{r0} Насколько я понял, ничего здесь не патчится, а просто существует такая возможность? Код: .ploop: subs r0,r0,1 bmi .out ldmia r7!,{r1,r2} mov r2,r2,lsr 8 strb r2,[r1] b .ploop Что делают команды subs и bmi? Логика подсказывает, что это как-то связано с завершением цикла, но.. Код: driverfn_common: MOV R3, SP STR LR, [SP,-8]! SWI 0xFF LDR LR, [SP],8 BX LR А что 0xFF выполняет? |
Pavlus: |
09.04.12, 01:46 |
IDOL1234 пишет: А что 0xFF выполняет? https://www.google.com.ua/search?q=swi+0xff Ответ прям в самой первой строчке. Добавлено 9.4.12 00:50 IDOL1234 пишет: Что делают команды subs и bmi? Логика подсказывает, что это как-то связано с завершением цикла, но.. http://supertrubka.org/newbb_plus/viewtopic.php?topic_id=965&post_id=15373#15373 |
Страница 202 из 211: « 1 ... 198 199 200 201 [202] 203 204 205 206 ... 211 » |
URL этой темы: https://mobilefree.justdanpo.ru/newbb_plus/viewtopic.php?topic_id=2479&start=2010 © 2005-2018 supertrubka.org |