|
Самомодифицирующийся код в экосистеме Cortex-M., есть ли право на жизнь? |
|
|
|
 |
Ответов
|
Jun 30 2018, 19:31
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Arlleex @ Jun 30 2018, 18:09)  А выделенное то зачем? Вы что-то говорили про перемежение инструкций для удаления штрафов LDR/STR. Могли бы озвучить, в чем там проблема?  Если выполнить просто: LDR R2, [R1, #4] LDR R2, [R2]то вторая команда выполнится за 2 такта. Если же между ними вставить любую другую команду, не модифицирующую R2, то LDR R2, [R2] должна выполниться за 1 такт. Это следует из фразы: LDR [any] are pipelined when possible. This means that if the next instruction is an LDR or STR, and the destination of the first LDR is not used to compute the address for the next instruction, then one cycle is removed from the cost of the next instruction.из "ARM® Cortex®‑M4 Processor Technical Reference Manual" раздел "3.3.3 Load/store timings". Поэтому мой генератор кода использует в качестве рабочих два регистра - R2 и R3 с перемежением, чтобы убрать такие штрафы. Цитата(VladislavS @ Jun 30 2018, 21:33)  Зачем компилятор R2 и R3 чередует? Здесь не знаю. А для какого это ядра? Мой генератор кода заточен для Cortex-M4. У него я не знаю необходимости в таком перемежении.
|
|
|
|
|
Jun 30 2018, 19:35
|
Местный
  
Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140

|
Цитата(jcxz @ Jun 30 2018, 22:31)  Здесь не знаю. А для какого это ядра? Мой генератор кода заточен для Cortex-M4. У него я не знаю необходимости в таком перемежении. Тоже Cortex-M4, если точнее, то STM32F427.
|
|
|
|
Сообщений в этой теме
jcxz Самомодифицирующийся код в экосистеме Cortex-M. Jun 28 2018, 22:54 aaarrr Цитата(jcxz @ Jun 29 2018, 01:54) И вот я... Jun 28 2018, 23:01 AVI-crak Цитата(jcxz @ Jun 29 2018, 04:54) Просто ... Jun 28 2018, 23:23 aaarrr Цитата(AVI-crak @ Jun 29 2018, 02:23... Jun 28 2018, 23:31  AVI-crak Не предполагает.
Любая перетасовка программного ко... Jun 29 2018, 00:11 Николай Семёнович Цитата(AVI-crak @ Jun 29 2018, 02:23... Jun 29 2018, 03:22 jcxz Цитата(AVI-crak @ Jun 29 2018, 02:23... Jun 29 2018, 04:20 aaarrr Давайте сначала:
Цитата(AVI-crak @ Jun ... Jun 29 2018, 00:32 AVI-crak Цитата(aaarrr @ Jun 29 2018, 06:32) О как... Jun 29 2018, 04:47  jcxz Цитата(AVI-crak @ Jun 29 2018, 07:36... Jun 29 2018, 04:51   AVI-crak Цитата(jcxz @ Jun 29 2018, 10:51) Вы о чё... Jul 1 2018, 15:22    VladislavS Цитата(AVI-crak @ Jul 1 2018, 18:22)... Jul 1 2018, 16:25     jcxz Цитата(VladislavS @ Jul 1 2018, 19:25) Пр... Jul 2 2018, 16:12      AVI-crak Цитата(jcxz @ Jul 2 2018, 22:12) Конечно ... Jul 2 2018, 20:46       Arlleex Цитата(AVI-crak @ Jul 3 2018, 00:46)... Jul 3 2018, 04:44        AVI-crak Цитата(Arlleex @ Jul 3 2018, 10:44) А отк... Jul 3 2018, 18:38  aaarrr Цитата(AVI-crak @ Jun 29 2018, 07:47... Jun 29 2018, 07:24 halfdoom Цитата(jcxz @ Jun 29 2018, 01:54) Есть мы... Jun 29 2018, 03:29 AlexandrY Цитата(jcxz @ Jun 29 2018, 01:54) PS: И п... Jun 29 2018, 05:47 jcxz Цитата(AlexandrY @ Jun 29 2018, 08:47) Ил... Jun 29 2018, 06:56  AlexandrY Цитата(jcxz @ Jun 29 2018, 09:56) Я уже в... Jun 29 2018, 07:00   jcxz Цитата(AlexandrY @ Jun 29 2018, 10:00) То... Jun 29 2018, 07:03    AlexandrY Цитата(jcxz @ Jun 29 2018, 10:03) Ну хоро... Jun 29 2018, 07:05   Николай Семёнович Цитата(AlexandrY @ Jun 29 2018, 10:00) То... Jun 29 2018, 16:00    jcxz Цитата(Николай Семёнович @ Jun 29 2018, 19... Jun 29 2018, 17:11     Arlleex Цитата(jcxz @ Jun 29 2018, 20:11) Блин, к... Jun 29 2018, 17:18      jcxz Цитата(Arlleex @ Jun 29 2018, 20:18) О ре... Jun 29 2018, 17:23       Arlleex Цитата(jcxz @ Jun 29 2018, 20:23) Всего в... Jun 29 2018, 17:36       adnega RE: Самомодифицирующийся код в экосистеме Cortex-M. Jun 29 2018, 21:21        jcxz Цитата(adnega @ Jun 30 2018, 00:21) Прове... Jun 30 2018, 00:22         adnega Цитата(jcxz @ Jun 30 2018, 03:22) мммм...... Jun 30 2018, 06:41          jcxz Цитата(adnega @ Jun 30 2018, 09:41) А что... Jun 30 2018, 07:21           adnega Цитата(jcxz @ Jun 30 2018, 10:21) Да я уж... Jun 30 2018, 08:59            AlexandrY Цитата(adnega @ Jun 30 2018, 11:59) Кста,... Jun 30 2018, 10:09            jcxz Цитата(adnega @ Jun 30 2018, 11:59) Покаж... Jun 30 2018, 11:56             adnega Цитата(jcxz @ Jun 30 2018, 14:56) Да, как... Jun 30 2018, 12:12              jcxz Цитата(adnega @ Jun 30 2018, 15:12) Может... Jun 30 2018, 13:30               AlexandrY Цитата(jcxz @ Jun 30 2018, 16:30) Ну-ну. ... Jun 30 2018, 13:39                jcxz Цитата(AlexandrY @ Jun 30 2018, 16:39) И ... Jun 30 2018, 13:56                 AlexandrY Цитата(jcxz @ Jun 30 2018, 16:56) В то вр... Jun 30 2018, 14:43                  jcxz Цитата(AlexandrY @ Jun 30 2018, 17:43) Та... Jun 30 2018, 19:41                   AlexandrY Цитата(jcxz @ Jun 30 2018, 22:41) Ваш пос... Jul 1 2018, 07:22             AlexandrY Цитата(jcxz @ Jun 30 2018, 14:56) Да прич... Jun 30 2018, 13:17 Serge V Iz Использовал хранимые в ОЗУ участки кода, которые з... Jun 29 2018, 07:35 jcxz Цитата(Serge V Iz @ Jun 29 2018, 10:35) И... Jun 29 2018, 08:43 AVR Цитата(jcxz @ Jun 29 2018, 01:54) Есть мы... Jun 29 2018, 07:43 a123-flex Цитата(AVR @ Jun 29 2018, 10:43) Оптимиза... Jun 29 2018, 15:05 RadiatoR Вопрос к ТС - а каков предполагаемый размер генери... Jun 29 2018, 07:54 _4afc_ Мой опыт показывает что оптимизация по скорости са... Jun 29 2018, 08:23 jcxz Цитата(RadiatoR @ Jun 29 2018, 10:54) Во... Jun 29 2018, 09:08  _4afc_ Цитата(jcxz @ Jun 29 2018, 13:08) А тепер... Jun 29 2018, 09:53 VladislavS _4afc_, не стоит быть столь категоричным. Если гов... Jun 29 2018, 08:38 Kabdim Имхо сейчас время такое что проще взять более мощн... Jun 29 2018, 08:44 Arlleex Интересная тема для меня, тема СМК. Ни разу не при... Jun 29 2018, 13:08 RadiatoR Цитата(Arlleex @ Jun 29 2018, 16:08) 2. Н... Jun 29 2018, 13:23 adnega Цитата(Arlleex @ Jun 29 2018, 16:08) 1. П... Jun 29 2018, 16:03  Arlleex Цитата(RadiatoR @ Jun 29 2018, 16:23) Та... Jun 29 2018, 16:18   adnega Цитата(Arlleex @ Jun 29 2018, 19:18) Наде... Jun 29 2018, 16:35    Arlleex Цитата(adnega @ Jun 29 2018, 19:35) Услов... Jun 29 2018, 16:56 jcxz Цитата(Arlleex @ Jun 29 2018, 16:08) Прив... Jun 29 2018, 16:56  AlexandrY Цитата(jcxz @ Jun 29 2018, 19:56) ...
if ... Jun 29 2018, 17:44 kolobok0 Цитата(Arlleex @ Jun 29 2018, 16:08) Инте... Jun 29 2018, 17:46 a123-flex Цитата(jcxz @ Jun 29 2018, 01:54) Есть мы... Jun 29 2018, 13:27 twix Цитата(a123-flex @ Jun 29 2018, 14:2... Jun 29 2018, 14:35 Serge V Iz Кстати, а какие есть основания предполагать, что р... Jun 29 2018, 16:11 Arlleex Цитата(AlexandrY @ Jun 29 2018, 20:44) А ... Jun 29 2018, 18:19 AVI-crak Цитата(jcxz @ Jun 29 2018, 04:54) Есть мы... Jun 30 2018, 11:24  Arlleex Цитата(jcxz @ Jun 30 2018, 23:31) Поэтому... Jun 30 2018, 19:45   jcxz Цитата(Arlleex @ Jun 30 2018, 22:45) По т... Jun 30 2018, 19:54 VladislavS Недавно в другой теме проскакивал вот такой код. П... Jun 30 2018, 18:33 Arlleex Кстати, решил почитать внимательнее 3.3.2. Load/st... Jul 1 2018, 10:03 jcxz Цитата(Arlleex @ Jul 1 2018, 13:03) Что э... Jul 1 2018, 12:00
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|