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

 
 
> Многопроцессорность на STM32f4 STM32f7
_lexa_
сообщение Jan 16 2018, 20:39
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 23-03-15
Пользователь №: 85 852



Доброе время суток!

Возникла необходимость сделать многопроцессорную систему, причем расширяемую. Также для всех процессоров в системе необходима разделяемая память. Есть запасы STM32f4 STM32f7, поэтому хотелось бы задействовать их.

Подскажите, пожалуйста, как можно выполнить поставленные задачи (если возможно имеющимися средствами)?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
LWW
сообщение Apr 21 2018, 23:41
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 177
Регистрация: 24-03-07
Пользователь №: 26 471



Перемещаемый. Хотя может это на СИ так получается, фиксированный. А на ассемблере абсолютный адрес можно получить, только если "руками" загрузить его в регистр и перейти по адресу в регистре. Но так никто не делает.

Вся адресация в АРМ является PC-relative. Такие инструкции как В (аналог JMP). А так же BL (call). Далее идут инструкции условных переходов. А так же адресация и обращения к таблицам в памяти - всё делается относительно счётчика PC.

Таким образом, код может быть расположен по любому адресу, выровненным по слову (4 байта). Что я и проделывал без проблем, на ассемблере. В том числе, с довольно сложным кодом в сотни килобайт. Как правило, первая инструкция в бинарнике, это JMP на начало исполняемого участка кода. А если нет таблицы прерываний, то и JMP не нужен.

Но это так, к слову! Вдруг кому пригодится! rolleyes.gif

Тренируйтесь!

Пардон за off
Go to the top of the page
 
+Quote Post
adnega
сообщение Apr 22 2018, 07:41
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(LWW @ Apr 22 2018, 02:41) *
Перемещаемый.

Типичный код: в начале много команд, а в конце таблица значений.
Дык, в таблице значений полно абсолютных адресов.
Да, переносимым его можно сделать, если в нужных местах вписать нужные данные типа base+offset,
но из коробки никакой переносимости нет.
CODE
800338c: 6b2b ldr r3, [r5, #48] ; 0x30
800338e: 4807 ldr r0, [pc, #28] ; (80033ac <command_mainloop+0x178>)
8003390: 2108 movs r1, #8
8003392: 4798 blx r3
con_start();
8003394: 6ceb ldr r3, [r5, #76] ; 0x4c
8003396: 4805 ldr r0, [pc, #20] ; (80033ac <command_mainloop+0x178>)
8003398: 4798 blx r3
console_command_pos--;
800339a: 6823 ldr r3, [r4, #0]
800339c: 3b01 subs r3, #1
800339e: 6023 str r3, [r4, #0]
80033a0: e7f1 b.n 8003386 <command_mainloop+0x152>
80033a2: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
80033a6: bf00 nop
80033a8: 08001f00 .word 0x08001f00
80033ac: 20000548 .word 0x20000548
80033b0: 2000003c .word 0x2000003c
80033b4: 20000034 .word 0x20000034
80033b8: 20000038 .word 0x20000038
80033bc: 20000008 .word 0x20000008
80033c0: 40007400 .word 0x40007400
80033c4: 20000050 .word 0x20000050
80033c8: 08004b9a .word 0x08004b9a
80033cc: 08004af8 .word 0x08004af8
80033d0: 20000488 .word 0x20000488
80033d4: 08004b18 .word 0x08004b18
80033d8: 08004b9d .word 0x08004b9d
80033dc: 200004c8 .word 0x200004c8
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- _lexa_   Многопроцессорность на STM32f4 STM32f7   Jan 16 2018, 20:39
- - IgorKossak   Прошу участников обсуждать тему, а не причину. Мод...   Jan 17 2018, 08:54
|- - jcxz   Цитата(IgorKossak @ Jan 17 2018, 10:54) П...   Jan 17 2018, 10:04
- - x893   Участники остались - телепаты уехали.   Jan 17 2018, 09:09
- - iosifk   Цитата(_lexa_ @ Jan 16 2018, 23:39) Возни...   Jan 17 2018, 09:32
|- - AVR   Цитата(iosifk @ Jan 17 2018, 12:32) Есть ...   Jan 18 2018, 10:09
|- - scifi   Цитата(iosifk @ Jan 17 2018, 12:32) Есть ...   Jan 18 2018, 11:33
|- - Forger   Свичи, ISA, параллельная шина.... но что-то подска...   Jan 18 2018, 11:37
- - adnega   Цитата(_lexa_ @ Jan 16 2018, 23:39) поэто...   Jan 17 2018, 10:10
|- - jcxz   Цитата(adnega @ Jan 17 2018, 12:10) Обычн...   Jan 17 2018, 10:18
|- - LWW   Цитата(adnega @ Jan 17 2018, 13:10) STM н...   Apr 21 2018, 22:40
|- - aaarrr   Цитата(LWW @ Apr 22 2018, 01:40) Код АРМ ...   Apr 21 2018, 22:56
|- - AVI-crak   Цитата(aaarrr @ Apr 22 2018, 04:56) Нет, ...   Apr 21 2018, 23:36
- - iosifk   Цитата(_lexa_ @ Jan 16 2018, 23:39) Есть ...   Jan 17 2018, 10:28
- - _lexa_   Уточняю задачу. Необходимо сделать устройство сос...   Jan 17 2018, 11:03
|- - scifi   Цитата(_lexa_ @ Jan 17 2018, 14:03) Можно...   Jan 17 2018, 11:13
|- - jcxz   Цитата(_lexa_ @ Jan 17 2018, 13:03) Можно...   Jan 17 2018, 11:52
|- - Forger   Цитата(_lexa_ @ Jan 17 2018, 14:03) Не хо...   Jan 17 2018, 12:03
|- - jcxz   Цитата(_lexa_ @ Jan 17 2018, 13:03) Есть ...   Jan 17 2018, 12:05
|- - AlexandrY   Цитата(_lexa_ @ Jan 17 2018, 13:03) Идеал...   Jan 17 2018, 12:09
|- - HardEgor   Цитата(_lexa_ @ Jan 17 2018, 18:03) Идеал...   Jan 18 2018, 10:19
|- - mantech   Цитата(_lexa_ @ Jan 17 2018, 14:03) Уточн...   Jan 18 2018, 12:25
- - x893   Вот и пора свою шину придумывать. Всё это уже при...   Jan 17 2018, 11:30
- - _lexa_   Цитата(scifi @ Jan 17 2018, 11:13) Требов...   Jan 17 2018, 21:11
|- - Forger   Цитата(_lexa_ @ Jan 18 2018, 00:11) скоро...   Jan 17 2018, 21:24
|- - AlexandrY   Цитата(_lexa_ @ Jan 17 2018, 23:11) Мне н...   Jan 18 2018, 06:35
- - _lexa_   Цитата(Forger @ Jan 17 2018, 22:24) STM32...   Jan 18 2018, 07:20
|- - Forger   Цитата(_lexa_ @ Jan 18 2018, 10:20) Однак...   Jan 18 2018, 07:50
|- - scifi   Цитата(_lexa_ @ Jan 18 2018, 10:20) Идея ...   Jan 18 2018, 08:13
|- - AlexandrY   Цитата(scifi @ Jan 18 2018, 10:13) Как бу...   Jan 18 2018, 09:15
|- - jcxz   Цитата(scifi @ Jan 18 2018, 10:13) Ага, и...   Jan 18 2018, 11:47
|- - AlexandrY   Цитата(jcxz @ Jan 18 2018, 13:47) Это инт...   Jan 18 2018, 11:56
- - _lexa_   Цитата(scifi @ Jan 18 2018, 09:13) Ага, и...   Jan 18 2018, 14:53
|- - scifi   Цитата(_lexa_ @ Jan 18 2018, 17:53) Эзерн...   Jan 18 2018, 14:58
- - _lexa_   Цитата(AVR @ Jan 18 2018, 11:09) Каково ж...   Jan 18 2018, 15:16
|- - scifi   Цитата(_lexa_ @ Jan 18 2018, 18:16) Я про...   Jan 18 2018, 15:20
|- - AlexandrY   Цитата(_lexa_ @ Jan 18 2018, 17:16) На те...   Jan 18 2018, 15:35
||- - scifi   Цитата(AlexandrY @ Jan 18 2018, 18:35) Пр...   Jan 18 2018, 16:55
|- - AVR   Цитата(_lexa_ @ Jan 18 2018, 18:16) А вам...   Jan 19 2018, 12:48
|- - _3m   Цитата(AVR @ Jan 19 2018, 15:48) ... не е...   Jan 19 2018, 14:24
|- - jcxz   Цитата(_3m @ Jan 19 2018, 16:24) Безнадеж...   Jan 19 2018, 20:14
|- - adnega   Цитата(jcxz @ Jan 19 2018, 23:14) Что так...   Jan 19 2018, 22:56
|- - AlexandrY   Цитата(adnega @ Jan 20 2018, 00:56) Замет...   Jan 20 2018, 09:12
|- - Forger   Цитата(AlexandrY @ Jan 20 2018, 12:12) Он...   Jan 20 2018, 09:45
- - blackfin   Цитата(AlexandrY @ Jan 18 2018, 18:35) Пр...   Jan 18 2018, 15:50
|- - AlexandrY   Цитата(blackfin @ Jan 18 2018, 17:50) ......   Jan 18 2018, 16:24
|- - blackfin   Цитата(AlexandrY @ Jan 18 2018, 19:24) Эт...   Jan 18 2018, 16:33
- - yuri.job   а я тоже за эзернет. например, если хочется до 10 ...   Jan 18 2018, 18:39
|- - AlexandrY   Цитата(yuri.job @ Jan 18 2018, 20:39) а я...   Jan 18 2018, 19:09
|- - jcxz   Цитата(yuri.job @ Jan 18 2018, 20:39) а я...   Jan 18 2018, 21:24
|- - AlexandrY   Цитата(jcxz @ Jan 18 2018, 23:24) Если не...   Jan 19 2018, 06:58
- - kolobok0   Цитата(_lexa_ @ Jan 16 2018, 23:39) ...По...   Jan 18 2018, 18:40
- - SasaVitebsk   По моему, даже при наличии аппаратного порта (пара...   Jan 18 2018, 18:55
|- - Forger   Цитата(LWW)А на ассемблере абсолютный адрес можно ...   Apr 22 2018, 05:53
|- - aaarrr   Цитата(LWW @ Apr 22 2018, 02:41) Вся адре...   Apr 22 2018, 08:16
|- - jcxz   Цитата(LWW @ Apr 22 2018, 02:41) Вся адре...   Apr 25 2018, 06:49
- - khach   Тоже столкнулся с проблемой межмодульного взаимоде...   Apr 22 2018, 10:36


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

 


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


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